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

View differences:

GeometryPropertyTypeBinding.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;
......
91 92
	 * @throws IOException
92 93
	 */
93 94
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
95

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

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

Also available in: Unified diff