Revision 5824 trunk/extensions/extWFS2/src/com/iver/cit/gvsig/fmap/drivers/wfs/FMapWFSDriver.java
FMapWFSDriver.java | ||
---|---|---|
1 | 1 |
package com.iver.cit.gvsig.fmap.drivers.wfs; |
2 | 2 |
|
3 | 3 |
import java.awt.geom.Rectangle2D; |
4 |
import java.io.File; |
|
4 | 5 |
import java.io.IOException; |
5 | 6 |
import java.net.ConnectException; |
6 | 7 |
import java.net.URL; |
... | ... | |
30 | 31 |
import com.iver.cit.gvsig.fmap.drivers.WFSDriver; |
31 | 32 |
import com.iver.cit.gvsig.fmap.drivers.WFSException; |
32 | 33 |
import com.iver.cit.gvsig.fmap.drivers.geotools.WFSFeaturesIterator; |
33 |
import com.iver.cit.gvsig.fmap.drivers.geotools.WFSGeotoolsDriver; |
|
34 |
import com.iver.cit.gvsig.fmap.drivers.geotools.WFSFeatureLayer; |
|
35 |
import com.iver.cit.gvsig.fmap.drivers.geotools.WFSGetFeatureParser; |
|
34 | 36 |
import com.iver.cit.gvsig.fmap.layers.WFSLayerNode; |
35 | 37 |
|
36 | 38 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
... | ... | |
77 | 79 |
* |
78 | 80 |
* $Id$ |
79 | 81 |
* $Log$ |
80 |
* Revision 1.9 2006-06-05 16:49:42 caballero |
|
82 |
* Revision 1.10 2006-06-14 07:57:19 jorpiell |
|
83 |
* Ya no se usa la estrategia ni se usa geotools para hacer el getFeature. Ahora se usa ?nicamente para el parseo de GML |
|
84 |
* |
|
85 |
* Revision 1.9 2006/06/05 16:49:42 caballero |
|
81 | 86 |
* poder editar y exportar |
82 | 87 |
* |
83 | 88 |
* Revision 1.8 2006/05/30 05:26:38 jorpiell |
... | ... | |
111 | 116 |
*/ |
112 | 117 |
public class FMapWFSDriver implements WFSDriver, BoundedShapes,ObjectDriver{ |
113 | 118 |
private WFSClient remoteServicesClient; |
114 |
private WFSGeotoolsDriver geotoolsClient; |
|
115 |
private WFSLayerNode[] featuresList; |
|
119 |
private WFSLayerNode[] featuresList; |
|
116 | 120 |
private Hashtable hashFeatures; |
117 |
|
|
118 |
private int idFID_FieldName; |
|
119 |
private int numField = -1; |
|
120 |
//private AttributeType[] attributes; |
|
121 |
private String strOriginalSRID; |
|
121 |
private WFSFeatureLayer featureIterator= null; |
|
122 | 122 |
private DriverAttributes attr = new DriverAttributes(); |
123 | 123 |
|
124 | 124 |
public FMapWFSDriver() { |
... | ... | |
151 | 151 |
* @see com.iver.cit.gvsig.fmap.drivers.WFSDriver#getFeature(org.gvsig.remoteClient.wfs.WFSStatus) |
152 | 152 |
*/ |
153 | 153 |
public void getFeature(WFSStatus wfsStatus) throws WFSException { |
154 |
//Using remoteServices |
|
155 |
//return remoteServicesClient.getFeature(wfsStatus); |
|
156 |
//Using geotools |
|
157 |
if (geotoolsClient == null){ |
|
158 |
try { |
|
159 |
geotoolsClient = new WFSGeotoolsDriver(remoteServicesClient.getHost(), |
|
160 |
wfsStatus); |
|
161 |
} catch (ConnectException e) { |
|
162 |
// TODO Auto-generated catch block |
|
163 |
e.printStackTrace(); |
|
164 |
throw new WFSException(); |
|
165 |
} |
|
154 |
File file = remoteServicesClient.getFeature(wfsStatus); |
|
155 |
try { |
|
156 |
featureIterator = new WFSFeatureLayer(file, |
|
157 |
featuresList, |
|
158 |
wfsStatus); |
|
159 |
} catch (Exception e) { |
|
160 |
throw new WFSException(e); |
|
166 | 161 |
} |
167 |
geotoolsClient.getFeature(wfsStatus); |
|
168 | 162 |
} |
169 | 163 |
|
170 | 164 |
/* |
... | ... | |
196 | 190 |
* @see com.iver.cit.gvsig.fmap.drivers.VectorialDriver#getFullExtent() |
197 | 191 |
*/ |
198 | 192 |
public Rectangle2D getFullExtent() throws IOException { |
199 |
return geotoolsClient.getFullExtent();
|
|
193 |
return featureIterator.getFullExtent();
|
|
200 | 194 |
} |
201 | 195 |
|
202 | 196 |
/* |
... | ... | |
212 | 206 |
* @see com.iver.cit.gvsig.fmap.drivers.VectorialDriver#reLoad() |
213 | 207 |
*/ |
214 | 208 |
public void reLoad() throws IOException { |
215 |
geotoolsClient.getFeature(null);
|
|
209 |
featureIterator.reload();
|
|
216 | 210 |
} |
217 | 211 |
|
218 | 212 |
/* |
... | ... | |
380 | 374 |
* @return Returns the features. |
381 | 375 |
*/ |
382 | 376 |
public ArrayList getFeatures() { |
383 |
return geotoolsClient.getFeatures();
|
|
377 |
return featureIterator.getFeatures();
|
|
384 | 378 |
} |
385 | 379 |
|
386 | 380 |
/** |
387 | 381 |
* @return Returns the hashRelate. |
388 | 382 |
*/ |
389 | 383 |
public Hashtable getHashRelate() { |
390 |
return geotoolsClient.getHashRelate();
|
|
384 |
return featureIterator.getHashRelate();
|
|
391 | 385 |
} |
392 | 386 |
|
393 | 387 |
|
... | ... | |
395 | 389 |
* @return Returns the numReg. |
396 | 390 |
*/ |
397 | 391 |
public int getNumReg() { |
398 |
return geotoolsClient.getNumReg();
|
|
392 |
return featureIterator.getNumReg();
|
|
399 | 393 |
} |
400 | 394 |
|
401 | 395 |
/** |
402 | 396 |
* @return Returns the numFiled. |
403 | 397 |
*/ |
404 | 398 |
public int getNumField() { |
405 |
return geotoolsClient.getNumField();
|
|
399 |
return featureIterator.getNumField();
|
|
406 | 400 |
} |
407 | 401 |
|
408 | 402 |
/** |
409 | 403 |
* @return Returns the attributes. |
410 | 404 |
*/ |
411 | 405 |
public AttributeType[] getAttributes() { |
412 |
return geotoolsClient.getAttributes();
|
|
406 |
return featureIterator.getAttributes();
|
|
413 | 407 |
} |
414 | 408 |
|
415 | 409 |
/* |
... | ... | |
512 | 506 |
* @see com.iver.cit.gvsig.fmap.drivers.WFSDriver#getFeatureIterator(java.awt.geom.Rectangle2D, java.lang.String) |
513 | 507 |
*/ |
514 | 508 |
public IFeatureIterator getFeatureIterator(Rectangle2D r, String strEPSG) throws DriverException, IOException { |
515 |
return geotoolsClient.getIterator();
|
|
509 |
return featureIterator.getIterator();
|
|
516 | 510 |
} |
517 | 511 |
|
518 | 512 |
/* |
Also available in: Unified diff