diff --git a/res/stages/main-stage.fxml b/res/stages/main-stage.fxml index 3032ca0a558254be1d26f016e731e4e711779725..21c1941b9e1627e260b3f2c5f765e0bc59535401 100644 --- a/res/stages/main-stage.fxml +++ b/res/stages/main-stage.fxml @@ -56,7 +56,7 @@ <children> <Button fx:id="loadData" mnemonicParsing="false" onAction="#openLoadData" prefHeight="27.0" prefWidth="185.0" text="Charger un jeu de données" /> <Button fx:id="addData" mnemonicParsing="false" onAction="#openAddData" prefHeight="26.0" prefWidth="141.0" text="Ajouter une donnée" /> - <Button fx:id="classifyData" disable="true" mnemonicParsing="false" prefHeight="26.0" prefWidth="157.0" text="Classifier une donnée" /> + <Button fx:id="classifyData" disable="true" mnemonicParsing="false" onAction="#classifyDatas" prefHeight="26.0" prefWidth="157.0" text="Classifier les données" /> </children> </HBox> </children> diff --git a/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java b/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java index fe5fd7ae02cfc429d7e948be64556317800e814e..94cbf5a3f2a7664ef3ca2fa8b650d512909ef4f6 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java @@ -56,6 +56,7 @@ public class AddDataController { public void validate() throws IOException { System.out.println("validé"); + mainStageView.getController().getClassifyData().setDisable(false); ClassificationModel.getClassificationModel().ajouterDonnee(sepalLengthSpinner.getValue(), sepalWidthSpinner.getValue(), petalLengthSpinner.getValue(), petalWidthSpinner.getValue()); stage.close(); } diff --git a/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java b/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java index 21408450a73762a7f38a082592a4389dcae1da32..02e47544575b2899a8a4f3137ea98d591e74182e 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java @@ -81,6 +81,12 @@ public class MainStageController { } + + public void classifyDatas() { + ClassificationModel.getClassificationModel().classifierDonnees(); + } + + public ScatterChart getScatterChart() { return this.scatterChart; } @@ -88,4 +94,8 @@ public class MainStageController { public void setAxesSelected(String texte) { this.AxesSelected.setText(texte); } + + public Button getClassifyData() { + return this.classifyData; + } } 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 b581562f7ead46a3650364f1d033b89e6cf4d98a..73799df432a25c04602d9e922d4367f738120ea6 100644 --- a/src/main/java/fr/univlille/sae/classification/model/ClassificationModel.java +++ b/src/main/java/fr/univlille/sae/classification/model/ClassificationModel.java @@ -75,11 +75,16 @@ public class ClassificationModel extends Observable { notifyObservers(); } + + public void classifierDonnees() { + dataToClass.forEach(this::classifierDonnee); + } + /** * TODO * @param data */ - public void classifierDonnee(LoadableData data) { + private void classifierDonnee(LoadableData data) { List<String> classes = new ArrayList<>(data.getClassificationTypes()); Random rdm = new Random(); 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 5f6d3a77d66e42c1553aaf749212d29fbe88eff9..38fee8aaec1cb3331041ed8a01370ac63f7a1482 100644 --- a/src/main/java/fr/univlille/sae/classification/model/Iris.java +++ b/src/main/java/fr/univlille/sae/classification/model/Iris.java @@ -26,6 +26,16 @@ public class Iris extends LoadableData{ // } + @Override + public String getClassification() { + return variety; + } + + @Override + public void setClassification(String classification) { + this.variety = classification; + } + public Iris(double sepalWidth, double sepalLength, double petalWidth, double petalLength, String variety) { super(); this.sepalWidth = sepalWidth; @@ -51,9 +61,6 @@ public class Iris extends LoadableData{ return petalLength; } - public String getVariety() { - return variety; - } public double getDataType(String axes){ switch (axes){ 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 fba0fb716aefea3f9a0fb81e584f41671130891c..033890f3c275ee90712b4680729918fb665032ff 100644 --- a/src/main/java/fr/univlille/sae/classification/model/LoadableData.java +++ b/src/main/java/fr/univlille/sae/classification/model/LoadableData.java @@ -6,7 +6,8 @@ public abstract class LoadableData { private static Set<String> classificationTypes; - private String classification; + + protected LoadableData() { @@ -16,9 +17,7 @@ public abstract class LoadableData { this.classificationTypes.add(classificationType); } - public String getClassification() { - return this.classification; - } + public abstract String getClassification() ; public static Set<String> getClassificationTypes() { return classificationTypes; @@ -28,9 +27,7 @@ public abstract class LoadableData { LoadableData.classificationTypes = classificationTypes; } - public void setClassification(String classification) { - this.classification = classification; - } + public abstract void setClassification(String classification); public abstract String[] getAttributesName(); diff --git a/src/main/java/fr/univlille/sae/classification/view/AddDataView.java b/src/main/java/fr/univlille/sae/classification/view/AddDataView.java index 5ab22875f6850e0dcd6366c19483383f86079554..f52b777a7d536b07d41032a0b6412eed913807fa 100644 --- a/src/main/java/fr/univlille/sae/classification/view/AddDataView.java +++ b/src/main/java/fr/univlille/sae/classification/view/AddDataView.java @@ -42,6 +42,7 @@ public class AddDataView { controller.setMainStageView(mainStageView); + if(model.getDatas().isEmpty()) { Alert alert = new Alert(Alert.AlertType.WARNING); alert.setTitle("Erreur"); diff --git a/src/main/java/fr/univlille/sae/classification/view/MainStageView.java b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java index fdf814f70f165f1fd8333b3e3eb61cdeaed9cc2c..177c991efb1313a5b41d2e674c154d111bcfe510 100644 --- a/src/main/java/fr/univlille/sae/classification/view/MainStageView.java +++ b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java @@ -128,4 +128,8 @@ public class MainStageView implements Observer { return actualY; } + public MainStageController getController() { + return controller; + } + }