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