diff --git a/pom.xml b/pom.xml
index 8dfb52e0a06c654d391bf3c7bfbf0a2e4b992e5d..b56ea8baa24302c1ffef8a954e7556af54819267 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,9 +59,14 @@
<artifactId>json</artifactId>
<version>20190722</version>
</dependency>
-
-
- </dependencies>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.8.6</version>
+ </dependency>
+
+
+ </dependencies>
<build>
<plugins>
diff --git a/src/main/java/isima/f2/contrats/IPoubelle.java b/src/main/java/isima/f2/contrats/IPoubelle.java
index bc46465375dbea91099dfbf8cfde778aca5d8d0a..f36c38946e880e6212c8fc60587c6c2ea341eb30 100644
--- a/src/main/java/isima/f2/contrats/IPoubelle.java
+++ b/src/main/java/isima/f2/contrats/IPoubelle.java
@@ -13,4 +13,5 @@ public interface IPoubelle {
public List<Poubelle> getPoubelles();
public void viderPoubelle(long id);
public void updateContenuPoubelle(long id, double contenu);
+ public void creerPoubelle(Poubelle nouvellePoubelle);
}
diff --git a/src/main/java/isima/f2/controllers/PoubelleController.java b/src/main/java/isima/f2/controllers/PoubelleController.java
index 2a6153d7cbc6ccfb584c38443b1c250121a35c47..1732ed12d18c51585fa6cafa7884391fbd71f72f 100644
--- a/src/main/java/isima/f2/controllers/PoubelleController.java
+++ b/src/main/java/isima/f2/controllers/PoubelleController.java
@@ -3,6 +3,7 @@ package isima.f2.controllers;
import java.util.List;
import java.util.Map;
+import com.google.gson.Gson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
@@ -45,4 +46,20 @@ public class PoubelleController {
public String testpost(@RequestParam Map <String, String> allParams) {
return "Les paramètres sont"+ allParams.entrySet ();
}
+
+ @PostMapping ("/nouvelle")
+ @ResponseBody
+ public String creerPoubelle(@RequestParam Map <String, String> allParams) {
+ String poubelleJSON = allParams.get("poubelle");
+ poubelleJSON = poubelleJSON.replace("Poubelle","");
+ System.out.println("Poubellllllllllllleeeeeeeee ******** : " + poubelleJSON);
+ Gson gson = new Gson();
+ Poubelle nouvellePoubelle = gson.fromJson(poubelleJSON, Poubelle.class);
+ //update poubelle id ===> last id + 1
+ nouvellePoubelle.setId((long)(poubelles.getPoubelles().size()+1));
+ //nouvellePoubelle.setId(6L);
+ System.out.println("**************** " + nouvellePoubelle.toString() + "****************");
+ poubelles.creerPoubelle(nouvellePoubelle);
+ return "La nouvelle poubelle a été créée avec succes";
+ }
}
diff --git a/src/main/java/isima/f2/services/ImpPoubelle.java b/src/main/java/isima/f2/services/ImpPoubelle.java
index b520f8954b31687f2fb0da9eaf3f3c59f55f1328..e5cc182230c0773b60eb4905c8175f4c3444c90e 100644
--- a/src/main/java/isima/f2/services/ImpPoubelle.java
+++ b/src/main/java/isima/f2/services/ImpPoubelle.java
@@ -55,4 +55,8 @@ public class ImpPoubelle implements IPoubelle{
poubelleDAO.updatePoubelleSetCapacity(id,contenu);
}
+ @Override
+ public void creerPoubelle(Poubelle nouvellePoubelle) {
+ poubelleDAO.save(nouvellePoubelle);
+ }
}