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

View differences:

MultiPointTypeBinding.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;
......
108 109
	 * @throws IOException
109 110
	 */
110 111
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
111
		boolean endFeature = false;
112
		int currentTag;
112

  
113
	    parser.require(EventType.START_ELEMENT, GMLTags.GML_MULTIPOINT);
114

  
115
        boolean endFeature = false;
116
		EventType currentTag;
113 117
		Object multiPoint = null;		
114 118
		
115 119
		super.setAtributtes(parser, handler.getErrorHandler());
116 120
		
117 121
		multiPoint = handler.getContentHandler().startMultiPoint(id, srsName);
118 122
		
119
		QName tag = parser.getName();
123
		QName tag = parser.getElementName();
120 124
		currentTag = parser.getEventType();
121 125

  
122 126
		while (!endFeature){
123
			switch(currentTag){
124
			case IXmlStreamReader.START_ELEMENT:
127
			switch(currentTag.getCode()){
128
			case EventType.START_ELEMENT_CODE:
125 129
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_POINTMEMBER)){
126 130
						Object point = handler.getProfile().getPointMemberTypeBinding().
127 131
						parse(parser, handler);
128 132
						handler.getContentHandler().addPointToMultiPoint(point, multiPoint);
129 133
					}
130 134
					break;
131
				case IXmlStreamReader.END_ELEMENT:
135
				case EventType.END_ELEMENT_CODE:
132 136
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTIPOINT)){						
133 137
						endFeature = true;	
134 138
						handler.getContentHandler().endMultiPoint(multiPoint);
135 139
					}
136 140
					break;
137
				case IXmlStreamReader.CHARACTERS:					
138
					
139
					break;
140 141
				}
141 142
				if (!endFeature){					
142
					currentTag = parser.next();
143
					tag = parser.getName();
143
					currentTag = parser.nextTag();
144
					tag = parser.getElementName();
144 145
				}
145 146
			}			
146 147
		return multiPoint;	

Also available in: Unified diff