Revision 4036 branches/v05/libraries/libRemoteServices/src/org/gvsig/remoteClient/wms/wms_1_1_0/WMSProtocolHandler1_1_0.java
WMSProtocolHandler1_1_0.java | ||
---|---|---|
10 | 10 |
import java.io.Reader; |
11 | 11 |
import java.util.ArrayList; |
12 | 12 |
import java.util.TreeMap; |
13 |
|
|
14 | 13 |
import org.gvsig.remoteClient.utils.CapabilitiesTags; |
15 | 14 |
import org.gvsig.remoteClient.utils.ExceptionTags; |
16 |
import org.gvsig.remoteClient.wms.WMSProtocolHandler; |
|
17 | 15 |
import org.kxml2.io.KXmlParser; |
18 | 16 |
import org.xmlpull.v1.XmlPullParserException; |
19 | 17 |
|
... | ... | |
22 | 20 |
* Describes the handler to comunicate to a WMS 1.1.0 |
23 | 21 |
* </p> |
24 | 22 |
*/ |
25 |
public class WMSProtocolHandler1_1_0 extends org.gvsig.remoteClient.wms.WMSProtocolHandler { |
|
23 |
public class WMSProtocolHandler1_1_0 extends org.gvsig.remoteClient.wms.WMSProtocolHandler |
|
24 |
{ |
|
26 | 25 |
private WMSLayer1_1_0 fakeRootLayer; |
27 | 26 |
|
28 | 27 |
public WMSProtocolHandler1_1_0() |
... | ... | |
31 | 30 |
this.name = "WMS1.1.0"; |
32 | 31 |
this.serviceInfo = new ServiceInformation(); |
33 | 32 |
this.layers = new TreeMap(); |
34 |
//this.srs = new Vector(); |
|
35 |
|
|
36 | 33 |
} |
37 | 34 |
|
38 | 35 |
//------------------------------------------------------------------------------ |
... | ... | |
82 | 79 |
case KXmlParser.END_TAG: |
83 | 80 |
break; |
84 | 81 |
case KXmlParser.TEXT: |
85 |
//System.out.println("[TEXT]["+kxmlParser.getText()+"]"); |
|
82 |
|
|
86 | 83 |
break; |
87 | 84 |
} |
88 | 85 |
tag = kxmlParser.next(); |
89 | 86 |
} |
90 |
// while (kxmlParser.nextTag() != KXmlParser.END_DOCUMENT) { |
|
91 |
// //readXMLData(kxmlParser); |
|
92 |
// } |
|
93 |
//kxmlParser.require(KXmlParser.END_TAG, null, CapabilitiesTags.CAPABILITIES_ROOT); |
|
94 |
//kxmlParser.next(); |
|
87 |
|
|
95 | 88 |
kxmlParser.require(KXmlParser.END_DOCUMENT, null, null); |
96 | 89 |
} |
97 | 90 |
} |
98 | 91 |
catch(XmlPullParserException parser_ex){ |
99 |
System.out.println(parser_ex.getMessage()); |
|
100 | 92 |
parser_ex.printStackTrace(); |
101 |
// TODO: Implement logic to handle the exceptions |
|
102 | 93 |
} |
103 | 94 |
catch (IOException ioe) { |
104 | 95 |
ioe.printStackTrace(); |
105 |
// TODO: Implement logic to handle the exceptions |
|
106 | 96 |
} finally { |
107 | 97 |
|
108 | 98 |
} |
109 |
// In the parsing process the layer has been filled |
|
110 | 99 |
} |
111 | 100 |
|
112 | 101 |
/** |
... | ... | |
185 | 174 |
} |
186 | 175 |
else if (parser.getName().compareTo(CapabilitiesTags.EXCEPTION)==0) |
187 | 176 |
{ |
188 |
//Parse exception tags... |
|
177 |
// TODO: |
|
178 |
// add the exception formats supported. |
|
189 | 179 |
} |
190 | 180 |
else if (parser.getName().compareTo(CapabilitiesTags.LAYER)==0) |
191 | 181 |
{ |
... | ... | |
205 | 195 |
lyr.parse(parser, layers); |
206 | 196 |
|
207 | 197 |
if (lyr.getName()!=null) |
208 |
layers.put(lyr.getName(), lyr); |
|
209 |
//Add all the SRS that the layer supports to the WMSProtocolHandler if they dont exist already |
|
210 |
// for (i=0;i<lyr.getAllSrs().size();i++) |
|
211 |
// { |
|
212 |
// if (!this.srs.contains(lyr.getAllSrs().elementAt(i))) |
|
213 |
// { |
|
214 |
// this.srs.add( lyr.getAllSrs().elementAt(i)); |
|
215 |
// } |
|
216 |
// } |
|
198 |
layers.put(lyr.getName(), lyr); |
|
217 | 199 |
} |
218 | 200 |
else if ((parser.getName().compareTo(CapabilitiesTags.VENDORSPECIFICCAPABILITIES)==0) || |
219 | 201 |
(parser.getName().compareTo(CapabilitiesTags.USERDEFINEDSYMBOLIZATION )==0)) |
... | ... | |
252 | 234 |
case KXmlParser.START_TAG: |
253 | 235 |
if (parser.getName().compareTo(CapabilitiesTags.GETCAPABILITIES)==0) |
254 | 236 |
{ |
255 |
serviceInfo.operations.put(WMSProtocolHandler.STR_GETCAPABILITIES, null);
|
|
237 |
serviceInfo.operations.put(CapabilitiesTags.GETCAPABILITIES , null);
|
|
256 | 238 |
} |
257 | 239 |
else if (parser.getName().compareTo(CapabilitiesTags.GETMAP)==0) |
258 |
{ |
|
259 |
// serviceInfo.operations.add(new Integer(WMSProtocolHandler.GETMAP_OPERATION)); |
|
260 |
// currentTag = parser.nextTag(); |
|
261 |
// parser.require(KXmlParser.START_TAG, null, CapabilitiesTags.FORMAT); |
|
262 |
// while ((currentTag == KXmlParser.START_TAG) && |
|
263 |
// (parser.getName().compareTo(CapabilitiesTags.FORMAT)==0)) |
|
264 |
// { |
|
265 |
// parser.require(KXmlParser.START_TAG, null, CapabilitiesTags.FORMAT); |
|
266 |
// serviceInfo.formats.add(parser.nextText()); |
|
267 |
// parser.nextTag(); |
|
268 |
// } |
|
269 |
serviceInfo.operations.put(WMSProtocolHandler.STR_GETMAP, null); |
|
240 |
{ |
|
241 |
serviceInfo.operations.put(CapabilitiesTags.GETMAP, null); |
|
270 | 242 |
parseGetMapTag(parser); |
271 | 243 |
} |
272 | 244 |
else if (parser.getName().compareTo(CapabilitiesTags.GETFEATUREINFO)==0) |
273 | 245 |
{ |
274 |
serviceInfo.operations.put(WMSProtocolHandler.STR_GETFEATUREINFO, null);
|
|
246 |
serviceInfo.operations.put(CapabilitiesTags.GETFEATUREINFO, null);
|
|
275 | 247 |
parseGetFeatureInfoTag(parser); |
276 | 248 |
} |
277 | 249 |
else if (parser.getName().compareTo(CapabilitiesTags.DESCRIBELAYER)==0) |
278 | 250 |
{ |
279 |
serviceInfo.operations.put(WMSProtocolHandler.STR_DESCRIBELAYER, null);
|
|
251 |
serviceInfo.operations.put(CapabilitiesTags.DESCRIBELAYER, null);
|
|
280 | 252 |
} |
281 | 253 |
break; |
282 | 254 |
case KXmlParser.END_TAG: |
... | ... | |
326 | 298 |
String value = new String(); |
327 | 299 |
value = parser.getAttributeValue("", CapabilitiesTags.XLINK_HREF); |
328 | 300 |
if (value != null){ |
329 |
serviceInfo.operations.put(WMSProtocolHandler.STR_GETMAP, value);
|
|
301 |
serviceInfo.operations.put(CapabilitiesTags.GETMAP, value);
|
|
330 | 302 |
} |
331 | 303 |
} |
332 | 304 |
} |
Also available in: Unified diff