From fa2ca91e88c83404b2aa52b9a26cab91e4208de5 Mon Sep 17 00:00:00 2001
From: Numbtus <matias.mennecart.etu@univ-lille.fr>
Date: Fri, 29 Nov 2024 17:40:30 +0100
Subject: [PATCH] Fix issue with add data

---
 .../sae/classification/model/PointFactory.java         |  6 +++++-
 .../fr/univlille/sae/classification/model/Pokemon.java | 10 ++++++++--
 .../sae/classification/view/DataVisualizationView.java |  2 +-
 3 files changed, 14 insertions(+), 4 deletions(-)

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 d974e24..63a1bc9 100644
--- a/src/main/java/fr/univlille/sae/classification/model/PointFactory.java
+++ b/src/main/java/fr/univlille/sae/classification/model/PointFactory.java
@@ -38,7 +38,11 @@ public class PointFactory {
                         }
                     }
                     else if (coords.length == 12) {
-                        data = new Pokemon((String) coords[0], (Integer) coords[1], (Integer) coords[2], (Double) coords[3], (Integer) coords[4], (Integer) coords[5], (Integer) coords[6], (Integer) coords[7], (Integer) coords[8], "undefined", "", (Double) coords[9], (Boolean) coords[10]);
+                        try {
+                            data = new Pokemon(coords);
+                        } catch (IllegalAccessException e) {
+                            throw new IllegalArgumentException("Une erreur est survenue lors de la création du point");
+                        }
                     }
                     break;
                 default:
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 e271e61..a01479b 100644
--- a/src/main/java/fr/univlille/sae/classification/model/Pokemon.java
+++ b/src/main/java/fr/univlille/sae/classification/model/Pokemon.java
@@ -35,7 +35,7 @@ public class Pokemon extends LoadableData{
     @CsvBindByName(column = "speed")
     private double speed;
     @CsvBindByName(column = "is_legendary")
-    private boolean isLegendary;
+    private Boolean isLegendary = null ;
 
 
 
@@ -103,7 +103,13 @@ public class Pokemon extends LoadableData{
      */
     @Override
     public void setClassification(String classification) throws IllegalAccessException {
-       this.getClass().getDeclaredFields()[classificationType].set("", classification);
+        Field field = this.getClass().getDeclaredFields()[classificationType];
+        if(field.getClass().equals(String.class)) {
+            field.set(this, classification);
+        }else if(field.getType().equals(Boolean.class)) {
+            field.set(this, Boolean.valueOf(classification));
+        }
+
     }
 
 
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 8509bbf..396b434 100644
--- a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
+++ b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
@@ -158,7 +158,7 @@ public abstract class DataVisualizationView {
                     if(editSerie == null){
                         editSerie = new ScatterChart.Series<Double, Double>();
                     }
-                    if(data.getClassification().equals("undefined") || model.getDataToClass().containsKey(data)) {
+                    if(data.getClassification().equals("undefined") || data.getClassification().equals("null") || model.getDataToClass().containsKey(data)) {
                         nodePoint = ViewUtil.getForm(data, new Rectangle(10,10), controller);
                     }
 
-- 
GitLab