You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ad...@apache.org on 2007/10/15 08:45:37 UTC

svn commit: r584695 - in /incubator/tuscany/cpp/das: VSExpress/tuscany_das/ VSExpress/tuscany_das/das_runtime/ runtime/core/include/apache/das/ runtime/core/include/apache/das/rdb/ runtime/core/src/apache/das/ runtime/core/src/apache/das/rdb/ runtime/t...

Author: adrianocrestani
Date: Sun Oct 14 23:45:35 2007
New Revision: 584695

URL: http://svn.apache.org/viewvc?rev=584695&view=rev
Log:
-added support to load a sql command from the config file

Added:
    incubator/tuscany/cpp/das/runtime/core/include/apache/das/DASCommandNotFoundException.h
    incubator/tuscany/cpp/das/runtime/core/src/apache/das/DASCommandNotFoundException.cpp
Modified:
    incubator/tuscany/cpp/das/VSExpress/tuscany_das/das_runtime/das_runtime.vcproj
    incubator/tuscany/cpp/das/VSExpress/tuscany_das/tuscany_das.suo
    incubator/tuscany/cpp/das/runtime/core/include/apache/das/DAS.h
    incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/CommandImpl.h
    incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/ConfigImpl.h
    incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/DASImpl.h
    incubator/tuscany/cpp/das/runtime/core/src/apache/das/DAS.cpp
    incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/CommandImpl.cpp
    incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/ConfigImpl.cpp
    incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/DASImpl.cpp
    incubator/tuscany/cpp/das/runtime/test/rsc/testCompositeRelationship.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testCreateOperation.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testDeleteOperation.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship1.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship2.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testKeyPairColumnTypeNotEqual.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship1.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship2.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testModifyOperation.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testOCC1.xml
    incubator/tuscany/cpp/das/runtime/test/rsc/testOCC2.xml
    incubator/tuscany/cpp/das/runtime/test/src/main.cpp

Modified: incubator/tuscany/cpp/das/VSExpress/tuscany_das/das_runtime/das_runtime.vcproj
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/VSExpress/tuscany_das/das_runtime/das_runtime.vcproj?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/VSExpress/tuscany_das/das_runtime/das_runtime.vcproj (original)
+++ incubator/tuscany/cpp/das/VSExpress/tuscany_das/das_runtime/das_runtime.vcproj Sun Oct 14 23:45:35 2007
@@ -146,7 +146,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions="/D_VC80_UPGRADE=0x0600 /c /nologo /EHsc /Zi /Od /Gd /D_DEBUG /MDd /GR /DWIN32 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NON_CONFORMING_SWPRINTF"
+				AdditionalOptions="/D_VC80_UPGRADE=0x0600 /c /nologo /EHsc /Od /Gd /D_DEBUG /MDd /GR /DWIN32 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NON_CONFORMING_SWPRINTF"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\..\..\runtime\core\include;&quot;$(TUSCANY_SDOCPP)\include&quot;;&quot;$(LIBXML2_HOME)\include&quot;;&quot;$(ICONV_HOME)\include&quot;"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE"
@@ -222,6 +222,10 @@
 					>
 				</File>
 				<File
+					RelativePath="..\..\..\runtime\core\src\apache\das\DASCommandNotFoundException.cpp"
+					>
+				</File>
+				<File
 					RelativePath="..\..\..\runtime\core\src\apache\das\DASFactory.cpp"
 					>
 				</File>
@@ -428,6 +432,10 @@
 				</File>
 				<File
 					RelativePath="..\..\..\runtime\core\include\apache\das\DAS.h"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\runtime\core\include\apache\das\DASCommandNotFoundException.h"
 					>
 				</File>
 				<File

Modified: incubator/tuscany/cpp/das/VSExpress/tuscany_das/tuscany_das.suo
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/VSExpress/tuscany_das/tuscany_das.suo?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/tuscany/cpp/das/runtime/core/include/apache/das/DAS.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/include/apache/das/DAS.h?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/include/apache/das/DAS.h (original)
+++ incubator/tuscany/cpp/das/runtime/core/include/apache/das/DAS.h Sun Oct 14 23:45:35 2007
@@ -22,6 +22,7 @@
 
 #include "apache/das/DASFactory.h"
 #include "apache/das/Command.h"
