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

View differences:

MultiPolygonPropertyTypeBinding.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;
......
109 110
	 * @throws IOException
110 111
	 */
111 112
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
112
		boolean endFeature = false;
113
		int currentTag;
113
        
114
	    parser.require(EventType.START_ELEMENT, GMLTags.GML_MULTIPOLYGONPROPERTY);
115

  
116
        boolean endFeature = false;
117
		EventType currentTag;
114 118
		Object multiPolygon = null;		
115 119
		
116 120
		super.setAtributtes(parser, handler.getErrorHandler());
117 121
		
118
		QName tag = parser.getName();
122
		QName tag = parser.getElementName();
119 123
		currentTag = parser.getEventType();
120 124

  
121 125
		while (!endFeature){
122
			switch(currentTag){
123
			case IXmlStreamReader.START_ELEMENT:
126
			switch(currentTag.getCode()){
127
			case EventType.START_ELEMENT_CODE:
124 128
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTIPOLYGON)){
125 129
						multiPolygon = handler.getProfile().getMultiPolygonTypeBinding().
126 130
						parse(parser, handler);
127 131
					}
128 132
					break;
129
				case IXmlStreamReader.END_ELEMENT:
133
				case EventType.END_ELEMENT_CODE:
130 134
					if ((CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTIPOLYGONPROPERTY))||
131 135
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTIEXTENTOF))||
132 136
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTICOVERAGE)))
......
134 138
						endFeature = true;							
135 139
					}
136 140
					break;
137
				case IXmlStreamReader.CHARACTERS:					
138
					
139
					break;
140 141
				}
141 142
				if (!endFeature){					
142
					currentTag = parser.next();
143
					tag = parser.getName();
143
					currentTag = parser.nextTag();
144
					tag = parser.getElementName();
144 145
				}
145 146
			}			
146 147
		return multiPolygon;	

Also available in: Unified diff