29 |
29 |
import org.xmlpull.v1.XmlPullParserException;
|
30 |
30 |
|
31 |
31 |
import org.gvsig.remoteclient.utils.CapabilitiesTags;
|
|
32 |
import org.xmlpull.v1.XmlPullParser;
|
32 |
33 |
|
33 |
34 |
/**
|
34 |
35 |
* This class parses an exception and returns it
|
... | ... | |
80 |
81 |
}
|
81 |
82 |
return new WFSException();
|
82 |
83 |
}
|
83 |
|
|
84 |
|
public static WFSException parseExceptionReport(KXmlParser parser) throws XmlPullParserException, IOException {
|
85 |
|
int currentTag;
|
86 |
|
boolean end = false;
|
87 |
|
|
88 |
|
currentTag = parser.next();
|
89 |
|
|
|
84 |
|
|
85 |
public static WFSException parseExceptionReport(KXmlParser parser) throws XmlPullParserException, IOException {
|
90 |
86 |
String code = null;
|
91 |
|
|
92 |
|
while (!end)
|
93 |
|
{
|
94 |
|
switch(currentTag)
|
95 |
|
{
|
96 |
|
case KXmlParser.START_TAG:
|
97 |
|
if (CapabilitiesTags.EXCEPTION.equals(parser.getName()))
|
98 |
|
{
|
99 |
|
for (int i=0 ; i<parser.getAttributeCount() ; i++){
|
100 |
|
String attName = parser.getAttributeName(i);
|
101 |
|
if (CapabilitiesTags.EXCEPTION_CODE.equals(attName)){
|
102 |
|
code = parser.getAttributeValue(i);
|
103 |
|
}
|
|
87 |
int eventType = parser.getEventType();
|
|
88 |
|
|
89 |
while ( eventType != XmlPullParser.END_DOCUMENT) {
|
|
90 |
switch (eventType) {
|
|
91 |
case KXmlParser.START_TAG:
|
|
92 |
if (CapabilitiesTags.EXCEPTION.equals(parser.getName())) {
|
|
93 |
for (int i = 0; i < parser.getAttributeCount(); i++) {
|
|
94 |
String attName = parser.getAttributeName(i);
|
|
95 |
if (CapabilitiesTags.EXCEPTION_CODE.equals(attName)) {
|
|
96 |
code = parser.getAttributeValue(i);
|
|
97 |
}
|
|
98 |
}
|
|
99 |
} else if (CapabilitiesTags.EXCEPTION_TEXT.equals(parser.getName())) {
|
|
100 |
parser.next();
|
|
101 |
return new WFSException(code, parser.getText());
|
104 |
102 |
}
|
105 |
|
} else if (CapabilitiesTags.EXCEPTION_TEXT.equals(parser.getName())){
|
106 |
|
parser.next();
|
107 |
|
return new WFSException(code, parser.getText());
|
108 |
|
}
|
109 |
|
break;
|
110 |
|
case KXmlParser.END_TAG:
|
111 |
|
if (CapabilitiesTags.EXCEPTION_REPORT.equals(parser.getName()))
|
112 |
|
end = true;
|
113 |
|
break;
|
114 |
|
case KXmlParser.TEXT:
|
115 |
|
break;
|
|
103 |
break;
|
|
104 |
case KXmlParser.END_TAG:
|
|
105 |
break;
|
|
106 |
case KXmlParser.TEXT:
|
|
107 |
break;
|
116 |
108 |
}
|
117 |
|
if (!end){
|
118 |
|
currentTag = parser.next();
|
119 |
|
}
|
120 |
|
}
|
|
109 |
parser.nextTag();
|
|
110 |
eventType = parser.getEventType();
|
|
111 |
}
|
121 |
112 |
return new WFSException();
|
122 |
113 |
}
|
123 |
114 |
}
|