Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / extensions / org.gvsig.arcims.feature.extension / src / main / java / org / gvsig / fmap / dal / store / arcims / ArcImsStoreParameters.java @ 32543

History | View | Annotate | Download (9.61 KB)

1 32356 vsanjaime
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 Prodevelop S.L. main development
26
 * http://www.prodevelop.es
27
 */
28 32370 vsanjaime
29 32356 vsanjaime
package org.gvsig.fmap.dal.store.arcims;
30
31 32543 vsanjaime
import java.util.Vector;
32
33
import org.cresques.cts.IProjection;
34 32356 vsanjaime
import org.gvsig.fmap.dal.DataParameters;
35
import org.gvsig.fmap.dal.DataStoreParameters;
36
import org.gvsig.fmap.dal.DataTypes;
37
import org.gvsig.fmap.dal.exception.InitializeException;
38
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
39
import org.gvsig.fmap.dal.spi.AbstractDataParameters;
40 32543 vsanjaime
import org.gvsig.fmap.geom.primitive.impl.Envelope2D;
41
import org.gvsig.remoteclient.arcims.utils.ServiceInformation;
42 32356 vsanjaime
import org.gvsig.tools.ToolsLocator;
43
import org.gvsig.tools.dynobject.DelegatedDynObject;
44
import org.gvsig.tools.dynobject.DynClass;
45
import org.gvsig.tools.dynobject.DynField;
46
import org.gvsig.tools.dynobject.DynObjectManager;
47
48
/**
49 32543 vsanjaime
 * ArcIMS provider parameters
50
 *
51
 * @author vsanjaime version 2.0
52
 *
53 32356 vsanjaime
 */
54
public class ArcImsStoreParameters extends AbstractDataParameters implements
55 32370 vsanjaime
                DataStoreParameters {
56 32543 vsanjaime
57 32356 vsanjaime
        protected static DynClass DYNCLASS = null;
58
        public static final String DYNCLASS_NAME = "ArcIMSStoreParameters";
59 32370 vsanjaime
60 32543 vsanjaime
        public static final String DYNFIELDNAME_SERVERURL = "serverURL";
61
        public static final String DYNFIELDNAME_SERVERVERSION = "serverVersion";
62
        public static final String DYNFIELDNAME_SERVICETYPE = "serviceType";
63
        public static final String DYNFIELDNAME_SERVICENAME = "serviceName";
64
        public static final String DYNFIELDNAME_SERVICEINFO = "serviceInfo";
65
        public static final String DYNFIELDNAME_SELECTEDLAYERS = "selectedLayers";
66
        public static final String DYNFIELDNAME_GROUPLAYERS = "groupLayers";
67
        public static final String DYNFIELDNAME_SRS = "srs";
68
        public static final String DYNFIELDNAME_ENVELOPE = "envelope";
69 32356 vsanjaime
70
        private DelegatedDynObject delegatedDynObject;
71 32370 vsanjaime
72 32356 vsanjaime
        /**
73
         * Constructor
74
         */
75
        public ArcImsStoreParameters() {
76
                super();
77
                this.delegatedDynObject = (DelegatedDynObject) ToolsLocator
78 32370 vsanjaime
                                .getDynObjectManager().createDynObject(
79
                                                ArcImsStoreParameters.DYNCLASS);
80
        }
81
82 32356 vsanjaime
        @Override
83
        protected DelegatedDynObject getDelegatedDynObject() {
84
                return delegatedDynObject;
85
        }
86
87 32543 vsanjaime
        @SuppressWarnings("unchecked")
88 32370 vsanjaime
        public ArcImsStoreParameters(DataParameters dataParameters)
89
                        throws InitializeException, ProviderNotRegisteredException {
90
                this();
91 32543 vsanjaime
                this.setServerUrl((String) dataParameters
92
                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_SERVERURL));
93
                this.setServerVersion((String) dataParameters
94
                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_SERVERVERSION));
95
                this.setServiceType((String) dataParameters
96
                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_SERVICETYPE));
97
                this.setServiceName((String) dataParameters
98
                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_SERVICENAME));
99
                this.setServiceInfo((ServiceInformation) dataParameters
100
                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_SERVICEINFO));
101 32370 vsanjaime
                this
102 32543 vsanjaime
                                .setSelectedLayers((Vector<String>) dataParameters
103
                                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_SELECTEDLAYERS));
104
                this.setGroupLayers((Boolean) dataParameters
105
                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_GROUPLAYERS));
106
                this.setSRS((IProjection) dataParameters
107
                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_SRS));
108
                this.setEnvelope((Envelope2D) dataParameters
109
                                .getDynValue(ArcImsStoreParameters.DYNFIELDNAME_ENVELOPE));
110 32356 vsanjaime
        }
111 32370 vsanjaime
112
        /**
113
         * register dynamic elements
114
         */
