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

View differences:

MultiLineStringTypeBinding.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;
......
112 113
	 * @throws XmlStreamException
113 114
	 */
114 115
	public Object parse(IXmlStreamReader parser,GPEDefaultGmlParser handler) throws XmlStreamException, IOException {
115
		boolean endFeature = false;
116
		int currentTag;
116

  
117
        parser.require(EventType.START_ELEMENT, GMLTags.GML_MULTILINESTRING);
118

  
119
        boolean endFeature = false;
120
		EventType currentTag;
117 121
		Object multiLineString = null;		
118 122
		
119 123
		super.setAtributtes(parser, handler.getErrorHandler());
......
121 125
		multiLineString = 
122 126
			handler.getContentHandler().startMultiLineString(id, srsName);
123 127
		
124
		QName tag = parser.getName();
128
		QName tag = parser.getElementName();
125 129
		currentTag = parser.getEventType();
126 130

  
127 131
		while (!endFeature){
128
			switch(currentTag){
129
			case IXmlStreamReader.START_ELEMENT:
132
			switch(currentTag.getCode()){
133
			case EventType.START_ELEMENT_CODE:
130 134
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_LINESTRINGMEMBER)){
131 135
						Object lineString = handler.getProfile().getLineStringMemberTypeBinding().
132 136
						parse(parser, handler);
133 137
						handler.getContentHandler().addLineStringToMultiLineString(lineString, multiLineString);
134 138
					}
135 139
					break;
136
				case IXmlStreamReader.END_ELEMENT:
140
				case EventType.END_ELEMENT_CODE:
137 141
					if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_MULTILINESTRING)){						
138 142
						endFeature = true;	
139 143
						handler.getContentHandler().endMultiLineString(multiLineString);
140 144
					}
141 145
					break;
142
				case IXmlStreamReader.CHARACTERS:					
143
					
144
					break;
145 146
				}
146 147
				if (!endFeature){					
147
					currentTag = parser.next();
148
					tag = parser.getName();
148
					currentTag = parser.nextTag();
149
					tag = parser.getElementName();
149 150
				}
150 151
			}			
151 152
		return multiLineString;	

Also available in: Unified diff