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 d974e24d1fc154c6e8d2eeacc56c1834c67858ab..63a1bc9c834ef4beeb0636bfd5a4d9bbcf45e437 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 e271e6153f4e7041ed9e2a418bba03452822f41c..a01479b9ee9a4aafebc94b52848e393d45d18e68 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 8509bbfee26d3e7328f8a2ea741695f43226471c..396b43488d52722cf53bb9697c8e7e23afbcd990 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); }