115 32356 vsanjaime
        protected static void registerDynClass() {
116
                DynObjectManager dynman = ToolsLocator.getDynObjectManager();
117
                DynClass dynClass;
118
                DynField field;
119
                if (DYNCLASS == null) {
120
                        dynClass = dynman.add(DYNCLASS_NAME);
121 32543 vsanjaime
                        field = dynClass.addDynField(DYNFIELDNAME_SERVERURL);
122 32356 vsanjaime
                        field.setTheTypeOfAvailableValues(DynField.ANY);
123 32370 vsanjaime
                        field.setDescription("URL of the ArcIMS server");
124 32356 vsanjaime
                        field.setType(DataTypes.STRING);
125
                        field.setMandatory(true);
126 32370 vsanjaime
127 32543 vsanjaime
                        field = dynClass.addDynField(DYNFIELDNAME_SERVERVERSION);
128 32356 vsanjaime
                        field.setTheTypeOfAvailableValues(DynField.ANY);
129
                        field.setDescription("Version of the WFS server");
130
                        field.setType(DataTypes.STRING);
131
                        field.setMandatory(false);
132 32370 vsanjaime
133 32543 vsanjaime
                        field = dynClass.addDynField(DYNFIELDNAME_SERVICETYPE);
134 32356 vsanjaime
                        field.setTheTypeOfAvailableValues(DynField.ANY);
135
                        field.setDescription("Feature type to retrieve");
136
                        field.setType(DataTypes.STRING);
137
                        field.setMandatory(true);
138 32370 vsanjaime
139 32543 vsanjaime
                        field = dynClass.addDynField(DYNFIELDNAME_SERVICENAME);
140 32356 vsanjaime
                        field.setTheTypeOfAvailableValues(DynField.ANY);
141 32370 vsanjaime
                        field.setDescription("name of the arcims service");
142 32356 vsanjaime
                        field.setType(DataTypes.STRING);
143 32370 vsanjaime
                        field.setMandatory(true);
144
145 32543 vsanjaime
                        field = dynClass.addDynField(DYNFIELDNAME_SERVICEINFO);
146 32356 vsanjaime
                        field.setTheTypeOfAvailableValues(DynField.ANY);
147 32543 vsanjaime
                        field.setDescription("arcims service information");
148
                        field.setType(DataTypes.OBJECT);
149
                        field.setMandatory(true);
150
151
                        field = dynClass.addDynField(DYNFIELDNAME_SELECTEDLAYERS);
152
                        field.setTheTypeOfAvailableValues(DynField.ANY);
153 32370 vsanjaime
                        field.setDescription("Layers selected in the arcims service");
154 32543 vsanjaime
                        field.setType(DataTypes.LIST);
155 32370 vsanjaime
                        field.setMandatory(true);
156
157 32543 vsanjaime
                        field = dynClass.addDynField(DYNFIELDNAME_GROUPLAYERS);
158
                        field.setTheTypeOfAvailableValues(DynField.ANY);
159
                        field.setDescription("group selected layers");
160
                        field.setType(DataTypes.BOOLEAN);
161
                        field.setMandatory(true);
162
163
                        field = dynClass.addDynField(DYNFIELDNAME_SRS);
164
                        field.setTheTypeOfAvailableValues(DynField.ANY);
165
                        field.setDescription("srs");
166
                        field.setType(DataTypes.SRS);
167
                        field.setMandatory(true);
168
169
                        field = dynClass.addDynField(DYNFIELDNAME_ENVELOPE);
170
                        field.setTheTypeOfAvailableValues(DynField.ANY);
171
                        field.setDescription("envelope");
172
                        field.setType(DataTypes.OBJECT);
173
                        field.setMandatory(true);
174
175 32356 vsanjaime
                        DYNCLASS = dynClass;
176
                }
177 32370 vsanjaime
        }
178 32356 vsanjaime
179 32370 vsanjaime
        /**
180
         * Get store name
181
         *
182
         * @return
183 32356 vsanjaime
         */
184
        public String getDataStoreName() {
185
                return ArcImsStoreProvider.NAME;
186
        }
187
188 32370 vsanjaime
        /**
189
         * Get description about store
190
         *
191
         * @return
192 32356 vsanjaime
         */
193
        public String getDescription() {
194
                return ArcImsStoreProvider.DESCRIPTION;
195 32370 vsanjaime
        }
196 32356 vsanjaime
197 32370 vsanjaime
        /**
198
         *
199 32356 vsanjaime
         */
200
        public boolean isValid() {
201
                return false;
202
        }
203 32370 vsanjaime
204
        /**
205 32543 vsanjaime
         * get server url
206 32370 vsanjaime
         *
207
         * @return
208
         */
209 32543 vsanjaime
        public String getServerUrl() {
210
                return (String) this.getDynValue(DYNFIELDNAME_SERVERURL);
211 32356 vsanjaime
        }
