Revision 53 branches/v1_9_0/libGPE-GML/src/org/gvsig/gpe/gml/parser/v2/geometries/LineStringPropertyTypeBinding.java
LineStringPropertyTypeBinding.java | ||
---|---|---|
6 | 6 |
|
7 | 7 |
import org.gvsig.gpe.gml.parser.GPEDefaultGmlParser; |
8 | 8 |
import org.gvsig.gpe.gml.utils.GMLTags; |
9 |
import org.gvsig.gpe.xml.stream.EventType; |
|
9 | 10 |
import org.gvsig.gpe.xml.stream.IXmlStreamReader; |
10 | 11 |
import org.gvsig.gpe.xml.stream.XmlStreamException; |
11 | 12 |
import org.gvsig.gpe.xml.utils.CompareUtils; |
... | ... | |
92 | 93 |
* @throws IOException |
93 | 94 |
*/ |
94 | 95 |
public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException { |
95 |
boolean endFeature = false; |
|
96 |
int currentTag; |
|
96 |
|
|
97 |
parser.require(EventType.START_ELEMENT, GMLTags.GML_LINESTRINGPROPERTY); |
|
98 |
|
|
99 |
boolean endFeature = false; |
|
100 |
EventType currentTag; |
|
97 | 101 |
Object lineString = null; |
98 | 102 |
|
99 |
QName tag = parser.getName(); |
|
103 |
QName tag = parser.getElementName();
|
|
100 | 104 |
currentTag = parser.getEventType(); |
101 | 105 |
|
102 | 106 |
while (!endFeature){ |
103 |
switch(currentTag){ |
|
104 |
case IXmlStreamReader.START_ELEMENT:
|
|
107 |
switch(currentTag.getCode()){
|
|
108 |
case EventType.START_ELEMENT_CODE:
|
|
105 | 109 |
if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_LINESTRING)){ |
106 | 110 |
lineString =handler.getProfile().getLineStringTypeBinding(). |
107 | 111 |
parse(parser, handler); |
108 | 112 |
} |
109 | 113 |
break; |
110 |
case IXmlStreamReader.END_ELEMENT:
|
|
114 |
case EventType.END_ELEMENT_CODE:
|
|
111 | 115 |
if ((CompareUtils.compareWithNamespace(tag,GMLTags.GML_LINESTRINGPROPERTY))|| |
112 | 116 |
(CompareUtils.compareWithNamespace(tag,GMLTags.GML_EDGEOF))|| |
113 | 117 |
(CompareUtils.compareWithNamespace(tag,GMLTags.GML_CENTERLINEOF))) |
... | ... | |
115 | 119 |
endFeature = true; |
116 | 120 |
} |
117 | 121 |
break; |
118 |
case IXmlStreamReader.CHARACTERS: |
|
119 |
|
|
120 |
break; |
|
121 | 122 |
} |
122 | 123 |
if (!endFeature){ |
123 |
currentTag = parser.next(); |
|
124 |
tag = parser.getName(); |
|
124 |
currentTag = parser.nextTag();
|
|
125 |
tag = parser.getElementName();
|
|
125 | 126 |
} |
126 | 127 |
} |
127 | 128 |
return lineString; |
Also available in: Unified diff