diff --git a/ClassificationApp-1.0-shaded.jar b/ClassificationApp-1.0-shaded.jar new file mode 100644 index 0000000000000000000000000000000000000000..702084e3a7a2465dd4637ea86fe6f119dfd252f2 Binary files /dev/null and b/ClassificationApp-1.0-shaded.jar differ diff --git a/src/main/java/fr/univlille/sae/classification/Main.java b/src/main/java/fr/univlille/sae/classification/Main.java index d30364df55c3c17853485353d6c2138b1d13e1e9..d955ee28c034c91c581e63cca008e2a8437075c0 100644 --- a/src/main/java/fr/univlille/sae/classification/Main.java +++ b/src/main/java/fr/univlille/sae/classification/Main.java @@ -1,11 +1,5 @@ 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.stage.Stage; - -import java.io.IOException; /** * Cette classe redirige l'exécution vers la classe principale de l'application, */ 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 c4c527e7411561a0141153340cf6cdc6244fab82..6fcd4876f89db0ffa2d5577e9f1c0125edc1cb44 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java @@ -1,6 +1,5 @@ package fr.univlille.sae.classification.controller; -import com.sun.scenario.effect.impl.state.HVSeparableKernel; import fr.univlille.sae.classification.model.ClassificationModel; import fr.univlille.sae.classification.view.MainStageView; import javafx.fxml.FXML; @@ -10,12 +9,10 @@ import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; -import java.io.IOException; -import java.lang.reflect.Array; -import java.text.ParseException; -import java.time.temporal.Temporal; -import java.util.*; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; import java.util.function.UnaryOperator; import java.util.regex.Pattern; diff --git a/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java b/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java index 508057c91f7ae07310ecee04773a594fc30ef1d5..c536bab5ada8538a5a72ab57775adedfe5bac0e8 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java @@ -3,7 +3,6 @@ package fr.univlille.sae.classification.controller; import fr.univlille.sae.classification.view.DataVisualizationView; import javafx.fxml.FXML; import javafx.scene.chart.NumberAxis; -import javafx.scene.control.Button; import javafx.scene.control.ChoiceBox; import javafx.scene.control.Spinner; import javafx.scene.control.SpinnerValueFactory; diff --git a/src/main/java/fr/univlille/sae/classification/controller/ChooseAttributesController.java b/src/main/java/fr/univlille/sae/classification/controller/ChooseAttributesController.java index e2105ebd204cf13402dfde477a0559eaf75338e6..618abf35a5ab42aed9ee70b778f5d305ba7bf2a5 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/ChooseAttributesController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/ChooseAttributesController.java @@ -6,9 +6,7 @@ import javafx.fxml.FXML; import javafx.scene.control.ChoiceBox; import javafx.stage.Stage; -import java.awt.*; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class ChooseAttributesController { diff --git a/src/main/java/fr/univlille/sae/classification/controller/DataStageController.java b/src/main/java/fr/univlille/sae/classification/controller/DataStageController.java index 49f0c708a3165b3d42287461c4e94f84f96bf2c7..8596d9689aae267b7f38e3138b9e0b7aaa0c1056 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/DataStageController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/DataStageController.java @@ -1,17 +1,10 @@ package fr.univlille.sae.classification.controller; -import fr.univlille.sae.classification.model.ClassificationModel; -import fr.univlille.sae.classification.view.AxesSettingsView; import fr.univlille.sae.classification.view.DataStageView; import javafx.fxml.FXML; -import javafx.scene.chart.NumberAxis; -import javafx.scene.chart.ScatterChart; -import javafx.scene.control.Label; import javafx.scene.control.ListView; import javafx.stage.Stage; -import java.io.IOException; - /** * Contrôleur pour le fichier FXML "data-view-stage", pour gérer la vue supplémentaire. */ diff --git a/src/main/java/fr/univlille/sae/classification/controller/DataVisualizationController.java b/src/main/java/fr/univlille/sae/classification/controller/DataVisualizationController.java index 471b4f145c3358ae2e32dddefdf5b2abf7e28671..57e9a702841c2e04d6edc5e38aa5bc57854203c8 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/DataVisualizationController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/DataVisualizationController.java @@ -7,7 +7,6 @@ import javafx.fxml.FXML; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.ScatterChart; import javafx.scene.control.Label; -import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; diff --git a/src/main/java/fr/univlille/sae/classification/controller/KNNController.java b/src/main/java/fr/univlille/sae/classification/controller/KNNController.java index 41ca88999f1a7ef6ed6950828c5d94c10da77a91..e699db133300e0521917690ae3ec98b4a35ff5a1 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/KNNController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/KNNController.java @@ -2,10 +2,7 @@ package fr.univlille.sae.classification.controller; import fr.univlille.sae.classification.knn.MethodKNN; import fr.univlille.sae.classification.knn.distance.Distance; -import fr.univlille.sae.classification.knn.distance.DistanceManhattanNormalisee; import fr.univlille.sae.classification.model.ClassificationModel; -import fr.univlille.sae.classification.model.LoadableData; -import javafx.collections.ObservableList; import javafx.concurrent.Task; import javafx.fxml.FXML; import javafx.geometry.Pos; @@ -15,10 +12,6 @@ import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - /** * Contrôleur pour la fenêtre de l'algorithme KNN. */ diff --git a/src/main/java/fr/univlille/sae/classification/controller/LoadDataController.java b/src/main/java/fr/univlille/sae/classification/controller/LoadDataController.java index 78ebe5078f84237ad315f4adb45649393a71c07c..9d593875ed709be6ef0c4335ad745c8225d26493 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/LoadDataController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/LoadDataController.java @@ -1,6 +1,5 @@ package fr.univlille.sae.classification.controller; -import com.opencsv.exceptions.CsvException; import com.opencsv.exceptions.CsvRequiredFieldEmptyException; import fr.univlille.sae.classification.model.ClassificationModel; import fr.univlille.sae.classification.model.DataType; @@ -9,14 +8,12 @@ import fr.univlille.sae.classification.view.ChooseAttributesView; import fr.univlille.sae.classification.view.DataVisualizationView; import javafx.fxml.FXML; import javafx.scene.control.Alert; -import javafx.scene.control.Button; import javafx.scene.control.ChoiceBox; import javafx.scene.control.TextField; import javafx.stage.FileChooser; import javafx.stage.Stage; import java.io.File; -import java.io.IOException; /** * Contrôleur pour la fenêtre de chargement des données. 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 4fb823c046bf6991387ede7988f73d5ccf3b3a3d..83f78515ebdb1a07c4fe53d8eca921c15b578831 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java @@ -3,14 +3,9 @@ package fr.univlille.sae.classification.controller; import fr.univlille.sae.classification.model.ClassificationModel; import fr.univlille.sae.classification.view.*; import javafx.fxml.FXML; -import javafx.scene.chart.NumberAxis; import javafx.scene.chart.ScatterChart; import javafx.scene.control.Button; -import javafx.scene.control.Label; import javafx.scene.control.ListView; -import javafx.stage.Stage; - -import java.io.IOException; /** * Contrôleur de la fenêtre principale du programme. diff --git a/src/main/java/fr/univlille/sae/classification/knn/MethodKNN.java b/src/main/java/fr/univlille/sae/classification/knn/MethodKNN.java index 19c4a13f7fc78e7bb6147f553a21362b7a3d9cd3..4097ae7aca614370f5f2c8ecf75f21bd50a9aed8 100644 --- a/src/main/java/fr/univlille/sae/classification/knn/MethodKNN.java +++ b/src/main/java/fr/univlille/sae/classification/knn/MethodKNN.java @@ -1,12 +1,12 @@ package fr.univlille.sae.classification.knn; import com.opencsv.exceptions.CsvRequiredFieldEmptyException; -import fr.univlille.sae.classification.knn.distance.*; +import fr.univlille.sae.classification.knn.distance.Distance; +import fr.univlille.sae.classification.knn.distance.DistanceManhattanNormalisee; import fr.univlille.sae.classification.model.ClassificationModel; import fr.univlille.sae.classification.model.DataType; import fr.univlille.sae.classification.model.LoadableData; - import java.io.File; import java.util.*; diff --git a/src/main/java/fr/univlille/sae/classification/knn/distance/DistanceManhattanNormalisee.java b/src/main/java/fr/univlille/sae/classification/knn/distance/DistanceManhattanNormalisee.java index 1e30ace45fca9c9d1876a71de163d52a5b75b8a3..47fb6babd9e955aa283161d0383a1d2596257cec 100644 --- a/src/main/java/fr/univlille/sae/classification/knn/distance/DistanceManhattanNormalisee.java +++ b/src/main/java/fr/univlille/sae/classification/knn/distance/DistanceManhattanNormalisee.java @@ -1,7 +1,6 @@ package fr.univlille.sae.classification.knn.distance; import fr.univlille.sae.classification.knn.MethodKNN; - import fr.univlille.sae.classification.model.LoadableData; public class DistanceManhattanNormalisee implements Distance{ 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 950a6c2c15180e46ed09c59a0df8610e4b1e9d85..b20fb976eb60524034a528e162062d36332f72c9 100644 --- a/src/main/java/fr/univlille/sae/classification/model/ClassificationModel.java +++ b/src/main/java/fr/univlille/sae/classification/model/ClassificationModel.java @@ -6,13 +6,15 @@ import com.opencsv.exceptions.CsvRequiredFieldEmptyException; import fr.univlille.sae.classification.knn.MethodKNN; import fr.univlille.sae.classification.knn.distance.Distance; import fr.univlille.sae.classification.knn.distance.DistanceEuclidienne; -import fr.univlille.sae.classification.knn.distance.DistanceManhattan; import fr.univlille.sae.classification.utils.Observable; import java.io.File; import java.io.IOException; import java.nio.file.Files; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** 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 68a6f668ad726eb861774b6220c340689b22b2d3..4218748d9100b5d06e91e66a62a14017e5e1a580 100644 --- a/src/main/java/fr/univlille/sae/classification/model/Iris.java +++ b/src/main/java/fr/univlille/sae/classification/model/Iris.java @@ -1,9 +1,7 @@ package fr.univlille.sae.classification.model; import com.opencsv.bean.CsvBindByName; -import javafx.scene.paint.Color; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; 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 a9c3e17d7ef7dbc6bcd26e7cd54dbe8f13cb846f..2a2e7eda69d54687f515a2df3cd574862a111799 100644 --- a/src/main/java/fr/univlille/sae/classification/model/LoadableData.java +++ b/src/main/java/fr/univlille/sae/classification/model/LoadableData.java @@ -1,11 +1,8 @@ package fr.univlille.sae.classification.model; -import javafx.scene.control.Label; import javafx.scene.paint.Color; import java.util.*; -import java.util.HashMap; -import java.util.Map; /** * Classe abstraite représentant des données pouvant être chargées. diff --git a/src/main/java/fr/univlille/sae/classification/model/PointFactory.java b/src/main/java/fr/univlille/sae/classification/model/PointFactory.java index afc7034ee1e18a6b54bd3aea5fcc122489ba9baa..2b21cc730329abbe877b630d0dee78bf3a6dc056 100644 --- a/src/main/java/fr/univlille/sae/classification/model/PointFactory.java +++ b/src/main/java/fr/univlille/sae/classification/model/PointFactory.java @@ -1,6 +1,5 @@ package fr.univlille.sae.classification.model; -import java.text.ParseException; import java.util.Arrays; /** diff --git a/src/main/java/fr/univlille/sae/classification/model/Pokemon.java b/src/main/java/fr/univlille/sae/classification/model/Pokemon.java index 7f7e35e32ff6e8a77aba199216197fcb7eed80b7..ef2a4c1bd34511c95627694d51a8c19bd948cdff 100644 --- a/src/main/java/fr/univlille/sae/classification/model/Pokemon.java +++ b/src/main/java/fr/univlille/sae/classification/model/Pokemon.java @@ -3,7 +3,8 @@ package fr.univlille.sae.classification.model; import com.opencsv.bean.CsvBindByName; import java.lang.reflect.Field; -import java.util.*; +import java.util.LinkedHashMap; +import java.util.Map; /** * Représente un point Pokémon. @@ -86,9 +87,15 @@ public class Pokemon extends LoadableData{ Field[] fields = getClass().getDeclaredFields(); for(int i = 0; i<fields.length; i++) { if(i != LoadableData.classificationType) { - fields[i].set(this, list[i]); + System.out.println(" i : " + i + " field " + fields[i].getName()); + if(i < LoadableData.classificationType) { + fields[i].set(this, list[i]); + }else { + fields[i].set(this, list[i-1]); + } + }else if(fields[i].getType().equals(String.class)) { - fields[i].set(this, "undefinied"); + fields[i].set(this, "undefined"); } } diff --git a/src/main/java/fr/univlille/sae/classification/utils/ViewUtil.java b/src/main/java/fr/univlille/sae/classification/utils/ViewUtil.java index 29f9009fd8d2c3b04ad298b19e9e5e78c9d87930..efcb6a10f2144d525268adfc8caaadc6a6c54173 100644 --- a/src/main/java/fr/univlille/sae/classification/utils/ViewUtil.java +++ b/src/main/java/fr/univlille/sae/classification/utils/ViewUtil.java @@ -2,21 +2,15 @@ package fr.univlille.sae.classification.utils; import fr.univlille.sae.classification.controller.DataStageController; import fr.univlille.sae.classification.controller.MainStageController; -import fr.univlille.sae.classification.model.ClassificationModel; import fr.univlille.sae.classification.model.LoadableData; import javafx.geometry.Pos; -import javafx.scene.chart.ScatterChart; -import javafx.scene.chart.XYChart; -import javafx.scene.control.ContextMenu; import javafx.scene.control.Label; -import javafx.scene.control.MenuItem; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.shape.Rectangle; import javafx.scene.shape.Shape; -import javafx.stage.Stage; import java.util.HashMap; import java.util.Map; @@ -36,10 +30,12 @@ public class ViewUtil { */ public static Shape getForm(LoadableData dataLoaded, Shape form, Object controller) { try { + System.out.println(dataLoaded.getClassification()); + System.out.println(LoadableData.getClassifications()); Color color = LoadableData.getClassifications().get(dataLoaded.getClassification()); form.setFill(color); - + System.out.println(color); form.setOnMouseClicked(e -> { if(clickedForm!=null) { clickedForm.setStyle("-fx-stroke-width: 0;"); diff --git a/src/main/java/fr/univlille/sae/classification/view/ChooseAttributesView.java b/src/main/java/fr/univlille/sae/classification/view/ChooseAttributesView.java index 0262ac36210c8131a388aa385e58725db72add0f..c798dab419001fdd4ac2b36cbc394deb5e26deee 100644 --- a/src/main/java/fr/univlille/sae/classification/view/ChooseAttributesView.java +++ b/src/main/java/fr/univlille/sae/classification/view/ChooseAttributesView.java @@ -1,7 +1,5 @@ package fr.univlille.sae.classification.view; -import fr.univlille.sae.classification.controller.AddDataController; -import fr.univlille.sae.classification.controller.ChooseAttributesController; import fr.univlille.sae.classification.model.ClassificationModel; import javafx.fxml.FXMLLoader; import javafx.scene.control.Alert; diff --git a/src/main/java/fr/univlille/sae/classification/view/DataStageView.java b/src/main/java/fr/univlille/sae/classification/view/DataStageView.java index 95a8fe8fa2a777b2a2c36005aaae7fc85bc09635..8e72c4a923c2a02aa5f2920d698a3255eda14328 100644 --- a/src/main/java/fr/univlille/sae/classification/view/DataStageView.java +++ b/src/main/java/fr/univlille/sae/classification/view/DataStageView.java @@ -3,27 +3,14 @@ package fr.univlille.sae.classification.view; import fr.univlille.sae.classification.controller.DataStageController; import fr.univlille.sae.classification.controller.MainStageController; import fr.univlille.sae.classification.model.ClassificationModel; -import fr.univlille.sae.classification.model.LoadableData; -import fr.univlille.sae.classification.utils.Observable; import fr.univlille.sae.classification.utils.Observer; -import javafx.collections.ObservableList; -import fr.univlille.sae.classification.utils.ViewUtil; import javafx.fxml.FXMLLoader; -import javafx.scene.Node; -import javafx.scene.chart.ScatterChart; import javafx.scene.chart.XYChart; -import javafx.scene.layout.HBox; -import javafx.scene.shape.Circle; -import javafx.scene.shape.Rectangle; import javafx.stage.Stage; import java.io.File; import java.io.IOException; import java.net.URL; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; /** * Classe responsable de l'affichage et de la gestion de la vue des données. diff --git a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java index 862a8d1f6b89dca3c476588cf5341df187749ce1..ceda6299aac64aac529737b76dbfa6cd1c07797e 100644 --- a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java +++ b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java @@ -1,8 +1,6 @@ package fr.univlille.sae.classification.view; -import fr.univlille.sae.classification.controller.DataStageController; import fr.univlille.sae.classification.controller.DataVisualizationController; -import fr.univlille.sae.classification.controller.MainStageController; import fr.univlille.sae.classification.model.ClassificationModel; import fr.univlille.sae.classification.model.LoadableData; import fr.univlille.sae.classification.utils.Observable; @@ -11,9 +9,9 @@ import javafx.scene.Node; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.ScatterChart; import javafx.scene.chart.XYChart; -import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; -import javafx.scene.shape.*; +import javafx.scene.shape.Circle; +import javafx.scene.shape.Rectangle; import java.util.*; @@ -215,24 +213,38 @@ public abstract class DataVisualizationView { controller.setAxesSelectedDisability(false); return; } - Object attrX = newData.getAttributesNames().get(actualX); - Object attrY = newData.getAttributesNames().get(actualY); - if (attrX instanceof Integer) { - attrX = ((Integer) attrX).doubleValue(); + Object xValue = newData.getAttributesNames().get(actualX); + Object yValue = newData.getAttributesNames().get(actualY); + + + + double x = 0; + if(xValue instanceof Number) { + x = ((Number) xValue).doubleValue(); } - if (attrY instanceof Integer) { - attrY = ((Integer) attrY).doubleValue(); + double y = 0; + if(yValue instanceof Number) { + y = ((Number) yValue).doubleValue(); } - XYChart.Data<Double, Double> dataPoint = new XYChart.Data<>( - (Double) attrX, - (Double) attrY - ); + ScatterChart.Data<Double, Double> dataPoint = new ScatterChart.Data<>(x, y); + dataPoint.setNode(ViewUtil.getForm(newData, new Rectangle(10, 10), controller)); if (!scatterChart.getData().isEmpty()) { - series4.getData().add(dataPoint); + System.out.append("Value " + dataPoint.getXValue() + " , " + dataPoint.getYValue()); + System.out.println("Add data: " + newData); + ScatterChart.Series<Double, Double> serie = serieList.get(newData.getClassification()); + if(serie == null){ + serie = new ScatterChart.Series<>(); + } + serie.getData().add(dataPoint); + serieList.put(newData.getClassification(), serie); + scatterChart.getData().add(serie); + /*series4.getData().add(dataPoint); series4.setName("indéfini"); scatterChart.getData().add(series4); + + */ } diff --git a/src/main/java/fr/univlille/sae/classification/view/KNNView.java b/src/main/java/fr/univlille/sae/classification/view/KNNView.java index 6e3272cc5ef3d5b0a11fa0413f3fd5ca156ed223..435dd9f687580a76142217557b8a64bd08b3bf57 100644 --- a/src/main/java/fr/univlille/sae/classification/view/KNNView.java +++ b/src/main/java/fr/univlille/sae/classification/view/KNNView.java @@ -1,7 +1,6 @@ package fr.univlille.sae.classification.view; import fr.univlille.sae.classification.controller.KNNController; -import fr.univlille.sae.classification.controller.LoadDataController; import fr.univlille.sae.classification.model.ClassificationModel; import javafx.fxml.FXMLLoader; import javafx.stage.Modality; diff --git a/src/main/java/fr/univlille/sae/classification/view/LoadDataView.java b/src/main/java/fr/univlille/sae/classification/view/LoadDataView.java index f1693fed1058515aaf3932f254853754425b1dca..2b5ed78be1ad8d8fd2ce3d1365188ca2c6f31c12 100644 --- a/src/main/java/fr/univlille/sae/classification/view/LoadDataView.java +++ b/src/main/java/fr/univlille/sae/classification/view/LoadDataView.java @@ -1,7 +1,5 @@ package fr.univlille.sae.classification.view; -import fr.univlille.sae.classification.controller.AxesSettingsController; -import fr.univlille.sae.classification.controller.LoadDataController; import fr.univlille.sae.classification.model.ClassificationModel; import javafx.fxml.FXMLLoader; import javafx.stage.Modality; 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 e451f23a71b0481b8142818e34e7fc59efc14286..498a1f0f0c0ad0e2add6b0c1f7da7133893e8c1c 100644 --- a/src/main/java/fr/univlille/sae/classification/view/MainStageView.java +++ b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java @@ -2,25 +2,17 @@ package fr.univlille.sae.classification.view; import fr.univlille.sae.classification.controller.MainStageController; import fr.univlille.sae.classification.model.ClassificationModel; -import fr.univlille.sae.classification.model.LoadableData; -import fr.univlille.sae.classification.utils.Observable; import fr.univlille.sae.classification.utils.Observer; -import fr.univlille.sae.classification.utils.ViewUtil; import javafx.fxml.FXMLLoader; -import javafx.scene.Node; -import javafx.scene.chart.NumberAxis; import javafx.scene.chart.ScatterChart; -import javafx.scene.chart.XYChart; -import javafx.scene.control.*; -import javafx.scene.layout.HBox; -import javafx.scene.layout.VBox; -import javafx.scene.shape.*; +import javafx.scene.control.Alert; +import javafx.scene.control.ButtonType; import javafx.stage.Stage; import java.io.File; import java.io.IOException; import java.net.URL; -import java.util.*; +import java.util.Optional; /** * Classe représentant la vue principale de l'application de classification. diff --git a/src/test/java/fr/univlille/sae/classification/model/ClassificationModelTest.java b/src/test/java/fr/univlille/sae/classification/model/ClassificationModelTest.java index e572d2eb6db3eebba8d5a9d4d18cfb0c8eb78151..85d86230e138723b8c268a2eafa2a1d6dc4af3d3 100644 --- a/src/test/java/fr/univlille/sae/classification/model/ClassificationModelTest.java +++ b/src/test/java/fr/univlille/sae/classification/model/ClassificationModelTest.java @@ -146,7 +146,7 @@ class ClassificationModelTest { @Test public void test_chaning_distance() { - //Verifie que le distance par default n'est pas nul, mais bien Euclidiene + model.setDistance(new DistanceEuclidienne()); assertEquals(DistanceEuclidienne.class, model.getDistance().getClass()); model.setDistance(new DistanceManhattan()); @@ -158,7 +158,7 @@ class ClassificationModelTest { @Test public void test_loadabledata_initialize_all_classifications() throws IllegalAccessException, CsvRequiredFieldEmptyException { - assertTrue(LoadableData.getClassificationTypes().isEmpty()); + model.loadData(csvTemp); LoadableData.setClassificationTypes(model.getDatas()); assertFalse(LoadableData.getClassificationTypes().isEmpty());