summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-12-15 22:25:23 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-12-15 22:25:23 +0100
commit953b348b7011b5aabe0f896ad0472cbf8455312d (patch)
tree5a68c4abeed4a44ca7474de524838f13923a464f /src/de/fhswf/in/inf/se
parentc42890f0dff5ad14efd22e2de87d2afc4e758ac6 (diff)
downloadProjektthemenvergabe-953b348b7011b5aabe0f896ad0472cbf8455312d.tar.gz
Projektthemenvergabe-953b348b7011b5aabe0f896ad0472cbf8455312d.zip
Only allow singular PKs
Diffstat (limited to 'src/de/fhswf/in/inf/se')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java17
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java16
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java43
3 files changed, 71 insertions, 5 deletions
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 66b6ab5..72bf249 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java
@@ -161,4 +161,21 @@ 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 dca4511..4525045 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java
@@ -107,4 +107,20 @@ 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 ac6bb34..ee036e2 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
@@ -71,7 +71,18 @@ public class AnsprechpartnerListeController
ansprechpartnerVornameTableColumn
.setCellFactory(TextFieldTableCell.forTableColumn());
ansprechpartnerVornameTableColumn.setOnEditCommit((data) -> {
- data.getRowValue().setVorname(data.getNewValue().trim());
+ 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());
+ }
+ }
// Hack, aktualisiert TableView, da Observable beim setzen nicht neu
// abgefragt wird
@@ -84,7 +95,18 @@ public class AnsprechpartnerListeController
ansprechpartnerNachnameTableColumn
.setCellFactory(TextFieldTableCell.forTableColumn());
ansprechpartnerNachnameTableColumn.setOnEditCommit((data) -> {
- data.getRowValue().setNachname(data.getNewValue().trim());
+ 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());
+ }
+ }
// Hack, aktualisiert TableView, da Observable beim setzen nicht neu
// abgefragt wird
@@ -163,7 +185,10 @@ public class AnsprechpartnerListeController
{
Organisation organisation = new Organisation();
organisation.setName(result.get().trim());
- main.getOrganisation().add(organisation);
+ if (!main.getOrganisation().contains(organisation))
+ {
+ main.getOrganisation().add(organisation);
+ }
}
}
@@ -186,7 +211,12 @@ public class AnsprechpartnerListeController
Optional<String> result = dialog.showAndWait();
if (result.isPresent() && !result.get().trim().isEmpty())
{
- organisation.setName(result.get().trim());
+ Organisation tmpOrg = new Organisation();
+ tmpOrg.setName(result.get().trim());
+ if (!main.getOrganisation().contains(tmpOrg))
+ {
+ organisation.setName(tmpOrg.getName());
+ }
}
}
@@ -272,7 +302,10 @@ public class AnsprechpartnerListeController
ansprechpartner.setVorname(result.get().getKey().trim());
ansprechpartner.setNachname(result.get().getValue().trim());
- main.getAnsprechpartner().add(ansprechpartner);
+ if (!main.getAnsprechpartner().contains(ansprechpartner))
+ {
+ main.getAnsprechpartner().add(ansprechpartner);
+ }
}
}
}