Revision 53 branches/v1_9_0/libGPE-GML/src/org/gvsig/gpe/gml/parser/v2/geometries/LinearRingTypeBinding.java

View differences:

LinearRingTypeBinding.java
10 10
import org.gvsig.gpe.gml.utils.GMLTags;
11 11
import org.gvsig.gpe.parser.ICoordinateIterator;
12 12
import org.gvsig.gpe.warnings.PolygonNotClosedWarning;
13
import org.gvsig.gpe.xml.stream.EventType;
13 14
import org.gvsig.gpe.xml.stream.IXmlStreamReader;
14 15
import org.gvsig.gpe.xml.stream.XmlStreamException;
15 16
import org.gvsig.gpe.xml.utils.CompareUtils;
......
101 102
	 * @throws IOException
102 103
	 */
103 104
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException{
105

  
106
        parser.require(EventType.START_ELEMENT, GMLTags.GML_LINEARRING);
107
        
104 108
		Object linearRing = null;
105 109
				
106 110
		super.setAtributtes(parser, handler.getErrorHandler());
......
129 133
	 */
130 134
	public ICoordinateIterator parseCoordinates(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
131 135
		boolean endFeature = false;
132
		int currentTag;
136
		EventType currentTag;
133 137
		
134
		QName tag = parser.getName();
138
		QName tag = parser.getElementName();
135 139
		currentTag = parser.getEventType();
136 140

  
137 141
		while (!endFeature){
138
			switch(currentTag){
139
			case IXmlStreamReader.START_ELEMENT:
142
			switch(currentTag.getCode()){
143
			case EventType.START_ELEMENT_CODE:
140 144
				ICoordinateIterator iterator = parseTag_(parser, handler, tag);
141 145
				if (iterator != null){
142 146
					return iterator;
143 147
				}
144
			case IXmlStreamReader.END_ELEMENT:
148
			case EventType.END_ELEMENT_CODE:
145 149
				if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_LINEARRING)){						
146 150
								
147 151
				}
148 152
				break;
149
			case IXmlStreamReader.CHARACTERS:					
150

  
151
				break;
152 153
			}
153 154
			if (!endFeature){					
154
				currentTag = parser.next();
155
				tag = parser.getName();
155
				currentTag = parser.nextTag();
156
				tag = parser.getElementName();
156 157
			}
157 158
		}			
158 159
		//The first and the last coordinates has to be the same

Also available in: Unified diff