Procházet zdrojové kódy

Ajout gestion json

Arthur Brandao před 5 roky
rodič
revize
d16453bd9c

binární
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;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 
+import org.json.JSONException;
+import org.json.JSONObject;
+
 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() {
 		// 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,
 			String email, String telephone, String contactUrgence) {
 		this.nom = nom;

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

@@ -15,16 +15,16 @@ public class UsagerTransformer {
 	
 	public static Usager dtoToEntity(UsagerDTO dto) {
 		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 = "";
 		// Cherche la ville correspondante au nom
-		Optional<Ville> optVille = villeTable.findByLibelle(dto.ville);
+		Optional<Ville> optVille = villeTable.findByLibelle(dto.getVille());
 		if (optVille.isPresent()) {
 			usager.ville = optVille.get();
 		}
@@ -39,16 +39,16 @@ public class UsagerTransformer {
 	
 	public static UsagerDTO entityToDto(Usager usager) {
 		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
 		if (usager.ville != null) {
-			dto.ville = usager.ville.libelle;
+			dto.setVille(usager.ville.libelle);
 		}
 		return dto;
 	}