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]

Reply via email to