Revision 3483 org.gvsig.raster.wcs/trunk/org.gvsig.raster.wcs/org.gvsig.raster.wcs.remoteclient/src/main/java/org/gvsig/remoteclient/wcs/wcs_1_0_0/WCSCoverage1_0_0.java
WCSCoverage1_0_0.java | ||
---|---|---|
55 | 55 |
parser.require(KXmlParser.START_TAG, null, DescribeCoverageTags.COVERAGE_OFFERING); |
56 | 56 |
currentTag = parser.next(); |
57 | 57 |
|
58 |
while (!end) |
|
58 |
while (!end && (currentTag != 1))
|
|
59 | 59 |
{ |
60 | 60 |
switch(currentTag) |
61 | 61 |
{ |
... | ... | |
72 | 72 |
bBox.setSrs(DescribeCoverageTags.WGS84); |
73 | 73 |
addBBox(bBox); |
74 | 74 |
setLonLatBox(bBox); |
75 |
//setNativeSRS(DescribeCoverageTags.WGS84); |
|
75 | 76 |
} else if (parser.getName().compareTo(DescribeCoverageTags.DOMAINSET) == 0) { |
76 | 77 |
parseDomainSet(parser); |
77 | 78 |
} else if (parser.getName().compareTo(DescribeCoverageTags.RANGESET) == 0) { |
... | ... | |
193 | 194 |
// Reading all axe description |
194 | 195 |
int axisTag = parser.nextTag(); |
195 | 196 |
boolean endAxe = false; |
196 |
while (!endAxe) { |
|
197 |
boolean endRangeSet = false; |
|
198 |
while (!endAxe) { //When axisTag == 1 it's all over. It prevents an infinite loop |
|
197 | 199 |
switch(axisTag) |
198 | 200 |
{ |
199 | 201 |
case KXmlParser.START_TAG: |
... | ... | |
201 | 203 |
AxisDescription as = parseAxisDescription(parser); |
202 | 204 |
axisPool.put(as.getName(), as); |
203 | 205 |
axisDescriptionName = as.getName(); |
206 |
endRangeSet = true; |
|
204 | 207 |
} |
205 | 208 |
break; |
206 | 209 |
case KXmlParser.END_TAG: |
... | ... | |
213 | 216 |
break; |
214 | 217 |
} |
215 | 218 |
axisTag = parser.next(); |
219 |
if(endRangeSet && parser.getName().compareToIgnoreCase(DescribeCoverageTags.RANGESET) == 0){ |
|
220 |
endAxe = true; |
|
221 |
end = true; |
|
222 |
} |
|
216 | 223 |
} |
217 | 224 |
} else { |
218 | 225 |
System.out.println("Unrecognized "+parser.getName()); |
... | ... | |
227 | 234 |
System.out.println("[TAG]["+parser.getName()+"]\n[TEXT]["+parser.getText().trim()+"]"); |
228 | 235 |
break; |
229 | 236 |
} |
230 |
currentTag = parser.next(); |
|
237 |
if(!end){ |
|
238 |
currentTag = parser.next(); |
|
239 |
} |
|
231 | 240 |
} |
232 | 241 |
} |
233 | 242 |
|
... | ... | |
598 | 607 |
System.out.println("[TAG]["+parser.getName()+"]\n[TEXT]["+parser.getText().trim()+"]"); |
599 | 608 |
break; |
600 | 609 |
} |
601 |
currentTag = parser.next(); |
|
610 |
if(!end){ |
|
611 |
currentTag = parser.next(); |
|
612 |
} |
|
602 | 613 |
} |
603 | 614 |
} |
604 | 615 |
|
... | ... | |
663 | 674 |
parser.require(KXmlParser.START_TAG, null, DescribeCoverageTags.GML_ENVELOPE); |
664 | 675 |
bBox.setSrs(parser.getAttributeValue("", DescribeCoverageTags.SRSNAME)); |
665 | 676 |
currentTag = parser.next(); |
677 |
boolean skipThisTag = false; |
|
666 | 678 |
|
667 | 679 |
while (!end) |
668 | 680 |
{ |
... | ... | |
690 | 702 |
bBox.setYmin(miny); |
691 | 703 |
bBox.setXmax(maxx); |
692 | 704 |
bBox.setYmax(maxy); |
705 |
}else{ |
|
706 |
skipThisTag = true; |
|
693 | 707 |
} |
694 | 708 |
break; |
695 | 709 |
case KXmlParser.END_TAG: |
696 |
if (parser.getName().compareTo(DescribeCoverageTags.GML_ENVELOPE) == 0) |
|
710 |
if (parser.getName().compareTo(DescribeCoverageTags.GML_ENVELOPE) == 0){
|
|
697 | 711 |
end = true; |
712 |
skipThisTag = true; |
|
713 |
} |
|
698 | 714 |
break; |
699 | 715 |
case KXmlParser.TEXT: |
700 | 716 |
if (parser.getName()!=null) |
701 | 717 |
System.out.println("[TAG]["+parser.getName()+"]\n[TEXT]["+parser.getText().trim()+"]"); |
702 | 718 |
break; |
703 | 719 |
} |
704 |
currentTag = parser.next(); |
|
720 |
if(!skipThisTag) |
|
721 |
currentTag = parser.next(); |
|
705 | 722 |
} |
706 | 723 |
|
707 | 724 |
return bBox; |
Also available in: Unified diff