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