Revision 3532

View differences:

trunk/libraries/libRemoteServices/src/org/gvsig/remoteClient/wms/WMSProtocolHandler.java
5 5
import java.io.DataOutputStream;
6 6
import java.io.File;
7 7
import java.io.FileOutputStream;
8
import java.io.FileReader;
8 9
import java.io.IOException;
9 10
import java.io.InputStream;
10 11
import java.io.OutputStream;
......
16 17

  
17 18
import org.gvsig.remoteClient.exceptions.ServerErrorException;
18 19
import org.gvsig.remoteClient.exceptions.WMSException;
20
import org.gvsig.remoteClient.utils.CapabilitiesTags;
19 21
import org.gvsig.remoteClient.utils.Utilities;
22
import org.kxml2.io.KXmlParser;
20 23

  
21 24
import com.devx.io.TempFileManager;
22 25

  
......
210 213
    public String getFeatureInfo(WMSStatus status, int x, int y, int featureCount)
211 214
    {
212 215
    	URL request = null;
216
    	StringBuffer  output = new StringBuffer();
213 217
		try
214 218
		{
215 219
			//TODO:
......
225 229
    	{	    
226 230
    		System.out.println(request.toString());
227 231
    		File f = new File("featureInfo.xml");
228
    		DataOutputStream dos = new DataOutputStream(new FileOutputStream(f));
229
	  	  
232
    		DataOutputStream dos = new DataOutputStream(new FileOutputStream(f)); 	  
230 233
    		OutputStream bos = null;
231 234

  
232 235
	    	byte[] buffer = new byte[1024*256];
......
234 237
	    	//long readed = 0;
235 238
	    	for (int i = is.read(buffer); i>0; i = is.read(buffer)){
236 239
	    		dos.write(buffer, 0, i);
240
	    		output.append(buffer);
237 241
	    		//readed += i;
238 242
	    	}
239 243
	    	dos.close();
240 244
	    	
241
	    return null;
245
	    	StringBuffer sb = new StringBuffer();
246
	    	sb.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>");
247
	    	int tag;
248
	    	KXmlParser kxmlParser = null;
249
	    	kxmlParser = new KXmlParser();	    
250
	    	kxmlParser.setInput(new FileReader(f));		
251
			tag = kxmlParser.nextTag();
252
    		if ( kxmlParser.getEventType() != KXmlParser.END_DOCUMENT ) 
253
    		{    		
254
    			//tag = kxmlParser.nextTag();
255
				 while(tag != KXmlParser.END_DOCUMENT)
256
				 {
257
					 switch(tag)
258
					 {
259
						case KXmlParser.START_TAG:							 
260
							sb.append("<" + kxmlParser.getName() + ">\n");
261
							break;
262
						case KXmlParser.END_TAG:	
263
							sb.append("</" + kxmlParser.getName() + ">\n");
264
							break;
265
						case KXmlParser.TEXT:
266
							sb.append(kxmlParser.getText());						
267
						break;
268
					 }
269
    				 tag = kxmlParser.next();
270
    			 }
271
    		}	
272
    		System.out.println(sb.toString());
273
		return sb.toString();
274
	    //return output.toString() ;
242 275
    	}
243 276
    	catch(Exception e)
244 277
    	{
......
282 315
		req = req + getHost() + symbol + "REQUEST=GetFeatureInfo&SERVICE=WMS&";
283 316
		req = req + "QUERY_LAYERS="+Utilities.Vector2CS(status.getLayerNames()); 
284 317
		req = req + "&VERSION=" + getVersion() + "&";
318
		req = req + "INFO_FORMAT=application/vnd.ogc.gml&";
285 319
		req = req + getPartialQuery(status);
286 320
		req = req + "&x="+x + "&y="+y;
287 321
       if (status.getExceptionFormat() != null) {

Also available in: Unified diff