Revision 18851 branches/v10/applications/appCatalogAndGazetteerClient/src/es/gva/cit/gazetteer/wfs/drivers/WFSServiceDriver.java

View differences:

WFSServiceDriver.java
43 43
import java.io.File;
44 44
import java.net.MalformedURLException;
45 45
import java.net.URI;
46
import java.net.URISyntaxException;
46 47
import java.util.ArrayList;
47 48
import java.util.Hashtable;
48 49
import java.util.Iterator;
49 50
import java.util.Vector;
50 51

  
52
import org.gvsig.gpe.GPEParser;
53
import org.gvsig.gpe.GPERegister;
54
import org.gvsig.gpe.exceptions.GPEParserCreationException;
55
import org.gvsig.gpe.gml.GPEGmlSFP0Parser;
56
import org.gvsig.gpe.writers.GPEGeometryWithIdTest;
51 57
import org.gvsig.remoteClient.gml.GMLReader;
52 58
import org.gvsig.remoteClient.gml.IGMLFeaturesIterator;
53 59
import org.gvsig.remoteClient.gml.exceptions.GMLException;
......
190 196
			File file = client.getFeature(status, false, null);
191 197
			return parseOutputFile(file,query.getFieldAttribute());
192 198
		}catch(Exception e){
199
			e.printStackTrace();
193 200
			return new Feature[0];
194 201
		}
195 202
	}
......
198 205
	 * Parses the GML file
199 206
	 * @param file
200 207
	 * @return
201
	 * @throws GMLException
208
	 * @throws GPEParserCreationException 
209
	 * @throws URISyntaxException 
202 210
	 */
203
	protected Feature[] parseOutputFile(File file, String fieldAttribute) throws GMLException{
204
		GMLReader reader = new GMLReader(file,new GazetteerGeometriesFactory(fieldAttribute));
205
		IGMLFeaturesIterator it = reader.getFeaturesIterator();
206
		ArrayList features = new ArrayList();
207
		while (it.hasNext()){
208
			Object feature = it.next();
209
			if (feature != null){
210
				features.add(feature);
211
			}
212
		}
211
	protected Feature[] parseOutputFile(File file, String fieldAttribute) throws URISyntaxException, GPEParserCreationException {
212
		URI uri = file.toURI();
213
		GPEParser parser = new GPEGmlSFP0Parser(null,null);
214
		WFSGPEErrorHandler errorHandler = new WFSGPEErrorHandler();
215
		WFSGPEContentHandler contentHandler = new WFSGPEContentHandler(fieldAttribute);
216
		parser.parse(contentHandler, errorHandler, uri);
217
		ArrayList features = contentHandler.getFeatures();
213 218
		Feature[] auxFeatures = new Feature[features.size()];
214 219
		for (int i=0 ; i<features.size() ; i++){
215 220
			auxFeatures[i] = (Feature)features.get(i);

Also available in: Unified diff