From 92fbafa32c797301bc291b8f7068013cef93c668 Mon Sep 17 00:00:00 2001
From: "hugo.debuyser.etu" <hugo.debuyser.etu@univ-lille.fr>
Date: Thu, 28 Nov 2024 23:57:24 +0100
Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20de=20r=C3=A9daction=20de=20la=20pa?=
 =?UTF-8?q?rtie=20tutoriel=20d'ajout=20de=20nouvelle=20donn=C3=A9es?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 TutoImportation.md                            | 19 ++++++++++
 .../sae/classification/model/Iris.java        | 21 -----------
 .../classification/model/LoadableData.java    |  6 ---
 .../sae/classification/model/Pokemon.java     | 37 -------------------
 4 files changed, 19 insertions(+), 64 deletions(-)
 create mode 100644 TutoImportation.md

diff --git a/TutoImportation.md b/TutoImportation.md
new file mode 100644
index 0000000..6578a04
--- /dev/null
+++ b/TutoImportation.md
@@ -0,0 +1,19 @@
+# Importation d'un fichier CSV
+
+Ce modèle de classification offre la possibilité d'importer une base de données, pour cela il vous suffit d'ajouter au modèle 
+dans le dossier `src/main/java/fr.univlille.sae.classification/model` une nouvelle classe avec le nom que vous souhaitez donner à votre jeu de données.
+
+Une fois cela fait, il vous suffit d'implémenter les différentes méthodes présentes dans l'interface `LoadableData`. Vous devez ensuite ajouter ce nouveau type
+à l'énumération `DataType` où vous devez spécifier le nombre d'arguments devant être exploiter, cela correpond au nombre de colones du tableau - 1.
+
+Rendez-vous ensuite dans la classe `PointFactory` où devez y ajouter dans le switch case de la méthode `createPoint()`:
+
+```java
+case [Nom des données]:
+    if (size != DataType.[Nom des données].getArgumentSize()) {
+        throw new IllegalArgumentException("Le nombre de coordonnées doit être de " + [Nom des données].getArgumentSize() + " pour le type [Nom des données].");
+    }
+    data = new [Nom des données].getArgumentSize()(coords);
+    break;
+```
+
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 abf271a..e716c10 100644
--- a/src/main/java/fr/univlille/sae/classification/model/Iris.java
+++ b/src/main/java/fr/univlille/sae/classification/model/Iris.java
@@ -109,27 +109,6 @@ public class Iris extends LoadableData {
         return petalLength;
     }
 
-    /**
-     * Renvoie la valeur des données en fonction de l'axe spécifié.
-     * @param axes nom de l'axe pour lequel la valeur est requise.
-     * @return valeur correspondante.
-     */
-    @Override
-    public double getDataType(String axes) {
-        switch (axes) {
-            case "sepalWidth":
-                return sepalWidth;
-            case "sepalLength":
-                return sepalLength;
-            case "petalWidth":
-                return petalWidth;
-            case "petalLength":
-                return petalLength;
-            default:
-                return sepalLength;
-        }
-    }
-
     @Override
     public double[] getAttributes() {
         return new double[]{sepalLength, sepalWidth, petalLength, petalWidth} ;
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 4aa25be..2f08a23 100644
--- a/src/main/java/fr/univlille/sae/classification/model/LoadableData.java
+++ b/src/main/java/fr/univlille/sae/classification/model/LoadableData.java
@@ -54,12 +54,6 @@ public abstract class LoadableData {
      */
     public abstract Color getColor();
 
-    /**
-     * Renvoie la valeur des données en fonction de l'axe spécifié.
-     * @param axes nom de l'axe pour lequel la valeur est requise.
-     * @return valeur correspondante.
-     */
-    public abstract double getDataType(String axes);
 
 
     public abstract double[] getAttributes();
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 f52f5b1..fb4d7c4 100644
--- a/src/main/java/fr/univlille/sae/classification/model/Pokemon.java
+++ b/src/main/java/fr/univlille/sae/classification/model/Pokemon.java
@@ -161,43 +161,6 @@ public class Pokemon extends LoadableData {
         }
     }
 
-    /**
-     * Renvoie la valeur des données en fonction de l'axe spécifié.
-     *
-     * @param axes nom de l'axe pour lequel la valeur est requise.
-     * @return valeur correspondante.
-     */
-    @Override
-    public double getDataType(String axes) {
-        switch (axes) {
-            case "attack":
-                return this.attack;
-            case "base_egg_steps":
-                return this.baseEggSteps;
-            case "capture_rate":
-                return this.captureRate;
-            case "defense":
-                return this.defense;
-            case "experience_growth":
-                return this.experienceGrowth;
-            case "hp":
-                return this.hp;
-            case "sp_attack":
-                return this.spAttack;
-            case "sp_defense":
-                return this.spDefense;
-            case "speed":
-                return this.speed;
-            case "is_legendary":
-                if(this.isLegendary){
-                    return 1;
-                }
-                return 0;
-            default:
-                return this.attack;
-        }
-    }
-
     @Override
     public double[] getAttributes() {
         return new double[]{attack, baseEggSteps, captureRate, defense,
-- 
GitLab