diff options
3 files changed, 33 insertions, 12 deletions
diff --git a/src/com.example.portfolio2/com/example/portfolio2/Controller.java b/src/com.example.portfolio2/com/example/portfolio2/Controller.java index 11ce9b9..91236ea 100644 --- a/src/com.example.portfolio2/com/example/portfolio2/Controller.java +++ b/src/com.example.portfolio2/com/example/portfolio2/Controller.java @@ -82,15 +82,13 @@ class Controller { /// /// @param subject1 involved 1st column subject module box /// @param subject2 involved 2nd column subject module box - /// @param subjectModules list of selected subject modules void onSubjectModuleSelected( final ComboBox<String> subject1, - final ComboBox<String> subject2, - final List<String> subjectModules + final ComboBox<String> subject2 ) { // remove chosen option from opposite subject module box - for (String sub: subjectModules) { + for (String sub: store.getAllModules()) { if (sub.equals(subject1.getValue())) { subject2.getItems().remove( subject1.getValue()); diff --git a/src/com.example.portfolio2/com/example/portfolio2/Database.java b/src/com.example.portfolio2/com/example/portfolio2/Database.java index 85b2b09..d978e83 100644 --- a/src/com.example.portfolio2/com/example/portfolio2/Database.java +++ b/src/com.example.portfolio2/com/example/portfolio2/Database.java @@ -7,6 +7,7 @@ package com.example.portfolio2; import java.util.ArrayList; +import java.util.List; /// Bachelorizer - database model /// @@ -16,6 +17,14 @@ class Database { /// database singleton MyDB db = new MyDB(); + /// available subject modules + // TODO: replace this dummy placeholder with database query + private List<String> Modules = List.of( + "Computer Science", + "Informatik", + "Astrology" + ); + /// default constructor // (declared explicitly only to silence javadoc) Database() { } @@ -25,6 +34,19 @@ class Database { clearParticipation(); } + /// resolve subject module index from name + /// + /// @param name subject module name + /// @return index of subject module as integer + // TODO: replace this dummy placeholder with database query + int getModuleIndeks(final String name) { + if (name == null) { + return -1; + } + + return Modules.indexOf(name); + } + /// resolve activity index from name /// /// @param name activity name @@ -102,6 +124,13 @@ class Database { return result.getFirst(); } + /// list of available subject modules + /// + /// @return names of all subject moduless as list of strings + List<String> getAllModules() { + return Modules; + } + /// list of available activities /// /// @return names of all activities as list of strings diff --git a/src/com.example.portfolio2/com/example/portfolio2/Window.java b/src/com.example.portfolio2/com/example/portfolio2/Window.java index 0c375fa..fa8d2f9 100644 --- a/src/com.example.portfolio2/com/example/portfolio2/Window.java +++ b/src/com.example.portfolio2/com/example/portfolio2/Window.java @@ -64,10 +64,6 @@ public final class Window extends Application { new ActivityColumn("Elective") ); - // define list of subject modules - List<String> subjectModules = List.of( - "Computer Science", "Informatik", "Astrology"); - // define button functionality for each activity column for (ActivityColumn col : columns) { col.nameLabel.setStyle(LABEL_STYLE); @@ -111,8 +107,7 @@ public final class Window extends Application { con.onSubjectModuleSelected( col.categoryCombo, columns.get(2) - .categoryCombo, - subjectModules); + .categoryCombo); con.onCategorySelected( col.categoryCombo, col.activitySelect, @@ -129,8 +124,7 @@ public final class Window extends Application { con.onSubjectModuleSelected( col.categoryCombo, columns.get(1) - .categoryCombo, - subjectModules); + .categoryCombo); con.onCategorySelected( col.categoryCombo, col.activitySelect, |