212 32370 vsanjaime
213 32543 vsanjaime
        /**
214
         * set server url
215
         *
216
         * @param serverUrl
217
         */
218
        public void setServerUrl(String serverUrl) {
219
                this.setDynValue(DYNFIELDNAME_SERVERURL, serverUrl);
220 32356 vsanjaime
        }
221 32370 vsanjaime
222 32543 vsanjaime
        /**
223
         * get server version
224
         * @return
225
         */
226
        public String getServerVersion() {
227
                return (String) this.getDynValue(DYNFIELDNAME_SERVERVERSION);
228 32356 vsanjaime
        }
229 32370 vsanjaime
230 32543 vsanjaime
        /**
231
         * set server version
232
         * @param serverVersion
233
         */
234
        public void setServerVersion(String serverVersion) {
235
                this.setDynValue(DYNFIELDNAME_SERVERVERSION, serverVersion);
236 32356 vsanjaime
        }
237 32370 vsanjaime
238 32543 vsanjaime
        /**
239
         * get service type (Feature or Image)
240
         * @return
241
         */
242
        public String getServiceType() {
243
                return (String) this.getDynValue(DYNFIELDNAME_SERVICETYPE);
244 32356 vsanjaime
        }
245 32370 vsanjaime
246 32543 vsanjaime
        /**
247
         * set service type (Feature or Image)
248
         * @return
249
         */
250
        public void setServiceType(String serviceType) {
251
                this.setDynValue(DYNFIELDNAME_SERVICETYPE, serviceType);
252 32356 vsanjaime
        }
253 32370 vsanjaime
254 32543 vsanjaime
        /**
255
         * get service name
256
         * @return
257
         */
258
        public String getServiceName() {
259
                return (String) this.getDynValue(DYNFIELDNAME_SERVICENAME);
260 32356 vsanjaime
        }
261 32370 vsanjaime
262 32543 vsanjaime
        /**
263
         * set service name
264
         * @param serviceName
265
         */
266
        public void setServiceName(String serviceName) {
267
                this.setDynValue(DYNFIELDNAME_SERVICENAME, serviceName);
268 32356 vsanjaime
        }
269 32370 vsanjaime
270 32543 vsanjaime
        /**
271
         * get service info (from capabilities)
272
         * @return
273
         */
274
        public ServiceInformation getServiceInfo() {
275
                return (ServiceInformation) this.getDynValue(DYNFIELDNAME_SERVICEINFO);
276 32356 vsanjaime
        }
277 32370 vsanjaime
278 32543 vsanjaime
        /**
279
         * set service info
280
         * @param serviceInfo
281
         */
282
        public void setServiceInfo(ServiceInformation serviceInfo) {
283
                this.setDynValue(DYNFIELDNAME_SERVICEINFO, serviceInfo);
284 32356 vsanjaime
        }
285
286 32543 vsanjaime
        /**
287
         * get selected layers by user
288
         * @return
289
         */
290
        @SuppressWarnings("unchecked")
291
        public Vector<String> getSelectedLayers() {
292
                return (Vector<String>) this.getDynValue(DYNFIELDNAME_SELECTEDLAYERS);
293
        }
294
295
        /**
296
         * set selected layers by user
297
         * @param selectedlayers
298
         */
299
        public void setSelectedLayers(Vector<String> selectedlayers) {
300
                this.setDynValue(DYNFIELDNAME_SELECTEDLAYERS, selectedlayers);
301
        }
302
303
        /**
304
         * the selected layers must be grouped
305
         * @return
306
         */
307
        public Boolean isGroupLayers() {
308
                return (Boolean) this.getDynValue(DYNFIELDNAME_GROUPLAYERS);
309
        }
310
311
        /**
312
         * group layers
313
         * @param groupLayers
314
         */
315
        public void setGroupLayers(Boolean groupLayers) {
316
                this.setDynValue(DYNFIELDNAME_GROUPLAYERS, groupLayers);
317
        }
318
319
        /**
320
         * set SRS
321
         * @param srs
322
         */
323
        public void setSRS(IProjection srs) {
324
                this.setDynValue(DYNFIELDNAME_SRS, srs);
325
326
        }
327
328
        /**
329
         * get SRS
330
         * @return
331
         */
332
        public IProjection getSRS() {
333
                return (IProjection) this.getDynValue(DYNFIELDNAME_SRS);
334
        }
335
336
        /**
337
         * set envelope
338
         * @param envelope
339
         */
340
        public void setEnvelope(Envelope2D envelope) {
341
                this.setDynValue(DYNFIELDNAME_ENVELOPE, envelope);
342
343
        }
344
345
        /**
346
         * get envelope
347
         * @return
348
         */
349
        public Envelope2D getEnvelope() {
350
                return (Envelope2D) this.getDynValue(DYNFIELDNAME_ENVELOPE);
351
        }
352
353 32370 vsanjaime
}