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

View differences:

CoordTypeIterator.java
7 7
import org.gvsig.gpe.gml.parser.GPEDefaultGmlParser;
8 8
import org.gvsig.gpe.gml.parser.v2.geometries.DoubleTypeBinding;
9 9
import org.gvsig.gpe.gml.utils.GMLTags;
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;
......
112 113
	 * @see org.gvsig.gpe.parser.ICoordinateIterator#hasNext()
113 114
	 */
114 115
	public boolean hasNext() throws IOException {
115
		QName tag = parser.getName();
116
		QName tag = parser.getElementName();
116 117
		
117 118
		if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_COORD)){		
118 119
			return true;
......
127 128
	 */
128 129
	public void next(double[] buffer) throws IOException {
129 130
		boolean endCoord = false;
130
		int currentTag;			
131
		EventType currentTag;			
131 132
				
132
		QName tag = parser.getName();
133
		QName tag = parser.getElementName();
133 134
		currentTag = parser.getEventType();
134 135
		
135 136
		while (!endCoord){
136
			switch(currentTag){
137
			case IXmlStreamReader.START_ELEMENT:
137
			switch(currentTag.getCode()){
138
			case EventType.START_ELEMENT_CODE:
139
                tag = parser.getElementName();
138 140
				if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_X)){
139 141
					parser.next();		
140 142
					buffer[0] = DoubleTypeBinding.parse(parser.getText(),COORDINATES_DECIMAL);
......
146 148
					buffer[2] = DoubleTypeBinding.parse(parser.getText(),COORDINATES_DECIMAL);
147 149
				}
148 150
				break;
149
			case IXmlStreamReader.END_ELEMENT:
151
			case EventType.END_ELEMENT_CODE:
152
                tag = parser.getElementName();
150 153
				if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_COORD)){						
151 154
					//Advance until netx XML tag
152
					parser.nextTag();
153 155
					endCoord = true;
154 156
				}
155 157
				break;
156
			case IXmlStreamReader.CHARACTERS:					
157

  
158
				break;
159 158
			}
160 159
			if (!endCoord){					
161 160
				currentTag = parser.next();
162
				tag = parser.getName();
163 161
			}
164 162
		}				
165 163
	}	

Also available in: Unified diff