From 4aade633751694319a403a415134018a0b213b00 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Tue, 15 Dec 2015 23:27:59 +0100 Subject: Revert vertical prototype changes --- .../fhswf/in/inf/se/projektthemenvergabe/Main.java | 137 --------------------- .../model/Ansprechpartner.java | 76 +++--------- .../projektthemenvergabe/model/Organisation.java | 16 --- .../view/AnsprechpartnerListeController.java | 75 ++--------- 4 files changed, 29 insertions(+), 275 deletions(-) (limited to 'src/de/fhswf/in/inf') diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java index e786f78..bd0c918 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java @@ -3,20 +3,11 @@ */ package de.fhswf.in.inf.se.projektthemenvergabe; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.HashMap; - import de.fhswf.in.inf.se.projektthemenvergabe.model.Ansprechpartner; import de.fhswf.in.inf.se.projektthemenvergabe.model.Organisation; import de.fhswf.in.inf.se.projektthemenvergabe.view.AnsprechpartnerListeController; import javafx.application.Application; -import javafx.application.Platform; import javafx.collections.FXCollections; -import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; @@ -39,8 +30,6 @@ public class Main extends Application private Stage primaryStage; - private Connection dbConnection; - /* * (non-Javadoc) * @@ -51,19 +40,6 @@ public class Main extends Application { this.primaryStage = primaryStage; - connectToDatabase(); - loadData(); - - ansprechpartner.addListener(( - ListChangeListener.Change listener) -> { - saveData(); - }); - - organisation.addListener( - (ListChangeListener.Change listener) -> { - saveData(); - }); - try { FXMLLoader loader = new FXMLLoader( @@ -125,117 +101,4 @@ public class Main extends Application { launch(args); } - - /** - * TODO Add method comment here - * - */ - private void connectToDatabase() - { - try - { - Class.forName("com.mysql.jdbc.Driver").newInstance(); - dbConnection = DriverManager - .getConnection("jdbc:mysql://localhost/projekte", "root", ""); - } - catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | SQLException e) - { - e.printStackTrace(); - Platform.exit(); - } - } - - /** - * TODO Add method comment here - * - */ - private void loadData() - { - try - { - ansprechpartner.clear(); - organisation.clear(); - - HashMap orga = new HashMap<>(); - - ResultSet rs = dbConnection.createStatement() - .executeQuery("SELECT * from organisation"); - while (rs.next()) - { - Organisation organisation = new Organisation(); - organisation.setName(rs.getString("name")); - - orga.put(organisation.getName(), organisation); - } - - rs = dbConnection.createStatement() - .executeQuery("SELECT * from ansprechpartner"); - while (rs.next()) - { - Organisation organisation = orga - .get(rs.getString("organisation")); - - Ansprechpartner ansprechpartner = new Ansprechpartner( - organisation); - ansprechpartner.setVorname(rs.getString("vorname")); - ansprechpartner.setNachname(rs.getString("nachname")); - - this.ansprechpartner.add(ansprechpartner); - } - - organisation.addAll(orga.values()); - } - catch (SQLException e) - { - e.printStackTrace(); - Platform.exit(); - } - } - - private void saveData() - { - try - { - dbConnection.createStatement() - .execute("SET FOREIGN_KEY_CHECKS = 0;"); - dbConnection.createStatement() - .execute("TRUNCATE TABLE ansprechpartner"); - dbConnection.createStatement() - .execute("TRUNCATE TABLE organisation"); - dbConnection.createStatement() - .execute("SET FOREIGN_KEY_CHECKS = 1;"); - - PreparedStatement ps = dbConnection.prepareStatement( - "INSERT into organisation (name) VALUES (?)"); - for (Organisation org : organisation) - { - ps.setString(1, org.getName()); - - ps.execute(); - } - - ps = dbConnection.prepareStatement( - "INSERT into ansprechpartner (vorname, nachname, organisation) VALUES (?, ?, ?)"); - for (Ansprechpartner ans : ansprechpartner) - { - ps.setString(1, ans.getVorname()); - ps.setString(2, ans.getNachname()); - if (ans.getOrganisation() != null) - { - ps.setString(3, ans.getOrganisation().getName()); - } - else - { - ps.setString(3, null); - } - - ps.execute(); - } - } - catch (SQLException e) - { - e.printStackTrace(); - } - } } diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java index 72bf249..fb59831 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java @@ -4,8 +4,6 @@ import java.util.ArrayList; import java.util.List; import javafx.beans.Observable; -import javafx.beans.property.ObjectProperty; -import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; import javafx.util.Callback; @@ -16,7 +14,7 @@ public class Ansprechpartner private StringProperty nachname = new SimpleStringProperty(); - private ObjectProperty organisation = new SimpleObjectProperty<>(); + private Organisation organisation; /** * Generates an extractor that fires when a property of a list value @@ -26,21 +24,10 @@ public class Ansprechpartner */ public static Callback extractor() { - return ansprechpartner -> { - List extractorList = new ArrayList<>(); - - extractorList.add(ansprechpartner.vornameProperty()); - extractorList.add(ansprechpartner.nachnameProperty()); - extractorList.add(ansprechpartner.organisationProperty()); - - if (ansprechpartner.getOrganisation() != null) - { - extractorList - .add(ansprechpartner.getOrganisation().nameProperty()); - } - - return extractorList.toArray(new Observable[extractorList.size()]); - }; + return ansprechpartner -> new Observable[] { + ansprechpartner.vornameProperty(), + ansprechpartner.nachnameProperty(), + ansprechpartner.getOrganisation().nameProperty() }; } /** @@ -50,23 +37,15 @@ public class Ansprechpartner */ public Ansprechpartner(Organisation organisation) { - this.organisation.set(organisation); - - if (organisation != null) + if (organisation == null) { - this.organisation.get().addAnsprechpartner(this); + throw new IllegalArgumentException( + "Ansprechpartner sollten nicht arbeitslos sein."); } + this.organisation = organisation; + this.organisation.addAnsprechpartner(this); } - /** - * Getter for property organisation. - * - * @return Returns the organisation. - */ - public ObjectProperty organisationProperty() - { - return organisation; - } /** * Getter for organisation. @@ -75,7 +54,7 @@ public class Ansprechpartner */ public Organisation getOrganisation() { - return organisation.get(); + return organisation; } /** @@ -86,17 +65,14 @@ public class Ansprechpartner */ public void setOrganisation(Organisation organisation) { - if (this.organisation.get() != null) + if (organisation == null) { - this.organisation.get().removeAnsprechpartner(this); - } - - this.organisation.set(organisation); - - if (organisation != null) - { - organisation.addAnsprechpartner(this); + throw new IllegalArgumentException( + "Ansprechpartner sollten nicht arbeitslos sein."); } + this.organisation.removeAnsprechpartner(this); + this.organisation = organisation; + this.organisation.addAnsprechpartner(this); } /** @@ -160,22 +136,4 @@ public class Ansprechpartner { this.vorname.set(vorname); } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) - { - if (!(obj instanceof Ansprechpartner)) - { - return false; - } - - return ((Ansprechpartner) obj).vorname.get().equals(vorname.get()) - && ((Ansprechpartner) obj).nachname.get().equals(nachname.get()); - } - } \ No newline at end of file diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java index 4525045..dca4511 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java @@ -107,20 +107,4 @@ public class Organisation { return name.get(); } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) - { - if (!(obj instanceof Organisation)) - { - return false; - } - - return ((Organisation) obj).name.get().equals(name.get()); - } } \ No newline at end of file diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java index ee036e2..499c04e 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java @@ -71,18 +71,7 @@ public class AnsprechpartnerListeController ansprechpartnerVornameTableColumn .setCellFactory(TextFieldTableCell.forTableColumn()); ansprechpartnerVornameTableColumn.setOnEditCommit((data) -> { - if (!data.getNewValue().isEmpty()) - { - Ansprechpartner tmpAns = new Ansprechpartner( - data.getRowValue().getOrganisation()); - tmpAns.setNachname(data.getRowValue().getNachname()); - tmpAns.setVorname(data.getNewValue().trim()); - - if (!main.getAnsprechpartner().contains(tmpAns)) - { - data.getRowValue().setVorname(tmpAns.getVorname()); - } - } + data.getRowValue().setVorname(data.getNewValue().trim()); // Hack, aktualisiert TableView, da Observable beim setzen nicht neu // abgefragt wird @@ -95,18 +84,7 @@ public class AnsprechpartnerListeController ansprechpartnerNachnameTableColumn .setCellFactory(TextFieldTableCell.forTableColumn()); ansprechpartnerNachnameTableColumn.setOnEditCommit((data) -> { - if (!data.getNewValue().isEmpty()) - { - Ansprechpartner tmpAns = new Ansprechpartner( - data.getRowValue().getOrganisation()); - tmpAns.setVorname(data.getRowValue().getVorname()); - tmpAns.setNachname(data.getNewValue().trim()); - - if (!main.getAnsprechpartner().contains(tmpAns)) - { - data.getRowValue().setNachname(tmpAns.getNachname()); - } - } + data.getRowValue().setNachname(data.getNewValue().trim()); // Hack, aktualisiert TableView, da Observable beim setzen nicht neu // abgefragt wird @@ -115,26 +93,14 @@ public class AnsprechpartnerListeController }); organisationsNameTableColumn.setCellValueFactory((data) -> { - data.getValue().organisationProperty().addListener((listener) -> { - // Hack, aktualisiert TableView, da Organisation kein - // Observable + data.getValue().getOrganisation().nameProperty() + .addListener((listener) -> { + // Hack, aktualisiert TableView, da Organisation kein Observable // ist organisationsNameTableColumn.setVisible(false); organisationsNameTableColumn.setVisible(true); }); - if (data.getValue().getOrganisation() != null) - { - data.getValue().getOrganisation().nameProperty() - .addListener((listener) -> { - // Hack, aktualisiert TableView, da Organisation kein - // Observable - // ist - organisationsNameTableColumn.setVisible(false); - organisationsNameTableColumn.setVisible(true); - }); - return data.getValue().organisationProperty(); - } - return new SimpleObjectProperty(new Organisation()); + return new SimpleObjectProperty<>(data.getValue().getOrganisation()); }); organisationsNameTableColumn.setOnEditCommit((data) -> { data.getRowValue().setOrganisation(data.getNewValue()); @@ -185,10 +151,7 @@ public class AnsprechpartnerListeController { Organisation organisation = new Organisation(); organisation.setName(result.get().trim()); - if (!main.getOrganisation().contains(organisation)) - { - main.getOrganisation().add(organisation); - } + main.getOrganisation().add(organisation); } } @@ -211,12 +174,7 @@ public class AnsprechpartnerListeController Optional result = dialog.showAndWait(); if (result.isPresent() && !result.get().trim().isEmpty()) { - Organisation tmpOrg = new Organisation(); - tmpOrg.setName(result.get().trim()); - if (!main.getOrganisation().contains(tmpOrg)) - { - organisation.setName(tmpOrg.getName()); - } + organisation.setName(result.get().trim()); } } @@ -246,14 +204,8 @@ public class AnsprechpartnerListeController if (result == null || result.get() == ButtonType.OK) { - Ansprechpartner[] ansArray = selectedItem.getAnsprechpartner() - .toArray(new Ansprechpartner[selectedItem - .getAnsprechpartner().size()]); - for (Ansprechpartner ans : ansArray) - { - ans.setOrganisation(null); - } - + main.getAnsprechpartner() + .removeAll(selectedItem.getAnsprechpartner()); main.getOrganisation().remove(organisationComboBox.getValue()); } } @@ -271,7 +223,7 @@ public class AnsprechpartnerListeController if (selectedItem != null) { - selectedItem.setOrganisation(null); + selectedItem.getOrganisation().removeAnsprechpartner(selectedItem); main.getAnsprechpartner().remove(selectedItem); } } @@ -302,10 +254,7 @@ public class AnsprechpartnerListeController ansprechpartner.setVorname(result.get().getKey().trim()); ansprechpartner.setNachname(result.get().getValue().trim()); - if (!main.getAnsprechpartner().contains(ansprechpartner)) - { - main.getAnsprechpartner().add(ansprechpartner); - } + main.getAnsprechpartner().add(ansprechpartner); } } } -- cgit v1.2.3-70-g09d2