+#include "apache/das/CommandPtr.h"
 
 #include "commonj/sdo/DataObject.h"
 
@@ -43,7 +44,7 @@
 		virtual ~DAS(void);
 
 		virtual const Config& getConfig(void) const = 0;
-
+		virtual CommandPtr getCommand(std::string commandName);
 		virtual void applyChanges(commonj::sdo::DataObjectPtr root) = 0;
 		
 };

Added: incubator/tuscany/cpp/das/runtime/core/include/apache/das/DASCommandNotFoundException.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/include/apache/das/DASCommandNotFoundException.h?rev=584695&view=auto
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/include/apache/das/DASCommandNotFoundException.h (added)
+++ incubator/tuscany/cpp/das/runtime/core/include/apache/das/DASCommandNotFoundException.h Sun Oct 14 23:45:35 2007
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+/* $Rev: 452786 $ $Date: 2006-10-04 08:57:36 +0100 (Wed, 04 Oct 2006) $ */
+
+#ifndef DAS_COMMAND_NOT_FOUND_EXCEPTION_H
+#define DAS_COMMAND_NOT_FOUND_EXCEPTION_H
+
+#include <stdexcept>
+
+namespace apache {
+	namespace das {
+
+class DASCommandNotFoundException : public std::exception {
+
+	public:
+		DASCommandNotFoundException(std::string message  = "");
+		virtual ~DASCommandNotFoundException(void);
+
+};
+
+	};
+};
+
+#endif //DAS_COMMAND_NOT_FOUND_EXCEPTION_H

Modified: incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/CommandImpl.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/CommandImpl.h?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/CommandImpl.h (original)
+++ incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/CommandImpl.h Sun Oct 14 23:45:35 2007
@@ -42,7 +42,7 @@
 	public:
 		CommandImpl(DASImpl& das, std::string sqlString);
 		virtual ~CommandImpl(void);
-		virtual commonj::sdo::DataObjectPtr executeQuery(void) = 0;
+		virtual commonj::sdo::DataObjectPtr executeQuery(void);
 		virtual DASImpl& getDAS(void);
 		virtual void close(void);
 

Modified: incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/ConfigImpl.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/ConfigImpl.h?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/ConfigImpl.h (original)
+++ incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/ConfigImpl.h Sun Oct 14 23:45:35 2007
@@ -31,6 +31,7 @@
 
 #include "apache/das/Config.h"
 #include "apache/das/SDODataObjectWrapper.h"
+#include "apache/das/DASCommandNotFoundException.h"
 #include "apache/das/DAS.h"
 #include "apache/das/rdb/Table.h"
 #include "apache/das/rdb/Column.h"
@@ -52,6 +53,7 @@
 		std::map<std::string, const Relationship*>* relationships;
 		std::map<std::string, const Table*>* tables;
 		bool convOverConfig;
+		std::map<std::string, std::string> commands;
 
 		Table& newTable(Table& table);
 		Relationship& newRelationship(Relationship& relationship);
@@ -70,6 +72,7 @@
 		const std::map<std::string, Relationship*>& getRelationships(void) const;
 		const std::map<std::string, Table*>& getTables(void) const;
 		const Table* getTableByTypeName(std::string typeName) const;
+		std::string getCommand(std::string commandName) const;
 
 		DAS& getDAS(void) const;
 		bool isConvOverConfig(void) const;

Modified: incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/DASImpl.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/DASImpl.h?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/DASImpl.h (original)
+++ incubator/tuscany/cpp/das/runtime/core/include/apache/das/rdb/DASImpl.h Sun Oct 14 23:45:35 2007
@@ -68,6 +68,7 @@
 		CommandPtr createCommand(std::string sql);
 		void closeConnection(void);
 		void applyChanges(commonj::sdo::DataObjectPtr root);
+		CommandPtr getCommand(std::string commandName);
 		
 };
 

Modified: incubator/tuscany/cpp/das/runtime/core/src/apache/das/DAS.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/src/apache/das/DAS.cpp?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/src/apache/das/DAS.cpp (original)
+++ incubator/tuscany/cpp/das/runtime/core/src/apache/das/DAS.cpp Sun Oct 14 23:45:35 2007
@@ -32,5 +32,7 @@
 
 DAS::~DAS(void) {}
 
