source: ether_megapoli/domain/interface/com/medias/xml/metadata/Contenu.java @ 89

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

Import du projet MEGAPOLI

File size: 4.3 KB
Line 
1package com.medias.xml.metadata;
2
3import java.util.ArrayList;
4import java.util.Iterator;
5import java.util.List;
6
7import org.jdom.Element;
8import com.medias.ConversionException;
9import org.medias.megapoli.utils.Entity;
10
11/**
12 * @author combaz
13 *
14 * Created on 24 févr. 2005
15 */
16public class Contenu implements Entity {
17        /**
18     *
19     */
20    private static final long serialVersionUID = 1L;
21    private ArrayList<Plateforme> plateformes;
22        private ArrayList<Parametre> params;
23        private ArrayList<Capteur> capteurs;
24       
25       
26        public Contenu() {
27                super();
28                this.plateformes = new ArrayList<Plateforme>();
29                this.params = new ArrayList<Parametre>();
30                this.capteurs = new ArrayList<Capteur>();
31        }
32       
33        public ArrayList<Capteur> getCapteurs() {
34                return this.capteurs;
35        }
36       
37        /**
38         * @param capteurs The capteurs to set.
39         */
40        public void setCapteurs(ArrayList<Capteur> capteurs) {
41                this.capteurs = capteurs;
42        }
43       
44        public ArrayList<Parametre> getParams() {
45                return this.params;
46        }
47        /**
48         * @param params The params to set.
49         */
50        public void setParams(ArrayList<Parametre> params) {
51                this.params = params;
52        }
53       
54        public ArrayList<Plateforme> getPlateformes() {
55                return this.plateformes;
56        }
57
58        /**
59         * @param plateformes The plateformes to set.
60         */
61        public void setPlateformes(ArrayList<Plateforme> plateformes) {
62                this.plateformes = plateformes;
63        }
64       
65        public void addPlateforme() {
66                Plateforme plat = new Plateforme();
67                this.plateformes.add(plat);
68        }
69       
70        public void removePlateforme(Integer idx) {
71                this.plateformes.remove(idx.intValue());
72        }
73
74        public void removePlateforme(int idx) {
75                this.plateformes.remove(idx);
76        }
77
78        public void addParam() {
79                Parametre param = new Parametre();
80                this.params.add(param);
81        }
82       
83        public void removeParam(Integer idx) {
84                this.params.remove(idx.intValue());
85        }
86
87        public void removeParam(int idx) {
88                this.params.remove(idx);
89        }
90
91        public void addCapteur() {
92                Capteur capt = new Capteur();
93                this.capteurs.add(capt);
94        }
95       
96        public void removeCapteur(Integer idx) {
97                this.capteurs.remove(idx.intValue());
98        }
99
100        public void removeCapteur(int idx) {
101                this.capteurs.remove(idx);
102        }
103
104        public Element toXmlElement(String title) {
105                Element plat_elem = new Element("liste_plateformes");
106                ArrayList<Element> pl = new ArrayList<Element>();
107                for(int i = 0; i<this.plateformes.size(); i++) {
108                        Plateforme plat = (Plateforme)(this.plateformes.get(i));
109                        Element elem = plat.toXmlElement("plateforme");
110                        pl.add(elem);
111                }
112                plat_elem.addContent(pl);
113               
114                Element param_elem = new Element("liste_params");
115                ArrayList<Element> pa = new ArrayList<Element>();
116                for(int i = 0; i<this.params.size(); i++) {
117                        Parametre param = (Parametre)(this.params.get(i));
118                        Element elem = param.toXmlElement("param");
119                        pa.add(elem);
120                }
121                param_elem.addContent(pa);
122               
123                Element capt_elem = new Element("liste_capteurs");
124                ArrayList<Element> ca = new ArrayList<Element>();
125                for(int i = 0; i<this.capteurs.size(); i++) {
126                        Capteur capt = (Capteur)(this.capteurs.get(i));
127                        Element elem = capt.toXmlElement("capteur");
128                        ca.add(elem);
129                }
130                capt_elem.addContent(ca);
131               
132                Element metadata = new Element(title);
133                metadata.addContent(plat_elem);
134                metadata.addContent(param_elem);
135                metadata.addContent(capt_elem);
136
137                return metadata;
138        }
139       
140        public void fromXmlElement(Element el) throws ConversionException {
141                Element plat_elem = el.getChild("liste_plateformes");
142                Element par_elem = el.getChild("liste_params");
143                Element capt_elem = el.getChild("liste_capteurs");
144
145                if((plat_elem==null)||(par_elem==null)||(capt_elem==null))
146                        throw new ConversionException(ConversionException.ERROR_fromXml + "Metadata !");
147               
148                else {
149                        List<?> pl = plat_elem.getChildren("plateforme");
150                        Iterator<?> plit = pl.iterator();
151                        while(plit.hasNext()) {
152                                Element elem = (Element) plit.next();
153                                Plateforme plat = new Plateforme();
154                                plat.fromXmlElement(elem);
155                                this.plateformes.add(plat);
156                        }
157
158                        List<?> pa = par_elem.getChildren("param");
159                        Iterator<?> pait = pa.iterator();
160                        while(pait.hasNext()) {
161                                Element elem = (Element) pait.next();
162                                Parametre param = new Parametre();
163                                param.fromXmlElement(elem);
164                                this.params.add(param);
165                        }
166
167                        List<?> ca = capt_elem.getChildren("capteur");
168                        Iterator<?> cait = ca.iterator();
169                        while(cait.hasNext()) {
170                                Element elem = (Element) cait.next();
171                                Capteur capt = new Capteur();
172                                capt.fromXmlElement(elem);
173                                this.capteurs.add(capt);
174                        }
175                }
176        }
177}
Note: See TracBrowser for help on using the repository browser.