aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-04-29 16:31:32 +0200
committerJonas Smedegaard <dr@jones.dk>2025-04-29 16:31:45 +0200
commit5c5a039691d2a18d198e0ea5b13ed53103cc66ff (patch)
tree9f886c048a41c97996744f4c4094b6e04b7d81c5
parentd34ce20410e65e43e466e55172d161aad777cd76 (diff)
move hardcoded subject module list to class Database
-rw-r--r--src/com.example.portfolio2/com/example/portfolio2/Controller.java6
-rw-r--r--src/com.example.portfolio2/com/example/portfolio2/Database.java29
-rw-r--r--src/com.example.portfolio2/com/example/portfolio2/Window.java10
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,