summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2016-01-11 19:17:16 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2016-01-11 19:17:16 +0100
commit186634af654b63206c842dcc4915a260e2c82471 (patch)
tree577f827cf99f88483bba31d23594b85842be96a7 /src/de/fhswf
parentf1327bcab1dd85aebeda1d5368adb8a43e1c4d1f (diff)
downloadProjektthemenvergabe-186634af654b63206c842dcc4915a260e2c82471.tar.gz
Projektthemenvergabe-186634af654b63206c842dcc4915a260e2c82471.zip
Show more errors to the user
Diffstat (limited to 'src/de/fhswf')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java16
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java189
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/view/StudentenverwaltungsController.java71
3 files changed, 255 insertions, 21 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java
index 1ba6ed5..740fa00 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java
@@ -164,4 +164,20 @@ public class Student
{
return String.valueOf(matrikelnummer.get());
}
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (!(obj instanceof Student))
+ {
+ return false;
+ }
+
+ return ((Student) obj).matrikelnummer.get() == matrikelnummer.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 f14f5a1..511cc6d 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
@@ -82,6 +82,33 @@ public class AnsprechpartnerListeController
{
data.getRowValue().setVorname(tmpAns.getVorname());
}
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Ansprechpartner ist bereits vorhanden");
+ alert.setHeaderText(
+ "Dieser Ansprechpartner wurde schon angelegt.");
+ alert.setContentText(
+ "Der Ansprechpartner wird jetzt für Sie ausgewählt.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
+
+ ansprechpartnerTableView.getSelectionModel().select(tmpAns);
+ }
+ }
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Vorname ist leer");
+ alert.setHeaderText(
+ "Der Vorname des Ansprechpartners darf nicht leer sein.");
+ alert.setContentText("Wert wurde zurückgesetzt.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
}
// Hack, aktualisiert TableView, da Observable beim setzen nicht neu
@@ -105,6 +132,33 @@ public class AnsprechpartnerListeController
{
data.getRowValue().setNachname(tmpAns.getNachname());
}
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Ansprechpartner ist bereits vorhanden");
+ alert.setHeaderText(
+ "Dieser Ansprechpartner wurde schon angelegt.");
+ alert.setContentText(
+ "Der Ansprechpartner wird jetzt für Sie ausgewählt.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
+
+ ansprechpartnerTableView.getSelectionModel().select(tmpAns);
+ }
+ }
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Nachname ist leer");
+ alert.setHeaderText(
+ "Der Nachname des Ansprechpartners darf nicht leer sein.");
+ alert.setContentText("Wert wurde zurückgesetzt.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
}
// Hack, aktualisiert TableView, da Observable beim setzen nicht neu
@@ -113,7 +167,9 @@ public class AnsprechpartnerListeController
ansprechpartnerNachnameTableColumn.setVisible(true);
});
- organisationsNameTableColumn.setCellValueFactory((data) -> {
+ organisationsNameTableColumn.setCellValueFactory((data) ->
+
+ {
data.getValue().organisationProperty().addListener((listener) -> {
// Hack, aktualisiert TableView, da Organisation kein
// Observable
@@ -135,7 +191,9 @@ public class AnsprechpartnerListeController
}
return new SimpleObjectProperty<Organisation>(new Organisation(""));
});
- organisationsNameTableColumn.setOnEditCommit((data) -> {
+ organisationsNameTableColumn.setOnEditCommit((data) ->
+
+ {
data.getRowValue().setOrganisation(data.getNewValue());
});
@@ -147,6 +205,7 @@ public class AnsprechpartnerListeController
.bind(organisationComboBox.valueProperty().isNull());
deleteAnsprechpartner.disableProperty().bind(ansprechpartnerTableView
.getSelectionModel().selectedItemProperty().isNull());
+
}
/**
@@ -180,13 +239,45 @@ public class AnsprechpartnerListeController
dialog.initOwner(main.getAnsprechpartnerverwaltungsStage());
Optional<String> result = dialog.showAndWait();
- if (result.isPresent() && !result.get().trim().isEmpty())
+ if (result.isPresent())
{
- Organisation organisation = new Organisation(result.get().trim());
+ if (!result.get().trim().isEmpty())
+ {
+ Organisation organisation = new Organisation(result.get().trim());
+
+ if (!main.getOrganisation().contains(organisation))
+ {
+ main.getOrganisation().add(organisation);
+ }
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Organisation ist bereits vorhanden");
+ alert.setHeaderText(
+ "Diese Organisation wurde schon angelegt.");
+ alert.setContentText(
+ "Die Organisation wird jetzt für Sie ausgewählt.");
- if (!main.getOrganisation().contains(organisation))
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
+
+ organisationComboBox.setValue(organisation);
+ }
+ }
+ else
{
- main.getOrganisation().add(organisation);
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Name ist leer");
+ alert.setHeaderText(
+ "Der Name der Organisation darf nicht leer sein.");
+ alert.setContentText("Versuchen Sie es bitte erneut.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
+
+ handleAddOrganisation();
}
}
}
@@ -208,13 +299,45 @@ public class AnsprechpartnerListeController
dialog.initOwner(main.getAnsprechpartnerverwaltungsStage());
Optional<String> result = dialog.showAndWait();
- if (result.isPresent() && !result.get().trim().isEmpty())
+ if (result.isPresent())
{
- Organisation tmpOrg = new Organisation(result.get().trim());
+ if (!result.get().trim().isEmpty())
+ {
+ Organisation tmpOrg = new Organisation(result.get().trim());
+
+ if (!main.getOrganisation().contains(tmpOrg))
+ {
+ organisation.setName(tmpOrg.getName());
+ }
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Organisation ist bereits vorhanden");
+ alert.setHeaderText(
+ "Diese Organisation wurde schon angelegt.");
+ alert.setContentText(
+ "Die Organisation wird jetzt für Sie ausgewählt.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
- if (!main.getOrganisation().contains(tmpOrg))
+ organisationComboBox.setValue(tmpOrg);
+ }
+ }
+ else
{
- organisation.setName(tmpOrg.getName());
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Name ist leer");
+ alert.setHeaderText(
+ "Der Name der Organisation darf nicht leer sein.");
+ alert.setContentText("Versuchen Sie es bitte erneut.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
+
+ handleAddOrganisation();
}
}
}
@@ -295,16 +418,48 @@ public class AnsprechpartnerListeController
Optional<Pair<String, String>> result = dialog.showAndWait();
- if (result.isPresent() && !result.get().getKey().trim().isEmpty()
- && !result.get().getValue().trim().isEmpty())
+ if (result.isPresent())
{
- Ansprechpartner ansprechpartner = new Ansprechpartner(
- organisation, result.get().getKey().trim(),
- result.get().getValue().trim());
+ if (!result.get().getKey().trim().isEmpty()
+ && !result.get().getValue().trim().isEmpty())
+ {
+ Ansprechpartner ansprechpartner = new Ansprechpartner(
+ organisation, result.get().getKey().trim(),
+ result.get().getValue().trim());
- if (!main.getAnsprechpartner().contains(ansprechpartner))
+ if (!main.getAnsprechpartner().contains(ansprechpartner))
+ {
+ main.getAnsprechpartner().add(ansprechpartner);
+ }
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Ansprechpartner ist bereits vorhanden");
+ alert.setHeaderText(
+ "Dieser Ansprechpartner wurde schon angelegt.");
+ alert.setContentText("Es gibt nichts mehr zu tun.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
+
+ organisationComboBox.setValue(organisation);
+ }
+ }
+ else
{
- main.getAnsprechpartner().add(ansprechpartner);
+
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Name des Ansprechpartner ist leer");
+ alert.setHeaderText(
+ "Der Name des Ansprechpartners darf nicht leer sein.");
+ alert.setContentText("Versuchen Sie es bitte erneut.");
+
+ alert.initOwner(main.getAnsprechpartnerverwaltungsStage());
+
+ alert.showAndWait();
+
+ handleAdd();
}
}
}
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/StudentenverwaltungsController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/StudentenverwaltungsController.java
index a86bbe9..3000a8d 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/StudentenverwaltungsController.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/StudentenverwaltungsController.java
@@ -50,6 +50,33 @@ public class StudentenverwaltungsController
(data) -> data.getValue().matrikelnummerProperty().asObject());
matrikelnummerTableColumn.setCellFactory(
TextFieldTableCell.forTableColumn(new IntegerStringConverter()));
+ matrikelnummerTableColumn.setOnEditCommit((data) -> {
+ Student tmpStud = new Student(data.getNewValue());
+
+ if (!main.getStudenten().contains(tmpStud))
+ {
+ data.getRowValue().setMatrikelnummer(tmpStud.getMatrikelnummer());
+ }
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Student ist bereits vorhanden");
+ alert.setHeaderText("Dieser Student wurde schon angelegt.");
+ alert.setContentText(
+ "Der Student wird jetzt für Sie ausgewählt.");
+
+ alert.initOwner(main.getStudentenverwaltungsStage());
+
+ alert.showAndWait();
+
+ studentTableView.getSelectionModel().select(tmpStud);
+ }
+
+ // Hack, aktualisiert TableView, da Observable beim setzen nicht neu
+ // abgefragt wird
+ matrikelnummerTableColumn.setVisible(false);
+ matrikelnummerTableColumn.setVisible(true);
+ });
vornameTableColumn
.setCellValueFactory((data) -> data.getValue().vornameProperty());
@@ -110,11 +137,45 @@ public class StudentenverwaltungsController
dialog.initOwner(main.getStudentenverwaltungsStage());
Optional<String> result = dialog.showAndWait();
- if (result.isPresent() && !result.get().trim().isEmpty())
+ if (result.isPresent())
{
- Student student = new Student(
- Integer.parseInt(result.get().trim(), 10));
- main.getStudenten().add(student);
+ if (!result.get().trim().isEmpty())
+ {
+ Student student = new Student(
+ Integer.parseInt(result.get().trim(), 10));
+ if (!main.getStudenten().contains(student))
+ {
+ main.getStudenten().add(student);
+ }
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Student ist bereits vorhanden");
+ alert.setHeaderText("Dieser Student wurde schon angelegt.");
+ alert.setContentText(
+ "Der Student wird jetzt für Sie ausgewählt.");
+
+ alert.initOwner(main.getStudentenverwaltungsStage());
+
+ alert.showAndWait();
+
+ studentTableView.getSelectionModel().select(student);
+ }
+ }
+ else
+ {
+ Alert alert = new Alert(AlertType.ERROR);
+ alert.setTitle("Matrikelnummer ist leer");
+ alert.setHeaderText(
+ "Die von Ihnen eingegebene Matrikelnummer ist leer.");
+ alert.setContentText("Versuchen Sie es bitte erneut.");
+
+ alert.initOwner(main.getStudentenverwaltungsStage());
+
+ alert.showAndWait();
+
+ handleAddStudent();
+ }
}
}
catch (NumberFormatException e)
@@ -128,6 +189,8 @@ public class StudentenverwaltungsController
alert.initOwner(main.getStudentenverwaltungsStage());
alert.showAndWait();
+
+ handleAddStudent();
}
}