1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
public void createNewAdressageIP() {
try {
/* Test si il y a des doublons dans les id*/
doublonSearch();
/*
* Assigne l'organisme, lève une erreur qui sera traitée dans le
* premier catch
*/
String orgRequest = "select org from Organisme org where idorg = '"
+ Utils.extractStringafter(idOrg, ":") + "'";
List<Organisme> org = (List<Organisme>) entityManager.createQuery(
orgRequest).getResultList();
adressageIP.setOrganisme(org.get(0));
/*
* Assigne le centre, lève une erreur qui sera traitée dans le
* premier catch
*/
String lanAdressRequest = "select cent from Centre cent where adresselan = '"
+ Utils.extractString(lanAddress, ":") + "'";
List<Centre> centre = (List<Centre>) entityManager.createQuery(
lanAdressRequest).getResultList();
adressageIP.setCentre(centre.get(0));
/* Si la case Utilisateur est coché */
if (util == true) {
/*
* Assigne l'utilisateur, lève une erreur qui serait traité dans
* le premier catch
*/
adressageIP.setMateriel("0");
String idUtilRequest = "select util from Utilisateur util where idutil = '"
+ Utils.extractStringafter(idUtil, ":") + "'";
List<Utilisateur> util = (List<Utilisateur>) entityManager
.createQuery(idUtilRequest).getResultList();
/* Cherche le premier id disponible dans la table */
int cpt = 1;
while (entityManager.find(Appartienta.class, cpt) != null) {
cpt++;
}
/* Crée l'objet appartientA dans la table des liens */
Appartienta appartientA = new Appartienta();
appartientA.setIdappartient(cpt);
appartientA.setAdressageip(adressageIP);
appartientA.setUtilisateur(util.get(0));
Set<Appartienta> setAppartientA = new HashSet<Appartienta>(0);
setAppartientA.add(appartientA);
adressageIP.setAppartientas(setAppartientA);
/* Important persist l'adresse avant le appartient */
entityManager.persist(adressageIP);
entityManager.persist(appartientA);
/* Ajout du log dans l'historique de modification */
createLog("Création Adresseip", adressageIP.getAdresseip());
createLog("Création AppartientA", adressageIP.getAdresseip());
} else {
/* Si Case non cochée alors pas d'utilisateur */
adressageIP.setMateriel("-1");
adressageIP.setAppartientas(new HashSet<Appartienta>(0));
entityManager.persist(adressageIP);
/* Ajout du log dans l'historique de modification */
createLog("Création Adresseip", adressageIP.getAdresseip());
}
/* Création de l'adresse IP */
} catch (java.lang.IndexOutOfBoundsException j) {
/*
* Dans le cas où la liste d'util,organisme et/ou centre est
* vide, il y a un champ vide ou aucune valeur correspond donc on
* traite l'erreur.
*/
System.out.println(Utils.extractStringafter(idUtil, ":"));
FacesMessages.instance().addToControl("Error_Constraint",
"Echec lors de la création, valeur inéxistante. ");
}
catch (BatchUpdateException e) {
/* Dans le cas où doublon search lève une erreur */
FacesMessages.instance().addToControl("Error_Constraint",
"Adresse IP déjà existante");
}
} |
Partager