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

View differences:

PolygonPropertyTypeBinding.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;
......
96 97
	 * @throws IOException
97 98
	 */
98 99
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
100
	    
101
	    parser.require(EventType.START_ELEMENT, null, null);
99 102
		boolean endFeature = false;
100
		int currentTag;
103
		EventType currentTag;
101 104
		Object polygon = null;		
102 105
		
103
		QName tag = parser.getName();
106
		QName tag = parser.getElementName();
104 107
		currentTag = parser.getEventType();
105 108

  
106 109
		while (!endFeature){
107
			switch(currentTag){
108
			case IXmlStreamReader.START_ELEMENT:
110
			switch(currentTag.getCode()){
111
			case EventType.START_ELEMENT_CODE:
109 112
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_POLYGON)){
110 113
						polygon = handler.getProfile().getPolygonTypeBinding().
111 114
						parse(parser, handler);
112 115
					}
113 116
					break;
114
				case IXmlStreamReader.END_ELEMENT:
117
				case EventType.END_ELEMENT_CODE:
115 118
					if ((CompareUtils.compareWithNamespace(tag,GMLTags.GML_POLYGONPROPERTY))||
116 119
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_EXTENTOF))||
117 120
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_COVERAGE)))
......
119 122
						endFeature = true;						
120 123
					}
121 124
					break;
122
				case IXmlStreamReader.CHARACTERS:			
125
				case EventType.VALUE_STRING_CODE:
123 126
					
124 127
					break;
125 128
				}
126 129
				if (!endFeature){					
127 130
					currentTag = parser.next();
128
					tag = parser.getName();
131
					tag = parser.getElementName();
129 132
				}
130 133
			}			
131 134
		return polygon;	

Also available in: Unified diff