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

View differences:

OuterBoundaryIsTypeBinding.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;
......
96 97
	 * @throws IOException
97 98
	 */
98 99
	public ICoordinateIterator parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
99
		boolean endFeature = false;
100
		int currentTag;
101 100

  
102
		QName tag = parser.getName();
101
        parser.require(EventType.START_ELEMENT, GMLTags.GML_OUTERBOUNDARYIS);
102

  
103
        boolean endFeature = false;
104
		EventType currentTag;
105

  
106
		QName tag = parser.getElementName();
103 107
		currentTag = parser.getEventType();
104 108

  
105 109
		while (!endFeature){
106
			switch(currentTag){
107
			case IXmlStreamReader.START_ELEMENT:
110
			switch(currentTag.getCode()){
111
			case EventType.START_ELEMENT_CODE:
108 112
				if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_LINEARRING)){
109 113
					return handler.getProfile().getLinearRingTypeBinding().
110 114
					parseCoordinates(parser, handler);
111 115
				}
112 116
				break;
113
			case IXmlStreamReader.END_ELEMENT:
117
			case EventType.END_ELEMENT_CODE:
114 118
				if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_OUTERBOUNDARYIS)){						
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 null;

Also available in: Unified diff