[prev in list] [next in list] [prev in thread] [next in thread]
List: fdo-commits
Subject: [fdo-commits] r8151 - in sandbox/adsk/4.2.Pi: . Fdo/Unmanaged/Src/Fdo/Schema Providers/WFS/Src/Provi
From: svn_fdo () osgeo ! org
Date: 2021-10-27 2:19:05
Message-ID: 20211027021906.00420178636 () trac ! osgeo ! org
[Download RAW message or body]
Author: christinebao
Date: 2021-10-26 19:19:03 -0700 (Tue, 26 Oct 2021)
New Revision: 8151
Modified:
sandbox/adsk/4.2.Pi/
sandbox/adsk/4.2.Pi/Fdo/Unmanaged/Src/Fdo/Schema/SchemaFromExternal.h
sandbox/adsk/4.2.Pi/Fdo/Unmanaged/Src/Fdo/Schema/SchemaFromExternal.xslt
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsConnection.cpp
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsDelegate.cpp
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsDelegate.h
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsFeatureType.cpp
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGetFeature.cpp
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGetFeature.h
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGlobals.h
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsSelectCommand.cpp
sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsSpatialExtentsAggregateReader.cpp
sandbox/adsk/4.2.Pi/Utilities/OWS/Inc/OWS/FdoOwsGlobals.h
sandbox/adsk/4.2.Pi/Utilities/OWS/Src/FdoOwsExceptionReport.cpp
Log:
Merged revision(s) 7712 from sandbox/adsk/4.2.Q:
#947: WFS: Cannot handle type name which ends with "_".
Fixed other 2 places which are affected by the case that class name ends with "_".
........
Merged revision(s) 7847 from sandbox/adsk/4.2.Q:
WFS Provider: Solve issues of two customer servers.
Two customer WFS servers have some special rules for filter, schema name, etc. We \
make changes to support the 2 servers.
1. Filter. The customer server has some special requirement of filter.
a) Must specify customer app name space. b) The SRS name is case sensitive. The SRS \
in filter must be same as the name got from server. c) Must add name space prefix to \
the filter property. This commit implemented above requirements.
2. Schema name. The complex type name is like 'AAAA_FeatureType'. Then what we get is \
'AAAA_Feature'. However, the real class name is 'AAAA_'. So we need to remove last \
'Feature' from the class name when getting FeatureType from the FeatureType \
collection. Maybe update .xslt to handle the case is a better solution. However, \
current change will have limited impact. If more servers have complex type like \
"*_FeatureType", we will consider to update the .xslt file.
3. Exception report. Add 2 element names 'ExceptionReport' and 'Exception' for the \
server.
........
........
Merged revision(s) 7907 from sandbox/adsk/4.2.Q:
WFS Provider: Continue working on updated server schema
We got a request from another customer that the class name is ended in 'FeatureType' \
e.g. AAFeatureType. The real name is AA, and what we get is AAFeature. So we change \
the code to adapt this change.
........
Index: sandbox/adsk/4.2.Pi
===================================================================
--- sandbox/adsk/4.2.Pi 2021-10-12 09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi 2021-10-27 02:19:03 UTC (rev 8151)
Property changes on: sandbox/adsk/4.2.Pi
___________________________________________________________________
Added: svn:mergeinfo
## -0,0 +1 ##
+/sandbox/adsk/4.2.Q:7712,7847,7907
\ No newline at end of property
Modified: sandbox/adsk/4.2.Pi/Fdo/Unmanaged/Src/Fdo/Schema/SchemaFromExternal.h
===================================================================
--- sandbox/adsk/4.2.Pi/Fdo/Unmanaged/Src/Fdo/Schema/SchemaFromExternal.h 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Fdo/Unmanaged/Src/Fdo/Schema/SchemaFromExternal.h 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -2888,6 +2888,7 @@
" <xsl:choose>",
" <xsl:when test=\"$typeName='boolean'\">boolean</xsl:when>",
" <xsl:when test=\"$typeName='dateTime'\">datetime</xsl:when>",
+" <xsl:when test=\"$typeName='date'\">string</xsl:when>",
" <xsl:when test=\"$typeName='double'\">double</xsl:when>",
" <xsl:when test=\"$typeName='float'\">single</xsl:when>",
" <xsl:when test=\"$typeName='hexBinary'\">blob</xsl:when>",
Modified: sandbox/adsk/4.2.Pi/Fdo/Unmanaged/Src/Fdo/Schema/SchemaFromExternal.xslt
===================================================================
--- sandbox/adsk/4.2.Pi/Fdo/Unmanaged/Src/Fdo/Schema/SchemaFromExternal.xslt 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Fdo/Unmanaged/Src/Fdo/Schema/SchemaFromExternal.xslt 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -2884,6 +2884,7 @@
<xsl:choose>
<xsl:when test="$typeName='boolean'">boolean</xsl:when>
<xsl:when test="$typeName='dateTime'">datetime</xsl:when>
+ <xsl:when test="$typeName='date'">string</xsl:when>
<xsl:when test="$typeName='double'">double</xsl:when>
<xsl:when test="$typeName='float'">single</xsl:when>
<xsl:when test="$typeName='hexBinary'">blob</xsl:when>
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsConnection.cpp
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsConnection.cpp 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsConnection.cpp 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -687,8 +687,14 @@
{
// Cannot find the class, try to add a "_" to the class \
name.
// This case happens if the type name is like "AAAA_Type". \
Fdo XML reader will read the name as "AAAA". + // Another \
special case is the type name is like AAAA_FeatureType. Fdo XML reader will read the \
name as "AAAA_Feature". // But the name in feature collection is "AAAA_".
- NameFeat += L"_";
+ FdoInt32 len = NameFeat.GetLength();
+ FdoStringP suffix = NameFeat.Mid(len - 7, 7);
+ if (wcsicmp(L"Feature", suffix) == 0)
+ NameFeat = NameFeat.Mid(0, len - 7);
+ else
+ NameFeat += L"_";
pFeat = pFeatColl->FindItem(NameFeat);
}
}
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsDelegate.cpp
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsDelegate.cpp 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsDelegate.cpp 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -104,6 +104,7 @@
FdoIFeatureReader* FdoWfsDelegate::GetFeature(FdoFeatureSchemaCollection* schemas,
FdoPhysicalSchemaMappingCollection* \
schemaMappings, FdoString* targetNamespace,
+ FdoString* targetNamespaceName,
FdoString* srsName,
FdoStringCollection* \
propertiesToSelect, FdoString* from,
@@ -114,6 +115,7 @@
void* handleData)
{
FdoPtr<FdoWfsGetFeature> request = FdoWfsGetFeature::Create(targetNamespace,
+ targetNamespaceName,
srsName,
propertiesToSelect,
from,
@@ -127,35 +129,45 @@
{
response = Invoke(request);
}
- catch(FdoException* exc) // some servers request to have the class name in the \
front of properties, so we will try to place them + catch(FdoException* exc) // \
some servers request to have the class or namespace name in the front of properties, \
so we will try to place them {
exc1 = exc;
- request->EncodeWithClassName(true);
+ request->EncodeWithNamespaceName(true);
try
{
response = Invoke(request);
}
- catch(FdoException* exc2) // rare cases
+ catch (FdoException* exc2)
{
exc2->Release();
- request->SetSchemaName(L""); // remove schema name
- request->EncodeWithClassName(false);
+ request->EncodeWithNamespaceName(false);
+ request->EncodeWithClassName(true);
try
{
response = Invoke(request);
}
- catch(FdoException* exc3)
+ catch (FdoException* exc3) // rare cases
{
exc3->Release();
- request->EncodeWithClassName(true);
+ request->SetSchemaName(L""); // remove schema name
+ request->EncodeWithClassName(false);
try
{
response = Invoke(request);
}
- catch(FdoException* exc4)
+ catch (FdoException* exc4)
{
exc4->Release();
- throw exc1;
+ request->EncodeWithClassName(true);
+ try
+ {
+ response = Invoke(request);
+ }
+ catch (FdoException* exc5)
+ {
+ exc5->Release();
+ throw exc1;
+ }
}
}
}
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsDelegate.h
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsDelegate.h 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsDelegate.h 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -55,7 +55,9 @@
FdoFeatureSchemaCollection* DescribeFeatureType(FdoStringCollection* \
typeNames,FdoString* version); FdoIFeatureReader* \
GetFeature(FdoFeatureSchemaCollection* schemas,
FdoPhysicalSchemaMappingCollection* \
schemaMappings,
- FdoString* targetNamespace, FdoString* srsName,
+ FdoString* targetNamespace,
+ FdoString* targetNamesapceName,
+ FdoString* srsName,
FdoStringCollection* propertiesToSelect,
FdoString* from,
FdoFilter* where,
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsFeatureType.cpp
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsFeatureType.cpp 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsFeatureType.cpp 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -69,7 +69,8 @@
FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::Title) == 0 ||
FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::Abstract) == 0 ||
FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::Keywords) == 0 ||
- FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::MetadataURL) == 0 )
+ FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::MetadataURL) == 0 ||
+ FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::OutputFormats) == \
0) {
FdoPtr<FdoXmlCharDataHandler> charDataHandler = \
FdoXmlCharDataHandler::Create();
myContext->SetFeatureTypeCharDataHandler(charDataHandler);
@@ -178,7 +179,7 @@
FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::DefaultCRS) == \
0) {
m_srs = charDataHandler->GetString();
- m_srs = m_srs.Upper();
+ // m_srs = m_srs.Upper();
}
else if (FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::Title) == \
0) m_title = charDataHandler->GetString();
@@ -186,9 +187,10 @@
m_abstract = charDataHandler->GetString();
else if (FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::Keywords) == 0)
m_keywords = charDataHandler->GetString();
- else if (FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::MetadataURL) ==0)
+ else if (FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::MetadataURL) ==0 ||
+ FdoCommonOSUtil::wcsicmp(name, FdoWfsGlobals::OutputFormats) \
== 0) {
- // For now, we don't make use of MetadataURL tag.
+ // For now, we don't make use of MetadataURL/OutputFormats tag.
// So we just ignore them.
}
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGetFeature.cpp
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGetFeature.cpp 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGetFeature.cpp 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -24,7 +24,9 @@
// this line have been added for debug purposes
//#define DEBUG_LIMIT_FEATURES
-FdoWfsGetFeature::FdoWfsGetFeature(FdoString* targetNamespace, FdoString* srsName,
+FdoWfsGetFeature::FdoWfsGetFeature(FdoString* targetNamespace,
+ FdoString* targetNamespaceName,
+ FdoString* srsName,
FdoStringCollection* propertiesToSelect,
FdoString* from,
FdoFilter* where,
@@ -31,11 +33,12 @@
FdoString* schemaName,
FdoString* version,
FdoBoolean invertAxis) : \
FdoOwsRequest(FdoWfsGlobals::WFS, FdoWfsGlobals::GetFeature),
- m_targetNamespace(targetNamespace), \
m_srsName(srsName), + \
m_targetNamespace(targetNamespace), m_targetNamespaceName(targetNamespaceName), \
m_srsName(srsName),
m_propertiesToSelect(propertiesToSelect),
m_from(from), m_where(where), \
m_schemaName(schemaName), m_invertAxis(invertAxis) {
m_encodeWithClassName = false;
+ m_encodeWithNamespaceName = false;
FdoOwsRequest::SetVersion (version ? version : FdoWfsGlobals::WfsVersion);
FDO_SAFE_ADDREF(propertiesToSelect);
FDO_SAFE_ADDREF(where);
@@ -45,10 +48,10 @@
{
}
-FdoWfsGetFeature* FdoWfsGetFeature::Create(FdoString* targetNamespace, FdoString* \
srsName, FdoStringCollection* propertiesToSelect, +FdoWfsGetFeature* \
FdoWfsGetFeature::Create(FdoString* targetNamespace, FdoString* targetNamespaceName, \
FdoString* srsName, FdoStringCollection* propertiesToSelect,
FdoString* from, FdoFilter* where, FdoString* \
schemaName, FdoString* version, FdoBoolean invertAxis) {
- return new FdoWfsGetFeature(targetNamespace, srsName, propertiesToSelect, from, \
where, schemaName, version, invertAxis); + return new \
FdoWfsGetFeature(targetNamespace, targetNamespaceName, srsName, propertiesToSelect, \
from, where, schemaName, version, invertAxis); }
FdoStringP FdoWfsGetFeature::EncodeKVP()
@@ -112,13 +115,19 @@
ns += FdoXml::mGmlNs;
writer->WriteAttribute(ns, FdoXml::mGmlUri);
// application namespace
- //ns = FdoXml::mXmlnsPref;
- //ns += L":";
- //ns += FdoWfsGlobals::appns;
- //writer->WriteAttribute(ns, m_targetNamespace);
+ if (m_targetNamespace != L"" && m_targetNamespaceName != L"")
+ {
+ ns = FdoXml::mXmlnsPref;
+ ns += L":";
+ ns += m_targetNamespaceName;
+ writer->WriteAttribute(ns, m_targetNamespace);
+ }
- FdoOwsOgcFilterSerializer::Serialize(m_where, writer, m_srsName, NULL, \
m_invertAxis);
-
+ FdoStringP prefix;
+ if (m_encodeWithNamespaceName && m_targetNamespaceName != L"")
+ prefix = m_targetNamespaceName;
+ FdoOwsOgcFilterSerializer::Serialize(m_where, writer, m_srsName, prefix, \
m_invertAxis); +
writer = NULL;
stream->Reset();
FdoInt64 length = stream->GetLength();
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGetFeature.h
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGetFeature.h 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGetFeature.h 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -31,14 +31,18 @@
FdoStringP m_from;
FdoPtr<FdoFilter> m_where;
FdoStringP m_targetNamespace;
+ FdoStringP m_targetNamespaceName;
FdoStringP m_srsName;
bool m_encodeWithClassName;
+ bool m_encodeWithNamespaceName;
FdoStringP m_schemaName;
FdoBoolean m_invertAxis;
protected:
FdoWfsGetFeature() {};
- FdoWfsGetFeature(FdoString* targetNamespace, FdoString* srsName,
+ FdoWfsGetFeature(FdoString* targetNamespace,
+ FdoString* targetNamespaceName,
+ FdoString* srsName,
FdoStringCollection* propertiesToSelect,
FdoString* from,
FdoFilter* where,
@@ -49,7 +53,9 @@
virtual void Dispose() { delete this; }
public:
- static FdoWfsGetFeature* Create(FdoString* targetNamespace, FdoString* srsName,
+ static FdoWfsGetFeature* Create(FdoString* targetNamespace,
+ FdoString* targetNamespaceName,
+ FdoString* srsName,
FdoStringCollection* propertiesToSelect,
FdoString* from,
FdoFilter* where,
@@ -61,6 +67,7 @@
virtual FdoStringP EncodeXml();
virtual void EncodeWithClassName(bool bVal) {m_encodeWithClassName = bVal;};
+ virtual void EncodeWithNamespaceName(bool bVal) { m_encodeWithNamespaceName = \
bVal; }
virtual void SetSchemaName(FdoStringP schemaName) {m_schemaName = schemaName;}
};
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGlobals.h
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGlobals.h 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsGlobals.h 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -42,6 +42,7 @@
static FdoString* Abstract = L"Abstract";
static FdoString* Keywords = L"Keywords";
static FdoString* MetadataURL = L"MetadataURL";
+ static FdoString* OutputFormats = L"OutputFormats";
static FdoString* LatLongBoundingBox = L"LatLongBoundingBox";
static FdoString* WGS84BoundingBox = L"WGS84BoundingBox";
static FdoString* minx = L"minx";
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsSelectCommand.cpp
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsSelectCommand.cpp 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsSelectCommand.cpp 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -119,6 +119,7 @@
FdoString* featureTypeName = NULL;
FdoStringP featureTypeNameCheck;
FdoString* targetNamespace = L"";
+ FdoString* targetNamespaceName = L"";
FdoPtr<FdoFeatureSchemaCollection> schemas = mConnection->GetSchemas();
FdoPtr<FdoPhysicalSchemaMappingCollection> mappings = \
schemas->GetXmlSchemaMappings(); FdoPtr<FdoXmlClassMapping> elementClass;
@@ -142,6 +143,7 @@
featureTypeName = elementMapping->GetName();
schemaFeatureName = schema->GetName();
targetNamespace = mapping->GetTargetNamespace();
+ targetNamespaceName = mapping->GetName();
break;
}
}
@@ -167,6 +169,23 @@
{
FdoPtr<FdoWfsServiceMetadata> metadata = \
mConnection->GetServiceMetadata();
FdoPtr<FdoWfsFeatureType> featureType = \
metadata->GetFeatureType(mClassName); + if (featureType == NULL)
+ {
+ // handle the case which 'real' class name ends with "_" or \
"Feature" + FdoStringP cName = mClassName->GetText();
+ FdoStringP realName = cName + L"_";
+ FdoPtr<FdoIdentifier> realNameIdentifier = \
FdoIdentifier::Create(realName); + featureType = \
metadata->GetFeatureType(realNameIdentifier); + if (featureType == \
NULL) + {
+ FdoInt32 len = cName.GetLength();
+ FdoStringP suffix = cName.Mid(len - 7, 7);
+ if (wcsicmp(L"Feature", suffix) == 0)
+ realName = cName.Mid(0, len - 7);
+ realNameIdentifier = FdoIdentifier::Create(realName);
+ featureType = metadata->GetFeatureType(realNameIdentifier);
+ }
+ }
if (featureType != NULL)
srsName = featureType->GetSRS();
}
@@ -276,6 +295,7 @@
schemas,
mappings,
targetNamespace,
+ targetNamespaceName,
srsName,
bHasComputedProperties ? FdoPtr<FdoStringCollection>() : props, // \
Computed properties may reference other properties so retrieve all of them. \
featureTypeName,
Modified: sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsSpatialExtentsAggregateReader.cpp
===================================================================
--- sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsSpatialExtentsAggregateReader.cpp 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Providers/WFS/Src/Provider/FdoWfsSpatialExtentsAggregateReader.cpp 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -31,6 +31,23 @@
FdoPtr<FdoWfsServiceMetadata> serviceMetadata = conn->GetServiceMetadata ();
FdoPtr<FdoWfsFeatureType> featureType = \
serviceMetadata->GetFeatureType(className); if (featureType == NULL)
+ {
+ // handle the case which 'real' class name ends with "_" or "Feature"
+ FdoStringP cName = className->GetText();
+ FdoStringP realName = cName + L"_";
+ FdoPtr<FdoIdentifier> realNameIdentifier = FdoIdentifier::Create(realName);
+ featureType = serviceMetadata->GetFeatureType(realNameIdentifier);
+ if (featureType == NULL)
+ {
+ FdoInt32 len = cName.GetLength();
+ FdoStringP suffix = cName.Mid(len - 7, 7);
+ if (wcsicmp(L"Feature", suffix) == 0)
+ realName = cName.Mid(0, len - 7);
+ realNameIdentifier = FdoIdentifier::Create(realName);
+ featureType = serviceMetadata->GetFeatureType(realNameIdentifier);
+ }
+ }
+ if (featureType == NULL)
throw FdoCommandException::Create (
NlsMsgGet(FDO_NLSID(WFS_NAMED_FEATURETYPE_NOT_FOUND), \
(FdoString*)className->GetText()));
Modified: sandbox/adsk/4.2.Pi/Utilities/OWS/Inc/OWS/FdoOwsGlobals.h
===================================================================
--- sandbox/adsk/4.2.Pi/Utilities/OWS/Inc/OWS/FdoOwsGlobals.h 2021-10-12 09:04:04 UTC \
(rev 8150)
+++ sandbox/adsk/4.2.Pi/Utilities/OWS/Inc/OWS/FdoOwsGlobals.h 2021-10-27 02:19:03 UTC \
(rev 8151) @@ -88,8 +88,11 @@
static FdoString* href = \
L"http://www.w3.org/1999/xlink:href"; static FdoString* type = \
L"http://www.w3.org/1999/xlink:type";
static FdoString* ServiceExceptionReport = \
L"ServiceExceptionReport"; + static FdoString* ExceptionReport \
= L"ExceptionReport";
static FdoString* ServiceException = L"ServiceException";
+ static FdoString* Exception = L"Exception";
static FdoString* code = L"code";
+ static FdoString* ExceptionCode = L"ExceptionCode";
static FdoString* REQUEST = L"REQUEST";
static FdoString* Equal = L"=";
static FdoString* service = L"service";
Modified: sandbox/adsk/4.2.Pi/Utilities/OWS/Src/FdoOwsExceptionReport.cpp
===================================================================
--- sandbox/adsk/4.2.Pi/Utilities/OWS/Src/FdoOwsExceptionReport.cpp 2021-10-12 \
09:04:04 UTC (rev 8150)
+++ sandbox/adsk/4.2.Pi/Utilities/OWS/Src/FdoOwsExceptionReport.cpp 2021-10-27 \
02:19:03 UTC (rev 8151) @@ -59,7 +59,8 @@
// we are now in document root, possible subelements include only \
<ServiceExceptionReport/> case 0:
{
- if (FdoCommonOSUtil::wcsicmp(name, \
FdoOwsGlobals::ServiceExceptionReport) == 0) + if \
(FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::ServiceExceptionReport) == 0 || + \
FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::ExceptionReport) == 0) \
myContext->SetStateExceptionReport(1); else
throw FdoException::Create(FdoException::NLSGetMessage(
@@ -71,11 +72,15 @@
// we are now in nested level 1, possible subelements include only \
<ServiceException/> case 1:
{
- if (FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::ServiceException) == \
0) + if (FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::ServiceException) \
== 0 || + FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::Exception) == \
0) {
FdoPtr<FdoXmlAttribute> attr = atts->FindItem(FdoOwsGlobals::code);
+ if (NULL == attr)
+ attr = atts->FindItem(FdoOwsGlobals::ExceptionCode);
if (attr != NULL)
m_exceptionMessage = attr->GetValue();
+
FdoPtr<FdoXmlCharDataHandler> handler = \
FdoXmlCharDataHandler::Create(); \
myContext->SetExceptionReportCharDataHandler(handler); pRet = handler.p;
@@ -111,7 +116,8 @@
}
case 1:
{
- if (FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::ServiceException) == \
0) + if (FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::ServiceException) \
== 0 || + FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::Exception) == \
0) {
FdoPtr<FdoXmlCharDataHandler> handler = \
myContext->ExceptionReportCharDataHandler();
if (handler != NULL) // exception message provided in the content
@@ -125,7 +131,8 @@
myContext->SetExceptionReportCharDataHandler(NULL);
}
}
- else if (FdoCommonOSUtil::wcsicmp(name, \
FdoOwsGlobals::ServiceExceptionReport) == 0) + else if \
(FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::ServiceExceptionReport) == 0 || + \
FdoCommonOSUtil::wcsicmp(name, FdoOwsGlobals::ExceptionReport) == 0) \
myContext->SetStateExceptionReport(0); break;
}
_______________________________________________
fdo-commits mailing list
fdo-commits@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/fdo-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic