Commit bcf3760d authored by abbenhoumi's avatar abbenhoumi

Merge branch 'simulation-remplissage' into 'master'

Simulation remplissage

See merge request !6
parents 81039f00 dc88de0e
Pipeline #6000 failed with stages
in 1 minute and 15 seconds
...@@ -59,9 +59,14 @@ ...@@ -59,9 +59,14 @@
<artifactId>json</artifactId> <artifactId>json</artifactId>
<version>20190722</version> <version>20190722</version>
</dependency> </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
</dependencies> <artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
</dependencies>
<build> <build>
<plugins> <plugins>
......
package isima.f2; package isima.f2;
import isima.f2.services.ThreadSimulation;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
...@@ -8,6 +9,9 @@ public class RamassagePoubleDepotApplication { ...@@ -8,6 +9,9 @@ public class RamassagePoubleDepotApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(RamassagePoubleDepotApplication.class, args); SpringApplication.run(RamassagePoubleDepotApplication.class, args);
System.out.println("=======================>Le nom du thread principal est " + Thread.currentThread().getName());
ThreadSimulation t = new ThreadSimulation();
t.start();
} }
} }
...@@ -12,4 +12,6 @@ public interface IPoubelle { ...@@ -12,4 +12,6 @@ public interface IPoubelle {
public Optional<Poubelle> getPoubelle(Long id); public Optional<Poubelle> getPoubelle(Long id);
public List<Poubelle> getPoubelles(); public List<Poubelle> getPoubelles();
public void viderPoubelle(long id); public void viderPoubelle(long id);
public void updateContenuPoubelle(long id, double contenu);
public void creerPoubelle(Poubelle nouvellePoubelle);
} }
...@@ -3,20 +3,16 @@ package isima.f2.controllers; ...@@ -3,20 +3,16 @@ package isima.f2.controllers;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.google.gson.Gson;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import isima.f2.model.Poubelle; import isima.f2.model.Poubelle;
import isima.f2.services.ImpPoubelle; import isima.f2.services.ImpPoubelle;
@RestController @RestController
@RequestMapping("poubelles") @RequestMapping("poubelles")
@CrossOrigin(origins = "http://localhost:4200")
public class PoubelleController { public class PoubelleController {
@Autowired @Autowired
...@@ -45,4 +41,20 @@ public class PoubelleController { ...@@ -45,4 +41,20 @@ public class PoubelleController {
public String testpost(@RequestParam Map <String, String> allParams) { public String testpost(@RequestParam Map <String, String> allParams) {
return "Les paramètres sont"+ allParams.entrySet (); 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";
}
} }
...@@ -15,4 +15,10 @@ public interface IPoubelleDAO extends JpaRepository<Poubelle, Long> { ...@@ -15,4 +15,10 @@ public interface IPoubelleDAO extends JpaRepository<Poubelle, Long> {
@Query("UPDATE Poubelle p SET p.contenu = 0 WHERE p.id = :id") @Query("UPDATE Poubelle p SET p.contenu = 0 WHERE p.id = :id")
int updatePoubelleSetCapacityZero(@Param("id") long id); int updatePoubelleSetCapacityZero(@Param("id") long id);
@Modifying
@Transactional
@Query("UPDATE Poubelle p SET p.contenu = :contenu WHERE p.id = :id")
int updatePoubelleSetCapacity(@Param("id") long id, @Param("contenu") double contenu);
} }
...@@ -14,7 +14,11 @@ import isima.f2.model.Poubelle; ...@@ -14,7 +14,11 @@ import isima.f2.model.Poubelle;
public class ImpPoubelle implements IPoubelle{ public class ImpPoubelle implements IPoubelle{
@Autowired @Autowired
IPoubelleDAO poubelleDAO ; IPoubelleDAO poubelleDAO ;
public ImpPoubelle(){
}
@Override @Override
public Poubelle ajouterPoubelle(Poubelle poubelle) { public Poubelle ajouterPoubelle(Poubelle poubelle) {
...@@ -33,7 +37,7 @@ public class ImpPoubelle implements IPoubelle{ ...@@ -33,7 +37,7 @@ public class ImpPoubelle implements IPoubelle{
@Override @Override
public Optional<Poubelle> getPoubelle(Long id) { public Optional<Poubelle> getPoubelle(Long id) {
return null; return poubelleDAO.findById(id);
} }
@Override @Override
...@@ -46,4 +50,13 @@ public class ImpPoubelle implements IPoubelle{ ...@@ -46,4 +50,13 @@ public class ImpPoubelle implements IPoubelle{
poubelleDAO.updatePoubelleSetCapacityZero(id); poubelleDAO.updatePoubelleSetCapacityZero(id);
} }
@Override
public void updateContenuPoubelle(long id, double contenu) {
poubelleDAO.updatePoubelleSetCapacity(id,contenu);
}
@Override
public void creerPoubelle(Poubelle nouvellePoubelle) {
poubelleDAO.save(nouvellePoubelle);
}
} }
package isima.f2.services;
import isima.f2.model.Poubelle;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Optional;
public class ThreadSimulation extends Thread {
@Autowired
ImpPoubelle poubelleService;
public ThreadSimulation() {
super();
}
public void run() {
long nbGenere;
/*int nbPoubelles = poubelleService.getPoubelles().size();
System.out.println("Le nombre de poubelle dans la base est : " + nbPoubelles);*/
while (true){
//Generation du nombre aléatoire
nbGenere = (long)(Math.random() * ((5 - 1) + 1)) + 1;
//Optional<Poubelle> p = poubelleService.getPoubelle(nbGenere);
//System.out.println("Poubelle : " + p.toString());
System.out.println("=================================> Nombrre generé : " + nbGenere);
//poubelleService.updateContenuPoubelle();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment