Browse Source

Ajout gestion json

Arthur Brandao 5 years ago
parent
commit
d16453bd9c

BIN
WebContent/WEB-INF/lib/json-20190722.jar


+ 56 - 0
src/microfolie/entry/servlet/TestJson.java

@@ -0,0 +1,56 @@
+package microfolie.entry.servlet;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.json.JSONObject;
+
+import microfolie.persistance.entity.Usager;
+import microfolie.persistance.table.UsagerTable;
+import microfolie.service.dto.UsagerDTO;
+import microfolie.service.transformer.UsagerTransformer;
+
+/**
+ * Servlet implementation class Json
+ */
+@WebServlet("/Json")
+public class TestJson extends HttpServlet {
+	private static final long serialVersionUID = 1L;
+       
+    /**
+     * @see HttpServlet#HttpServlet()
+     */
+    public TestJson() {
+        super();
+        // TODO Auto-generated constructor stub
+    }
+
+	/**
+	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+	 */
+	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+		UsagerTable ut = UsagerTable.getInstance();
+		Usager u = ut.getByCode("LCOM");
+		System.out.println(u);
+		UsagerDTO dto = UsagerTransformer.entityToDto(u);
+		
+		JSONObject json = new JSONObject();
+		json.put("usager", new JSONObject(dto));
+		
+		response.getWriter().append(json.toString(2));
+	}
+
+	/**
+	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+	 */
+	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+		// TODO Auto-generated method stub
+		doGet(request, response);
+	}
+
+}

+ 32 - 10
src/microfolie/service/dto/UsagerDTO.java

@@ -1,24 +1,46 @@
 package microfolie.service.dto;
 package microfolie.service.dto;
 
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Date;
 
 
+import org.json.JSONException;
+import org.json.JSONObject;
+
 public class UsagerDTO {
 public class UsagerDTO {
 
 
-	public String nom;
-	public String prenom;
-	public String genre;
-	public Date dateNaissance;
-	public String ville;
-	public String situation;
-	public String email;
-	public String telephone;
-	public String contactUrgence;
-	public String code;
+	private String nom;
+	private String prenom;
+	private String genre;
+	private Date dateNaissance;
+	private String ville;
+	private String situation;
+	private String email;
+	private String telephone;
+	private String contactUrgence;
+	private String code;
 	
 	
 	public UsagerDTO() {
 	public UsagerDTO() {
 		// Constructeur par defaut pour contruire un objet vide
 		// Constructeur par defaut pour contruire un objet vide
 	}
 	}
 	
 	
+	public UsagerDTO(JSONObject json) {
+		this.nom = json.getString("nom");
+		this.prenom = json.getString("prenom");
+		this.genre = json.getString("genre");
+		try {
+			this.dateNaissance = new SimpleDateFormat("dd/MM/yyyy").parse(json.getString("dateNaissance"));
+		} catch (JSONException | ParseException e) {
+			this.dateNaissance = null;
+		}
+		this.ville = json.getString("ville");
+		this.situation = json.getString("situation");
+		this.email = json.getString("email");
+		this.telephone = json.getString("telephone");
+		this.contactUrgence = json.getString("contactUrgence");
+		this.code = json.getString("code");
+	}
+	
 	public UsagerDTO(String nom, String prenom, String genre, Date dateNaissance, String ville, String situation,
 	public UsagerDTO(String nom, String prenom, String genre, Date dateNaissance, String ville, String situation,
 			String email, String telephone, String contactUrgence) {
 			String email, String telephone, String contactUrgence) {
 		this.nom = nom;
 		this.nom = nom;

+ 16 - 16
src/microfolie/service/transformer/UsagerTransformer.java

@@ -15,16 +15,16 @@ public class UsagerTransformer {
 	
 	
 	public static Usager dtoToEntity(UsagerDTO dto) {
 	public static Usager dtoToEntity(UsagerDTO dto) {
 		Usager usager = new Usager();
 		Usager usager = new Usager();
-		usager.prenom = dto.prenom;
-		usager.nom = dto.nom;
-		usager.dateNaiss = dto.dateNaissance;
-		usager.email = dto.email;
-		usager.telephone = dto.telephone;
-		usager.contactUrgence = dto.contactUrgence;
-		usager.code = dto.code;
+		usager.prenom = dto.getPrenom();
+		usager.nom = dto.getNom();
+		usager.dateNaiss = dto.getDateNaissance();
+		usager.email = dto.getEmail();
+		usager.telephone = dto.getTelephone();
+		usager.contactUrgence = dto.getContactUrgence();
+		usager.code = dto.getCode();
 		usager.description = "";
 		usager.description = "";
 		// Cherche la ville correspondante au nom
 		// Cherche la ville correspondante au nom
-		Optional<Ville> optVille = villeTable.findByLibelle(dto.ville);
+		Optional<Ville> optVille = villeTable.findByLibelle(dto.getVille());
 		if (optVille.isPresent()) {
 		if (optVille.isPresent()) {
 			usager.ville = optVille.get();
 			usager.ville = optVille.get();
 		}
 		}
@@ -39,16 +39,16 @@ public class UsagerTransformer {
 	
 	
 	public static UsagerDTO entityToDto(Usager usager) {
 	public static UsagerDTO entityToDto(Usager usager) {
 		UsagerDTO dto = new UsagerDTO();
 		UsagerDTO dto = new UsagerDTO();
-		dto.prenom = usager.prenom;
-		dto.nom = usager.nom;
-		dto.dateNaissance = usager.dateNaiss;
-		dto.email = usager.email;
-		dto.telephone = usager.telephone;
-		dto.contactUrgence = usager.contactUrgence;
-		dto.code = usager.code;
+		dto.setPrenom(usager.prenom);
+		dto.setNom(usager.nom);
+		dto.setDateNaissance(usager.dateNaiss);
+		dto.setEmail(usager.email);
+		dto.setTelephone(usager.telephone);
+		dto.setContactUrgence(usager.contactUrgence);
+		dto.setCode(usager.code);
 		// Si il y a une ville
 		// Si il y a une ville
 		if (usager.ville != null) {
 		if (usager.ville != null) {
-			dto.ville = usager.ville.libelle;
+			dto.setVille(usager.ville.libelle);
 		}
 		}
 		return dto;
 		return dto;
 	}
 	}