diff --git a/src/main/java/fr/univlille/sae/classification/Main.java b/src/main/java/fr/univlille/sae/classification/Main.java new file mode 100644 index 0000000000000000000000000000000000000000..77fa80b1a00b346d7ece5f116224b02c1127dd38 --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/Main.java @@ -0,0 +1,31 @@ +package fr.univlille.sae.classification; + +import fr.univlille.sae.classification.model.ClassificationModel; +import fr.univlille.sae.classification.view.MainStageView; +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.stage.Stage; + +import java.io.File; +import java.io.IOException; +import java.net.URL; + +public class Main extends Application { + + + public void start(Stage stage) throws IOException { + ClassificationModel model = new ClassificationModel(); + MainStageView view = new MainStageView(model); + + view.show(); + } + + // Ouvre l'application + public static void main(String[] args) { + Application.launch(args); + } + + + + +} diff --git a/src/main/java/fr/univlille/sae/classification/model/ClassificationModel.java b/src/main/java/fr/univlille/sae/classification/model/ClassificationModel.java index ca46239ef914f4eebeb1d3156ac9eef6d690f357..1bfdec5b51e9508249a2673a916238a80bf7a764 100644 --- a/src/main/java/fr/univlille/sae/classification/model/ClassificationModel.java +++ b/src/main/java/fr/univlille/sae/classification/model/ClassificationModel.java @@ -1,13 +1,18 @@ package fr.univlille.sae.classification.model; +import fr.univlille.sae.classification.utils.Observable; + import java.io.File; import java.util.ArrayList; import java.util.List; +import java.util.Random; +import java.util.Set; -public class ClassificationModel { +public class ClassificationModel extends Observable { private List<LoadableData> datas; + private List<LoadableData> dataToClass; public ClassificationModel() { this.datas = new ArrayList<>(); @@ -38,6 +43,10 @@ public class ClassificationModel { */ private void classifierDonnee(LoadableData data) { + List<String> classes = new ArrayList<>(data.getClassificationTypes()); + Random rdm = new Random(); + data.setClassification(classes.get(rdm.nextInt(classes.size()))); + } diff --git a/src/main/java/fr/univlille/sae/classification/model/Iris.java b/src/main/java/fr/univlille/sae/classification/model/Iris.java index 8693e9099fe979643aa61401b77dc8c0f739fd74..b30835b3751bee9f6034c71b0a458ccf2c1daabf 100644 --- a/src/main/java/fr/univlille/sae/classification/model/Iris.java +++ b/src/main/java/fr/univlille/sae/classification/model/Iris.java @@ -10,9 +10,7 @@ public class Iris extends LoadableData{ private double petalWidth; private double petalLength; - private static Set<String> classificationTypes; - private String classification; public Iris(double sepalWidth, double sepalLength, double petalWidth, double petalLength) { @@ -20,22 +18,14 @@ public class Iris extends LoadableData{ } public Iris(double sepalWidth, double sepalLength, double petalWidth, double petalLength, String classification) { + super(); this.sepalWidth = sepalWidth; this.sepalLength = sepalLength; this.petalWidth = petalWidth; this.petalLength = petalLength; - this.classification = classification; } - @Override - public String getClassification() { - return this.classification; - } - @Override - public Set<String> getClassificationTypes() { - return classificationTypes; - } public double getSepalWidth() { diff --git a/src/main/java/fr/univlille/sae/classification/model/LoadableData.java b/src/main/java/fr/univlille/sae/classification/model/LoadableData.java index c6fff317ce262e3dabb2c9e63666a67c93005ca0..4de0abe4a687b74074761c54657795809bda17bb 100644 --- a/src/main/java/fr/univlille/sae/classification/model/LoadableData.java +++ b/src/main/java/fr/univlille/sae/classification/model/LoadableData.java @@ -2,11 +2,24 @@ package fr.univlille.sae.classification.model; import java.util.Set; -public abstract class LoadableData { +public class LoadableData { - public abstract String getClassification(); + private static Set<String> classificationTypes; - public abstract Set<String> getClassificationTypes(); + private String classification; + public LoadableData() { + + } + public String getClassification() { + return this.classification; + } + Set<String> getClassificationTypes() { + return classificationTypes; + } + void setClassification(String classification) { + this.classification = classification; + } + } diff --git a/src/main/java/fr/univlille/sae/classification/view/LoadDataView.java b/src/main/java/fr/univlille/sae/classification/view/LoadDataView.java new file mode 100644 index 0000000000000000000000000000000000000000..226180703f21200d9c94673ba00bfc56e4184bb5 --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/view/LoadDataView.java @@ -0,0 +1,6 @@ +package fr.univlille.sae.classification.view; + +public class LoadDataView { + + +} diff --git a/src/main/java/fr/univlille/sae/classification/view/MainStage.java b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java similarity index 58% rename from src/main/java/fr/univlille/sae/classification/view/MainStage.java rename to src/main/java/fr/univlille/sae/classification/view/MainStageView.java index 350ba9a8b8cd5f321dda31d5cd1485e24400820d..159c4639e73dff13d5a2db8af434c181697a836b 100644 --- a/src/main/java/fr/univlille/sae/classification/view/MainStage.java +++ b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java @@ -1,5 +1,8 @@ package fr.univlille.sae.classification.view; +import fr.univlille.sae.classification.model.ClassificationModel; +import fr.univlille.sae.classification.utils.Observable; +import fr.univlille.sae.classification.utils.Observer; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.stage.Stage; @@ -8,10 +11,18 @@ import java.io.File; import java.io.IOException; import java.net.URL; -public class MainStage extends Application { +public class MainStageView implements Observer { - public void start(Stage stage) throws IOException { + private ClassificationModel model; + + public MainStageView(ClassificationModel model) { + this.model = model; + model.attach(this); + } + + + public void show() throws IOException { FXMLLoader loader = new FXMLLoader(); URL fxmlFileUrl = new File(System.getProperty("user.dir") + File.separator + "res" + File.separator + "stages" + File.separator + "main-stage.fxml").toURI().toURL(); @@ -25,15 +36,16 @@ public class MainStage extends Application { root.setResizable(false); root.setTitle("SAE3.3 - Logiciel de classification"); root.show(); - } - // Ouvre l'application - public static void main(String[] args) { - Application.launch(args); - } + @Override + public void update(Observable observable) { + } + @Override + public void update(Observable observable, Object data) { + } }