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

View differences:

LineStringPropertyTypeBinding.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 {
95
		boolean endFeature = false;
96
		int currentTag;
96

  
97
        parser.require(EventType.START_ELEMENT, GMLTags.GML_LINESTRINGPROPERTY);
98
        
99
	    boolean endFeature = false;
100
		EventType currentTag;
97 101
		Object lineString = 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_LINESTRING)){
106 110
						lineString =handler.getProfile().getLineStringTypeBinding().
107 111
						parse(parser, handler);
108 112
					}
109 113
					break;
110
				case IXmlStreamReader.END_ELEMENT:
114
				case EventType.END_ELEMENT_CODE:
111 115
					if ((CompareUtils.compareWithNamespace(tag,GMLTags.GML_LINESTRINGPROPERTY))||
112 116
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_EDGEOF))||
113 117
					(CompareUtils.compareWithNamespace(tag,GMLTags.GML_CENTERLINEOF)))
......
115 119
						endFeature = true;						
116 120
					}
117 121
					break;
118
				case IXmlStreamReader.CHARACTERS:			
119
					
120
					break;
121 122
				}
122 123
				if (!endFeature){					
123
					currentTag = parser.next();
124
					tag = parser.getName();
124
					currentTag = parser.nextTag();
125
					tag = parser.getElementName();
125 126
				}
126 127
			}			
127 128
		return lineString;	

Also available in: Unified diff