Author: gwinn
Date: Fri Dec 8 11:25:27 2006
New Revision: 484703
URL: http://svn.apache.org/viewvc?view=rev&rev=484703
Log:
TUSCANY-946
Modified:
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.cpp
incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.h
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?view=diff&rev=484703&r1=484702&r2=484703
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.cpp
(original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.cpp
Fri Dec 8 11:25:27 2006
@@ -157,7 +157,7 @@
addType((typeIter->second)->getURI(), (typeIter->second)->getName());
// re-find the type we just added.
- fullTypeName = getFullTypeName(
+ getFullTypeName(fullTypeName,
(typeIter->second)->getURI(),
(typeIter->second)->getName());
typeIter2 = types.find(fullTypeName);
@@ -261,7 +261,8 @@
typeUri = uri;
if (findType(typeUri, inTypeName) == 0)
{
- SDOString fullTypeName = getFullTypeName(uri, inTypeName);
+ SDOString fullTypeName;
+ getFullTypeName(fullTypeName, uri, inTypeName);
types[fullTypeName] = new TypeImpl(uri, inTypeName, isSeq, isOp,
isAbs, isData, isFromList);
resolvePending[fullTypeName] = types[fullTypeName];
}
@@ -351,7 +352,9 @@
bool many)
{
assertNames(inTypeName, propname);
- SDOString fullPropTypeName = getFullTypeName(propTypeUri, propTypeName);
+ SDOString fullPropTypeName;
+ getFullTypeName(fullPropTypeName, propTypeUri, propTypeName);
+
TYPES_MAP::iterator typeIter;
typeIter = types.find(fullPropTypeName);
if (typeIter != types.end())
@@ -393,7 +396,8 @@
// << ") to type " << uri << "#" << inTypeName << endl;
- SDOString fullTypeName = getFullTypeName(uri, inTypeName);
+ SDOString fullTypeName;
+ getFullTypeName(fullTypeName, uri, inTypeName);
typeIter = types.find(fullTypeName);
if(typeIter == types.end())
@@ -423,7 +427,7 @@
SDOIllegalArgumentException, msg.c_str());
}
- fullTypeName = getFullTypeName(propTypeUri, propTypeName);
+ getFullTypeName(fullTypeName, propTypeUri, propTypeName);
typeIter2 = types.find(fullTypeName);
if (typeIter2 == types.end())
@@ -707,17 +711,22 @@
// ===================================================================
// getFullTypeName - return the name used as a key in the types map
// ===================================================================
-SDOString DataFactoryImpl::getFullTypeName(const SDOString& uri, const
SDOString& inTypeName) const
+SDOString& DataFactoryImpl::getFullTypeName(SDOString& stringBuffer, const
SDOString& uri, const SDOString& inTypeName)
{
- return uri + "#" + inTypeName;
+ stringBuffer = uri;
+ stringBuffer += "#";
+ stringBuffer += inTypeName;
+ return stringBuffer;
}
// ===================================================================
// getAliasTypeName - return the name used as a key in the types map
// ===================================================================
-SDOString DataFactoryImpl::getAliasTypeName(const SDOString& uri, const
SDOString& inTypeName) const
+SDOString& DataFactoryImpl::getAliasTypeName(SDOString& stringBuffer, const
SDOString& uri, const SDOString& inTypeName)
{
- return "ALIAS::" + getFullTypeName(uri, inTypeName);
+ getFullTypeName(stringBuffer, uri, inTypeName);
+ stringBuffer.insert(0, "ALIAS::");
+ return stringBuffer;
}
// ===================================================================
@@ -780,7 +789,8 @@
TYPES_MAP::const_iterator typeIter;
- SDOString fullTypeName = getFullTypeName(typeuri, typenam);
+ SDOString fullTypeName;
+ getFullTypeName(fullTypeName, typeuri, typenam);
typeIter = types.find(fullTypeName);
if(typeIter == types.end())
@@ -1276,7 +1286,8 @@
const TypeImpl* DataFactoryImpl::findTypeImpl(const SDOString& uri, const
SDOString& inTypeName) const
{
- SDOString fullTypeName = getFullTypeName(uri, inTypeName);
+ SDOString fullTypeName;
+ getFullTypeName(fullTypeName, uri, inTypeName);
TYPES_MAP::const_iterator typeIter;
typeIter = types.find(fullTypeName);
if(typeIter != types.end())
@@ -1286,7 +1297,7 @@
else
{
// try alias names
- fullTypeName = getAliasTypeName(uri, inTypeName);
+ getAliasTypeName(fullTypeName, uri, inTypeName);
typeIter = types.find(fullTypeName);
if(typeIter != types.end())
{
@@ -1305,13 +1316,14 @@
const char* alias)
{
- SDOString fullTypeName = getFullTypeName(typeuri, typenam);
+ SDOString fullTypeName;
+ getFullTypeName(fullTypeName, typeuri, typenam);
TYPES_MAP::iterator typeIter;
typeIter = types.find(fullTypeName);
if(typeIter != types.end())
{
(typeIter->second)->setAlias(alias);
- fullTypeName = getAliasTypeName(typeuri, alias);
+ getAliasTypeName(fullTypeName, typeuri, alias);
types[fullTypeName] = typeIter->second;
}
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?view=diff&rev=484703&r1=484702&r2=484703
==============================================================================
--- incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.h
(original)
+++ incubator/tuscany/cpp/sdo/runtime/core/src/commonj/sdo/DataFactoryImpl.h
Fri Dec 8 11:25:27 2006
@@ -691,8 +691,8 @@
typedef std::vector<TypeImpl*> TYPES_VECTOR;
TYPES_VECTOR cstypes;
- SDOString getFullTypeName(const SDOString& uri, const SDOString&
inTypeName) const;
- SDOString getAliasTypeName(const SDOString& uri, const SDOString&
inTypeName) const;
+ static SDOString& getFullTypeName(SDOString& stringBuffer, const
SDOString& uri, const SDOString& inTypeName);
+ static SDOString& getAliasTypeName(SDOString& stringBuffer, const
SDOString& uri, const SDOString& inTypeName);
void copyTypes(const DataFactoryImpl& inmdg);
};
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]