diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-04-29 09:34:35 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-04-29 09:34:35 +0200 |
commit | 95d3e8a088f033da51cabe34bcdbba3061760b5e (patch) | |
tree | b484427c919d47809f4f39fa072a365cafeb23be /src/com.example.portfolio2 | |
parent | f0c7a1872b667858155ca30349b80b9ff240fb1d (diff) |
wrap long lines
Diffstat (limited to 'src/com.example.portfolio2')
4 files changed, 133 insertions, 38 deletions
diff --git a/src/com.example.portfolio2/com/example/portfolio2/Controller.java b/src/com.example.portfolio2/com/example/portfolio2/Controller.java index 036236f..a0c23db 100644 --- a/src/com.example.portfolio2/com/example/portfolio2/Controller.java +++ b/src/com.example.portfolio2/com/example/portfolio2/Controller.java @@ -39,7 +39,11 @@ class Controller { /// @param combo involved activity box /// @param select selected item /// @param area whole text area - void onComboSelected(final ComboBox<String> combo, final ComboBox<String> select, final TextArea area) { + void onComboSelected( + final ComboBox<String> combo, + final ComboBox<String> select, + final TextArea area + ) { // clear the activity selection box select.getItems().clear(); @@ -48,7 +52,8 @@ class Controller { area.clear(); // fill activity box from data in store - select.getItems().addAll(store.selectProgram(combo.getValue())); + select.getItems().addAll( + store.selectProgram(combo.getValue())); } /// callback when activity box is selected @@ -56,14 +61,19 @@ class Controller { /// @param combo involved activity box /// @param select selected item /// @param area whole text area - void onActivitySelected(final ComboBox<String> combo, final ComboBox<String> select, final TextArea area) { + void onActivitySelected( + final ComboBox<String> combo, + final ComboBox<String> select, + final TextArea area + ) { // pass the value chosen in the box addActivity(select.getValue(), area); // update text area based on category choice // - // users can choose from the ComboBox, string (activity) and the area would update. + // Users can choose from the ComboBox, + // and string (activity) and the area will then update. updateArea(combo, area); } @@ -72,13 +82,21 @@ 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) { + void onSubjectModuleSelected( + final ComboBox<String> subject1, + final ComboBox<String> subject2, + final List<String> subjectModules + ) { - // Beautiful loop we've created to remove option chosen in one subject module box from the other + // remove chosen option from opposite subject module box for (String sub: subjectModules) { if (sub.equals(subject1.getValue())) { - subject2.getItems().remove(subject1.getValue()); - } else if (!sub.equals(subject1.getValue()) && !subject2.getItems().contains(sub)) { + subject2.getItems().remove( + subject1.getValue()); + } else if ( + !sub.equals(subject1.getValue()) + && !subject2.getItems().contains(sub) + ) { subject2.getItems().add(sub); } } @@ -98,9 +116,12 @@ class Controller { /// /// @param combo involved activity box /// @param textArea whole text area - void updateArea(final ComboBox<String> combo, final TextArea textArea) { + void updateArea( + final ComboBox<String> combo, final TextArea textArea + ) { textArea.clear(); - for (String s: store.getParticipation(combo.getValue())) { + for (String s: store.getParticipation(combo.getValue()) + ) { textArea.appendText(s + "\n"); } } @@ -108,8 +129,11 @@ class Controller { /// update label with current ECTS of program type /// @param ectslabel text display area for ECTS points /// @param comboBox involved activity box - void updateEcts(final Label ectslabel, final ComboBox<String> comboBox) { - ectslabel.setText("ECTS: " + store.getSumEcts(comboBox.getValue())); + void updateEcts( + final Label ectslabel, final ComboBox<String> comboBox + ) { + ectslabel.setText("ECTS: " + + store.getSumEcts(comboBox.getValue())); } void fillElective(final ComboBox<String> electiveBox) { diff --git a/src/com.example.portfolio2/com/example/portfolio2/Database.java b/src/com.example.portfolio2/com/example/portfolio2/Database.java index a6a144a..6edcfed 100644 --- a/src/com.example.portfolio2/com/example/portfolio2/Database.java +++ b/src/com.example.portfolio2/com/example/portfolio2/Database.java @@ -32,7 +32,10 @@ class Database { if (name == null) { return -1; } - ArrayList<String> result = db.query("select indeks from activity a where name is '" + name + "';", "indeks"); + ArrayList<String> result = db.query( + "select indeks from activity a" + + " where name is '" + name + "';", + "indeks"); return Integer.parseInt(result.getFirst()); } @@ -41,7 +44,8 @@ class Database { /// /// @param activityIndex index of activity void addParticipation(final int activityIndex) { - db.cmd("insert into participation values(123, " + activityIndex + ");"); + db.cmd("insert into participation values(123, " + + activityIndex + ");"); } /// list currently participating activities @@ -49,7 +53,11 @@ class Database { /// @param program programme name /// @return names of participating activities ArrayList<String> getParticipation(final String program) { - return db.query("select name from participation p inner join activity a on p.indeks = a.indeks where program is '" + program + "';", "name"); + return db.query( + "select name from participation p" + + " inner join activity a on p.indeks = a.indeks" + + " where program is '" + program + "';", + "name"); } /// purge participation database @@ -62,7 +70,10 @@ class Database { /// @param program programme name /// @return names of contained activities ArrayList<String> selectProgram(final String program) { - return db.query("select name from activity where program is '" + program + "';", "name"); + return db.query( + "select name from activity" + + " where program is '" + program + "';", + "name"); } /// sum of ECTS points under the given category @@ -73,7 +84,16 @@ class Database { if (program == null) { return "0"; } - ArrayList<String> result = db.query("select sum(activity.ects) as total_ects,student.name from student left outer join participation on student.studid = participation.studid inner join activity on participation.indeks = activity.indeks where program is '" + program + "' group by student.studid ;", "total_ects"); + ArrayList<String> result = db.query( + "select sum(activity.ects)" + + " as total_ects,student.name" + + " from student left outer join participation" + + " on student.studid = participation.studid" + + " inner join activity" + + " on participation.indeks = activity.indeks" + + " where program is '" + program + "'" + + " group by student.studid ;", + "total_ects"); if (result.isEmpty()) { return "0"; } diff --git a/src/com.example.portfolio2/com/example/portfolio2/MyDB.java b/src/com.example.portfolio2/com/example/portfolio2/MyDB.java index 942f0b9..1827034 100644 --- a/src/com.example.portfolio2/com/example/portfolio2/MyDB.java +++ b/src/com.example.portfolio2/com/example/portfolio2/MyDB.java @@ -79,7 +79,9 @@ public class MyDB { /// @param query foo /// @param fld foo /// @return foo - public final ArrayList<String> query(final String query, final String fld) { + public final ArrayList<String> query( + final String query, final String fld + ) { ArrayList<String> res = new ArrayList<>(); if (conn == null) { open(); @@ -97,7 +99,9 @@ public class MyDB { res.add(name); } } catch (SQLException e) { - System.out.println("Error in statement " + query + " " + fld); + System.out.println( + "Error in statement " + + query + " " + fld); throw new RuntimeException(e); } try { @@ -105,7 +109,9 @@ public class MyDB { stmt.close(); } } catch (SQLException e) { - System.out.println("Error in statement " + query + " " + fld); + System.out.println( + "Error in statement " + + query + " " + fld); throw new RuntimeException(e); } return res; diff --git a/src/com.example.portfolio2/com/example/portfolio2/Window.java b/src/com.example.portfolio2/com/example/portfolio2/Window.java index 9f35e59..68a2c17 100644 --- a/src/com.example.portfolio2/com/example/portfolio2/Window.java +++ b/src/com.example.portfolio2/com/example/portfolio2/Window.java @@ -40,7 +40,9 @@ public final class Window extends Application { /// Label styling private static final String LABEL_STYLE = - "-fx-font-weight: bold;-fx-font-size: 18;-fx-padding: 10"; + "-fx-font-weight: bold;" + + "-fx-font-size: 18;" + + "-fx-padding: 10"; /// Storage model private Database store = new Database(); @@ -62,44 +64,76 @@ public final class Window extends Application { ); // define list of subject modules - List<String> subjectModules = List.of("Computer Science", "Informatik", "Astrology"); + 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); col.ectsLabel.setStyle(LABEL_STYLE); - col.categoryCombo.setPrefSize(LIST_WIDTH, LIST_HEIGHT); - col.activitySelect.setPrefSize(LIST_WIDTH, LIST_HEIGHT); + col.categoryCombo.setPrefSize( + LIST_WIDTH, LIST_HEIGHT); + col.activitySelect.setPrefSize( + LIST_WIDTH, LIST_HEIGHT); col.area.setPrefWidth(LIST_WIDTH); // all boxes share same activity logic col.activitySelect.setOnAction(event -> { - con.onActivitySelected(col.categoryCombo, col.activitySelect, col.area); - con.updateEcts(col.ectsLabel, col.categoryCombo); + con.onActivitySelected( + col.categoryCombo, + col.activitySelect, + col.area); + con.updateEcts( + col.ectsLabel, + col.categoryCombo); }); // handle each category box switch (col.name) { case "Program" -> { - col.categoryCombo.getItems().addAll("HumTek", "NatBach"); + col.categoryCombo.getItems().addAll( + "HumTek", "NatBach"); col.categoryCombo.setOnAction(event -> { - con.onComboSelected(col.categoryCombo, col.activitySelect, col.area); + con.onComboSelected( + col.categoryCombo, + col.activitySelect, + col.area); }); } // TODO: use the list for filling the box case "Subject 1" -> { - col.categoryCombo.getItems().addAll("Computer Science", "Informatik", "Astrology"); + col.categoryCombo.getItems().addAll( + "Computer Science", + "Informatik", + "Astrology"); col.categoryCombo.setOnAction(event -> { - con.onSubjectModuleSelected(col.categoryCombo, columns.get(2).categoryCombo, subjectModules); - con.onComboSelected(col.categoryCombo, col.activitySelect, col.area); + con.onSubjectModuleSelected( + col.categoryCombo, + columns.get(2) + .categoryCombo, + subjectModules); + con.onComboSelected( + col.categoryCombo, + col.activitySelect, + col.area); }); } case "Subject 2" -> { - col.categoryCombo.getItems().addAll("Computer Science", "Informatik", "Astrology"); + col.categoryCombo.getItems().addAll( + "Computer Science", + "Informatik", + "Astrology"); // TODO: figure out a better way... col.categoryCombo.setOnAction(event -> { - con.onSubjectModuleSelected(col.categoryCombo, columns.get(1).categoryCombo, subjectModules); - con.onComboSelected(col.categoryCombo, col.activitySelect, col.area); + con.onSubjectModuleSelected( + col.categoryCombo, + columns.get(1) + .categoryCombo, + subjectModules); + con.onComboSelected( + col.categoryCombo, + col.activitySelect, + col.area); }); } case "Elective" -> { @@ -113,9 +147,15 @@ public final class Window extends Application { } // define HBox and scene for columns - HBox root = new HBox(columns.get(0).asVBox(), columns.get(1).asVBox(), columns.get(2).asVBox(), columns.get(3).asVBox()); - Scene scene = new Scene(root, WINDOW_WIDTH, WINDOW_HEIGHT); - stage.setTitle("Course Selector RUC: Ultimate Deluxe Edition"); + HBox root = new HBox( + columns.get(0).asVBox(), + columns.get(1).asVBox(), + columns.get(2).asVBox(), + columns.get(3).asVBox()); + Scene scene = new Scene( + root, WINDOW_WIDTH, WINDOW_HEIGHT); + stage.setTitle( + "Course Selector RUC: Ultimate Deluxe Edition"); stage.setScene(scene); stage.show(); } @@ -164,7 +204,12 @@ public final class Window extends Application { /// /// @return column of activities as VBox VBox asVBox() { - return new VBox(nameLabel, categoryCombo, activitySelect, area, ectsLabel); + return new VBox( + nameLabel, + categoryCombo, + activitySelect, + area, + ectsLabel); } } } |