[fdo-trac] #480: Fdo WFS doesn't recognize class whose name
contains "."
FDO
trac_fdo at osgeo.org
Thu Mar 19 05:15:39 EDT 2009
#480: Fdo WFS doesn't recognize class whose name contains "."
----------------------------+-----------------------------------------------
Reporter: CXYS | Owner: gregboone
Type: defect | Status: new
Priority: major | Milestone: 3.5.0
Component: WFS Provider | Version: 3.4.0
Severity: 2 | Keywords:
External_id: 1200560.01 |
----------------------------+-----------------------------------------------
Defect:
Connect to the following WFS server.
<http://giswebservices.massgis.state.ma.us/geoserver/wfs>
List all the feature classes and get only "TOWNS_POLYM"; however the
server actually has quite a large number of feature classes.
Cause:
The missing feature classes are caused by the "." in the class name. The
class names in the wfs server all contain "." except "TOWNS_POLYM". Take
one class "GISDATA.BUGS96_POLY" for example, after
FdoFeatureSchemaCollection read the xml requested from wfs server, the
class name is transferred to "GISDATA-dot-BUGS96_POLY" -- please note, the
"." is renamed as "-dot-" in FdoFeatureSchemaCollection.
However in another aspect FdoWfsFeatureTypeList also parse the xml and
build up a FdoWfsFeatureTypeCollection. (FdoWfsFeatureTypeList.cpp line
72:)
FdoPtr<FdoWfsFeatureType> featureType =
FdoWfsFeatureType::Create();
featureType->InitFromXml(context, atts);
m_featureTypes->Add(featureType);
It doesn't do the translation of ".".
These difference cause the problem during DescribeSchema command execute,
which calls FdoWfsConnection::GetSchemas() actually.
FdoWfsConnection.cpp line 600:
FdoPtr<FdoWfsFeatureType> pFeat =
pFeatColl->FindItem(classDef->GetName());
As you can see, it tries to search in FdoWfsFeatureTypeCollection by class
name. But the class name is "GISDATA-dot-BUGS96_POLY" and the name
recorded in feature type is "GISDATA.BUGS96_POLY", of course nothing can
be found. Thus the class is treated as "abstract" by mistake.
--
Ticket URL: <http://trac.osgeo.org/fdo/ticket/480>
FDO <http://fdo.osgeo.org/>
Feature Data Objects
More information about the fdo-trac
mailing list