source: ether_megapoli/trunk/service/implementation/com/medias/megapoli/trade/ParametreAdapter.java @ 152

Last change on this file since 152 was 152, checked in by vmipsl, 13 years ago

Import medias files and cleanup

  • Property svn:executable set to *
File size: 6.2 KB
Line 
1/*
2 * Created on 25 avr. 2005
3 */
4package com.medias.megapoli.trade;
5
6import java.util.ArrayList;
7import java.util.Collections;
8import java.util.Set;
9
10import org.hibernate.HibernateException;
11import com.medias.database.objects.Capteur;
12import com.medias.database.objects.CategorieParam;
13import com.medias.database.objects.Commentaire;
14import com.medias.database.objects.Fabriquant;
15import com.medias.database.objects.Jeu;
16import com.medias.database.objects.Parametre;
17import com.medias.database.objects.Plateforme;
18import com.medias.database.objects.TypeCapteur;
19import com.medias.database.objects.Unite;
20import com.medias.megapoli.struts.forms.ParametreForm;
21import com.medias.utils.hibernate.CommunicationBD;
22
23
24/**
25 * @author pignot
26 *
27 * Classe permettant, au moyen de requêtes sur la base de données,
28 * de charger la description d'un paramÚtre
29 */
30public class ParametreAdapter {
31    private Parametre parametre;
32
33    public ParametreAdapter() {
34        parametre = null;
35    }
36
37    public void loadParametreFromDatabase(ParametreForm paramForm, String id) {
38        try {
39                    // Traitement de l'identifiant transmis
40                    String path = "";
41                    if (id.indexOf("_") != -1) {
42                        path = id.substring(id.indexOf("_")+1);
43                        id = id.substring(0,id.indexOf("_"));
44                    }
45                    CommunicationBD.open();
46            Parametre param = (Parametre)CommunicationBD.getObjectById(Parametre.class, new Integer(id));
47                        // Recherche des capteurs associés
48                        //List<?> capts = CommunicationBD.getList("select req.capteur from RequeteParametreCapteur as req where parametre_id='" + id + "'");
49            Set<Capteur> capts = param.getCapteurs();
50                        // Recherche des plateformes associées
51                        //List<?> plats = CommunicationBD.getList("select req.plateforme from RequetePlateformeParametre as req where parametre_id='" + id + "'");
52            Set<Plateforme> plats = param.getPlateformes();
53                        // Recherche des plateformes associées
54                        //List<?> jeus = CommunicationBD.getList("select req.jeu from RequeteParametreJeu as req where parametre_id='" + id + "'");
55            Set<Jeu> jeus = param.getJeus();
56                        parametre = new Parametre();
57                        CategorieParam categorieParam = new CategorieParam();
58                        categorieParam.setCategorieParamDomaine(param.getCategorieParam().getCategorieParamDomaine());
59                        categorieParam.setCategorieParamNom(param.getCategorieParam().getCategorieParamNom());
60                        parametre.setCategorieParam(categorieParam);
61                        parametre.setParametreCode(param.getParametreCode());
62                        parametre.setParametreId(param.getParametreId());
63                        parametre.setParametreNom(param.getParametreNom());
64                        Unite unite = new Unite();
65                        unite.setUniteCode(param.getUnite().getUniteCode());
66                        parametre.setUnite(unite);
67                        if (param.getCommentaire() != null) {
68                                Commentaire commentaire = new Commentaire();
69                                commentaire.setCommentaireTxt(param.getCommentaire().getCommentaireTxt());
70                                parametre.setCommentaire(commentaire);
71                        }
72            ArrayList<Capteur> capteurs = new ArrayList<Capteur>();
73            Capteur capteur;
74            TypeCapteur typeCapteur;
75            Fabriquant fabriquant;
76            for (Capteur capt: capts) {
77                                capteur = new Capteur();
78                                capteur.setCapteurId(capt.getCapteurId());
79                                capteur.setCapteurModele(capt.getCapteurModele());
80                                capteur.setCapteurNumserie(capt.getCapteurNumserie());
81                                typeCapteur = new TypeCapteur();
82                                typeCapteur.setTypeCapteurNom(capt.getTypeCapteur().getTypeCapteurNom());
83                                capteur.setTypeCapteur(typeCapteur);
84                                fabriquant = new Fabriquant();
85                                fabriquant.setFabriquantNom(capt.getFabriquant().getFabriquantNom());
86                                capteur.setFabriquant(fabriquant);
87                                capteurs.add(capteur);
88            }
89                        Collections.sort(capteurs,new Capteur().new ComparatorNom());
90            ArrayList<Plateforme> plateformes = new ArrayList<Plateforme>();
91            Plateforme plateforme;
92            for (Plateforme plat: plats) {
93                                plateforme = new Plateforme();
94                                plateforme.setPlateformeId(plat.getPlateformeId());
95                                plateforme.setPlateformeNom(plat.getPlateformeNom());
96                                plateformes.add(plateforme);
97            }
98            Collections.sort(plateformes,new Plateforme().new ComparatorNom());
99            ArrayList<Jeu> jeux = new ArrayList<Jeu>();
100            Jeu jeu;
101            for (Jeu j : jeus) {
102                jeu = new Jeu();
103                jeu.setJeuId(j.getJeuId());
104                jeu.setJeuNom(j.getJeuNom());
105                jeu.setNbFichiers(j.getFichiers().size());
106                jeux.add(jeu);
107            }
108                        CommunicationBD.close();
109            paramForm.setParametre(parametre);
110            paramForm.setCapteurs(capteurs);
111            paramForm.setPlateformes(plateformes);
112            paramForm.setJeux(jeux);
113            paramForm.setPath(path);
114        } catch (HibernateException e) {
115            System.out.println("exception_ParametreAdapter");
116            // Libération de la connection à la base de données
117            try {
118                CommunicationBD.close();
119            } catch (HibernateException ex) {
120
121            }
122        }
123    }
124
125    public static com.medias.xml.metadata.Parametre dbParametreToMetaParametre(Parametre dbParametre) {
126        com.medias.xml.metadata.Parametre parametre = new com.medias.xml.metadata.Parametre();
127
128        parametre.setAbrev(dbParametre.getParametreCode());
129        parametre.setNom(dbParametre.getParametreNom());
130        parametre.setUnite(dbParametre.getUnite().getUniteCode());
131        parametre.setCategorie(dbParametre.getCategorieParam()
132                .getCategorieParamNom());
133        parametre.setDomaine(dbParametre.getCategorieParam()
134                .getCategorieParamDomaine());
135        parametre.setIdParametre(String.valueOf(dbParametre.getParametreId()));
136        if (dbParametre.getCommentaire() != null) {
137            parametre.setDesc(dbParametre.getCommentaire().getCommentaireTxt());
138        }
139        return parametre;
140    }
141
142    public static ArrayList<com.medias.xml.metadata.Parametre> dbParametresToMetaParametres(Set<Parametre> dbParametres) {
143        ArrayList<com.medias.xml.metadata.Parametre> result = new ArrayList<com.medias.xml.metadata.Parametre>();
144        for (Parametre p : dbParametres){
145            result.add(dbParametreToMetaParametre(p));
146        }
147                Collections.sort(result,new com.medias.xml.metadata.Parametre().new ComparatorNom());
148        return result;
149    }
150}
Note: See TracBrowser for help on using the repository browser.