summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2016-01-12 13:16:15 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2016-01-12 13:16:15 +0100
commit73a8dd6ebd286ea9de3af32d9b5e7751cbc7ab72 (patch)
tree7ccd342b1c1322269a689d6c508f3c1f8dd38768 /src
parent993cba579295a06209fc9109243837f101ae0010 (diff)
downloadProjektthemenvergabe-73a8dd6ebd286ea9de3af32d9b5e7751cbc7ab72.tar.gz
Projektthemenvergabe-73a8dd6ebd286ea9de3af32d9b5e7751cbc7ab72.zip
Update extractors for the model
Diffstat (limited to 'src')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java2
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java20
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java15
3 files changed, 27 insertions, 10 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
index 9c93b5a..53bcd7f 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
@@ -38,7 +38,7 @@ public class Main extends Application
.observableArrayList(Projekt.extractor());
private ObservableList<Student> studenten = FXCollections
- .observableArrayList();
+ .observableArrayList(Student.extractor());
private Stage primaryStage;
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java
index bcaba6f..ca017cd 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java
@@ -1,14 +1,12 @@
package de.fhswf.in.inf.se.projektthemenvergabe.model;
-import java.util.ArrayList;
-import java.util.Collections;
-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.collections.FXCollections;
+import javafx.collections.ObservableList;
import javafx.util.Callback;
/**
@@ -28,7 +26,8 @@ public class Projekt
private StringProperty projekteinhalte = new SimpleStringProperty("");
- private ArrayList<Student> student = new ArrayList<Student>();
+ private ObservableList<Student> student = FXCollections
+ .observableArrayList(Student.extractor());
private ObjectProperty<Ansprechpartner> ansprechpartner = new SimpleObjectProperty<>();
@@ -45,7 +44,10 @@ public class Projekt
*/
public static Callback<Projekt, Observable[]> extractor()
{
- return projekt -> new Observable[] { projekt.statusProperty() };
+ return projekt -> new Observable[] { projekt.projektthemaProperty(),
+ projekt.skizzeProperty(), projekt.projektbeschreibungProperty(),
+ projekt.projekteinhalteProperty(), projekt.getStudents(),
+ projekt.ansprechpartnerProperty(), projekt.statusProperty() };
}
/**
@@ -276,11 +278,11 @@ public class Projekt
/**
* Getter for an unmodifiable list of students.
*
- * @return Collection.unmodifiableList(student)
+ * @return FXCollections.unmodifiableObservableList(student)
*/
- public List<Student> getStudents()
+ public ObservableList<Student> getStudents()
{
- return Collections.unmodifiableList(student);
+ return FXCollections.unmodifiableObservableList(student);
}
/**
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 7265b94..89c80bb 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java
@@ -1,11 +1,13 @@
package de.fhswf.in.inf.se.projektthemenvergabe.model;
+import javafx.beans.Observable;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
+import javafx.util.Callback;
/**
*
@@ -25,6 +27,19 @@ public class Student
private ObjectProperty<Projekt> projekt = new SimpleObjectProperty<>();
/**
+ * Generates an extractor that fires when a property of a list value
+ * changes.
+ *
+ * @return The extractor.
+ */
+ public static Callback<Student, Observable[]> extractor()
+ {
+ return student -> new Observable[] { student.matrikelnummerProperty(),
+ student.vornameProperty(), student.nachnameProperty(),
+ student.projektProperty() };
+ }
+
+ /**
* Constructor of {@link Student}.
*
* @param matrikelnummer