Revision 53 branches/v1_9_0/libGPE-GML/src/org/gvsig/gpe/gml/parser/v2/geometries/PolygonTypeBinding.java
PolygonTypeBinding.java | ||
---|---|---|
7 | 7 |
import org.gvsig.gpe.gml.parser.GPEDefaultGmlParser; |
8 | 8 |
import org.gvsig.gpe.gml.utils.GMLTags; |
9 | 9 |
import org.gvsig.gpe.parser.ICoordinateIterator; |
10 |
import org.gvsig.gpe.xml.stream.EventType; |
|
10 | 11 |
import org.gvsig.gpe.xml.stream.IXmlStreamReader; |
11 | 12 |
import org.gvsig.gpe.xml.stream.XmlStreamException; |
12 | 13 |
import org.gvsig.gpe.xml.utils.CompareUtils; |
... | ... | |
105 | 106 |
* @throws IOException |
106 | 107 |
*/ |
107 | 108 |
public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException { |
109 |
|
|
110 |
parser.require(EventType.START_ELEMENT, null, null); |
|
111 |
|
|
108 | 112 |
boolean endFeature = false; |
109 |
int currentTag;
|
|
113 |
EventType currentTag;
|
|
110 | 114 |
|
111 | 115 |
super.setAtributtes(parser, handler.getErrorHandler()); |
112 | 116 |
|
113 |
QName tag = parser.getName(); |
|
117 |
QName tag = parser.getElementName();
|
|
114 | 118 |
currentTag = parser.getEventType(); |
115 | 119 |
|
116 | 120 |
while (!endFeature){ |
117 |
switch(currentTag){ |
|
118 |
case IXmlStreamReader.START_ELEMENT:
|
|
121 |
switch(currentTag.getCode()){
|
|
122 |
case EventType.START_ELEMENT_CODE:
|
|
119 | 123 |
polygon = parseTag(parser, handler, tag, id, srsName); |
120 | 124 |
break; |
121 |
case IXmlStreamReader.END_ELEMENT:
|
|
125 |
case EventType.END_ELEMENT_CODE:
|
|
122 | 126 |
endFeature = parseLastTag(parser, handler, tag); |
123 | 127 |
if (endFeature){ |
124 | 128 |
handler.getContentHandler().endPolygon(polygon); |
125 | 129 |
} |
126 | 130 |
break; |
127 |
case IXmlStreamReader.CHARACTERS:
|
|
131 |
case EventType.VALUE_STRING_CODE:
|
|
128 | 132 |
|
129 | 133 |
break; |
130 | 134 |
} |
131 | 135 |
if (!endFeature){ |
132 |
currentTag = parser.next(); |
|
133 |
tag = parser.getName(); |
|
136 |
currentTag = parser.nextTag();
|
|
137 |
tag = parser.getElementName();
|
|
134 | 138 |
} |
135 | 139 |
} |
136 | 140 |
|
Also available in: Unified diff