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

View differences:

GeometryMemberTypeBinding.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;
......
94 95
	 * @throws IOException
95 96
	 */
96 97
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
98

  
99
        parser.require(EventType.START_ELEMENT, GMLTags.GML_GEOMETRYMEMBER);
100
        
97 101
		boolean endFeature = false;
98
		int currentTag;
102
		EventType currentTag;
99 103
		Object geometry = null;		
100 104
		
101
		QName tag = parser.getName();
105
		QName tag = parser.getElementName();
102 106
		currentTag = parser.getEventType();
103 107

  
104 108
		while (!endFeature){
105
			switch(currentTag){
106
			case IXmlStreamReader.START_ELEMENT:
109
			switch(currentTag.getCode()){
110
			case EventType.START_ELEMENT_CODE:
107 111
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_POINT)){
108 112
						geometry = handler.getProfile().getPointTypeBinding().
109 113
						parse(parser, handler);
......
115 119
						parse(parser, handler);
116 120
					}
117 121
					break;
118
				case IXmlStreamReader.END_ELEMENT:
122
				case EventType.END_ELEMENT_CODE:
119 123
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_GEOMETRYMEMBER)){						
120 124
						endFeature = true;						
121 125
					}
122 126
					break;
123
				case IXmlStreamReader.CHARACTERS:			
124
					
125
					break;
126 127
				}
127 128
				if (!endFeature){					
128
					currentTag = parser.next();
129
					tag = parser.getName();
129
					currentTag = parser.nextTag();
130
					tag = parser.getElementName();
130 131
				}
131 132
			}			
132 133
		return geometry;	

Also available in: Unified diff