+CommandPtr DAS::getCommand(std::string commandName) { return CommandPtr(0); }
+
 	};
 };

Added: incubator/tuscany/cpp/das/runtime/core/src/apache/das/DASCommandNotFoundException.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/src/apache/das/DASCommandNotFoundException.cpp?rev=584695&view=auto
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/src/apache/das/DASCommandNotFoundException.cpp (added)
+++ incubator/tuscany/cpp/das/runtime/core/src/apache/das/DASCommandNotFoundException.cpp Sun Oct 14 23:45:35 2007
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+#include "apache/das/DASCommandNotFoundException.h"
+
+namespace apache {
+	namespace das {
+
+DASCommandNotFoundException::DASCommandNotFoundException(std::string message) : std::exception(message.c_str()) {}
+
+DASCommandNotFoundException::~DASCommandNotFoundException(void) {}
+
+	};
+};

Modified: incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/CommandImpl.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/CommandImpl.cpp?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/CommandImpl.cpp (original)
+++ incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/CommandImpl.cpp Sun Oct 14 23:45:35 2007
@@ -51,6 +51,13 @@
 	return *das;
 }
 
+commonj::sdo::DataObjectPtr CommandImpl::executeQuery(void) {
+	statement->executeQuery(sql);
+
+	return commonj::sdo::DataObjectPtr(0);
+
+}
+
 void CommandImpl::close(void) {
 	statement->close();
 }

Modified: incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/ConfigImpl.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/ConfigImpl.cpp?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/ConfigImpl.cpp (original)
+++ incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/ConfigImpl.cpp Sun Oct 14 23:45:35 2007
@@ -87,6 +87,9 @@
 	dataFactory->addPropertyToType(config, "Command", command, true, false, true);
 	dataFactory->addPropertyToType(config, "uri", SDO_NAMESPACE, "String", false, false, true);
 	dataFactory->setDefault(SDO_NAMESPACE, "String", "uri", "");
+
+	dataFactory->addPropertyToType(command, "name", SDO_NAMESPACE, "String", false, false, true);
+	dataFactory->addPropertyToType(command, "SQL", SDO_NAMESPACE, "String", false, false, true);
 	
 	dataFactory->addPropertyToType(relationship, "KeyPair", keyPair, true, false, true);
 	dataFactory->addPropertyToType(relationship, "name", SDO_NAMESPACE, "String", false, false, true);
@@ -176,6 +179,16 @@
 
 	}
 
+	commonj::sdo::DataObjectList& commandList = root->getList("Command");
+
+	for (unsigned int i = 0 ; i < commandList.size() ; i++) {
+		std::string name = SDODataObjectWrapper(commandList[i]).getString("name");
+		std::string sql = SDODataObjectWrapper(commandList[i]).getString("SQL");
+		
+		commands.insert(std::make_pair(name, sql));
+
+	}
+
 	setURI(StringWrapper(root, "uri").getString());
 
 }
@@ -197,6 +210,17 @@
 
 	delete relationships;
 	delete tables;
+
+}
+
+std::string ConfigImpl::getCommand(std::string commandName) const {
+	std::map<std::string, std::string>::const_iterator it = commands.find(commandName);
+
+	if (it == commands.end()) {
+		throw DASCommandNotFoundException();
+	}
+
+	return it->second;
 
 }
 

Modified: incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/DASImpl.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/DASImpl.cpp?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/DASImpl.cpp (original)
+++ incubator/tuscany/cpp/das/runtime/core/src/apache/das/rdb/DASImpl.cpp Sun Oct 14 23:45:35 2007
@@ -86,6 +86,13 @@
 	closeConnection();
 }
 
+CommandPtr DASImpl::getCommand(std::string commandName) {
+	std::string commandSQL = config->getCommand(commandName);
+
+	return createCommand(commandSQL);
+
+}
+
 CommandPtr DASImpl::createCommand(std::string sql) {
 	CommandPtr command = 0;
     //trim(inSql);
@@ -95,6 +102,9 @@
         case 'S':
             command = new ReadCommandImpl(*this, sql);
             break;
+
+		default :
+			command = new CommandImpl(*this, sql);
 		
     }
 

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testCompositeRelationship.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testCompositeRelationship.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testCompositeRelationship.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testCompositeRelationship.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,8 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.composite.relationship"> 
 
