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

View differences:

MultiPointPropertyTypeBinding.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;
......
101 102
	 * @throws IOException
102 103
	 */
103 104
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
104
		boolean endFeature = false;
105
		int currentTag;
105

  
106
	    parser.require(EventType.START_ELEMENT, GMLTags.GML_MULTIPOINTPROPERTY);
107
	    
108
	    boolean endFeature = false;
109
		EventType currentTag;
106 110
		Object multiPoint = null;		
107 111
		
108 112
		super.setAtributtes(parser, handler.getErrorHandler());
109 113
		
110
		QName tag = parser.getName();
114
		QName tag = parser.getElementName();
111 115
		currentTag = parser.getEventType();
112 116

  
113 117
		while (!endFeature){
114
			switch(currentTag){
115
			case IXmlStreamReader.START_ELEMENT:
118
			switch(currentTag.getCode()){
119
			case EventType.START_ELEMENT_CODE:
116 120
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTIPOINT)){
117 121
						multiPoint = handler.getProfile().getMultiPointTypeBinding().
118 122
						parse(parser, handler);						
119 123
					}
120 124
					break;
121
				case IXmlStreamReader.END_ELEMENT:
125
				case EventType.END_ELEMENT_CODE:
122 126
					if ((CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTIPOINTPROPERTY))||
123 127
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTILOCATION))||
124 128
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTICENTEROF))||
......
126 130
						endFeature = true;							
127 131
					}
128 132
					break;
129
				case IXmlStreamReader.CHARACTERS:					
130
					
131
					break;
132 133
				}
133 134
				if (!endFeature){					
134
					currentTag = parser.next();
135
					tag = parser.getName();
135
					currentTag = parser.nextTag();
136
					tag = parser.getElementName();
136 137
				}
137 138
			}			
138 139
		return multiPoint;	

Also available in: Unified diff