You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ed...@apache.org on 2006/05/26 13:39:16 UTC

svn commit: r409648 - in /incubator/tuscany/cpp/sdo/runtime/core: src/commonj/sdo/ test/

Author: edslattery
Date: Fri May 26 04:39:15 2006
New Revision: 409648

URL: http://svn.apache.org/viewvc?rev=409648&view=rev
Log:
Geoff Winns patch applied for SDOString

Added:
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.cpp   (with props)
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.h   (with props)
Modified:
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactory.h
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.cpp
    incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.h
    incubator/tuscany/cpp/sdo/runtime/core/test/main.cpp
    incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.cpp
    incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.h

Modified: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactory.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactory.h?rev=409648&r1=409647&r2=409648&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactory.h (original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactory.h Fri May 26 04:39:15 2006
@@ -28,6 +28,7 @@
 #include "commonj/sdo/RefCountingPointer.h"
 #include "commonj/sdo/SDODate.h"
 #include "commonj/sdo/DASValue.h"
+#include "commonj/sdo/SDOString.h"
 
 
 namespace commonj{
@@ -81,6 +82,8 @@
 
         SDO_API virtual DataObjectPtr create(const char* uri, const char* typeName)  = 0;
 
+        SDO_API virtual DataObjectPtr create(const SDOString& uri, const SDOString& typeName)  = 0;
+
         SDO_API virtual DataObjectPtr create(const Type& type)  = 0;
 
         /**
@@ -92,6 +95,8 @@
 
         virtual const Type& getType(const char* uri, const char* inTypeName) const = 0;
 
+        virtual const Type& getType(const SDOString& uri, const SDOString& inTypeName) const = 0;
+
 
         /**
          *  DataFactory::getTypes gets a list of types back from the factory.
@@ -124,6 +129,12 @@
             bool isOpen      = false,
             bool isAbstract  = false,
             bool isDataType  = false) = 0;
+
+		virtual SDO_API void addType(const SDOString& uri, const SDOString& inTypeName,
+            bool isSequenced = false, 
+            bool isOpen      = false,
+            bool isAbstract  = false,
+            bool isDataType  = false) = 0;
         
 
         /**
@@ -152,6 +163,13 @@
             const char* basename,
             bool isRestriction = false) = 0;
 
+        virtual SDO_API void setBaseType( 
+            const SDOString& typeuri,
+            const SDOString& typenam,
+            const SDOString& baseuri,
+            const SDOString& basename,
+            bool isRestriction = false) = 0;
+
 
         /**
          * Generate a typesafe interface for a given data factory
@@ -161,6 +179,10 @@
         virtual SDO_API bool generateInterface(const char* fileroot,
                               const char *factoryname) = 0;
 
+        virtual SDO_API bool generateInterface(const SDOString& fileroot,
+                              const SDOString& factoryname) = 0;
+
+
 
         /**
          *  DataFactory::setAlias sets an alternative name
@@ -174,6 +196,10 @@
             const char* typenam,
             const char* alias) = 0;
 
+        virtual SDO_API void setAlias(const SDOString& typeuri,
+            const SDOString& typenam,
+            const SDOString& alias) = 0;
+
         /**
          *  DataFactory::addPropertyToType adds properties
          *
@@ -196,15 +222,24 @@
          */
 
 
-        virtual SDO_API void addPropertyToType(const char* uri, 
+        virtual SDO_API void addPropertyToType(const char* uri,
             const char* inTypeName,
             const char* propname,
-            const char* propTypeUri, 
+            const char* propTypeUri,
             const char* propTypeName,
+            bool isMany,
+            bool isReadOnly ,
+            bool isContainment ) = 0;
+
+        virtual SDO_API void addPropertyToType(const SDOString& uri,
+            const SDOString& inTypeName,
+            const SDOString& propname,
+            const SDOString& propTypeUri,
+            const SDOString& propTypeName,
             bool  isMany  ,
             bool  isReadOnly ,
             bool  isContainment ) = 0;
-        
+
         virtual SDO_API void addPropertyToType(const char* uri, 
             const char* inTypeName,
             const char* propname,
@@ -213,6 +248,14 @@
             bool  isReadOnly ,
             bool  isContainment ) = 0;
         
+        virtual SDO_API void addPropertyToType(const SDOString& uri, 
+            const SDOString& inTypeName,
+            const SDOString& propname,
+            const Type& propType,
+            bool  isMany   ,
+            bool  isReadOnly ,
+            bool  isContainment ) = 0;
+
         virtual SDO_API void addPropertyToType(const Type& type, 
             const char* propname,
             const Type& propType,
@@ -221,14 +264,28 @@
             bool  isContainment ) = 0;
         
         virtual SDO_API void addPropertyToType(const Type& type, 
+            const SDOString& propname,
+            const Type& propType,
+            bool  isMany   ,
+            bool  isReadOnly ,
+            bool  isContainment ) = 0;
+
+        virtual SDO_API void addPropertyToType(const Type& type, 
             const char* propname,
             const char* propTypeUri, 
             const char* propTypeName,
             bool  isMany   ,
             bool  isReadOnly ,
             bool  isContainment ) = 0;
-        
-        
+
+        virtual SDO_API void addPropertyToType(const Type& type, 
+            const SDOString& propname,
+            const SDOString& propTypeUri, 
+            const SDOString& propTypeName,
+            bool  isMany   ,
+            bool  isReadOnly ,
+            bool  isContainment ) = 0;
+
         virtual SDO_API void addPropertyToType(const char* uri, 
             const char* inTypeName,
             const char* propname,
@@ -236,23 +293,47 @@
             const char* propTypeName,
             bool  isMany   = false) =0;
         
+        virtual SDO_API void addPropertyToType(const SDOString& uri, 
+            const SDOString& inTypeName,
+            const SDOString& propname,
+            const SDOString& propTypeUri, 
+            const SDOString& propTypeName,
+            bool  isMany   = false) =0;
+
         virtual SDO_API void addPropertyToType(const char* uri, 
             const char* inTypeName,
             const char* propname,
             const Type& propType,
             bool  isMany   = false) =0;
         
+        virtual SDO_API void addPropertyToType(const SDOString& uri, 
+            const SDOString& inTypeName,
+            const SDOString& propname,
+            const Type& propType,
+            bool  isMany   = false) =0;
+
         virtual SDO_API void addPropertyToType(const Type& type, 
             const char* propname,
             const Type& propType,
             bool  isMany   = false) =0;
         
         virtual SDO_API void addPropertyToType(const Type& type, 
+            const SDOString& propname,
+            const Type& propType,
+            bool  isMany   = false) =0;
+
+        virtual SDO_API void addPropertyToType(const Type& type, 
             const char* propname,
             const char* propTypeUri, 
             const char* propTypeName,
             bool  isMany   = false) =0;
 
+        virtual SDO_API void addPropertyToType(const Type& type, 
+            const SDOString& propname,
+            const SDOString& propTypeUri, 
+            const SDOString& propTypeName,
+            bool  isMany   = false) =0;
+
         /**
          *  DataFactory::setOpposite sets an opposite name
          *
@@ -266,6 +347,11 @@
             const Type& oppositetype,
             const char* oppositePropName) = 0;
         
+        virtual SDO_API void setOpposite( 
+            const Type& type,
+            const SDOString& propName,
+            const Type& oppositetype,
+            const SDOString& oppositePropName) = 0;
         
         /**
          *  DataFactory::setAlias sets a property alias name
@@ -279,6 +365,11 @@
             const char* propname,
             const char* alias) = 0;
 
+        virtual SDO_API void setAlias(const SDOString& typeuri, 
+            const SDOString& typname, 
+            const SDOString& propname,
+            const SDOString& alias) = 0;
+
         /**
          *  DataFactory::setPropertySubstitute sets a substitute for a property
          *
@@ -297,7 +388,14 @@
             const char* subname,
             const char* subTypeUri, 
             const char* subTypeName) = 0;
-        
+
+        virtual SDO_API void setPropertySubstitute(
+            const SDOString& uri, 
+            const SDOString& inTypeName,
+            const SDOString& propname,
+            const SDOString& subname,
+            const SDOString& subTypeUri, 
+            const SDOString& subTypeName) = 0;
 
         virtual SDO_API void setPropertySubstitute(
             const Type& containertype,
@@ -305,6 +403,12 @@
             const char* subname,
             const Type& subtype) = 0;
 
+        virtual SDO_API void setPropertySubstitute(
+            const Type& containertype,
+            const SDOString& propname,
+            const SDOString& subname,
+            const Type& subtype) = 0;
+
 
         /**
          *  DataFactory::setDefault sets a default value for a property
@@ -326,30 +430,61 @@
 
         virtual SDO_API void setDefault(
             const Type& t, 
+            const SDOString& propname, 
+            bool b ) = 0;
+
+        virtual SDO_API void setDefault(
+            const Type& t, 
             const char* propname , 
             char c) = 0;
 
         virtual SDO_API void setDefault(
             const Type& t, 
+            const SDOString& propname , 
+            char c) = 0;
+
+        virtual SDO_API void setDefault(
+            const Type& t, 
             const char* propname , 
             wchar_t c) = 0;
 
         virtual SDO_API void setDefault(
             const Type& t, 
+            const SDOString& propname , 
+            wchar_t c) = 0;
+
+        virtual SDO_API void setDefault(
+            const Type& t, 
             const char* propname , 
             char* c) = 0;
 
+// #pragma message( "GMW: Unimplemented method, writable string parameter" )
+//         virtual SDO_API void setDefault(
+//             const Type& t, 
+//             const SDOString& propname , 
+//             SDOString& c) = 0;
+
         virtual SDO_API void setDefault(
             const Type& t, 
             const char* propname , 
             short s) = 0;
 
+        virtual SDO_API void setDefault(
+            const Type& t, 
+            const SDOString& propname , 
+            short s) = 0;
+
 
 #if __WORDSIZE !=64
         virtual SDO_API void setDefault(
             const Type& t, 
             const char* propname , 
             long l) = 0;
+
+        virtual SDO_API void setDefault(
+            const Type& t, 
+            const SDOString& propname , 
+            long l) = 0;
 #endif
 
         virtual SDO_API void setDefault(
@@ -359,26 +494,53 @@
 
         virtual SDO_API void setDefault(
             const Type& t, 
+            const SDOString& propname , 
+            int64_t i) = 0;
+
+        virtual SDO_API void setDefault(
+            const Type& t, 
             const char* propname , 
             float f) = 0;
 
         virtual SDO_API void setDefault(
             const Type& t, 
+            const SDOString& propname , 
+            float f) = 0;
+
+        virtual SDO_API void setDefault(
+            const Type& t, 
             const char* propname , 
             long double d) = 0;
 
         virtual SDO_API void setDefault(
             const Type& t, 
+            const SDOString& propname , 
+            long double d) = 0;
+
+        virtual SDO_API void setDefault(
+            const Type& t, 
             const char* propname , 
             const wchar_t* c, 
             unsigned int len) = 0;
 
         virtual SDO_API void setDefault(
             const Type& t, 
+            const SDOString& propname , 
+            const wchar_t* c, 
+            unsigned int len) = 0;
+
+        virtual SDO_API void setDefault(
+            const Type& t, 
             const char* propname , 
             const char* c, 
             unsigned int len) = 0;
 
+        virtual SDO_API void setDefault(
+            const Type& t, 
+            const SDOString& propname , 
+            const SDOString& c, 
+            unsigned int len) = 0;
+
 
         virtual SDO_API void setDefault(
             const Type& t, 
@@ -386,35 +548,71 @@
             const SDODate dat) = 0;
 
         virtual SDO_API void setDefault(
+            const Type& t, 
+            const SDOString& propname , 
+            const SDODate dat) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname, 
             bool b ) = 0;
 
         virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname, 
+            bool b ) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname , 
             char c) = 0;
 
         virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname , 
+            char c) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname ,
             wchar_t c) = 0;
 
         virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname ,
+            wchar_t c) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname , 
             char* c) = 0;
 
+// #pragma message( "GMW: Unimplemented method, writable string parameter" )
+//         virtual SDO_API void setDefault(
+//             const SDOString& typuri, 
+//             const SDOString& typnam, 
+//             const SDOString& propname , 
+//             SDOString& c) = 0;
+
         virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname , 
             short s) = 0;
 
+        virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname , 
+            short s) = 0;
+
 
 #if __WORDSIZE !=64
         virtual SDO_API void setDefault(
@@ -422,6 +620,13 @@
             const char* typnam, 
             const char* propname ,
             long l) = 0;
+
+        virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname ,
+            long l) = 0;
+
 #endif
 
         virtual SDO_API void setDefault(
@@ -431,18 +636,36 @@
             int64_t i) = 0;
 
         virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname , 
+            int64_t i) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname , 
             float f) = 0;
 
         virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname , 
+            float f) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname , 
             long double d) = 0;
 
         virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname , 
+            long double d) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname ,
@@ -450,6 +673,13 @@
             unsigned int len) = 0;
 
         virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname ,
+            const wchar_t* c, 
+            unsigned int len) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname , 
@@ -457,11 +687,24 @@
             unsigned int len) = 0;
 
         virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname , 
+            const SDOString& c, 
+            unsigned int len) = 0;
+
+        virtual SDO_API void setDefault(
             const char* typuri, 
             const char* typnam, 
             const char* propname , 
             const SDODate dat) = 0;
-        
+
+        virtual SDO_API void setDefault(
+            const SDOString& typuri, 
+            const SDOString& typnam, 
+            const SDOString& propname , 
+            const SDODate dat) = 0;
+
 
         /**
          * DAS values are used by a DAS implementation
@@ -472,21 +715,41 @@
             const char* name,
             DASValue* value) = 0;
 
+        virtual SDO_API void setDASValue( 
+            const Type& type,
+            const SDOString& name,
+            DASValue* value) = 0;
+
         virtual SDO_API void setDASValue(
             const char* typeuri,
             const char* typenam,
             const char* name,
             DASValue* value) = 0;
 
+        virtual SDO_API void setDASValue(
+            const SDOString& typeuri,
+            const SDOString& typenam,
+            const SDOString& name,
+            DASValue* value) = 0;
+
         virtual SDO_API DASValue* getDASValue( 
             const Type& type,
             const char* name) const = 0;
 
+        virtual SDO_API DASValue* getDASValue( 
+            const Type& type,
+            const SDOString& name) const = 0;
+
         virtual SDO_API DASValue* getDASValue(
             const char* typeuri,
             const char* typenam, 
             const char* name) const = 0;
 
+        virtual SDO_API DASValue* getDASValue(
+            const SDOString& typeuri,
+            const SDOString& typenam, 
+            const SDOString& name) const = 0;
+
         virtual SDO_API void setDASValue( 
             const Type& type,
             const char* propertyName,
@@ -494,22 +757,46 @@
             DASValue* value) = 0;
 
         virtual SDO_API void setDASValue( 
+            const Type& type,
+            const SDOString& propertyName,
+            const SDOString& name,
+            DASValue* value) = 0;
+
+        virtual SDO_API void setDASValue( 
             const char* typeuri,
             const char* typenam,
             const char* propertyName,
             const char* name,
             DASValue* value) = 0;
 
+        virtual SDO_API void setDASValue( 
+            const SDOString& typeuri,
+            const SDOString& typenam,
+            const SDOString& propertyName,
+            const SDOString& name,
+            DASValue* value) = 0;
+
         virtual SDO_API DASValue* getDASValue( 
             const Type& type,
             const char* propertyName,
             const char* name) const = 0;
 
+        virtual SDO_API DASValue* getDASValue( 
+            const Type& type,
+            const SDOString& propertyName,
+            const SDOString& name) const = 0;
+
         virtual SDO_API DASValue* getDASValue(
             const char* typeuri,
             const char* typenam,
             const char* propertyName, 
             const char* name) const = 0;
+
+        virtual SDO_API DASValue* getDASValue(
+            const SDOString& typeuri,
+            const SDOString& typenam,
+            const SDOString& propertyName, 
+            const SDOString& name) const = 0;
 
         virtual void resolve() = 0;
 

Modified: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.cpp?rev=409648&r1=409647&r2=409648&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.cpp (original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.cpp Fri May 26 04:39:15 2006
@@ -240,6 +240,15 @@
     addType(uri,inTypeName,isSeq,isOp,isAbs,isData,false);
 }
 
+void DataFactoryImpl::addType(const SDOString& uri, const SDOString& inTypeName, 
+                                bool isSeq,
+                                bool isOp,
+                                bool isAbs,
+                                bool isData)
+{
+    addType(uri.c_str(),inTypeName.c_str(),isSeq,isOp,isAbs,isData,false);
+}
+
 void DataFactoryImpl::addType(const char* uri, const char* inTypeName, 
                                 bool isSeq,
                                 bool isOp,
@@ -271,6 +280,16 @@
     }
 }
 
+void DataFactoryImpl::addType(const SDOString& uri, const SDOString& inTypeName, 
+                                bool isSeq,
+                                bool isOp,
+                                bool isAbs,
+                                bool isData,
+                                bool isFromList)
+{
+	addType(uri.c_str(), inTypeName.c_str(), isSeq, isOp, isAbs, isData, isFromList);
+}
+
 // ===================================================================
 //  Check whether a change summary would clash.
 // ===================================================================
@@ -348,6 +367,16 @@
     }
 }
 
+void DataFactoryImpl::addPropertyToType(const SDOString& uri,
+                                        const SDOString& inTypeName,
+                                        const SDOString& propname,
+                                        const SDOString& propTypeUri,
+                                        const SDOString& propTypeName,
+                                        bool many)
+{
+  addPropertyToType(uri.c_str(), inTypeName.c_str(), propname.c_str(), propTypeUri.c_str(), propTypeName.c_str(), many);
+}
+
 void DataFactoryImpl::addPropertyToType(const char* uri, 
                                       const char* inTypeName, 
                                       const char* propname,
@@ -445,6 +474,25 @@
     return;
 }
 
+void DataFactoryImpl::addPropertyToType(const SDOString& uri,
+                                        const SDOString& inTypeName,
+                                        const SDOString& propname,
+                                        const SDOString& propTypeUri,
+                                        const SDOString& propTypeName,
+                                        bool many,
+                                        bool rdonly,
+                                        bool cont)
+{
+  addPropertyToType(uri.c_str(),
+                           inTypeName.c_str(),
+                           propname.c_str(),
+                           propTypeUri.c_str(),
+                           propTypeName.c_str(),
+                           many,
+                           rdonly,
+                           cont);
+}
+
 // ===================================================================
 // addPropertyToType - adds a Property to an existing Type
 // ===================================================================
@@ -464,6 +512,20 @@
                     !tprop.isDataType());
 }
 
+void DataFactoryImpl::addPropertyToType(const SDOString& uri, 
+                                        const SDOString& inTypeName, 
+                                        const SDOString& propname,
+                                        const Type& tprop,
+                                        bool many)
+{
+  addPropertyToType(uri.c_str(), 
+                    inTypeName.c_str(), 
+                    propname.c_str(),
+                    tprop,
+                    many,
+                    false,
+                    !tprop.isDataType());
+}
 
 void DataFactoryImpl::addPropertyToType(const char* uri, 
                                       const char* inTypeName, 
@@ -482,6 +544,24 @@
                       rdonly, cont);
 }
 
+void DataFactoryImpl::addPropertyToType(const SDOString& uri, 
+                                        const SDOString& inTypeName, 
+                                        const SDOString& propname,
+                                        const Type& tprop,
+                                        bool many,
+                                        bool rdonly,
+                                        bool cont)
+{
+  addPropertyToType(uri.c_str(), 
+                    inTypeName.c_str(),
+                    propname.c_str(),
+                    tprop.getURI(),
+                    tprop.getName(),
+                    many,
+                    rdonly,
+                    cont);
+}
+
 // ===================================================================
 // addPropertyToType - adds a Property to an existing Type
 // ===================================================================
@@ -500,6 +580,20 @@
 }
 
 void DataFactoryImpl::addPropertyToType(const Type& cont,
+                                        const SDOString& propname,
+                                        const SDOString& propTypeUri,
+                                        const SDOString& propTypeName,
+                                        bool many)
+{
+  addPropertyToType(cont.getURI(),
+                    cont.getName(),
+                    propname.c_str(),
+                    propTypeUri.c_str(),
+                    propTypeName.c_str(),
+                    many);
+}
+
+void DataFactoryImpl::addPropertyToType(const Type& cont,
                                       const char* propname,
                                       const char* propTypeUri,
                                       const char* propTypeName,
@@ -517,6 +611,24 @@
                       contain);
 }
 
+void DataFactoryImpl::addPropertyToType(const Type& cont,
+                                      const SDOString& propname,
+                                      const SDOString& propTypeUri,
+                                      const SDOString& propTypeName,
+                                      bool many,
+                                      bool rdonly,
+                                      bool contain)
+{
+    addPropertyToType(cont.getURI(),
+                      cont.getName(),
+                      propname.c_str(),
+                      propTypeUri.c_str(),
+                      propTypeName.c_str(),
+                      many,
+                      rdonly,
+                      contain);
+}
+
 // ===================================================================
 // addPropertyToType - adds a Property to an existing Type
 // ===================================================================
@@ -534,6 +646,19 @@
 }
 
 void DataFactoryImpl::addPropertyToType(const Type& tp,
+                                        const SDOString& propname,
+                                        const Type& tprop,
+                                        bool many)
+{
+  addPropertyToType(tp.getURI(),
+                    tp.getName(),
+                    propname.c_str(),
+                    tprop.getURI(),
+                    tprop.getName(),
+                    many);
+}
+
+void DataFactoryImpl::addPropertyToType(const Type& tp,
                                       const char* propname,
                                       const Type& tprop,
                                       bool  many,
@@ -550,6 +675,23 @@
                       cont);
 }
 
+void DataFactoryImpl::addPropertyToType(const Type& tp,
+                                        const SDOString& propname,
+                                        const Type& tprop,
+                                        bool many,
+                                        bool rdonly,
+                                        bool cont)
+{
+  addPropertyToType(tp.getURI(),
+                    tp.getName(),
+                    propname.c_str(),
+                    tprop.getURI(),
+                    tprop.getName(),
+                    many,
+                    rdonly,
+                    cont);
+}
+
 // ===================================================================
 // getFullTypeName - return the name used as a key in the types map
 // ===================================================================
@@ -617,6 +759,11 @@
     return *type;
 }
 
+const Type& DataFactoryImpl::getType(const SDOString& uri, const SDOString& inTypeName) const
+{
+	return getType(uri.c_str(), inTypeName.c_str());
+}
+
 // ===================================================================
 // setBaseType - sets the type from which this type inherits properties
 // ===================================================================
@@ -668,6 +815,19 @@
     (typeIter->second)->setBaseType(base, isRestriction);
 }
 
+void DataFactoryImpl::setBaseType(const SDOString& typeuri,
+								  const SDOString& typenam,
+								  const SDOString& baseuri,
+								  const SDOString& basename,
+								  bool isRestriction)
+{
+	setBaseType(typeuri.c_str(),
+		typenam.c_str(),
+		baseuri.c_str(),
+		basename.c_str(),
+		isRestriction);
+}
+
 
 // ===================================================================
 // setPropertySubstitute - additional type for a property
@@ -697,7 +857,21 @@
         if (pi != 0)pi->setSubstitution(this,subname,tsub);
     }
 
-    
+    void DataFactoryImpl::setPropertySubstitute(
+            const SDOString& uri, 
+            const SDOString& inTypeName,
+            const SDOString& propname,
+            const SDOString& subname,
+            const SDOString& subTypeUri, 
+            const SDOString& subTypeName)
+    {
+      setPropertySubstitute(uri.c_str(),
+                            inTypeName.c_str(),
+                            propname.c_str(),
+                            subname.c_str(),
+                            subTypeUri.c_str(),
+                            subTypeName.c_str());
+    }
 
     void DataFactoryImpl::setPropertySubstitute(
             const Type& containertype,
@@ -712,6 +886,14 @@
             subtype.getURI(),subtype.getName());
     }
 
+    void DataFactoryImpl::setPropertySubstitute(
+            const Type& containertype,
+            const SDOString& propname,
+            const SDOString& subname,
+            const Type& subtype)
+    {
+      setPropertySubstitute(containertype, propname.c_str(), subname.c_str(), subtype);
+    }
 // ===================================================================
 // setDefault - sets the default value for a property of a type
 // ===================================================================
@@ -723,6 +905,12 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname, bool b ) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), b);
+    }
+
+    void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , char c) 
         
     {
@@ -730,29 +918,62 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , char c) 
+        
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), c);
+    }
+
+    void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , wchar_t c) 
     {
         setDefault(t.getURI(), t.getName(), propname, c);
     }
 
     void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , wchar_t c) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), c);
+    }
+
+    void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , char* c) 
     {
         setDefault(t.getURI(), t.getName(), propname, c);
     }
 
+// #pragma message( "GMW: Unimplemented method, writable string parameter" )
+//     void DataFactoryImpl::setDefault(
+//         const Type& t, const SDOString& propname , SDOString& c) 
+//     {
+//         setDefault(t.getURI(), t.getName(), propname.c_str(), c.c_str());
+//     }
+
     void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , short s) 
     {
         setDefault(t.getURI(), t.getName(), propname, s);
     }
 
+    void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , short s) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), s);
+    }
+
 #if __WORDSIZE !=64
     void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , long l) 
     {
         setDefault(t.getURI(), t.getName(), propname, l);
     }
+
+    void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , long l) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), l);
+    }
+
 #endif
 
     void DataFactoryImpl::setDefault(
@@ -762,35 +983,70 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , int64_t i) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), i);
+    }
+
+    void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , float f) 
     {
         setDefault(t.getURI(), t.getName(), propname, f);
     }
 
     void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , float f) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), f);
+    }
+
+    void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , long double d) 
     {
         setDefault(t.getURI(), t.getName(), propname, d);
     }
 
     void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , long double d) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), d);
+    }
+
+    void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , const SDODate d) 
     {
         setDefault(t.getURI(), t.getName(), propname, d);
     }
 
     void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , const SDODate d) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), d);
+    }
+
+    void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , const wchar_t* c, unsigned int len) 
     {
         setDefault(t.getURI(), t.getName(), propname, c, len);
     }
 
     void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , const wchar_t* c, unsigned int len) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), c, len);
+    }
+
+    void DataFactoryImpl::setDefault(
         const Type& t, const char* propname , const char* c, unsigned int len) 
     {
         setDefault(t.getURI(), t.getName(), propname, c, len);
     }
 
+    void DataFactoryImpl::setDefault(
+        const Type& t, const SDOString& propname , const SDOString& c, unsigned int len) 
+    {
+        setDefault(t.getURI(), t.getName(), propname.c_str(), c.c_str(), len);
+    }
 
     void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
@@ -802,6 +1058,13 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname, bool b ) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), b);
+    }
+
+    void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , char c) 
     {
@@ -811,6 +1074,13 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , char c) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), c);
+    }
+
+    void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , wchar_t c) 
     {
@@ -820,6 +1090,13 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , wchar_t c) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), c);
+    }
+
+    void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , char* c) 
     {
@@ -828,6 +1105,14 @@
         if (pi != 0)pi->setDefault(c);
     }
 
+// #pragma message( "GMW: Unimplemented method, writable string parameter" )
+//     void DataFactoryImpl::setDefault(
+//         const SDOString& typuri, const SDOString& typnam, 
+//         const SDOString& propname , SDOString& c) 
+//     {
+//       setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), c.c_str());
+//     }
+
     void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , short s) 
@@ -837,6 +1122,13 @@
         if (pi != 0)pi->setDefault(s);
     }
 
+    void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , short s) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), s);
+    }
+
 #if __WORDSIZE !=64
     void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
@@ -846,6 +1138,14 @@
         PropertyImpl* pi = ti->getPropertyImpl(propname);
         if (pi != 0)pi->setDefault(l);
     }
+
+    void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , long l) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), l);
+    }
+
 #endif
 
     void DataFactoryImpl::setDefault(
@@ -858,6 +1158,13 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , int64_t i) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), i);
+    }
+
+    void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , float f) 
     {
@@ -867,6 +1174,13 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , float f) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), f);
+    }
+
+    void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , long double d) 
     {
@@ -876,6 +1190,13 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , long double d) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), d);
+    }
+
+    void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , const SDODate d) 
     {
@@ -885,6 +1206,13 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , const SDODate d) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), d);
+    }
+
+    void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , const wchar_t* c, unsigned int len) 
     {
@@ -894,6 +1222,13 @@
     }
 
     void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , const wchar_t* c, unsigned int len) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), c, len);
+    }
+
+    void DataFactoryImpl::setDefault(
         const char* typuri, const char* typnam, 
         const char* propname , const char* c, unsigned int len) 
     {
@@ -902,6 +1237,13 @@
         if (pi != 0)pi->setDefault(c,len);
     }
 
+    void DataFactoryImpl::setDefault(
+        const SDOString& typuri, const SDOString& typnam, 
+        const SDOString& propname , const SDOString& c, unsigned int len) 
+    {
+      setDefault(typuri.c_str(), typnam.c_str(), propname.c_str(), c.c_str(), len);
+    }
+
     void DataFactoryImpl::setOpposite(
         const Type& typ, 
         const char* propnam, 
@@ -912,6 +1254,15 @@
         SDOUnsupportedOperationException, " Not implemented");
     }
 
+    void DataFactoryImpl::setOpposite(
+        const Type& typ, 
+        const SDOString& propnam, 
+        const Type& opptyp,
+        const SDOString& opppropnam) 
+    {
+      setOpposite(typ, propnam.c_str(), opptyp, opppropnam.c_str());
+    }
+
 // ===================================================================
 // getTypeImpl - return a pointer to the required TypeImpl
 // ===================================================================
@@ -991,6 +1342,13 @@
 
 }
 
+void DataFactoryImpl::setAlias(const SDOString& typeuri,
+                              const SDOString& typenam,
+                              const SDOString& alias)
+{
+	setAlias(typeuri.c_str(), typenam.c_str(), alias.c_str());
+}
+
 // ===================================================================
 // setAlias - sets a new alias for this type
 // ===================================================================
@@ -1006,6 +1364,14 @@
 
 }
 
+void DataFactoryImpl::setAlias(const SDOString& typeuri, 
+                              const SDOString& typenam, 
+                              const SDOString& propname,
+                              const SDOString& alias)
+{
+	setAlias(typeuri.c_str(), typenam.c_str(), propname.c_str(), alias.c_str());
+}
+
 // ===================================================================
 //  getTypes - gets the full list of types for this factory
 // ===================================================================
@@ -1099,6 +1465,18 @@
 }
 
 // ===================================================================
+//  create - creates a data object from the types available.
+//  This first resolves the type hierarchy, and thus no further changes
+//  to the type hierarchy are allowed.
+// ===================================================================
+
+
+RefCountingPointer<DataObject> DataFactoryImpl::create(const SDOString& uri, const SDOString& typeName) 
+{
+    return create(uri.c_str(), typeName.c_str());
+}
+
+// ===================================================================
 // The openProperties map is a list of the curently present open
 // properties as used by this factory. It will cause the 
 // open properties to be written out as attributes and elements
@@ -1153,6 +1531,12 @@
     setDASValue(type.getURI(), type.getName(), name, value);
 }
 
+void DataFactoryImpl::setDASValue(const Type& type,
+                                        const SDOString& name, 
+                                        DASValue* value)
+{
+    setDASValue(type.getURI(), type.getName(), name.c_str(), value);
+}
 
 void DataFactoryImpl::setDASValue(const char* typeuri,
                                         const char* typenam, 
@@ -1166,6 +1550,14 @@
     }
 }
 
+void DataFactoryImpl::setDASValue(const SDOString& typeuri,
+                                        const SDOString& typenam, 
+                                        const SDOString& name, 
+                                        DASValue* value)
+{
+    setDASValue(typeuri.c_str(), typenam.c_str(), name.c_str(), value);
+}
+
 // ===================================================================
 //  getDASValue - retrieve a value from a Type
 // ===================================================================
@@ -1176,6 +1568,12 @@
     return getDASValue(type.getURI(), type.getName(), name);
 }
 
+DASValue* DataFactoryImpl::getDASValue(const Type& type,
+                                       const SDOString& name) const
+{
+    return getDASValue(type.getURI(), type.getName(), name.c_str());
+}
+
 DASValue* DataFactoryImpl::getDASValue(const char* typeuri,
                                                 const char* typenam,
                                                 const char* name) const
@@ -1189,6 +1587,13 @@
     return NULL;    
 }
 
+DASValue* DataFactoryImpl::getDASValue(const SDOString& typeuri,
+                                       const SDOString& typenam,
+                                       const SDOString& name) const
+{
+    return getDASValue(typeuri.c_str(), typenam.c_str(), name.c_str());
+}
+
 // ===================================================================
 //  setDASValue - Set a value on a Property
 // ===================================================================
@@ -1201,6 +1606,14 @@
     setDASValue(type.getURI(), type.getName(), propertyName, name, value);
 }
 
+void DataFactoryImpl::setDASValue( 
+                const Type& type,
+                const SDOString& propertyName,
+                const SDOString& name,
+                DASValue* value)
+{
+    setDASValue(type.getURI(), type.getName(), propertyName.c_str(), name.c_str(), value);
+}
 
 void DataFactoryImpl::setDASValue( 
                 const char* typeuri,
@@ -1217,6 +1630,16 @@
     }
 }
 
+void DataFactoryImpl::setDASValue( 
+                const SDOString& typeuri,
+                const SDOString& typenam,
+                const SDOString& propertyName,
+                const SDOString& name,
+                DASValue* value)
+{
+    setDASValue(typeuri.c_str(), typenam.c_str(), propertyName.c_str(), name.c_str(), value);
+}
+
 // ===================================================================
 //  getDASValue - retrieve a value from a Property
 // ===================================================================
@@ -1228,6 +1651,14 @@
     return getDASValue(type.getURI(), type.getName(), propertyName, name);
 }
 
+DASValue* DataFactoryImpl::getDASValue( 
+                const Type& type,
+                const SDOString& propertyName,
+                const SDOString& name) const
+{
+    return getDASValue(type.getURI(), type.getName(), propertyName.c_str(), name.c_str());
+}
+
 DASValue* DataFactoryImpl::getDASValue(
                 const char* typeuri,
                 const char* typenam,
@@ -1251,6 +1682,14 @@
     return NULL;    
 }
 
+DASValue* DataFactoryImpl::getDASValue(
+                const SDOString& typeuri,
+                const SDOString& typenam,
+                const SDOString& propertyName, 
+                const SDOString& name) const
+{
+    return getDASValue(typeuri.c_str(), typenam.c_str(), propertyName.c_str(), name.c_str());
+}
 
 bool DataFactoryImpl::compareTypes(const TypeImpl* t1, const Type& t2)
 {
@@ -1775,6 +2214,10 @@
     return true;
 }
 
+bool DataFactoryImpl::generateInterface(const SDOString& fileroot, const SDOString& factoryname)
+{
+	return generateInterface(fileroot.c_str(), factoryname.c_str());
+}
 
 };
 };

Modified: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.h?rev=409648&r1=409647&r2=409648&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.h (original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.h Fri May 26 04:39:15 2006
@@ -61,6 +61,13 @@
         bool isDataType = false
         );
 
+    virtual void addType(const SDOString& uri, const SDOString& inTypeName,
+        bool isSeqenced = false, 
+        bool isOpen = false,
+        bool isAbstract = false,
+        bool isDataType = false
+        );
+
     virtual void addType(const char* uri, const char* inTypeName,
         bool isSeqenced , 
         bool isOpen ,
@@ -68,6 +75,13 @@
         bool isDataType ,
         bool isFromList );
 
+    virtual void addType(const SDOString& uri, const SDOString& inTypeName,
+        bool isSeqenced , 
+        bool isOpen ,
+        bool isAbstract ,
+        bool isDataType ,
+        bool isFromList );
+
     virtual void addPropertyToType(const char* uri, 
                                    const char* inTypeName,
                                    const char* propname,
@@ -75,6 +89,12 @@
                                    const char* propTypeName,
                                    bool isMany = false);
 
+    virtual void addPropertyToType(const SDOString& uri, 
+                                   const SDOString& inTypeName,
+                                   const SDOString& propname,
+                                   const SDOString& propTypeUri, 
+                                   const SDOString& propTypeName,
+                                   bool isMany = false);
 
     virtual void addPropertyToType(const char* uri, 
                                    const char* inTypeName,
@@ -82,17 +102,34 @@
                                    const Type& propType,
                                    bool isMany = false);
 
+    virtual void addPropertyToType(const SDOString& uri, 
+                                   const SDOString& inTypeName,
+                                   const SDOString& propname,
+                                   const Type& propType,
+                                   bool isMany = false);
+
     virtual void addPropertyToType(const Type& type, 
                                    const char* propname,
                                    const Type& propType,
                                    bool isMany = false);
     
     virtual void addPropertyToType(const Type& type, 
+                                   const SDOString& propname,
+                                   const Type& propType,
+                                   bool isMany = false);
+
+    virtual void addPropertyToType(const Type& type, 
                                    const char* propname,
                                    const char* propTypeUri, 
                                    const char* propTypeName,
                                    bool isMany = false);
 
+    virtual void addPropertyToType(const Type& type, 
+                                   const SDOString& propname,
+                                   const SDOString& propTypeUri, 
+                                   const SDOString& propTypeName,
+                                   bool isMany = false);
+
     virtual void addPropertyToType(const char* uri, 
                                    const char* inTypeName,
                                    const char* propname,
@@ -102,6 +139,15 @@
                                    bool  isReadOnly,
                                    bool  isContainment);
 
+    virtual void addPropertyToType(const SDOString& uri, 
+                                   const SDOString& inTypeName,
+                                   const SDOString& propname,
+                                   const SDOString& propTypeUri, 
+                                   const SDOString& propTypeName,
+                                   bool isMany ,
+                                   bool  isReadOnly,
+                                   bool  isContainment);
+
     virtual void addPropertyToType(const char* uri, 
                                    const char* inTypeName,
                                    const char* propname,
@@ -110,6 +156,14 @@
                                    bool  isReadOnly,
                                    bool  isContainment);
     
+    virtual void addPropertyToType(const SDOString& uri, 
+                                   const SDOString& inTypeName,
+                                   const SDOString& propname,
+                                   const Type& propType,
+                                   bool  isMany,
+                                   bool  isReadOnly,
+                                   bool  isContainment);
+
     virtual void addPropertyToType(const Type& type, 
                                    const char* propname,
                                    const Type& propType,
@@ -118,6 +172,13 @@
                                    bool  isContainment);
 
     virtual void addPropertyToType(const Type& type, 
+                                   const SDOString& propname,
+                                   const Type& propType,
+                                   bool  isMany,
+                                   bool  isReadOnly,
+                                   bool  isContainment);
+
+    virtual void addPropertyToType(const Type& type, 
                                    const char* propname,
                                    const char* propTypeUri, 
                                    const char* propTypeName,
@@ -125,6 +186,14 @@
                                    bool  isReadOnly,
                                    bool  isContainment);
 
+    virtual void addPropertyToType(const Type& type, 
+                                   const SDOString& propname,
+                                   const SDOString& propTypeUri, 
+                                   const SDOString& propTypeName,
+                                   bool  isMany,
+                                   bool  isReadOnly,
+                                   bool  isContainment);
+
 
     virtual void setBaseType( const Type& type,
                               const Type& base,
@@ -136,30 +205,54 @@
                               const char* basename,
                               bool isRestriction = false);
 
+    virtual void setBaseType( const SDOString& typeuri,
+                              const SDOString& typenam,
+                              const SDOString& baseuri,
+                              const SDOString& basename,
+                              bool isRestriction = false);
+
     virtual const Type& getType(const char* uri, const char* inTypeName) const;
 
+    virtual const Type& getType(const SDOString& uri, const SDOString& inTypeName) const;
+
     virtual TypeList getTypes() const;
 
     virtual DataObjectPtr create(const char* uri, const char* typeName) ;
 
+    virtual DataObjectPtr create(const SDOString& uri, const SDOString& typeName) ;
+
     virtual DataObjectPtr create(const Type& type) ;
 
     virtual void setAlias(const char* typeuri,
                                   const char* typenam,
                                   const char* alias) ;
 
+    virtual void setAlias(const SDOString& typeuri,
+                                  const SDOString& typenam,
+                                  const SDOString& alias) ;
+
     virtual void setAlias(const char* typeuri, 
                                   const char* typname, 
                                   const char* propname,
                                   const char* alias) ;
 
+	virtual void setAlias(const SDOString& typeuri, 
+                                  const SDOString& typname, 
+                                  const SDOString& propname,
+                                  const SDOString& alias) ;
+
     virtual void setOpposite (const Type& type,
                                   const char* propname,
                               const Type& opptype,
                               const char* opppropname) ;
 
+    virtual void setOpposite (const Type& type,
+                              const SDOString& propname,
+                              const Type& opptype,
+                              const SDOString& opppropname) ;
+
 
-    virtual void setPropertySubstitute(
+  virtual void setPropertySubstitute(
             const char* uri, 
             const char* inTypeName,
             const char* propname,
@@ -167,6 +260,13 @@
             const char* subTypeUri, 
             const char* subTypeName);
         
+  virtual void setPropertySubstitute(
+            const SDOString& uri, 
+            const SDOString& inTypeName,
+            const SDOString& propname,
+            const SDOString& subname,
+            const SDOString& subTypeUri, 
+            const SDOString& subTypeName);
 
     virtual void setPropertySubstitute(
             const Type& containertype,
@@ -174,6 +274,12 @@
             const char* subname,
             const Type& subtype);
 
+    virtual void setPropertySubstitute(
+            const Type& containertype,
+            const SDOString& propname,
+            const SDOString& subname,
+            const Type& subtype);
+
     ////////////////////////////////////////////////////////
     virtual void setDefault(
         const Type& t, 
@@ -182,24 +288,50 @@
 
     virtual void setDefault(
         const Type& t, 
+        const SDOString& propname, 
+        bool b ) ;
+
+    virtual void setDefault(
+        const Type& t, 
         const char* propname , 
         char c) ;
 
     virtual void setDefault(
         const Type& t, 
+        const SDOString& propname , 
+        char c) ;
+
+    virtual void setDefault(
+        const Type& t, 
         const char* propname , 
         wchar_t c) ;
 
     virtual void setDefault(
         const Type& t, 
+        const SDOString& propname , 
+        wchar_t c) ;
+
+    virtual void setDefault(
+        const Type& t, 
         const char* propname , 
         char* c) ;
 
+// #pragma message( "GMW: Unimplemented method, writable string parameter" )
+//     virtual void setDefault(
+//         const Type& t, 
+//         const SDOString& propname , 
+//         SDOString& c) ;
+
     virtual void setDefault(
         const Type& t, 
         const char* propname , 
         short s) ;
 
+    virtual void setDefault(
+        const Type& t, 
+        const SDOString& propname , 
+        short s) ;
+
 
 
 #if __WORDSIZE !=64
@@ -207,6 +339,12 @@
         const Type& t, 
         const char* propname , 
         long l) ;
+
+    virtual void setDefault(
+        const Type& t, 
+        const SDOString& propname , 
+        long l) ;
+
 #endif
 
     virtual void setDefault(
@@ -216,67 +354,137 @@
 
     virtual void setDefault(
         const Type& t, 
+        const SDOString& propname , 
+        int64_t i) ;
+
+    virtual void setDefault(
+        const Type& t, 
         const char* propname , 
         float f) ;
 
     virtual void setDefault(
         const Type& t, 
+        const SDOString& propname , 
+        float f) ;
+
+    virtual void setDefault(
+        const Type& t, 
         const char* propname ,
         long double d) ;
 
     virtual void setDefault(
         const Type& t, 
+        const SDOString& propname ,
+        long double d) ;
+
+    virtual void setDefault(
+        const Type& t, 
         const char* propname , 
         const SDODate d) ;
 
     virtual void setDefault(
         const Type& t, 
+        const SDOString& propname , 
+        const SDODate d) ;
+
+    virtual void setDefault(
+        const Type& t, 
         const char* propname , 
         const wchar_t* c, 
         unsigned int len) ;
 
     virtual void setDefault(
         const Type& t, 
+        const SDOString& propname , 
+        const wchar_t* c, 
+        unsigned int len) ;
+
+    virtual void setDefault(
+        const Type& t, 
         const char* propname , 
         const char* c, 
         unsigned int len) ;
 
     virtual void setDefault(
+        const Type& t, 
+        const SDOString& propname , 
+        const SDOString& c, 
+        unsigned int len) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname, 
         bool b ) ;
 
     virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname, 
+        bool b ) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
         char c) ;
 
     virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        char c) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
         wchar_t c) ;
 
     virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        wchar_t c) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname ,
         char* c) ;
 
+// #pragma message( "GMW: Unimplemented method, writable string parameter" )
+//     virtual void setDefault(
+//         const SDOString& typuri, 
+//         const SDOString& typnam, 
+//         const SDOString& propname ,
+//         SDOString& c) ;
+
     virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
         short s) ;
 
+    virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        short s) ;
+
 #if __WORDSIZE !=64
     virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
         long l) ;
+
+    virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        long l) ;
+
 #endif
 
     virtual void setDefault(
@@ -286,24 +494,48 @@
         int64_t i) ;
 
     virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname ,
+        int64_t i) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
         float f) ;
 
     virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        float f) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
         long double d) ;
 
     virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        long double d) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
         const SDODate d) ;
 
     virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        const SDODate d) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
@@ -311,32 +543,66 @@
         unsigned int len) ;
 
     virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        const wchar_t* c, 
+        unsigned int len) ;
+
+    virtual void setDefault(
         const char* typuri, 
         const char* typnam, 
         const char* propname , 
         const char* c, 
         unsigned int len) ;
 
+    virtual void setDefault(
+        const SDOString& typuri, 
+        const SDOString& typnam, 
+        const SDOString& propname , 
+        const SDOString& c, 
+        unsigned int len) ;
+
     virtual void setDASValue( 
             const Type& type,
                 const char* name,
                 DASValue* value);
 
+    virtual void setDASValue( 
+            const Type& type,
+            const SDOString& name,
+            DASValue* value);
+
     virtual void setDASValue(
                 const char* typeuri,
                 const char* typenam,
                 const char* name,
                 DASValue* value);
 
+    virtual void setDASValue(
+                const SDOString& typeuri,
+                const SDOString& typenam,
+                const SDOString& name,
+                DASValue* value);
+
     virtual DASValue* getDASValue(
                 const Type& type,
                 const char* name) const;
 
     virtual DASValue* getDASValue(
+                const Type& type,
+                const SDOString& name) const;
+
+    virtual DASValue* getDASValue(
                 const char* typeuri,
                 const char* typenam, 
                 const char* name) const;
 
+    virtual DASValue* getDASValue(
+                const SDOString& typeuri,
+                const SDOString& typenam, 
+                const SDOString& name) const;
+
     virtual void setDASValue( 
                 const Type& type,
                 const char* propertyName,
@@ -344,23 +610,47 @@
                 DASValue* value);
 
     virtual void setDASValue( 
+                const Type& type,
+                const SDOString& propertyName,
+                const SDOString& name,
+                DASValue* value);
+
+    virtual void setDASValue( 
                 const char* typeuri,
                 const char* typenam,
                 const char* propertyName,
                 const char* name,
                 DASValue* value);
 
+    virtual void setDASValue( 
+                const SDOString& typeuri,
+                const SDOString& typenam,
+                const SDOString& propertyName,
+                const SDOString& name,
+                DASValue* value);
+
     virtual DASValue* getDASValue( 
                 const Type& type,
                 const char* propertyName,
                 const char* name) const;
 
+    virtual DASValue* getDASValue( 
+                const Type& type,
+                const SDOString& propertyName,
+                const SDOString& name) const;
+
     virtual DASValue* getDASValue(
                 const char* typeuri,
                 const char* typenam,
                 const char* propertyName, 
                 const char* name) const;
 
+    virtual DASValue* getDASValue(
+                const SDOString& typeuri,
+                const SDOString& typenam,
+                const SDOString& propertyName, 
+                const SDOString& name) const;
+
     virtual    void resolve();
 
     const Type*    findType  (const char* uri, const char* inTypeName) const;
@@ -377,6 +667,8 @@
     virtual bool compareTypes(const TypeImpl* t1, const Type& t2);
 
    virtual bool generateInterface(const char* fileroot, const char* factoryname);
+
+   virtual bool generateInterface(const SDOString& fileroot, const SDOString& factoryname);
 
 private:
     typedef map<string, TypeImpl*> TYPES_MAP;

Added: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.cpp?rev=409648&view=auto
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.cpp (added)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.cpp Fri May 26 04:39:15 2006
@@ -0,0 +1,175 @@
+/*
+ *
+ *  *** GMW *** Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+/* *** GMW *** $Rev$ $Date$ */
+
+// This class probably needs to inherit from RefCountingObject to ensure that objects of this type get cleaned up correctly.
+
+#include "commonj/sdo/SDOString.h"
+#include <iostream>
+#include "libxml/globals.h"
+
+#include <ctype.h>
+#include <string>
+
+namespace commonj
+{
+  namespace sdo
+  {
+
+    SDOString::SDOString()
+      : characters()
+    {
+    }
+
+    SDOString::SDOString(const char* localString)
+    {
+      characters = localString;
+    }
+
+    SDOString::SDOString(const std::string& str)
+      : characters(str)
+    {
+    }
+
+    SDOString::SDOString(const SDOString& str)
+    {
+      characters = str.characters;
+    }
+        
+    SDOString& SDOString::operator=(const SDOString& str)
+    {
+      if (this != &str)
+      {
+        characters = str.characters;
+      }
+      return *this;
+    }
+
+    SDOString SDOString::operator+(const SDOString& str) const
+    {
+      std::string temp1 = characters;
+      temp1 += str.characters;
+      SDOString returnString = temp1.c_str();
+
+      return returnString;
+    }
+
+    SDOString& SDOString::operator+=(const SDOString& str)
+    {
+      characters += str.characters;
+      return *this;
+    }
+        
+    SDOString::~SDOString()
+    {
+    }
+
+    bool SDOString::operator< (const SDOString& str) const
+    {
+      if (characters.compare(str.characters) < 0)
+        return true;
+      else
+        return false;
+    }
+
+    bool SDOString::operator==(const SDOString& str) const
+    {
+      if (characters.compare(str.characters) == 0)
+        return true;
+      else
+        return false;
+    }
+
+    bool SDOString::equals(const SDOString& str) const
+    {
+      //      return (characters.equals(str.characters));
+      return (characters == str.characters);
+    }
+        
+    bool SDOString::equals(const char* localString) const
+    {
+      return equals(SDOString(localString));
+    }
+
+//         bool SDOString::equalsIgnoreCase(const SDOString& str) const
+//         {
+//             return equalsIgnoreCase(str.xmlForm);
+//         }
+
+//         bool SDOString::equalsIgnoreCase(const char* localString) const
+//         {
+//             return equalsIgnoreCase(SDOString(localString));
+//         }
+
+    std::ostream& operator<<(std::ostream& output, const SDOString& str)
+    {
+      if (!str.characters.empty())
+        output << str.characters;
+      return output;
+    }
+
+    bool SDOString::isNull() const
+    {
+      return (characters.empty());
+    }
+
+    SDOString SDOString::toLower(unsigned int start, unsigned int length)
+    {
+      std::string result_string;
+      result_string.reserve(characters.length());
+
+      for (unsigned int i = start; (i < characters.length() && i < length); i++)
+      {
+        result_string[i] = tolower(characters[i]);
+      }
+
+      return SDOString(result_string);
+    }
+
+    int SDOString::firstIndexOf(const char ch) const
+    {
+      return int(characters.find_first_of(ch));
+    }
+
+    int SDOString::lastIndexOf(const char ch) const
+    {
+      return int(characters.find_last_of(ch));
+    }
+
+    SDOString SDOString::substring(int start, int length) const
+    {
+      if (characters.length() > 0)
+        {
+          return SDOString(characters.substr(start, length));
+        }
+      else
+        return SDOString();
+    }
+
+    SDOString SDOString::substring(int start) const
+    {
+      return substring(start, (characters.length() - start));
+    }
+
+	SDO_SPI const char* SDOString::c_str() const
+	{
+	  return characters.c_str();
+	}
+
+  } // End - namespace sdo
+} // End - namespace commonj

Propchange: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.cpp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.cpp
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.h?rev=409648&view=auto
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.h (added)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.h Fri May 26 04:39:15 2006
@@ -0,0 +1,85 @@
+/*
+ *
+ *  *** GMW *** Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+/* *** GMW *** $Rev$ $Date$ */
+
+// #include "commonj/sdo/disable_warn.h"
+
+#ifndef _SDOString_H_
+#define _SDOString_H_
+#include "commonj/sdo/export.h"
+
+// #include <libxml/xmlstring.h>
+#include <iostream>
+
+namespace commonj
+{
+    namespace sdo
+    {
+    /** 
+    * SDOString - utility class for string handling.
+    * Keeps the string handling local to one place, so we can 
+    * replace it with a more NLS friendly version later.
+    */
+            
+      class SDOString
+        {
+        public:
+            SDO_SPI SDOString();
+            SDO_SPI SDOString(const char* localString);
+            SDO_SPI SDOString(const std::string& str);    
+            SDO_SPI SDOString(const SDOString& str);    
+            SDO_SPI virtual ~SDOString();
+            
+            SDO_SPI SDOString& operator=(const SDOString& str);
+            SDO_SPI SDOString operator+(const SDOString& str) const;
+            SDO_SPI SDOString& operator+=(const SDOString& str);
+            
+    
+            SDO_SPI bool operator== (const SDOString& str) const;
+            SDO_SPI bool equals(const char* localString) const;
+            SDO_SPI bool equals(const SDOString& str) const;
+            SDO_SPI bool equalsIgnoreCase(const char* localString) const;
+            SDO_SPI bool equalsIgnoreCase(const SDOString& str) const;
+
+            SDO_SPI bool operator< (const SDOString& str) const;
+            
+          //            SDO_SPI operator const char*() const {return (const char*) xmlForm;}
+            
+            SDO_SPI friend std::ostream& operator<<(std::ostream& output, const SDOString& str);
+            
+            SDO_SPI bool isNull() const;
+
+            SDO_SPI SDOString toLower(
+                unsigned int start = 0, 
+                unsigned int length = 0);
+
+
+            SDO_SPI int firstIndexOf(const char ch) const;
+            SDO_SPI int lastIndexOf(const char ch) const;
+            SDO_SPI SDOString substring(int start, int length) const;
+            SDO_SPI SDOString substring(int start) const;
+
+			SDO_SPI const char* c_str() const;
+        private :
+          std::string characters;
+            void release();                
+        };
+    } // End - namespace sdo
+} // End - namespace commonj
+
+#endif // _SDOString_H_

Propchange: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.h
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/SDOString.h
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/cpp/sdo/runtime/core/test/main.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/test/main.cpp?rev=409648&r1=409647&r2=409648&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/test/main.cpp (original)
+++ incubator/tuscany/cpp/sdo/runtime/core/test/main.cpp Fri May 26 04:39:15 2006
@@ -131,6 +131,7 @@
     TEST (  sdotest::noncontest() );
     TEST (  sdotest::versiontest() );
     TEST (  sdotest::defaulttest() );
+    TEST (  sdotest::defaulttest_strobj() );
     TEST (  sdotest::nulltest() );
     TEST (  sdotest::usertest() );
     TEST (  sdotest::querytest() );
@@ -163,7 +164,7 @@
     TEST (  sdotest::b46613() );
     TEST (  sdotest::b45933() );
 
-    cout << "Total tests:" << totaltests << " Tests passed:" << testspassed;
+    cout << "Total tests:" << totaltests << " Tests passed:" << testspassed << endl;
 
 return 0;
 }

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=409648&r1=409647&r2=409648&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.cpp (original)
+++ incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.cpp Fri May 26 04:39:15 2006
@@ -1446,6 +1446,161 @@
     }
 }
 
