Modified: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/XSDHelperImpl.cpp URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/XSDHelperImpl.cpp?rev=569070&r1=569069&r2=569070&view=diff ============================================================================== --- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/XSDHelperImpl.cpp (original) +++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/XSDHelperImpl.cpp Thu Aug 23 09:45:57 2007 @@ -147,10 +147,10 @@ { const char* typeUri = prop.substituteUri.isNull() ? prop.typeUri : prop.substituteUri; - const Type& rootType = dataFactory->getType(typeUri, entryName); - const std::list<PropertyImpl*>& pl = rootType.getPropertyListReference(); + const TypeImpl& rootType = dynamic_cast<const TypeImpl&>(dataFactory->getType(typeUri, entryName)); + const std::vector<PropertyImplPtr>& pl = rootType.getPropertyListReference(); - for (std::list<PropertyImpl*>::const_iterator j = pl.begin(); + for (std::vector<PropertyImplPtr>::const_iterator j = pl.begin(); j != pl.end(); j++) { @@ -169,7 +169,7 @@ typeUri, prop.typeName); XSDPropertyInfo* pi = (XSDPropertyInfo*) - ((DASProperty*) (*j))->getDASValue("XMLDAS::PropertyInfo"); + ((DASProperty*) getRawPointer(*j))->getDASValue("XMLDAS::PropertyInfo"); if (pi) { @@ -193,17 +193,17 @@ { const char* typeUri = prop.substituteUri.isNull() ? ty.uri : prop.substituteUri; - const Type* rootType = dataFactory->findType(typeUri,"RootType"); + const TypeImpl* rootType = dataFactory->findTypeImpl(typeUri,"RootType"); if (rootType == 0) return; - const std::list<PropertyImpl*>& pl = rootType->getPropertyListReference(); + const std::vector<PropertyImplPtr>& pl = rootType->getPropertyListReference(); - for (std::list<PropertyImpl*>::const_iterator j = pl.begin(); + for (std::vector<PropertyImplPtr>::const_iterator j = pl.begin(); j != pl.end(); j++) { XSDPropertyInfo* pi = (XSDPropertyInfo*) - ((DASProperty*) (*j))->getDASValue("XMLDAS::PropertyInfo"); + ((DASProperty*) getRawPointer(*j))->getDASValue("XMLDAS::PropertyInfo"); if (pi) { @@ -343,19 +343,19 @@ { // Check if this type is already defined to the data factory - try - { - const Type& rootType = dataFactory->getType(prop.typeUri, "RootType"); + const TypeImpl* rootType = dataFactory->findTypeImpl(prop.typeUri, "RootType"); - const std::list<PropertyImpl*> pl = rootType.getPropertyListReference(); + if (rootType) { + const std::vector<PropertyImplPtr> pl = + rootType->getPropertyListReference(); - for (std::list<PropertyImpl*>::const_iterator j = pl.begin(); + for (std::vector<PropertyImplPtr>::const_iterator j = pl.begin(); j != pl.end(); j++) { XSDPropertyInfo* pi = (XSDPropertyInfo*) - ((DASProperty*) (*j))->getDASValue("XMLDAS::PropertyInfo"); + ((DASProperty*) getRawPointer(*j))->getDASValue("XMLDAS::PropertyInfo"); if (prop.typeName.equals((*j)->getName()) || (pi && prop.typeName.equals(pi->getPropertyDefinition().localname))) @@ -366,9 +366,6 @@ break; } } - } - catch (const SDORuntimeException&) - { } } // If we haven't been able to resolve this reference we should ignore it
Modified: incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.cpp URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.cpp?rev=569070&r1=569069&r2=569070&view=diff ============================================================================== --- incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.cpp (original) +++ incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.cpp Thu Aug 23 09:45:57 2007 @@ -31,8 +31,7 @@ #include "sdotest.h" - - +#include "commonj/sdo/XpathHelper.h" @@ -5741,7 +5740,7 @@ DataObjectList& dl2 = dept->getList("employees"); DataObjectPtr emp = dl2[0]; - if (strcmp(emp->getProperty("openboolean").getType().getName(), + if (strcmp(emp->getInstanceProperty("openboolean")->getType().getName(), "Boolean")) { if (!silent)cout << "OpenLoad failure - bool property not boolean" << endl; @@ -5754,7 +5753,7 @@ return 0; } - if (strcmp(emp->getProperty("openstring").getType().getName(), + if (strcmp(emp->getInstanceProperty("openstring")->getType().getName(), "String")) { if (!silent)cout << "OpenLoad failure - bytes property not String" << endl; @@ -5771,11 +5770,11 @@ DataObjectList& dl3 = emp->getList("openintlist"); - if (strcmp(emp->getProperty("openintlist").getType().getName(), + if (strcmp(emp->getInstanceProperty("openintlist")->getType().getName(), "Short")) { if (!silent)cout << "OpenLoad failure - IntegerList not Short " << - emp->getProperty("openintlist").getType().getName() << endl; + emp->getInstanceProperty("openintlist")->getType().getName() << endl; return 0; } @@ -5786,7 +5785,7 @@ return 0; } - if (strcmp(emp->getProperty("opendataobjectlist").getType().getName(), + if (strcmp(emp->getInstanceProperty("opendataobjectlist")->getType().getName(), "OpenType")) { if (!silent)cout << "OpenLoad failure - OpenTypeList not OpenType" << endl; @@ -5802,7 +5801,7 @@ return 0; } - if (strcmp(emp->getProperty("opendataobject").getType().getName(), + if (strcmp(emp->getInstanceProperty("opendataobject")->getType().getName(), "OpenType")) { if (!silent)cout << "OpenLoad failure - OpenType not OpenType" << endl; @@ -5871,7 +5870,7 @@ DataObjectList& dl2 = dept->getList("employees"); DataObjectPtr emp = dl2[0]; - if (strcmp(emp->getProperty("openboolean").getType().getName(), + if (strcmp(emp->getInstanceProperty("openboolean")->getType().getName(), "Boolean")) { if (!silent)cout << "OpenLoadNS failure - bool property not boolean" << endl; @@ -5884,7 +5883,7 @@ return 0; } - if (strcmp(emp->getProperty("openstring").getType().getName(), + if (strcmp(emp->getInstanceProperty("openstring")->getType().getName(), "Bytes")) { if (!silent)cout << "OpenLoadNS failure - bytes property not bytes" << endl; @@ -5901,11 +5900,11 @@ DataObjectList& dl3 = emp->getList("openintlist"); - if (strcmp(emp->getProperty("openintlist").getType().getName(), + if (strcmp(emp->getInstanceProperty("openintlist")->getType().getName(), "Short")) { if (!silent)cout << "OpenLoadNS failure - IntegerList not Short " << - emp->getProperty("openintlist").getType().getName() << endl; + emp->getInstanceProperty("openintlist")->getType().getName() << endl; return 0; } @@ -5941,7 +5940,7 @@ DataObjectList& dl22 = dept2->getList("employees"); DataObjectPtr emp2 = dl22[0]; - if (strcmp(emp2->getProperty("openboolean").getType().getName(), + if (strcmp(emp2->getInstanceProperty("openboolean")->getType().getName(), "String")) { if (!silent)cout << "OpenLoadNS2 failure - bool property not String" << endl; @@ -5954,7 +5953,7 @@ return 0; } - if (strcmp(emp2->getProperty("openstring").getType().getName(), + if (strcmp(emp2->getInstanceProperty("openstring")->getType().getName(), "String")) { if (!silent)cout << "OpenLoadNS2 failure - bytes property not String" << endl; @@ -5971,11 +5970,11 @@ DataObjectList& dl32 = emp2->getList("openintlist"); - if (strcmp(emp2->getProperty("openintlist").getType().getName(), + if (strcmp(emp2->getInstanceProperty("openintlist")->getType().getName(), "OpenDataObject")) { if (!silent)cout << "OpenLoadNS2 failure - IntegerList not OpenDataObject " << - emp2->getProperty("openintlist").getType().getName() << endl; + emp2->getInstanceProperty("openintlist")->getType().getName() << endl; return 0; } @@ -6038,11 +6037,11 @@ // change to match spec - now an open data object // the list should contain a single data object with a sequence of three text elements - if (strcmp(emp->getProperty("openlist").getType().getName(), + if (strcmp(emp->getInstanceProperty("openlist")->getType().getName(), "OpenDataObject")) { if (!silent)cout << "OpenManyLoad failure - BytesList not OpenDataObject " << - emp->getProperty("openlist").getType().getName() << endl; + emp->getInstanceProperty("openlist")->getType().getName() << endl; return 0; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
