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

View differences:

PointPropertyTypeBinding.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;
......
92 93
	 * @throws IOException
93 94
	 */
94 95
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
96
	    
97
	    parser.require(EventType.START_ELEMENT, GMLTags.GML_POINTPROPERTY);
98
	    
95 99
		boolean endFeature = false;
96
		int currentTag;
100
		EventType currentTag;
97 101
		Object point = null;		
98 102

  
99
		QName tag = parser.getName();
103
		QName tag = parser.getElementName();
100 104
		currentTag = parser.getEventType();
101 105

  
102 106
		while (!endFeature){
103
			switch(currentTag){
104
			case IXmlStreamReader.START_ELEMENT:
107
			switch(currentTag.getCode()){
108
			case EventType.START_ELEMENT_CODE:
105 109
				if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_POINT))
106 110
				{
107 111
					point = handler.getProfile().getPointTypeBinding().
108 112
					parse(parser, handler);
109 113
				}
110 114
				break;
111
			case IXmlStreamReader.END_ELEMENT:
115
			case EventType.END_ELEMENT_CODE:
112 116
				if ((CompareUtils.compareWithNamespace(tag,GMLTags.GML_POINTPROPERTY))||
113 117
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_LOCATION))||
114 118
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_CENTEROF))||
......
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 point;	

Also available in: Unified diff