From 79f85d7ceab947822973561efc3baa80305463bc Mon Sep 17 00:00:00 2001 From: Emmanuel Bruno <bruno@univ-tln.fr> Date: Tue, 4 Nov 2014 18:05:17 +0100 Subject: [PATCH] adapte pour l'utilisation de service rest --- .../fr/univtln/bruno/d14/simpleihm/App.java | 3 --- .../univtln/bruno/d14/simpleihm/Auteur.java | 23 +++++++++++++++---- .../d14/simpleihm/ControleurBibliotheque.java | 15 ++++++------ .../d14/simpleihm/ModeleBibliotheque.java | 14 +++++++++-- 4 files changed, 37 insertions(+), 18 deletions(-) diff --git a/src/main/java/fr/univtln/bruno/d14/simpleihm/App.java b/src/main/java/fr/univtln/bruno/d14/simpleihm/App.java index 9674a1a..953a665 100644 --- a/src/main/java/fr/univtln/bruno/d14/simpleihm/App.java +++ b/src/main/java/fr/univtln/bruno/d14/simpleihm/App.java @@ -10,8 +10,5 @@ public class App { bibliotheque.ajouterAuteur(new Auteur.AuteurBuilder().setPrenom("Jean").setNom("Martin").createAuteur()); bibliotheque.ajouterAuteur(new Auteur.AuteurBuilder().setPrenom("Marie").setNom("Durand").createAuteur()); - - - } } diff --git a/src/main/java/fr/univtln/bruno/d14/simpleihm/Auteur.java b/src/main/java/fr/univtln/bruno/d14/simpleihm/Auteur.java index d8e086d..30c57bf 100644 --- a/src/main/java/fr/univtln/bruno/d14/simpleihm/Auteur.java +++ b/src/main/java/fr/univtln/bruno/d14/simpleihm/Auteur.java @@ -1,15 +1,28 @@ package fr.univtln.bruno.d14.simpleihm; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + /** * Created by bruno on 03/10/14. */ -public class Auteur { +//Cette annotation sert à la serialisation en XML et en JSON +@XmlRootElement +public class Auteur implements Serializable { public static int nbAuteur = 0; - public final int ID; + public int ID; + @XmlElement private String nom; + @XmlElement private String prenom; + @XmlElement private String biographie; + //Le constructeur sans paramètre est obligatoire pour la sérialisation en JSON/XML + public Auteur() { + } + public static class AuteurBuilder { private String nom; private String prenom; @@ -31,7 +44,7 @@ public class Auteur { } public Auteur createAuteur() { - return new Auteur(nom, prenom, biographie); + return new Auteur(nbAuteur++, nom, prenom, biographie); } } @@ -39,8 +52,8 @@ public class Auteur { return biographie; } - private Auteur(String nom, String prenom, String biographie) { - this.ID = nbAuteur++; + private Auteur(int id, String nom, String prenom, String biographie) { + this.ID = id; this.nom = nom; this.prenom = prenom; this.biographie = biographie; diff --git a/src/main/java/fr/univtln/bruno/d14/simpleihm/ControleurBibliotheque.java b/src/main/java/fr/univtln/bruno/d14/simpleihm/ControleurBibliotheque.java index 59386f1..43dd6ef 100644 --- a/src/main/java/fr/univtln/bruno/d14/simpleihm/ControleurBibliotheque.java +++ b/src/main/java/fr/univtln/bruno/d14/simpleihm/ControleurBibliotheque.java @@ -54,18 +54,17 @@ public class ControleurBibliotheque { public void ajouterAuteur() { try { - modeleBibliotheque.ajouterAuteur(new Auteur.AuteurBuilder() - .setPrenom(prenomNouvelAuteurModel.getText(0, prenomNouvelAuteurModel.getLength())) - .setNom(nomNouvelAuteurModel.getText(0, nomNouvelAuteurModel.getLength())) - .createAuteur()); + modeleBibliotheque.ajouterAuteur( + prenomNouvelAuteurModel.getText(0, prenomNouvelAuteurModel.getLength()), + nomNouvelAuteurModel.getText(0, nomNouvelAuteurModel.getLength())); } catch (BadLocationException e) { e.printStackTrace(); } clearAuteur(); } - public void ajouterAuteur(Auteur auteur) { - modeleBibliotheque.ajouterAuteur(auteur); + public void supprimerAuteur(final int ID) { + modeleBibliotheque.supprimerAuteur(ID); } public void supprimerAuteur(Auteur auteur) { @@ -74,8 +73,8 @@ public class ControleurBibliotheque { public void clearAuteur() { try { - nomNouvelAuteurModel.remove(0,nomNouvelAuteurModel.getLength()); - prenomNouvelAuteurModel.remove(0,prenomNouvelAuteurModel.getLength()); + nomNouvelAuteurModel.remove(0, nomNouvelAuteurModel.getLength()); + prenomNouvelAuteurModel.remove(0, prenomNouvelAuteurModel.getLength()); } catch (BadLocationException e) { e.printStackTrace(); } diff --git a/src/main/java/fr/univtln/bruno/d14/simpleihm/ModeleBibliotheque.java b/src/main/java/fr/univtln/bruno/d14/simpleihm/ModeleBibliotheque.java index d2a9d0f..55d391b 100644 --- a/src/main/java/fr/univtln/bruno/d14/simpleihm/ModeleBibliotheque.java +++ b/src/main/java/fr/univtln/bruno/d14/simpleihm/ModeleBibliotheque.java @@ -1,6 +1,8 @@ package fr.univtln.bruno.d14.simpleihm; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Observable; /** * Created by bruno on 03/10/14. @@ -11,11 +13,15 @@ public class ModeleBibliotheque extends Observable { public enum ModeleBibliothequeEvent {AUTEUR, DOCUMENT, MATERIEL} public Auteur getAuteur(final int ID) { - for (Auteur auteur:auteurs) + for (Auteur auteur : auteurs) if (auteur.ID == ID) return auteur; return null; } + public void ajouterAuteur(String prenom, String nom) { + ajouterAuteur(new Auteur.AuteurBuilder().setPrenom(prenom).setNom(nom).createAuteur()); + } + public void ajouterAuteur(Auteur auteur) { auteurs.add(auteur); //On previent les observateurs du changement @@ -23,6 +29,10 @@ public class ModeleBibliotheque extends Observable { notifyObservers(ModeleBibliothequeEvent.AUTEUR); } + public void supprimerAuteur(final int ID) { + supprimerAuteur(getAuteur(ID)); + } + public void supprimerAuteur(Auteur auteur) { auteurs.remove(auteur); //On previent les observateurs du changement -- GitLab