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]

Reply via email to