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

View differences:

MultiGeometryPropertyTypeBinding.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 {
113
	    
114
	    parser.require(EventType.START_ELEMENT, GMLTags.GML_MULTIGEOMETRYPROPERTY);
115
	    
112 116
		boolean endFeature = false;
113
		int currentTag;
117
		EventType currentTag;
114 118
		Object multiGeometry = 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_MULTIGEOMETRY)){
125 129
						multiGeometry = handler.getProfile().getGeometryMemberTypeBinding().
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_MULTIGEOMETRYPROPERTY)){						
131 135
						endFeature = true;							
132 136
					}
133 137
					break;
134
				case IXmlStreamReader.CHARACTERS:					
135
					
136
					break;
137 138
				}
138 139
				if (!endFeature){					
139
					currentTag = parser.next();
140
					tag = parser.getName();
140
					currentTag = parser.nextTag();
141
					tag = parser.getElementName();
141 142
				}
142 143
			}			
143 144
		return multiGeometry;	

Also available in: Unified diff