+	<Command name="get composite relationship" SQL="SELECT department.id, department.name, employee.id, employee.department_id, employee.department_name FROM department, employee;"/>
+
 	<Table tableName="department">
       	<Column sqlType="integer" columnName="id" primaryKey="true"/>
 		<Column sqlType="varchar" columnName="name" primaryKey="true"/>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testCreateOperation.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testCreateOperation.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testCreateOperation.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testCreateOperation.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,7 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.create.operation"> > 
 
+	<Command name="get all tables" SQL="SELECT * FROM company, department, employee;"/>
 
 	<Table tableName="Department">
 		<Column columnName="id" sqlType="integer" primaryKey="true"/>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testDeleteOperation.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testDeleteOperation.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testDeleteOperation.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testDeleteOperation.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,7 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.delete.operation"> 
 
+	<Command name="get all tables" SQL="SELECT * FROM company, department, employee;"/>
 
 	<Table tableName="Department">
 		<Column columnName="id" sqlType="integer" primaryKey="true"/>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship1.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship1.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship1.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship1.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,8 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.incomplete.composite.relationship.one"> 
 
+	<Command name="get incomplete relationship" SQL="SELECT department.id, department.name, employee.id, employee.department_id FROM department, employee;"/>
+
 	<Table tableName="department">
       	<Column sqlType="integer" columnName="id" primaryKey="true"/>
 		<Column sqlType="varchar" columnName="name" primaryKey="true"/>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship2.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship2.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship2.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testIncompleteCompositeRelationship2.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,8 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.incomplete.composite.relationship.two"> 
 
+	<Command name="get incomplete relationship" SQL="SELECT department.id, department.name, employee.id, employee.department_id, employee.department_name FROM department, employee;"/>
+
 	<Table tableName="department">
       	<Column sqlType="varchar" columnName="name" primaryKey="true"/>
 	</Table>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testKeyPairColumnTypeNotEqual.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testKeyPairColumnTypeNotEqual.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testKeyPairColumnTypeNotEqual.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testKeyPairColumnTypeNotEqual.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,8 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.key.pair.column.type.not.equal"> 
 
+	<Command name="get all employees and departments" SQL="SELECT * FROM department, employee;"/>
+
 	<Table tableName="department">
       	<Column sqlType="integer" columnName="id" primaryKey="true"/>
 	</Table>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship1.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship1.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship1.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship1.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,8 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.many.relationship.one"> 
 
+	<Command name="get company 1 and its departments" SQL="SELECT * FROM company, department where company.id = 1;"/>
+
 	<Relationship primaryKeyTable="company" foreignKeyTable="department" many="true">
       	<KeyPair primaryKeyColumn="id" foreignKeyColumn="company_id"/>
 	</Relationship>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship2.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship2.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship2.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testManyRelationship2.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,8 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.many.relationship.two"> 
 
+	<Command name="get company 1 and its departments" SQL="SELECT * FROM company, department where company.id = 1;"/>
+
 	<Relationship primaryKeyTable="company" foreignKeyTable="department" many="false">
       	<KeyPair primaryKeyColumn="id" foreignKeyColumn="company_id"/>
 	</Relationship>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testModifyOperation.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testModifyOperation.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testModifyOperation.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testModifyOperation.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,7 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.modify.operation"> 
 
+	<Command name="get all tables" SQL="SELECT * FROM company, department, employee;"/>
 
 	<Table tableName="Department">
 		<Column columnName="id" sqlType="integer" primaryKey="true"/>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testOCC1.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testOCC1.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testOCC1.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testOCC1.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,8 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.occ"> 
 
+	<Command name="get all companies" SQL="SELECT * FROM company;"/>
+
 	<Table tableName="Department">
 		<Column columnName="id" sqlType="integer" primaryKey="true"/>
 		<Column columnName="name" sqlType="varchar" primaryKey="true"/>

