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 | } |