mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
wfs provider: added tests for empty stack
git-svn-id: http://svn.osgeo.org/qgis/trunk@6953 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
1938278a7d
commit
2c24223c1d
@ -63,6 +63,7 @@ int QgsWFSData::getWFSData()
|
||||
}
|
||||
mHttp.get(mUri);
|
||||
|
||||
|
||||
//loop to read the data
|
||||
QByteArray readData;
|
||||
int atEnd = 0;
|
||||
@ -184,23 +185,27 @@ void QgsWFSData::endElement(const XML_Char* el)
|
||||
QString localName = elementName.section(NS_SEPARATOR, 1, 1);
|
||||
if(elementName == GML_NAMESPACE + NS_SEPARATOR + "coordinates")
|
||||
{
|
||||
//qWarning("Poping coordinate from the stack");
|
||||
mParseModeStack.pop();
|
||||
if(!mParseModeStack.empty())
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
}
|
||||
}
|
||||
else if(localName == mAttributeName)
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
//qWarning("adding attribute");
|
||||
//qWarning(mAttributeName.toLocal8Bit().data());
|
||||
//qWarning(mStringCash.toLocal8Bit().data());
|
||||
//mCurrentFeature->addAttribute(mAttributeName, mStringCash);
|
||||
if(!mParseModeStack.empty())
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
}
|
||||
|
||||
mCurrentFeature->addAttribute(mAttributeIndex, QVariant(mStringCash));
|
||||
++mAttributeIndex;
|
||||
}
|
||||
else if(localName == mGeometryAttribute)
|
||||
{
|
||||
//qWarning("Poping geometry from the stack");
|
||||
mParseModeStack.pop();
|
||||
if(!mParseModeStack.empty())
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
}
|
||||
}
|
||||
else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "boundedBy" && mParseModeStack.top() == QgsWFSData::boundingBox)
|
||||
{
|
||||
@ -209,10 +214,11 @@ void QgsWFSData::endElement(const XML_Char* el)
|
||||
{
|
||||
qWarning("creation of bounding box failed");
|
||||
}
|
||||
//qWarning("bounding box");
|
||||
//qWarning(mExtent->stringRep().toLocal8Bit().data());
|
||||
//qWarning("Removing boundingBox from stack");
|
||||
mParseModeStack.pop();
|
||||
|
||||
if(!mParseModeStack.empty())
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
}
|
||||
}
|
||||
else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "featureMember")
|
||||
{
|
||||
@ -318,17 +324,26 @@ void QgsWFSData::endElement(const XML_Char* el)
|
||||
}
|
||||
else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiPoint")
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
if(!mParseModeStack.empty())
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
}
|
||||
createMultiPointFromFragments();
|
||||
}
|
||||
else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiLineString")
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
if(!mParseModeStack.empty())
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
}
|
||||
createMultiLineFromFragments();
|
||||
}
|
||||
else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiPolygon")
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
if(!mParseModeStack.empty())
|
||||
{
|
||||
mParseModeStack.pop();
|
||||
}
|
||||
createMultiPolygonFromFragments();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user