source: ether_megapoli/trunk/service/implementation/com/medias/integration/lecture_ecriture/LectureModeleXML.java @ 488

Last change on this file since 488 was 488, checked in by vmipsl, 12 years ago

BO insertion données _ ajout code medias
clean

  • Property svn:executable set to *
File size: 5.3 KB
Line 
1/**
2 * Created on 17 Jan. 2007
3 * * @author
4 */
5package com.medias.integration.lecture_ecriture;
6
7import com.medias.Constantes;
8import com.medias.EcritureLog;
9import com.medias.integration.vues.ParametreModele;
10import integration.exceptions.XMLException;
11import org.jdom.Element;
12
13import java.io.File;
14import java.util.ArrayList;
15import java.util.Iterator;
16/**
17 * Lecture et déchiffrrage d'un modéle XML décrivant la structure d'un fichier
18 * de données correspondant é un jeu donné.
19 */
20public class LectureModeleXML {
21        public LectureModeleXML(String categorie, String jeu) {
22                this.categorie = categorie;
23                this.jeu = jeu;
24        }
25
26        public void lireModele() {
27                //      Chemin du modéle xml é manipuler
28                String modele = Constantes.cheminModeles + "/" + categorie + "/" + jeu + "_modele.xml";
29                //      Etape de Construction du "parser XML"
30                XMLParser builder = new XMLParser();
31                File f = new File(modele);
32                if (f.exists()) {
33                        try {
34                                builder.readXml(modele);
35                                //      EcritureLog.ecrire("******* Modéle du jeu de données : "+ f.getName() + " *******", "out");
36                        } catch (XMLException e) {
37                                e.printStackTrace();
38                        }
39                } else {
40                        EcritureLog.ecrire( "Fichier " + f.getName() + " non trouvé !", "err" );
41                }
42                root = builder.getRoot();
43        }
44       
45        //      Partie des données é manimpuler
46        /**
47         * Renvoie les paramétres avec leurs caractéristiques dans une liste.
48         *
49         * @return La liste de tous les paramétres et leurs caractéristiques.
50         */
51        public ArrayList<ParametreModele> getParametres() {
52                ArrayList<ParametreModele> infosParam = new ArrayList<ParametreModele>();
53                Iterator<?> it = root.getChild("donnees").getChildren("parametre").iterator();
54                while (it.hasNext()) {
55                        Element child = (Element) it.next();
56                        infosParam.add(new ParametreModele(child.getAttributeValue("nom"),
57                                        child.getAttributeValue("type"), child.getAttributeValue("fonction"), 
58                                        child.getAttributeValue("unite"), child.getAttributeValue("delta"), 
59                                        child.getAttributeValue("numero"),child.getAttributeValue("format"),child.getAttributeValue("lod")));
60                }
61                return infosParam;
62        }
63
64        /**
65         * Renvoie les paramétres associés é une valeur avec leurs caractéristiques dans une liste.
66         *
67         * @return La liste de tous les paramétres associés et leurs caractéristiques.
68         */
69        public ArrayList<ParametreModele> getParametresValeur() {
70                ArrayList<ParametreModele> infosParam = new ArrayList<ParametreModele>();
71                Iterator<?> it = root.getChild("donnees").getChildren("parametre").iterator();
72                String fonction;
73                while (it.hasNext()) {
74                        Element child = (Element) it.next();
75                        fonction = child.getAttributeValue("fonction");
76                        if (fonction.equals(Constantes.nomFonctionInsererVal)) {
77                                infosParam.add(new ParametreModele(child.getAttributeValue("nom"),
78                                                child.getAttributeValue("type"), fonction, 
79                                                child.getAttributeValue("unite"), child.getAttributeValue("delta"), 
80                                                child.getAttributeValue("numero"), child.getAttributeValue("format"),child.getAttributeValue("lod")));
81                        }
82                }
83                return infosParam;
84        }
85       
86        /**
87         * Renvoie des numéros correspondant aux plateformes et leur références.
88         */
89        //      Liste des plateformes é manipuler
90        public ArrayList<String> getNumsPlateforme() {
91                ArrayList<String> numPlats = new ArrayList<String>();
92                Iterator<?> it = root.getChild("donnees").getChildren("plateforme").iterator();
93                Element child;
94                while (it.hasNext()) {
95                        child = (Element) it.next();
96                        numPlats.add(child.getAttributeValue("numero"));
97                }
98                return numPlats;
99        }
100
101        /**
102         * Renvoie des numéros correspondant aux capteurs et leur références.
103         */
104        //      Liste des capteurs é manipuler
105        public ArrayList<String> getNumsCapteur() {
106                ArrayList<String> numCapts = new ArrayList<String>();
107                Iterator<?> it = root.getChild("donnees").getChildren("capteur").iterator();
108                Element child;
109                while (it.hasNext()) {
110                        child = (Element) it.next();
111                        numCapts.add(child.getAttributeValue("numero"));
112                }
113                return numCapts;
114        }
115
116        //      Partie faisant référence é l'entéte
117        public String getNomCategorie() {
118                return root.getChild("entete").getAttributeValue("categorie");
119        }
120
121        //      Références relatives au jeu
122        public String getNomJeu() {
123                return root.getChild("entete").getAttributeValue("jeu");
124        }
125
126        //      Description du jeu en question
127        public String getDescriptionJeu() {
128                return root.getChild("entete").getAttributeValue("description");
129        }
130
131        //      Valeur absente
132        public String getValeurAbsente() {
133                return root.getChild("entete").getAttributeValue("valeur_absente");
134        }
135
136        //      Noms relatifs aux organismes
137        public String getNumOrganismeJeu() {
138                return root.getChild("entete").getAttributeValue("organisme");
139        }
140
141        //      Delimiteur du modéle
142        public String getDelimiteur() {
143                return root.getChild( "entete" ).getAttributeValue("delimiteur");
144        }
145
146        //      Subdivision ou non
147        public String getSubdiviser() {
148                return root.getChild( "entete" ).getAttributeValue("subdiviser");
149        }
150       
151        //      Coordonnées de la personne "pi"
152        public String getNumeroPi() {
153                return root.getChild("entete").getChild("pi").getAttributeValue(
154                                "numero");
155        }
156
157        //      Coordonnées de la personne "contact"
158        public String getNumeroContact() {
159                return root.getChild("entete").getChild("contact").getAttributeValue("numero");
160        }
161
162        //      Coordonnées de la personne "integrateur"
163        public String getNumeroIntegrateur() {
164                return root.getChild("entete").getChild("integrateur").getAttributeValue("numero");
165        }
166
167        private Element root;
168
169        private String categorie;
170
171        private String jeu;
172}
Note: See TracBrowser for help on using the repository browser.