Modified: incubator/tuscany/cpp/das/runtime/test/rsc/testOCC2.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/rsc/testOCC2.xml?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/rsc/testOCC2.xml (original)
+++ incubator/tuscany/cpp/das/runtime/test/rsc/testOCC2.xml Sun Oct 14 23:45:35 2007
@@ -20,6 +20,8 @@
 
 <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd" uri="test.occ"> 
 
+	<Command name="get all companies" SQL="SELECT * FROM company;"/>
+
 	<Table tableName="Department">
 		<Column columnName="id" sqlType="integer" primaryKey="true"/>
 		<Column columnName="name" sqlType="varchar" primaryKey="true"/>

Modified: incubator/tuscany/cpp/das/runtime/test/src/main.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/das/runtime/test/src/main.cpp?rev=584695&r1=584694&r2=584695&view=diff
==============================================================================
--- incubator/tuscany/cpp/das/runtime/test/src/main.cpp (original)
+++ incubator/tuscany/cpp/das/runtime/test/src/main.cpp Sun Oct 14 23:45:35 2007
@@ -69,38 +69,6 @@
 									"insert into employee values (4, 'ema', 2, 'department2')",
 									"insert into employee values (5, 'james', 2, 'department2')"
 								};
-//delete from employee;
-//delete from department;
-//delete from company;
-//
-//drop table employee;
-//drop table department;
-//drop table company;
-//
-//create table company ( id int not null, name varchar(20), primary key(id) );
-//
-//create table department ( id int not null, name varchar(20) not null, company_id int, foreign key (company_id) references company (id), primary key(id, name) );
-//
-//create table employee ( id int not null, name varchar(20), department_id int, department_name varchar(20), primary key(id) );
-//
-//insert into company values (1, 'apache');
-//insert into company values (2, 'acme');
-//insert into company values (3, 'google');
-//insert into company values (4, 'ibm');
-//insert into company values (5, 'yahoo');
-//
-//insert into department values (1, 'department1', 1);
-//insert into department values (2, 'department1', 1);
-//insert into department values (3, 'department2', 2);
-//insert into department values (4, 'department5', 2);
-//insert into department values (5, 'department3', 3);
-//insert into department values (6, 'department6', 3);
-//
-//insert into employee values (1, 'adriano', 1, 'department1');
-//insert into employee values (2, 'paul', 1, 'department1');
-//insert into employee values (3, 'richard', 1, 'department1');
-//insert into employee values (4, 'ema', 2, 'department2');
-//insert into employee values (5, 'james', 2, 'department2');
 
 Connection* getConnection() {
 	char* tuscanyDASCPPPath = getenv("TUSCANY_DASCPP");
@@ -260,8 +228,7 @@
 
 		DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
 		
-		CommandPtr command = das->createCommand(
-			"SELECT department.id, department.name, employee.id, employee.department_id FROM department, employee;");
+		CommandPtr command = das->getCommand("get incomplete relationship");
 
 		commonj::sdo::DataObjectPtr root = command->executeQuery();
 
@@ -281,8 +248,7 @@
 		
 		DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
 
-		CommandPtr command = das->createCommand(
-			"SELECT department.id, department.name, employee.id, employee.department_id, employee.department_name FROM department, employee;");
+		CommandPtr command = das->getCommand("get incomplete relationship");
 
 		commonj::sdo::DataObjectPtr root = command->executeQuery();
 
@@ -311,8 +277,7 @@
 	
 	DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
 
-	CommandPtr command = das->createCommand(
-		"SELECT department.id, department.name, employee.id, employee.department_id, employee.department_name FROM department, employee;");
+	CommandPtr command = das->getCommand("get composite relationship");
 
 	commonj::sdo::DataObjectPtr root = command->executeQuery();
 
@@ -345,8 +310,7 @@
 	Connection* conn = getConnection();
 	DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(*conn);
 	
-	CommandPtr command = das->createCommand(
-		"SELECT * FROM department, company;");
+	CommandPtr command = das->createCommand("SELECT * FROM department, company;");
 
 	commonj::sdo::DataObjectPtr root = command->executeQuery();
 
@@ -372,7 +336,7 @@
 	Connection* conn = getConnection();
 	ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testKeyPairColumnTypeNotEqual.xml");
 	DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-	CommandPtr command = das->createCommand("SELECT * FROM department, employee;");
+	CommandPtr command = das->getCommand("get all employees and departments");
 	commonj::sdo::DataObjectPtr root = command->executeQuery();
 
 	cout << "relationship ignored when keypair types are not equal = ";
@@ -418,7 +382,7 @@
 
 	ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testDeleteOperation.xml");
 	DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-	CommandPtr command = das->createCommand("SELECT * FROM company, department, employee;");
+	CommandPtr command = das->getCommand("get all tables");
 	commonj::sdo::DataObjectPtr root = command->executeQuery();
 
 	root->getDataObject("company[1]")->getDataObject("department[1]")->detach();
@@ -430,7 +394,6 @@
 
 	das->applyChanges(root);
 
-	command = das->createCommand("SELECT * FROM company, department, employee;");
 	root = command->executeQuery();
 
 	commonj::sdo::DataObjectList& companies = root->getList("company");
@@ -462,7 +425,7 @@
 	Connection* conn = getConnection();
 	ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testCreateOperation.xml");
 	DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-	CommandPtr command = das->createCommand("SELECT * FROM company, department, employee;");
+	CommandPtr command = das->getCommand("get all tables");
 	commonj::sdo::DataObjectPtr root = command->executeQuery();
 
 	commonj::sdo::DataObjectPtr company = root->createDataObject("company");
@@ -481,27 +444,22 @@
 	StringWrapper("juan").defineOnDataObject(employee, "name");
 	employee->setInt("id", 38);
 	department->getList("employee").append(employee);
-
-	//cout << "Company with id " << removedCompanyID << " deleted on database: ";
-
+	
 	das->applyChanges(root);
 
-	command = das->createCommand("SELECT * FROM company, department, employee;");
 	root = command->executeQuery();
 
 	commonj::sdo::DataObjectList& departments = root->getList("department");
 	bool failed = true;
 	for (unsigned int i = 0 ; i < departments.size() ; i++) {
 		
-		if (departments[i]->getInt("id") == 39 && StringWrapper(departments[i], "name").getString() == "department40") {
-			if (departments[i]->getDataObject("employee[1]")->getInt("id") == 38) {
-			if (StringWrapper(departments[i]->getDataObject("employee[1]"), "name").getString() == "juan") {
-
-			failed = false;
-			break;
-			}
-			}
+		if (departments[i]->getInt("id") == 39 && StringWrapper(departments[i], "name").getString() == "department40"
+			&& departments[i]->getDataObject("employee[1]")->getInt("id") == 38
+			&& StringWrapper(departments[i]->getDataObject("employee[1]"), "name").getString() == "juan") {
 
+				failed = false;
+				break;
+		
 		}
 
 	}
@@ -545,187 +503,7 @@
 
 }
 
-void test() {
-
-	/*Connection* conn = getConnection();
-	ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testDeleteOperation.xml");
-	DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-	CommandPtr command = das->createCommand("SELECT * FROM company, department, employee;");
-	commonj::sdo::DataObjectPtr root = command->executeQuery();
-
-	commonj::sdo::DataObjectPtr company1 = root->getDataObject("company[1]");
-	commonj::sdo::DataObjectPtr company2 = root->getDataObject("company[1]");
-	
-	department = company1->getList("department").remove(0);
-	company2->getList("department").append(department);
-
-	commonj::sdo::ChangeSummaryPtr csummary = root->getChangeSummary();
-	
-	commonj::sdo::SettingList& settings = csummary->getOldValues();
-
-	
-	das->applyChanges(root);
-
-	delete conn;*/
-
-	commonj::sdo::DataFactoryPtr mdg  = commonj::sdo::DataFactory::getDataFactory();
-
-    mdg->addType("apache.tuscany.das", "Root");
-	mdg->addType("apache.tuscany.das", "company");
-	mdg->addType("apache.tuscany.das", "department");
-	mdg->addType("apache.tuscany.das", "employee");
-
-	const commonj::sdo::Type& rootType = mdg->getType("apache.tuscany.das", "Root");
-	const commonj::sdo::Type& companyType = mdg->getType("apache.tuscany.das", "company");
-	const commonj::sdo::Type& departmentType = mdg->getType("apache.tuscany.das", "department");
-	const commonj::sdo::Type& employeeType = mdg->getType("apache.tuscany.das", "employee");
-	
-	mdg->addPropertyToType("apache.tuscany.das", "Root", "ChangeSummary", "commonj.sdo", "ChangeSummary", false, false, true);
-	mdg->addPropertyToType("apache.tuscany.das", "Root", "company", "apache.tuscany.das", "company", true, false, true);
-	mdg->addPropertyToType("apache.tuscany.das", "Root", "employee", "apache.tuscany.das", "employee", true, false, true);
-	mdg->addPropertyToType("apache.tuscany.das", "Root", "department", "apache.tuscany.das", "department", true, false, true);
-
-	mdg->addPropertyToType("apache.tuscany.das", "company", "id", "commonj.sdo", "Integer", false, false, true);
-	mdg->addPropertyToType("apache.tuscany.das", "company", "name", "commonj.sdo", "String", false, false, true);
-	mdg->addPropertyToType("apache.tuscany.das", "company", "department", "apache.tuscany.das", "department", true, false, false);
-
-	mdg->addPropertyToType("apache.tuscany.das", "department", "id", "commonj.sdo", "Integer", false, false, true);
-	mdg->addPropertyToType("apache.tuscany.das", "department", "name", "commonj.sdo", "String", false, false, true);
-	mdg->addPropertyToType("apache.tuscany.das", "department", "employee", "apache.tuscany.das", "employee", true, false, false);
-
-	mdg->addPropertyToType("apache.tuscany.das", "employee", "id", "commonj.sdo", "Integer", false, false, true);
-	mdg->addPropertyToType("apache.tuscany.das", "employee", "name", "commonj.sdo", "String", false, false, true);
-	
-	std::wstring waux;
-	commonj::sdo::DataObjectPtr root = mdg->create(rootType);
-
-	commonj::sdo::DataObjectPtr company1 = root->createDataObject("company");
-	company1->setInt("id", 1);
-	waux = L"apache";
-	company1->setString("name", waux.c_str(), waux.length());
-	
-	commonj::sdo::DataObjectPtr company2 = root->createDataObject("company");
-	company2->setInt("id", 2);
-	waux = L"acme";
-	company2->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr company3 = root->createDataObject("company");
-	company3->setInt("id", 3);
-	waux = L"google";
-	company3->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr company4 = root->createDataObject("company");
-	company1->setInt("id", 4);
-	waux = L"ibm";
-	company4->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr company5 = root->createDataObject("company");
-	company5->setInt("id", 5);
-	waux = L"yahoo";
-	company5->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr depart1 = root->createDataObject("department");
-	depart1->setInt("id", 1);
-	waux = L"department1";
-	depart1->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr depart2 = root->createDataObject("department");
-	depart2->setInt("id", 2);
-	waux = L"department1";
-	depart2->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr depart3 = root->createDataObject("department");
-	depart3->setInt("id", 3);
-	waux = L"department2";
-	depart3->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr depart4 = root->createDataObject("department");
-	depart4->setInt("id", 4);
-	waux = L"department5";
-	depart4->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr depart5 = root->createDataObject("department");
-	depart5->setInt("id", 5);
-	waux = L"department3";
-	depart5->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr depart6 = root->createDataObject("department");
-	depart6->setInt("id", 6);
-	waux = L"department6";
-	depart6->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr employee1 = root->createDataObject("employee");
-	employee1->setInt("id", 1);
-	waux = L"adriano";
-	employee1->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr employee2 = root->createDataObject("employee");
-	employee2->setInt("id", 2);
-	waux = L"paul";
-	employee2->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr employee3 = root->createDataObject("employee");
-	employee3->setInt("id", 3);
-	waux = L"richard";
-	employee3->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr employee4 = root->createDataObject("employee");
-	employee4->setInt("id", 4);
-	waux = L"ema";
-	employee4->setString("name", waux.c_str(), waux.length());
-
-	commonj::sdo::DataObjectPtr employee5 = root->createDataObject("employee");
-	employee5->setInt("id", 5);
-	waux = L"james";
-	employee5->setString("name", waux.c_str(), waux.length());
-
-	company1->getList("department").append(depart1);
-	company1->getList("department").append(depart2);
-
-	company2->getList("department").append(depart3);
-	company2->getList("department").append(depart4);
-
-	company3->getList("department").append(depart5);
-	company3->getList("department").append(depart6);
-
-	depart1->getList("employee").append(employee1);
-	depart1->getList("employee").append(employee2);
-	depart1->getList("employee").append(employee3);
-
-	root->getChangeSummary()->beginLogging();
-
-	commonj::sdo::DataObjectPtr department = company1->getList("department").remove(0);
-
-	cout << "removed department:" << endl;
-	department->printSelf(cout);
-
-	company2->getList("department").append(department);
-
-	commonj::sdo::SettingList& settings = root->getChangeSummary()->getOldValues(company1);	
-
-	for (unsigned int i = 0 ; i < settings.size() ; i++) {
-
-		if ((std::string) settings[i].getProperty().getName() == "department") {
-			settings[i].getDataObjectValue()->printSelf(cout);
-		}
-
-	}
-
-}
-
-void printCompany(commonj::sdo::DataObjectPtr company) {
-	cout << "----------------------" << endl;
-	company->printSelf(cout);
-
-	commonj::sdo::DataObjectList& departments = company->getList("department");
-
-	for (unsigned int i = 0 ; i < departments.size() ; i++) {
-		departments[i]->printSelf(cout);
-	}
-
-	cout << "----------------------" << endl << endl;
-
-}
+//
 
 void testMofidyOperation() {
 	cout << "-------------testMofidyOperation--------------" << endl;
@@ -733,7 +511,7 @@
 	Connection* conn = getConnection();
 	ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testModifyOperation.xml");
 	DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-	CommandPtr command = das->createCommand("SELECT * FROM company, department, employee;");
+	CommandPtr command = das->getCommand("get all tables");
 	commonj::sdo::DataObjectPtr root = command->executeQuery();
 
 	commonj::sdo::DataObjectPtr company1 = root->getDataObject("company[1]");
@@ -809,7 +587,7 @@
 	{
 		ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testOCC1.xml");
 		DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-		CommandPtr command = das->createCommand("SELECT * FROM company;");
+		CommandPtr command = das->getCommand("get all companies");
 		commonj::sdo::DataObjectPtr root1 = command->executeQuery();
 		commonj::sdo::DataObjectPtr root2 = command->executeQuery();
 
@@ -819,7 +597,6 @@
 
 		das->applyChanges(root1);
 
-		command = das->createCommand("SELECT * FROM company;");
 		root1 = command->executeQuery();
 
 		cout << "OCC field incremented after changes applied: ";
@@ -850,7 +627,7 @@
 	{
 		ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testOCC2.xml");
 		DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-		CommandPtr command = das->createCommand("SELECT * FROM company;");
+		CommandPtr command = das->getCommand("get all companies");
 		commonj::sdo::DataObjectPtr root = command->executeQuery();
 		
 		commonj::sdo::DataObjectPtr company = root->getDataObject("company[id=1]");
@@ -859,7 +636,6 @@
 		
 		das->applyChanges(root);
 
-		command = das->createCommand("SELECT * FROM company;");
 		root = command->executeQuery();
 
 		cout << "OCC field not incremented when it's not managed by DAS: ";
@@ -886,7 +662,7 @@
 	{
 		ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testManyRelationship1.xml");
 		DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-		CommandPtr command = das->createCommand("SELECT * FROM company, department where company.id = 1;");
+		CommandPtr command = das->getCommand("get company 1 and its departments");
 		commonj::sdo::DataObjectPtr root = command->executeQuery();
 
 		cout << "reference created as many on data graph = ";
@@ -908,7 +684,7 @@
 	{
 		ConfigImpl config((std::string) TEST_RESOURCE_PATH + "testManyRelationship2.xml");
 		DASImpl* das = (DASImpl*) DASImpl::getFACTORY().createDAS(config, *conn);
-		CommandPtr command = das->createCommand("SELECT * FROM company, department where company.id = 1;");
+		CommandPtr command = das->getCommand("get company 1 and its departments");
 		commonj::sdo::DataObjectPtr root = command->executeQuery();
 
 		cout << "reference created as not many on data graph = ";



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