Revision 5824 trunk/extensions/extWFS2/src/com/iver/cit/gvsig/fmap/drivers/wfs/FMapWFSDriver.java

View differences:

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