+// Re-write of defaulttest to use methods taking SDOString parameters 
+int sdotest::defaulttest_strobj()
+{
+
+  SDOString ns1("myspace");
+  SDOString testName("DefaultTest");
+  SDOString objectName("AnObject");
+  SDOString propName("commonj.sdo");
+
+    try{ 
+
+    DataFactoryPtr mdg  = DataFactory::getDataFactory();
+ 
+    mdg->addType(ns1, testName); 
+    mdg->addType(ns1, objectName);
+    
+    const Type& tm = mdg->getType(ns1, testName);
+    const Type& to = mdg->getType(ns1, objectName);
+
+    mdg->addPropertyToType(tm, "boolean", propName, "Boolean");
+
+    mdg->setDefault(ns1, testName, "boolean", true);
+
+    mdg->addPropertyToType(tm, "byte", propName, "Byte");
+    
+    mdg->setDefault(ns1, testName, "byte", (char)'d');
+
+    mdg->addPropertyToType(tm, "character", propName, "Character");
+
+    mdg->setDefault(ns1, testName, "character", (wchar_t)'e');
+
+    mdg->addPropertyToType(tm, "short", propName, "Short");
+
+    mdg->setDefault(ns1, testName, "short", (short)300);
+
+    mdg->addPropertyToType(tm, "long", propName, "Integer");
+
+    mdg->setDefault(ns1, testName, "long", (long)400);
+
+    mdg->addPropertyToType(tm, "longs", propName, "Integer", true);
+
+    mdg->setDefault(ns1, testName, "longs", (long)800);
+
+    mdg->addPropertyToType(tm, "longlong", propName, "Long");
+
+    mdg->setDefault(ns1, testName, "longlong", (int64_t)500);
+
+    mdg->addPropertyToType(tm, "float", propName, "Float");
+
+    mdg->setDefault(ns1, testName, "float", (float)600.0);
+
+    mdg->addPropertyToType(tm, "longdouble", propName, "Double");
+
+    mdg->setDefault(ns1, testName, "longdouble", (long double)700.0);
+
+    mdg->addPropertyToType(tm, "date", propName, "Date");
+
+    mdg->setDefault(ns1, testName, "date", (long)900);
+
+    mdg->addPropertyToType(tm, "string", propName, "String");
+
+    wchar_t* help = new wchar_t[4];
+    help[0] = 'H';
+    help[1] = 'E';
+    help[2] = 'L';
+    help[3] = 'P';
+
+    mdg->setDefault(ns1, testName, "string", help, 4);
+
+    delete help;
+
+    char* help2 = new char[4];
+    help2[0] = 'H';
+    help2[1] = 'E';
+    help2[2] = 'L';
+    help2[3] = 'P';
+
+    mdg->addPropertyToType(tm, "bytes", propName, "Bytes");
+
+    mdg->setDefault(ns1, testName, "bytes", help2, 4);
+
+    delete help2;
+
+    mdg->addPropertyToType(tm, "object", ns1, objectName);
+
+    DataObjectPtr test = mdg->create((Type&)tm);
+
+    FILE *f = fopen("defaults.dat","w+");
+    if (f == 0)
+    {
+        if (!silent) cout << "Unable to open file defaults.dat" << endl;
+        return 0;
+    }
+
+
+    fprintf(f, "Boolean default is true: %d\n",test->getBoolean("boolean"));
+
+    fprintf(f, "Byte default is d: %d\n",test->getByte("byte"));
+    
+    fprintf(f, "Character default is e: %d\n",test->getCharacter("character"));
+
+    fprintf(f, "Short default is 300: %d\n",test->getShort("short"));
+
+    fprintf(f, "Long default is 400: %d\n",test->getInteger("long"));
+
+    try {
+    fprintf(f, "Longs default is 800: %d\n" ,test->getInteger("longs[1]"));
+    }
+    catch (SDOIndexOutOfRangeException ex)
+    {
+        fprintf(f,"Expected index out of range OK\n");
+    }
+
+    fprintf(f,"Float default is 600: %.3f\n",test->getFloat("float"));
+
+    fprintf(f, "LongDouble default is 700: %.3f\n",(float)test->getDouble("longdouble"));
+
+    fprintf(f, "String default is HELP: ");
+    unsigned int lenw = test->getLength("string");
+    if (lenw > 0) {
+        char* tw = new char[lenw];
+        test->getBytes("string",tw,lenw);
+        for (int i=0;i<lenw;i++)
+        {
+            fprintf(f,"%c",tw[i]);
+        }
+        fprintf(f,"\n");
+    }
+
+    fprintf(f,"Bytes default is HELP: ");
+    unsigned int len = test->getLength("bytes");
+    if (len > 0) {
+        char* tc = new char[len];
+        test->getBytes("bytes",tc,len);
+        for (int i=0;i<len;i++)
+        {
+            fprintf(f,"%c", tc[i]);
+        }
+        fprintf(f,"\n");
+    }
+    fclose (f);
+    return comparefiles("defaults.dat","defaults.txt");
+
+    }
+    catch (SDORuntimeException e)
+    {
+        if (!silent)cout << e.getEClassName() << " in "; 
+        if (!silent)cout << e.getFileName() << " at line ";
+        if (!silent)cout << e.getLineNumber() << endl;
+        if (!silent)cout << e.getFunctionName() << " ";
+        if (!silent)cout << e.getMessageText() << endl;
+        return 0;
+    }
+}
+
 
 int sdotest::showdefault(FILE *f, const Type& tm)
 {

Modified: incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.h?rev=409648&r1=409647&r2=409648&view=diff
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.h (original)
+++ incubator/tuscany/cpp/sdo/runtime/core/test/sdotest.h Fri May 26 04:39:15 2006
@@ -138,6 +138,7 @@
         static int noncontest();
         static int versiontest();
         static int defaulttest();
+        static int defaulttest_strobj();
         static int querytest();
         static int getproptest();
         static int nulltest();



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org