Revision 18432

View differences:

branches/v10/applications/appCatalogAndGazetteerClient/src/es/gva/cit/gazetteer/wfs/drivers/WFSServiceDriver.java
83 83
	 * (non-Javadoc)
84 84
	 * @see es.gva.cit.catalogClient.drivers.IDiscoveryServiceDriver#getCapabilities(java.net.URI)
85 85
	 */
86
	public DiscoveryServiceCapabilities getCapabilities(URI uri) {        
86
	public DiscoveryServiceCapabilities getCapabilities(URI uri) {
87 87
		GazetteerCapabilities capabilities = new GazetteerCapabilities();
88 88
		String sURL = null;
89 89
		try {
......
99 99
		} catch (Exception e) {
100 100
			capabilities.setServerMessage(e.toString());
101 101
			return capabilities;
102
		}		
102
		}
103 103
		setServerAnswerReady(client.getServiceInformation().name);
104 104
		Hashtable features = client.getFeatures();
105
		setFeatureTypes(convertFeatureNames(features));       
106
		capabilities.setServerMessage(client.getServiceInformation().name + 
105
		setFeatureTypes(convertFeatureNames(features));
106
		capabilities.setServerMessage(client.getServiceInformation().name +
107 107
				client.getServiceInformation().abstr);
108 108
		capabilities.setFeatureTypes(getFeatureTypes());
109 109
		return capabilities;
110
	} 
110
	}
111 111

  
112 112
	/**
113 113
	 * Convert the features from the remote services format to
114
	 * the gazetteer format 
114
	 * the gazetteer format
115 115
	 * @param features
116 116
	 * @return
117 117
	 */
......
126 126
			featureTypes[i].setTitle(feature.getTitle());
127 127
			i++;
128 128
		}
129
		return featureTypes;   	
129
		return featureTypes;
130 130
	}
131 131

  
132 132
	/*
133 133
	 * (non-Javadoc)
134 134
	 * @see es.gva.cit.gazetteer.drivers.IGazetteerServiceDriver#describeFeatureType(java.net.URI, java.lang.String)
135 135
	 */
136
	public FeatureTypeAttribute[] describeFeatureType(URI uri, String feature) {        
136
	public FeatureTypeAttribute[] describeFeatureType(URI uri, String feature) {
137 137
		status.setFeatureName(feature);
138 138
		try{
139
			client.describeFeatureType(status);
139
			client.describeFeatureType(status, false, null);
140 140
		}catch (Exception e){
141 141
			//Impossible to retrieve the attributes
142 142
			return new FeatureTypeAttribute[0];
......
146 146
			this.setProjection((String)wfsFeature.getSrs().get(0));
147 147
		}
148 148
		return covertFeatuteAttributes(wfsFeature);
149
	} 
149
	}
150 150

  
151 151
	/*
152 152
	 * (non-Javadoc)
......
179 179
	 * (non-Javadoc)
180 180
	 * @see es.gva.cit.gazetteer.drivers.IGazetteerServiceDriver#getFeature(java.net.URI, es.gva.cit.gazetteer.querys.Query)
181 181
	 */
182
	public Feature[] getFeature(URI uri, GazetteerQuery query) throws GMLException {        
182
	public Feature[] getFeature(URI uri, GazetteerQuery query) throws GMLException {
183 183
		//Set the filter
184 184
		String sQuery = getFilterSQL(query);
185 185
		if (sQuery != null){
......
187 187
		}
188 188
		status.setFields(new String[0]);
189 189
		try{
190
			File file = client.getFeature(status);
191
			return parseOutputFile(file,query.getFieldAttribute()); 	
190
			File file = client.getFeature(status, false, null);
191
			return parseOutputFile(file,query.getFieldAttribute());
192 192
		}catch(Exception e){
193 193
			return new Feature[0];
194
		}			
195
	} 
194
		}
195
	}
196 196

  
197 197
	/**
198 198
	 * Parses the GML file
......
203 203
	protected Feature[] parseOutputFile(File file, String fieldAttribute) throws GMLException{
204 204
		GMLReader reader = new GMLReader(file,new GazetteerGeometriesFactory(fieldAttribute));
205 205
		IGMLFeaturesIterator it = reader.getFeaturesIterator();
206
		ArrayList features = new ArrayList(); 		
206
		ArrayList features = new ArrayList();
207 207
		while (it.hasNext()){
208 208
			Object feature = it.next();
209 209
			if (feature != null){
210 210
				features.add(feature);
211 211
			}
212
		} 
212
		}
213 213
		Feature[] auxFeatures = new Feature[features.size()];
214 214
		for (int i=0 ; i<features.size() ; i++){
215 215
			auxFeatures[i] = (Feature)features.get(i);
......
232 232
		}else{
233 233
			String conector = null;
234 234
			if (query.getNameFilter().equals(CatalogConstants.ALL_WORDS)){
235
				conector = "AND";    		
235
				conector = "AND";
236 236
			}else if (query.getNameFilter().equals(CatalogConstants.ANY_WORD)){
237 237
				conector = "OR";
238 238
			}
......
240 240
			for (int i=0 ; i<words.length ; i++){
241 241
				buffer.append("(" + query.getFieldAttribute() + " = " + words[i] + ")");
242 242
				if (i  < words.length - 1){
243
					buffer.append(" " + conector + " ");    				
244
				}    			
243
					buffer.append(" " + conector + " ");
244
				}
245 245
			}
246
		}   	
246
		}
247 247
		FilterEncoding fe = GazetteerFormatter.createFilter();
248 248
		fe.setQuery(buffer.toString());
249 249
		return fe.toString();
......
253 253
	 * (non-Javadoc)
254 254
	 * @see es.gva.cit.gazetteer.drivers.IGazetteerServiceDriver#isProtocolSupported(java.net.URI)
255 255
	 */
256
	public boolean isProtocolSupported(URI uri) {        
256
	public boolean isProtocolSupported(URI uri) {
257 257
		return true;
258
	} 
258
	}
259 259

  
260 260
	/*
261 261
	 * (non-Javadoc)
......
279 279
	 */
280 280
	public String getServiceName() {
281 281
		return ServerData.SERVER_SUBTYPE_GAZETTEER_WFS;
282
	}	
282
	}
283 283
}

Also available in: Unified diff