You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by kw...@apache.org on 2006/06/26 18:51:06 UTC

svn commit: r417233 [1/3] - in /incubator/tuscany/java/das/rdb/src: main/java/org/apache/tuscany/das/rdb/ main/java/org/apache/tuscany/das/rdb/config/wrapper/ main/java/org/apache/tuscany/das/rdb/generator/impl/ main/java/org/apache/tuscany/das/rdb/gra...

Author: kwilliams
Date: Mon Jun 26 09:51:03 2006
New Revision: 417233

URL: http://svn.apache.org/viewvc?rev=417233&view=rev
Log:
Brent's patch for T-483

Added:
    incubator/tuscany/java/das/rdb/src/test/resources/staticCustomer.xml   (with props)
    incubator/tuscany/java/das/rdb/src/test/resources/staticCustomerOrder.xml   (with props)
    incubator/tuscany/java/das/rdb/src/test/resources/storedProcTest.xml   (with props)
Removed:
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Key.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Parameter.java
Modified:
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DAS.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DASFactory.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASFactoryImpl.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASImpl.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java
    incubator/tuscany/java/das/rdb/src/main/resources/config.xsd
    incubator/tuscany/java/das/rdb/src/main/resources/dasmodel4.mdl
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ExceptionTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GeneratedId.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/NameMappingTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OneToOneRelationshipTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OperationOrderingTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/Paging.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PartialUpdateTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/PassiveConnectionTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ReadDBSchemaTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SimplestCrud.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/StoredProcs.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TopDown.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/commands/ReadCustomersStaticTypesCommand.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DasTest.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/MySQLSetup.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/typed/SimplestStaticCrud.java
    incubator/tuscany/java/das/rdb/src/test/resources/1xM_mapping_no_cud.xml
    incubator/tuscany/java/das/rdb/src/test/resources/basicCustomerMapping.xml
    incubator/tuscany/java/das/rdb/src/test/resources/basicStaticCustomer.xml
    incubator/tuscany/java/das/rdb/src/test/resources/companyMappingWithConverters.xml

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/Command.java Mon Jun 26 09:51:03 2006
@@ -16,8 +16,6 @@
  */
 package org.apache.tuscany.das.rdb;
 
-import java.sql.Connection;
-
 import commonj.sdo.DataObject;
 import commonj.sdo.Type;
 
@@ -91,29 +89,6 @@
 	 */
 	public Object getParameterValue(int index);
 
-	/**
-	 * Adds a Parameter to the command
-	 * 
-	 * @param index
-	 *            the index of the parameter
-	 * @param direction
-	 *            the direction of the Parameter. Either Parameter.IN,
-	 *            Parameter.OUT or Parameter.INOUT
-	 * @param sdoType
-	 *            specifies the type as a commonj.sdo.Type from
-	 *            {@link SDODataTypes}
-	 */
-	public void addParameter(int index, int direction, Type sdoType);
-
-	/**
-	 * Specifies an object model for a graph of DataObjects returned by
-	 * #executeQuery()
-	 * 
-	 * @param schema
-	 *            the model as a commonj.sdo.Type
-	 */
-	public void setDataObjectModel(Type schema);
-
 
 	/**
 	 * Provides the java.sql.Connection to be used for this executing this
@@ -122,7 +97,7 @@
 	 * @param connection
 	 *            the java.sql.Connection
 	 */
-	public void setConnection(Connection connection);
+//	public void setConnection(Connection connection);
 
 	/**
 	 * Provides the java.sql.Connection to be used for this executing this
@@ -134,12 +109,13 @@
 	 *            <code>true</code> if the DAS should perform tx
 	 *            commit/rollback
 	 */
-	public void setConnection(Connection connection, boolean manageTransactions);
+//	public void setConnection(Connection connection, boolean manageTransactions);
 
 	/**
 	 * Cleans up and realeases all resources associated with this command. This
 	 * should be called when the application is done with this command.
 	 */
 	public void close();
+	
 
 }

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/ConfigHelper.java Mon Jun 26 09:51:03 2006
@@ -62,11 +62,7 @@
     
     public void addUpdateStatement(String statement, String tableName) {
         configWrapper.addUpdateCommand(tableName, statement);
-    }  
-    
-    public void addParameter(String statement, String tableName) {
-        configWrapper.addUpdateCommand(tableName, statement);
-    }    
+    }     
     
     
     

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DAS.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DAS.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DAS.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DAS.java Mon Jun 26 09:51:03 2006
@@ -1,9 +1,5 @@
 package org.apache.tuscany.das.rdb;
 
-import java.io.InputStream;
-import java.sql.Connection;
-
-import org.apache.tuscany.das.rdb.config.Config;
 import org.apache.tuscany.das.rdb.impl.DASFactoryImpl;
 
 import commonj.sdo.DataObject;
@@ -37,12 +33,6 @@
      */
     public Command getCommand(String name);
 
-    /**
-     * Set the default connection for all command in the group
-     * 
-     * @param connection
-     */
-    public void setConnection(Connection connection);
     
     /**
      * If the CommandGroup is managing connections then this method
@@ -50,10 +40,7 @@
      * 
      */
     public void releaseResources();
-    
-    
-    // begin from CommandFactory
-    
+        
     /**
      * Creates a Command based on the provided SQL statement
      * 
@@ -62,28 +49,5 @@
      * @return returns a Command instance
      */
     public Command createCommand(String sql);
-
-    /**
-     * Creates a Command based on the provided SQL statement and configuration
-     * 
-     * @param sql
-     *            The SQL statement
-     * @param mappingModel
-     *            The congiguration as XML file stream
-     * @return returns a COmmand instance
-     */
-    public Command createCommand(String sql, InputStream config);
     
-    
-
-    /**
-     * Creates a Command based on the provided SQL statement and configuration
-     * 
-     * @param sql
-     *            The SQL statement
-     * @param config
-     *            The congiguration as Config instance
-     * @return returns a COmmand instance
-     */
-    public Command createCommand(String sql, Config config);
 }

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DASFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DASFactory.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DASFactory.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/DASFactory.java Mon Jun 26 09:51:03 2006
@@ -17,39 +17,58 @@
 package org.apache.tuscany.das.rdb;
 
 import java.io.InputStream;
+import java.sql.Connection;
 
 import org.apache.tuscany.das.rdb.config.Config;
 
 /**
- * A CommandGroupFactory produces {@link DAS} instances.
+ * A DASFactory produces {@link DAS} instances.
  * 
  * 
  */
 public interface DASFactory {
 
     /**
-     * Creates a CommandGroup based on the provided config file stream
+     * Creates a DAS based on the provided config file stream
      * 
      * @param configStream
      *            A stream over a DAS config file
-     * @return returns a CommandGroup instance
+     * @return returns a DAS instance
      */
     public DAS createDAS(InputStream configStream);
     
+    /**
+     * Creates a DAS based on the provide config file stream and connection
+     * @param configStream
+     * @param connection
+     * @return
+     */
+    public DAS createDAS(InputStream configStream, Connection connection);
     
     /**
-     * Creates a CommandGroup based on the provided config
+     * Creates a DAS based on the provided config
      * 
      * @param config
      *            A DAS config object
-     * @return returns a CommandGroup instance
+     * @return returns a DAS instance
      */
     public DAS createDAS(Config config);
 
+    /**
+     * Creates a DAS based on the provided config and connection
+     * @param config
+     * @param connection
+     * @return
+     */
+    public DAS createDAS(Config config, Connection connection);
 
-	public DAS createDAS();
+    /**
+     * Creates a DAS based on the provided connection
+     * @param connection
+     * @return
+     */
+    public DAS createDAS(Connection connection);
     
- 
 
 }
 

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/config/wrapper/MappingWrapper.java Mon Jun 26 09:51:03 2006
@@ -21,8 +21,8 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 
-import org.apache.tuscany.das.rdb.Key;
 import org.apache.tuscany.das.rdb.config.Column;
 import org.apache.tuscany.das.rdb.config.Config;
 import org.apache.tuscany.das.rdb.config.ConfigFactory;
@@ -112,65 +112,24 @@
 
     }
 
-    public void addRelationship(Key parentKey, Key childKey) {
 
-        if (config == null)
-            config = factory.createConfig();
-
-        QualifiedColumn parent = new QualifiedColumn((String) parentKey.getColumNames().get(0));
-        QualifiedColumn child = new QualifiedColumn((String) childKey.getColumNames().get(0));
-
-        Relationship r = factory.createRelationship();
-        r.setName(child.getTableName());
-        r.setPrimaryKeyTable(parent.getTableName());
-        r.setForeignKeyTable(child.getTableName());
-        DebugUtil.debugln(getClass(), debug, "Created relationship from " + r.getPrimaryKeyTable() + " to "
-                + r.getForeignKeyTable() + " named " + r.getName());
-
-        Iterator i = parentKey.getColumNames().iterator();
-        Iterator j = childKey.getColumNames().iterator();
-        while (i.hasNext() && j.hasNext()) {
-            parent = new QualifiedColumn((String) i.next());
-            child = new QualifiedColumn((String) j.next());
-            KeyPair pair = factory.createKeyPair();
-            pair.setPrimaryKeyColumn(parent.getColumnName());
-            pair.setForeignKeyColumn(child.getColumnName());
-
-            r.getKeyPair().add(pair);
-        }
-        r.setMany(true);
-        config.getRelationship().add(r);
-
-    }
-
-    public void addPrimaryKey(String columnName) {
-        Key k = new Key(columnName);
-        addPrimaryKey(k, false);
+    
+    public void addPrimaryKey(String columnName) {     
+    	addPrimaryKey(Collections.singletonList(columnName));
     }
-
-    public void addPrimaryKey(Key key) {
-        addPrimaryKey(key, false);
-    }
-
-    public void addGeneratedPrimaryKey(String columnName) {
-        Key key = new Key(columnName);
-        addPrimaryKey(key, true);
-    }
-
-    private void addPrimaryKey(Key key, boolean generated) {
+    
+    public void addPrimaryKey(List columnNames) {
         if (config == null)
             config = factory.createConfig();
 
-        Iterator i = key.getColumNames().iterator();
+        Iterator i = columnNames.iterator();
         while (i.hasNext()) {
             String columnName = (String) i.next();
 
             QualifiedColumn pkColumn = new QualifiedColumn(columnName);
             Table t = findOrCreateTable(pkColumn.getTableName());
             Column c = findOrCreateColumn(t, pkColumn.getColumnName());
-            c.setPrimaryKey(true);
-            if (generated)
-                c.setGenerated(true);
+            c.setPrimaryKey(true);           
         }
     }
 

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/DeleteGenerator.java Mon Jun 26 09:51:03 2006
@@ -20,7 +20,6 @@
 import java.util.Iterator;
 
 import org.apache.tuscany.das.rdb.Converter;
-import org.apache.tuscany.das.rdb.Parameter;
 import org.apache.tuscany.das.rdb.SDODataTypes;
 import org.apache.tuscany.das.rdb.config.Table;
 import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper;
@@ -71,7 +70,7 @@
 		Iterator i = getDeleteParameters(t).iterator();
 		for(int idx=1; i.hasNext(); idx++) {
 			String property = (String) i.next();
-			Parameter p = new ParameterImpl();
+			ParameterImpl p = new ParameterImpl();
 			p.setName(property);
 			p.setType(SDODataTypes.OBJECT);
 			p.setConverter(getConverter(t, property));

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/InsertGenerator.java Mon Jun 26 09:51:03 2006
@@ -23,7 +23,6 @@
 import java.util.List;
 
 import org.apache.tuscany.das.rdb.Converter;
-import org.apache.tuscany.das.rdb.Parameter;
 import org.apache.tuscany.das.rdb.config.Relationship;
 import org.apache.tuscany.das.rdb.config.Table;
 import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper;
@@ -90,7 +89,7 @@
 		Iterator params = parameters.iterator();
 		for (int idx = 1; params.hasNext(); idx++) {
 			Property property = (Property) params.next();
-			Parameter p = new ParameterImpl();
+			ParameterImpl p = new ParameterImpl();
 			p.setName(property.getName());
 			p.setType(property.getType());
 			p.setConverter(getConverter(table, property.getName()));

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/generator/impl/UpdateGenerator.java Mon Jun 26 09:51:03 2006
@@ -22,7 +22,6 @@
 import java.util.List;
 
 import org.apache.tuscany.das.rdb.Converter;
-import org.apache.tuscany.das.rdb.Parameter;
 import org.apache.tuscany.das.rdb.config.Column;
 import org.apache.tuscany.das.rdb.config.Table;
 import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper;
@@ -109,7 +108,7 @@
 		Iterator params = parameters.iterator();
 		for (int idx = 1; params.hasNext(); idx++ ) {
 			Property p = (Property)params.next();
-			Parameter param = new ParameterImpl();
+			ParameterImpl param = new ParameterImpl();
 			param.setName(p.getName());
 			param.setType(p.getType());
 			param.setConverter(getConverter(t, p.getName()));
@@ -182,7 +181,7 @@
 			Property attr = (Property) i.next();
 			String field = attr.getName();
 
-			Parameter p = getParameter(wrapper, type.getProperty(field));
+			ParameterImpl p = getParameter(wrapper, type.getProperty(field));
 			if (pkNames.contains(field)) {
 				pkParams.add(p);
 			} else {
@@ -194,8 +193,8 @@
 		
 	}
 
-	private Parameter getParameter(TableWrapper wrapper, Property property) {
-		Parameter param = new ParameterImpl();
+	private ParameterImpl getParameter(TableWrapper wrapper, Property property) {
+		ParameterImpl param = new ParameterImpl();
 		param.setName(property.getName());
 		param.setType(property.getType());
 		param.setConverter(getConverter(wrapper, property.getName()));

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/DataObjectMaker.java Mon Jun 26 09:51:03 2006
@@ -105,7 +105,6 @@
 		Iterator i = rootObject.getType().getProperties().iterator();
 		while (i.hasNext()) {
 			Property p = (Property) i.next();
-	//		System.out.println(p.getType().getName());
 			if (tableName.equals(p.getType().getName()))
 				return p.getType();
 		}
@@ -113,8 +112,5 @@
 		return null;
 	}
 
-	private Type findTableTypeByRootReference(String refName) {
-		return rootObject.getProperty(refName).getType();
-	}
 
 }

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/GraphBuilderMetadata.java Mon Jun 26 09:51:03 2006
@@ -29,6 +29,7 @@
 import org.apache.tuscany.das.rdb.util.DebugUtil;
 
 import commonj.sdo.Type;
+import commonj.sdo.helper.TypeHelper;
 
 
 /**
@@ -41,9 +42,19 @@
 	private Type schema;
 
 
-	public GraphBuilderMetadata(Collection results, Type schema, Config model, ResultSetShape shape) throws SQLException {
+	public GraphBuilderMetadata(Collection results, Config model, ResultSetShape shape) throws SQLException {
 		this.mappingModel = model;
-		this.schema = schema;
+		if (model != null && model.getDataObjectModel() != null) {
+
+			Class rootClass;
+			try {
+				rootClass = Thread.currentThread().getContextClassLoader().loadClass(model.getDataObjectModel());				
+				this.schema = TypeHelper.INSTANCE.getType(rootClass);
+			} catch (ClassNotFoundException e) {
+				throw new RuntimeException(e);
+			}
+
+		}
 		
 		Iterator i = results.iterator();
 		while (i.hasNext()) {

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/graphbuilder/impl/ResultSetProcessor.java Mon Jun 26 09:51:03 2006
@@ -78,7 +78,7 @@
 			processResultSet(results, resultMetadata, start, end);
 
 			//TODO These statements HAVE to be closed or we will have major problems
-			//results.getStatement().close();
+//			results.getStatement().close();
 			results.close();
 		}
 

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java Mon Jun 26 09:51:03 2006
@@ -18,7 +18,6 @@
 
 import java.sql.Connection;
 
-import org.apache.tuscany.das.rdb.Key;
 import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper;
 
 public abstract class BaseCommandImpl {
@@ -37,32 +36,5 @@
 
     public abstract void setConnection(ConnectionImpl c);
 
-    public void addRelationship(String parentName, String childName) {
-        configWrapper.addRelationship(parentName, childName);
-    }
-
-    public void addRelationship(Key parentKey, Key childKey) {
-        configWrapper.addRelationship(parentKey, childKey);
-    }
-
-    public void addPrimaryKey(String pk) {
-        configWrapper.addPrimaryKey(pk);
-    }
-
-    public void addPrimaryKey(Key pk) {
-        configWrapper.addPrimaryKey(pk);
-    }
-
-    public void addConverter(String name, String converter) {
-        configWrapper.addConverter(name, converter);
-    }
-
-    public void addCollisionColumn(String columnName) {
-        configWrapper.addCollisionColumn(columnName);
-    }
-
-    public void addGeneratedPrimaryKey(String columnName) {
-        configWrapper.addGeneratedPrimaryKey(columnName);
-    }
 
 }

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeOperation.java Mon Jun 26 09:51:03 2006
@@ -18,7 +18,6 @@
 
 import java.util.Iterator;
 
-import org.apache.tuscany.das.rdb.Parameter;
 import org.apache.tuscany.das.rdb.util.DebugUtil;
 
 import commonj.sdo.DataObject;
@@ -57,7 +56,7 @@
 	
 		Iterator i = writeCommand.getParameters().iterator();
 		while (i.hasNext()) {
-			Parameter parm = (Parameter) i.next();
+			ParameterImpl parm = (ParameterImpl) i.next();
 			DebugUtil.debugln(getClass(), debug, "setting " + parm.getName() + " to " + dObject.get(parm.getName()));
 			parm.setValue(dObject.get(parm.getName()));
 		}

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java Mon Jun 26 09:51:03 2006
@@ -22,12 +22,10 @@
 import java.util.List;
 
 import org.apache.tuscany.das.rdb.Command;
-import org.apache.tuscany.das.rdb.Key;
 import org.apache.tuscany.das.rdb.config.Column;
 import org.apache.tuscany.das.rdb.config.Relationship;
 import org.apache.tuscany.das.rdb.config.Table;
 import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper;
-import org.apache.tuscany.das.rdb.config.wrapper.QualifiedColumn;
 import org.apache.tuscany.das.rdb.config.wrapper.RelationshipWrapper;
 import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper;
 import org.apache.tuscany.das.rdb.util.DebugUtil;
@@ -231,31 +229,6 @@
 		}
 	}
 
-	public void addRelationship(String parentName, String childName) {
-		mapping.addRelationship(parentName, childName);
-	}
-
-	public void addPrimaryKey(String columnName) {
-		mapping.addPrimaryKey(columnName);
-	}
-
-	public void addCollisionColumn(String columnName) {
-		mapping.addCollisionColumn(columnName);
-	}
-
-	public void addPrimarykey(Key key) {
-		mapping.addPrimaryKey(key);
-	}
-
-	public void addGeneratedPrimaryKey(String columnName) {
-		QualifiedColumn col = new QualifiedColumn(columnName);
-		generatedKeys.put(col.getTableName(), col.getColumnName());
-		mapping.addGeneratedPrimaryKey(columnName);
-	}
-
-	public void addConverter(String name, String converterName) {
-		mapping.addConverter(name, converterName);
-	}
 
 	public ConnectionImpl getConnection() {
 		return this.connection;	

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/CommandImpl.java Mon Jun 26 09:51:03 2006
@@ -22,7 +22,6 @@
 import java.util.List;
 
 import org.apache.tuscany.das.rdb.Command;
-import org.apache.tuscany.das.rdb.Parameter;
 
 import commonj.sdo.DataObject;
 import commonj.sdo.Type;
@@ -76,41 +75,21 @@
 		parameters.setParameterWithType(index, dataType);
 	}
 
-	public void addParameter(int index, Type sdoType) {
-		addParameter(index, Parameter.IN, sdoType);
-	}
-
-	public void addParameter(int index, int direction, Type sdoType) {
-		parameters.findOrCreateParameterWithIndex(index, direction, sdoType);
-	}
-
-	public void addParameter(String name, Type sdoType) {
-		addParameter(name, Parameter.IN, sdoType);
-	}
-
-	public void addParameter(String name, int direction, Type sdoType) {
+	protected void addParameter(String name, Type sdoType) {
 		parameters.setParameterWithType(name, sdoType);
 	}
 
-	public void addParameter(Parameter param) {
+	public void addParameter(ParameterImpl param) {
 		parameters.add(param);
 	}
 
-	public Parameter getParameter(String name) {
-		return parameters.get(name);
-	}
-
-	public Parameter getParameter(int index) {
-		return parameters.get(index);
-
-	}
 
 	public List getParameters() {
 		return parameters.parameterList();
 	}
 
 	public Object getParameterValue(String name) {
-		Parameter p = parameters.get(name);
+		ParameterImpl p = parameters.get(name);
 		if (p == null)
 			throw new RuntimeException("Parameter with name " + name
 					+ " not found");

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASFactoryImpl.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASFactoryImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASFactoryImpl.java Mon Jun 26 09:51:03 2006
@@ -17,6 +17,7 @@
 package org.apache.tuscany.das.rdb.impl;
 
 import java.io.InputStream;
+import java.sql.Connection;
 
 import org.apache.tuscany.das.rdb.DAS;
 import org.apache.tuscany.das.rdb.DASFactory;
@@ -34,6 +35,18 @@
 	
 	public DAS createDAS() {
 		return new DASImpl();
+	}
+
+	public DAS createDAS(InputStream configStream, Connection connection) {
+		return new DASImpl(configStream, connection);
+	}
+
+	public DAS createDAS(Config config, Connection connection) {
+		return new DASImpl(config, connection);
+	}
+
+	public DAS createDAS(Connection connection) {
+		return new DASImpl(connection);
 	}
 
 

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASImpl.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DASImpl.java Mon Jun 26 09:51:03 2006
@@ -19,6 +19,7 @@
 import java.io.InputStream;
 import java.sql.Connection;
 import java.sql.SQLException;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -69,6 +70,8 @@
                 commands.put(commandConfig.getName(), new InsertCommandImpl(commandConfig.getSQL()));
             else if (kind.equalsIgnoreCase("delete"))
                 commands.put(commandConfig.getName(), new DeleteCommandImpl(commandConfig.getSQL()));
+            else if (kind.equalsIgnoreCase("procedure"))
+            	commands.put(commandConfig.getName(), new SPCommandImpl(commandConfig.getSQL(),config, commandConfig.getParameter()));
             else
                 throw new RuntimeException("Invalid kind of command: " + kind);
 
@@ -77,7 +80,20 @@
     }
 
     public DASImpl() {
-		// TODO Auto-generated constructor stub
+		// Empty Constructor
+	}
+
+	public DASImpl(Config inConfig, Connection inConnection) {
+		this(inConfig);
+		setConnection(inConnection);
+	}
+
+	public DASImpl(InputStream configStream, Connection inConnection) {
+		this(ConfigUtil.loadConfig(configStream), inConnection);	
+	}
+
+	public DASImpl(Connection inConnection) {
+		setConnection(inConnection);
 	}
 
 	/*
@@ -98,7 +114,7 @@
     public Command getCommand(String name) {
         if (!commands.containsKey(name))
             throw new RuntimeException("CommandGroup has no command named: " + name);
-        Command cmd = (Command) commands.get(name);
+        CommandImpl cmd = (CommandImpl) commands.get(name);
         cmd.setConnection(getConnection());
         return cmd;
     }
@@ -115,9 +131,8 @@
     }
 
     private void initializeConnection() {
-
-        String dataSource = config.getDataSource();
-        if (dataSource == null)
+       
+        if (config == null || config.getDataSource() == null)
             throw new RuntimeException(
                     "No connection has been provided and no data source has been specified");
 
@@ -131,7 +146,7 @@
         }
         try {
             // TODO - I think we should rename this getDataSourceURL?
-            DataSource ds = (DataSource) ctx.lookup(dataSource);
+            DataSource ds = (DataSource) ctx.lookup(config.getDataSource());
             try {
                 connection = ds.getConnection();
                 connection.setAutoCommit(false);
@@ -178,33 +193,36 @@
         return baseCreateCommand(sql, this.config);
     }
 
-    public Command createCommand(String sql, InputStream configStream) {
-        return baseCreateCommand(sql, ConfigUtil.loadConfig(configStream));
-    }
-
     public Command createCommand(String sql, Config config) {
         return baseCreateCommand(sql, config);
     }
 
     private Command baseCreateCommand(String sql, Config config) {
-
+    	CommandImpl returnCmd = null;
         sql = sql.trim(); // Remove leading white space
         char firstChar = Character.toUpperCase(sql.charAt(0));
         switch (firstChar) {
         case 'S':
-            return new ReadCommandImpl(sql, config, null);
+            returnCmd =  new ReadCommandImpl(sql, config, null);
+            break;
         case 'I':
-            return new InsertCommandImpl(sql);
+            returnCmd =  new InsertCommandImpl(sql);
+            break;
         case 'U':
-            return new UpdateCommandImpl(sql);
+            returnCmd =  new UpdateCommandImpl(sql);
+            break;
         case 'D':
-            return new DeleteCommandImpl(sql);
+            returnCmd =  new DeleteCommandImpl(sql);
+            break;
         case '{':
-            return new SPCommandImpl(sql, config);
+            returnCmd =  new SPCommandImpl(sql, config, Collections.EMPTY_LIST);
+            break;
         default:
             throw new RuntimeException("SQL => " + sql + " is not valid");
         }
 
+        returnCmd.setConnection(getConnection());
+        return returnCmd;
     }
 
 	public void applyChanges(DataObject root) {

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ParameterImpl.java Mon Jun 26 09:51:03 2006
@@ -17,12 +17,28 @@
 package org.apache.tuscany.das.rdb.impl;
 
 import org.apache.tuscany.das.rdb.Converter;
-import org.apache.tuscany.das.rdb.Parameter;
 
 import commonj.sdo.Type;
 
-public class ParameterImpl implements Parameter {
+public class ParameterImpl  {
 
+	/**
+	 * Value for "Direction" that indicates that a parameter is soley for input.
+	 */
+	final static int IN = 1;
+
+	/**
+	 * Value for "Direction" that indicates that a parameter is soley for
+	 * output. Out parameters only apply to Stored Procedures
+	 */
+	final static int OUT = 2;
+
+	/**
+	 * Value for "Direction" that indicates that a parameter is for both input
+	 * and output. In-out parameters only apply to stored procedures
+	 */
+	final static int IN_OUT = 3;
+	
 	private int index;
 	private Type type;
 	private String name;
@@ -41,6 +57,7 @@
 	public ParameterImpl(int index) {
 		this.index = index;
 	}
+
 
 	public void setType(Type type) {
 		this.type = type;

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Parameters.java Mon Jun 26 09:51:03 2006
@@ -21,7 +21,6 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.tuscany.das.rdb.Parameter;
 import org.apache.tuscany.das.rdb.SDODataTypes;
 import org.apache.tuscany.das.rdb.util.DebugUtil;
 
@@ -43,12 +42,12 @@
 		super();
 	}
 
-	public Parameter get(String name) {
-		return (Parameter) parametersByName.get(name);
+	public ParameterImpl get(String name) {
+		return (ParameterImpl) parametersByName.get(name);
 	}
 
-	public Parameter get(int index) {
-		return (Parameter) parameters.get(index);
+	public ParameterImpl get(int index) {
+		return (ParameterImpl) parameters.get(index);
 	}
 
 	public List outParams() {
@@ -59,23 +58,23 @@
 		return inParams;
 	}
 
-	private void addParameter(Parameter param) {
-		if (param.getDirection() == Parameter.IN)
+	private void addParameter(ParameterImpl param) {		
+		if (param.getDirection() == ParameterImpl.IN)
 			inParams.add(param);
-		else if ((param.getDirection() == Parameter.OUT)
-				|| (param.getDirection() == Parameter.IN_OUT))
+		else if ((param.getDirection() == ParameterImpl.OUT)
+				|| (param.getDirection() == ParameterImpl.IN_OUT))
 			outParams.add(param);
 
 		this.parameters.add(param);
 		parametersByName.put(param.getName(), param);
 	}
 
-	public void add(Parameter param) {
+	public void add(ParameterImpl param) {
 		addParameter(param);
 	}
 
-	public Parameter findOrCreateParameterNamed(String name) {
-		Parameter param = get(name);
+	public ParameterImpl findOrCreateParameterNamed(String name) {
+		ParameterImpl param = get(name);
 		if (param == null) {
 			param = new ParameterImpl(name);
 			addParameter(param);
@@ -83,18 +82,18 @@
 		return param;
 	}
 
-	public Parameter findOrCreateParameterWithIndex(int index, int direction,
+	public ParameterImpl findOrCreateParameterWithIndex(int index, int direction,
 			Type sdoType) {
 		Iterator i = parameters.iterator();
 		while (i.hasNext()) {
-			Parameter param = (Parameter) i.next();
+			ParameterImpl param = (ParameterImpl) i.next();
 
 			if (param.getIndex() == index)
 				return param;
 		}
 		DebugUtil.debugln(getClass(), debug,
 				"Creating new parameter with index " + index);
-		Parameter newParam = new ParameterImpl(index);
+		ParameterImpl newParam = new ParameterImpl(index);
 		newParam.setDirection(direction);
 		newParam.setType(sdoType);
 		addParameter(newParam);
@@ -105,41 +104,41 @@
 		return parameters;
 	}
 
-	public Parameter findOrCreateParameterWithIndex(int index) {
-		return findOrCreateParameterWithIndex(index, Parameter.IN,
+	public ParameterImpl findOrCreateParameterWithIndex(int index) {
+		return findOrCreateParameterWithIndex(index, ParameterImpl.IN,
 				SDODataTypes.OBJECT);
 	}
 
 	public void setParameter(int index, Object value) {
-		Parameter param = findOrCreateParameterWithIndex(index);
+		ParameterImpl param = findOrCreateParameterWithIndex(index);
 		param.setValue(value);
 	}
 
 	public void setParameter(String name, Object value) {
 		if (name == null)
 			throw new RuntimeException("Null parameter name not allowed");
-		Parameter param = findOrCreateParameterNamed(name);
+		ParameterImpl param = findOrCreateParameterNamed(name);
 		param.setValue(value);
 	}
 
 	public void setParameterWithType(String name, Type sdoType) {
 		if (name == null)
 			throw new RuntimeException("Null parameter name not allowed");
-		Parameter p = findOrCreateParameterNamed(name);
+		ParameterImpl p = findOrCreateParameterNamed(name);
 		p.setType(sdoType);
 	}
 
     public void setParameterWithType(int index, Type sdoType) {
         if (index == 0)
             throw new RuntimeException("Null parameter index not allowed");
-        Parameter p = findOrCreateParameterWithIndex(index);
+        ParameterImpl p = findOrCreateParameterWithIndex(index);
         p.setType(sdoType);
     }
     
-    public Parameter parameterWithIndex(int index) {
+    public ParameterImpl parameterWithIndex(int index) {
 		Iterator i = parameters.iterator();
 		while (i.hasNext()) {
-			Parameter param = (Parameter) i.next();
+			ParameterImpl param = (ParameterImpl) i.next();
 
 			if (param.getIndex() == index)
 				return param;

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/QueryString.java Mon Jun 26 09:51:03 2006
@@ -46,7 +46,6 @@
 	
 	public int getParameterIndex(String name) {
 		DebugUtil.debugln(getClass(), debug, "Looking for parameter index for: " + name);
-		//System.out.println(toString());
 		return ((Integer)parameters.get(name)).intValue();
 	}
 	

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java Mon Jun 26 09:51:03 2006
@@ -30,12 +30,9 @@
 import commonj.sdo.ChangeSummary;
 import commonj.sdo.DataGraph;
 import commonj.sdo.DataObject;
-import commonj.sdo.Type;
 
 public class ReadCommandImpl extends CommandImpl {
 
-    private Type schema;
-
     private int startRow = 1;
 
     private int endRow = Integer.MAX_VALUE;   
@@ -83,7 +80,7 @@
         // inferrable information
         // isn't specified, add it in.
 
-        GraphBuilderMetadata gbmd = new GraphBuilderMetadata(results, getSchema(), configWrapper.getConfig(),
+        GraphBuilderMetadata gbmd = new GraphBuilderMetadata(results, configWrapper.getConfig(),
                 resultSetShape);
 
         // Create the DataGraph
@@ -102,9 +99,6 @@
         return g.getRootObject();
     }
 
-    private Type getSchema() {
-        return (Type) schema;
-    }
 
     protected int getStartRow() {
         return startRow;
@@ -125,10 +119,6 @@
     private void setMappingModel(Config config) {
         configWrapper = new MappingWrapper(config);    
     }   
-
-    public void setDataObjectModel(Type schema) {
-        this.schema = schema;
-    }
 
     protected void enablePaging() {
         statement.enablePaging();

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/SPCommandImpl.java Mon Jun 26 09:51:03 2006
@@ -18,16 +18,40 @@
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.Iterator;
+import java.util.List;
 
 import org.apache.tuscany.das.rdb.config.Config;
+import org.apache.tuscany.das.rdb.config.Parameter;
 import org.apache.tuscany.das.rdb.util.DebugUtil;
 
 import commonj.sdo.DataObject;
+import commonj.sdo.Type;
+import commonj.sdo.helper.TypeHelper;
 
 public class SPCommandImpl extends ReadCommandImpl {
     
-    public SPCommandImpl(String sqlString, Config config) {
+    public SPCommandImpl(String sqlString, Config config, List params) {
         super(sqlString, config, null);
+        Iterator i = params.iterator();
+        for (int idx = 1; i.hasNext(); idx++) {
+			Parameter p = (Parameter) i.next();
+
+			int index = p.getColumnType().lastIndexOf('.');
+			String pkg = p.getColumnType().substring(0, index);
+			String typeName = p.getColumnType().substring(index + 1);
+
+			Type sdoType = TypeHelper.INSTANCE.getType(pkg, typeName);
+			
+
+			int direction = ParameterImpl.IN;
+			if ("OUT".equalsIgnoreCase(p.getDirection()))
+				direction = ParameterImpl.OUT;
+			else if ("INOUT".equalsIgnoreCase(p.getDirection()))
+				direction = ParameterImpl.IN_OUT;
+			parameters.findOrCreateParameterWithIndex(idx, direction, sdoType);
+		}    	
+        
     }
 
 	public DataObject executeQuery() {

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/Statement.java Mon Jun 26 09:51:03 2006
@@ -22,7 +22,6 @@
 import java.sql.SQLException;
 import java.util.Iterator;
 
-import org.apache.tuscany.das.rdb.Parameter;
 import org.apache.tuscany.das.rdb.util.DebugUtil;
 
 //TODO - Can use some refactoring.  Much code is duplicated in "execute" methods
@@ -57,7 +56,7 @@
 
             Iterator inParams = parameters.inParams().iterator();
             while (inParams.hasNext()) {
-                Parameter param = (Parameter) inParams.next();
+                ParameterImpl param = (ParameterImpl) inParams.next();
                 if (param.getIndex() == 0)
                     param.setIndex(queryString.getParameterIndex(param.getName()));
                 cs.setObject(param.getIndex(), param.getValue());
@@ -66,7 +65,7 @@
             // register out parameters
             Iterator outParams = parameters.outParams().iterator();
             while (outParams.hasNext()) {
-                Parameter param = (Parameter) outParams.next();
+                ParameterImpl param = (ParameterImpl) outParams.next();
                 if (param.getIndex() == 0)
                     param.setIndex(queryString.getParameterIndex(param.getName()));
                 DebugUtil.debugln(getClass(), debug, "Registering parameter " + param.getName());
@@ -81,7 +80,7 @@
 
             Iterator i = parameters.outParams().iterator();
             while (i.hasNext()) {
-                Parameter param = (Parameter) i.next();
+                ParameterImpl param = (ParameterImpl) i.next();
                 param.setValue(cs.getObject(param.getIndex()));
             }
 
@@ -98,7 +97,7 @@
 
         Iterator inParams = parameters.inParams().iterator();
         while (inParams.hasNext()) {
-            Parameter param = (Parameter) inParams.next();
+            ParameterImpl param = (ParameterImpl) inParams.next();
             if (param.getIndex() == 0)
                 param.setIndex(queryString.getParameterIndex(param.getName()));
             cs.setObject(param.getIndex(), param.getValue());
@@ -107,7 +106,7 @@
         // register out parameters
         Iterator outParams = parameters.outParams().iterator();
         while (outParams.hasNext()) {
-            Parameter param = (Parameter) outParams.next();
+            ParameterImpl param = (ParameterImpl) outParams.next();
             if (param.getIndex() == 0)
                 param.setIndex(queryString.getParameterIndex(param.getName()));
             DebugUtil.debugln(getClass(), debug, "Registering parameter " + param.getName());
@@ -118,7 +117,7 @@
 
         Iterator out = parameters.outParams().iterator();
         while (out.hasNext()) {
-            Parameter param = (Parameter) out.next();
+            ParameterImpl param = (ParameterImpl) out.next();
             param.setValue(cs.getObject(param.getIndex()));
         }
 
@@ -133,7 +132,8 @@
         PreparedStatement ps = getPreparedStatement();
         Iterator i = parameters.inParams().iterator();
         while (i.hasNext()) {
-            Parameter param = (Parameter) i.next();
+            ParameterImpl param = (ParameterImpl) i.next();
+           
             if (param.getIndex() == 0)
                 param.setIndex(queryString.getParameterIndex(param.getName()));
             Object value = param.getValue();
@@ -151,7 +151,7 @@
             throws SQLException {
         Iterator i = parameters.inParams().iterator();
         while (i.hasNext()) {
-            Parameter param = (Parameter) i.next();
+            ParameterImpl param = (ParameterImpl) i.next();
             if (param.getIndex() == 0)
                 param.setIndex(queryString.getParameterIndex(param.getName()));
             ps.setObject(param.getIndex(), param.getValue());

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/WriteCommandImpl.java Mon Jun 26 09:51:03 2006
@@ -20,11 +20,9 @@
 import java.util.Collection;
 import java.util.Iterator;
 
-import org.apache.tuscany.das.rdb.Parameter;
 import org.apache.tuscany.das.rdb.config.Config;
 
 import commonj.sdo.DataObject;
-import commonj.sdo.Type;
 
 public abstract class WriteCommandImpl extends CommandImpl {
 	
@@ -68,10 +66,6 @@
 		if ( false )
 			throw new SQLException();
 	}
-
-	public void setDataObjectModel(Type schema) {
-		// don't really care what the model is here
-	}
 	
 	public String toString() {
 		
@@ -88,7 +82,7 @@
 	public void addParameters(Collection updateParameters) {
 		Iterator i = updateParameters.iterator();
 		while ( i.hasNext()) {
-			Parameter p = (Parameter) i.next();
+			ParameterImpl p = (ParameterImpl) i.next();
 			addParameter(p);
 		}
 	}

Modified: incubator/tuscany/java/das/rdb/src/main/resources/config.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/resources/config.xsd?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/resources/config.xsd (original)
+++ incubator/tuscany/java/das/rdb/src/main/resources/config.xsd Mon Jun 26 09:51:03 2006
@@ -23,6 +23,7 @@
       </xsd:sequence>
       <xsd:attribute name="dataSource" type="xsd:string"/>
       <xsd:attribute name="uri" type="xsd:string"/>
+      <xsd:attribute name="dataObjectModel" type="xsd:string"/>
    </xsd:complexType>
    <xsd:complexType name="Command">
       <xsd:sequence>
@@ -73,8 +74,7 @@
    <xsd:complexType name="ResultDescriptor">
       <xsd:attribute name="columnName" type="xsd:string"/>
       <xsd:attribute name="tableName" type="xsd:string"/>
-      <xsd:attribute name="columnType" type="xsd:string"/>
-      <xsd:attribute name="converter" type="xsd:string"/>   
+      <xsd:attribute name="columnType" type="xsd:string"/>      
    </xsd:complexType>
    
 </xsd:schema>

Modified: incubator/tuscany/java/das/rdb/src/main/resources/dasmodel4.mdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/main/resources/dasmodel4.mdl?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/resources/dasmodel4.mdl (original)
+++ incubator/tuscany/java/das/rdb/src/main/resources/dasmodel4.mdl Mon Jun 26 09:51:03 2006
@@ -73,6 +73,9 @@
 				type       	"String")
 			    (object ClassAttribute "dataSource"
 				quid       	"4485DF600233"
+				type       	"String")
+			    (object ClassAttribute "dataObjectModel"
+				quid       	"449AB6CD0132"
 				type       	"String")))
 		    (object Class "Command"
 			quid       	"4362A2EC01FE"
@@ -173,9 +176,10 @@
 			    (object ClassAttribute "columnType"
 				quid       	"437B5A6D033A"
 				type       	"String")
-			    (object ClassAttribute "converter"
-				quid       	"437B5A6F0153"
-				type       	"String"))
+			    (object ClassAttribute "name"
+				quid       	"449AB74D03DF"
+				type       	"type"
+				initv      	"initval"))
 			language   	"Java")
 		    (object Association "$UNNAMED$0"
 			quid       	"4362A3030323"
@@ -352,7 +356,7 @@
 				    fill_color 	16777215
 				    anchor     	2
 				    nlines     	8
-				    max_width  	515)
+				    max_width  	525)
 				width      	536
 				height     	486
 				autoResize 	TRUE)
@@ -448,7 +452,7 @@
 				    fill_color 	16777215
 				    anchor     	2
 				    nlines     	6
-				    max_width  	337)
+				    max_width  	346)
 				width      	358
 				height     	386
 				autoResize 	TRUE)
@@ -524,13 +528,13 @@
 				ShowCompartmentStereotypes 	TRUE
 				IncludeAttribute 	TRUE
 				IncludeOperation 	TRUE
-				location   	(1054, 155)
+				location   	(1054, 186)
 				label      	(object ItemLabel
 				    Parent_View 	@14
-				    location   	(877, 49)
+				    location   	(828, 55)
 				    fill_color 	13434879
 				    nlines     	1
-				    max_width  	354
+				    max_width  	452
 				    justify    	0
 				    label      	"Config")
 				icon_style 	"Icon"
@@ -539,20 +543,20 @@
 				quidu      	"4362A2DE0045"
 				compartment 	(object Compartment
 				    Parent_View 	@14
-				    location   	(877, 109)
+				    location   	(828, 115)
 				    icon_style 	"Icon"
 				    fill_color 	16777215
 				    anchor     	2
-				    nlines     	3
-				    max_width  	350)
-				width      	372
-				height     	236
+				    nlines     	4
+				    max_width  	450)
+				width      	470
+				height     	286
 				autoResize 	TRUE)
 			    (object AssociationViewNew "$UNNAMED$9" @15
-				location   	(1054, 424)
+				location   	(1054, 452)
 				label      	(object SegLabel @16
 				    Parent_View 	@15
-				    location   	(1054, 365)
+				    location   	(1054, 393)
 				    font       	(object Font
 					italics    	TRUE)
 				    hidden     	TRUE
@@ -571,10 +575,10 @@
 				roleview_list 	(list RoleViews
 				    (object RoleView "$UNNAMED$10" @17
 					Parent_View 	@15
-					location   	(-93, -382)
+					location   	(-93, -354)
 					label      	(object SegLabel @18
 					    Parent_View 	@17
-					    location   	(1013, 304)
+					    location   	(1013, 354)
 					    hidden     	TRUE
 					    anchor     	1
 					    anchor_loc 	1
@@ -593,10 +597,10 @@
 					line_style 	0)
 				    (object RoleView "$UNNAMED$11" @19
 					Parent_View 	@15
-					location   	(-93, -382)
+					location   	(-93, -354)
 					label      	(object SegLabel @20
 					    Parent_View 	@19
-					    location   	(1013, 513)
+					    location   	(1013, 526)
 					    hidden     	TRUE
 					    anchor     	1
 					    anchor_loc 	1
@@ -615,7 +619,7 @@
 					line_style 	0
 					label      	(object SegLabel @21
 					    Parent_View 	@19
-					    location   	(1011, 559)
+					    location   	(1011, 562)
 					    anchor     	2
 					    anchor_loc 	1
 					    nlines     	1
@@ -626,40 +630,40 @@
 					    height     	44
 					    orientation 	1))))
 			    (object AssociationViewNew "$UNNAMED$6" @22
-				location   	(1804, 247)
+				location   	(1829, 247)
 				stereotype 	TRUE
 				line_color 	3342489
 				quidu      	"4362A448026C"
 				roleview_list 	(list RoleViews
 				    (object RoleView "$UNNAMED$7" @23
 					Parent_View 	@22
-					location   	(998, -559)
+					location   	(1023, -559)
 					stereotype 	TRUE
 					line_color 	3342489
 					quidu      	"4362A4490105"
 					client     	@22
 					supplier   	@14
 					line_style 	3
-					origin_attachment 	(1804, 247)
-					terminal_attachment 	(1240, 247))
+					origin_attachment 	(1829, 247)
+					terminal_attachment 	(1289, 247))
 				    (object RoleView "$UNNAMED$8" @24
 					Parent_View 	@22
-					location   	(998, -559)
+					location   	(1023, -559)
 					stereotype 	TRUE
 					line_color 	3342489
 					quidu      	"4362A4490106"
 					client     	@22
 					supplier   	@8
 					vertices   	(list Points
-					    (1804, 247)
+					    (1829, 247)
 					    (1972, 247)
 					    (1972, 644))
 					line_style 	3
-					origin_attachment 	(1804, 247)
+					origin_attachment 	(1829, 247)
 					terminal_attachment 	(1972, 644)
 					label      	(object SegLabel @25
 					    Parent_View 	@24
-					    location   	(2031, 431)
+					    location   	(2031, 441)
 					    anchor     	2
 					    anchor_loc 	1
 					    nlines     	1
@@ -734,36 +738,36 @@
 					    height     	55
 					    orientation 	0))))
 			    (object AssociationViewNew "$UNNAMED$0" @31
-				location   	(593, 212)
+				location   	(568, 213)
 				stereotype 	TRUE
 				line_color 	3342489
 				quidu      	"4362A3030323"
 				roleview_list 	(list RoleViews
 				    (object RoleView "$UNNAMED$1" @32
 					Parent_View 	@31
-					location   	(159, -470)
+					location   	(134, -469)
 					stereotype 	TRUE
 					line_color 	3342489
 					quidu      	"4362A3040108"
 					client     	@31
 					supplier   	@14
 					line_style 	3
-					origin_attachment 	(593, 212)
-					terminal_attachment 	(868, 212))
+					origin_attachment 	(568, 213)
+					terminal_attachment 	(819, 213))
 				    (object RoleView "$UNNAMED$2" @33
 					Parent_View 	@31
-					location   	(159, -470)
+					location   	(134, -469)
 					stereotype 	TRUE
 					line_color 	3342489
 					quidu      	"4362A3040109"
 					client     	@31
 					supplier   	@26
 					line_style 	3
-					origin_attachment 	(593, 212)
-					terminal_attachment 	(318, 212)
+					origin_attachment 	(568, 213)
+					terminal_attachment 	(318, 213)
 					label      	(object SegLabel @34
 					    Parent_View 	@33
-					    location   	(365, 260)
+					    location   	(360, 261)
 					    anchor     	2
 					    anchor_loc 	1
 					    nlines     	1
@@ -797,7 +801,7 @@
 				    fill_color 	16777215
 				    anchor     	2
 				    nlines     	5
-				    max_width  	440)
+				    max_width  	431)
 				width      	452
 				height     	336
 				annotation 	8

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/AliasTests.java Mon Jun 26 09:51:03 2006
@@ -15,10 +15,9 @@
 package org.apache.tuscany.das.rdb.test;
 
 import org.apache.tuscany.das.rdb.Command;
-import org.apache.tuscany.das.rdb.ConfigHelper;
+import org.apache.tuscany.das.rdb.DAS;
 import org.apache.tuscany.das.rdb.test.data.BookData;
 import org.apache.tuscany.das.rdb.test.framework.DasTest;
-import org.apache.tuscany.das.rdb.DAS;
 
 import commonj.sdo.DataObject;
 
@@ -38,8 +37,7 @@
 	 */
 	public void testColumnAlias() throws Exception{
 		
-		DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml") );
-	    das.setConnection( getConnection() );
+		DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml") , getConnection());	   
 	    
 	    Command select = das.getCommand( "get all books" );
 	    //select.setConnection( getConnection() );
@@ -65,12 +63,10 @@
 	 */
 	public void testColumnData() throws Exception {
 		
-	    DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml") );
-	    das.setConnection(getConnection());
+	    DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml") , getConnection());	 
 	    
 	    Command select = das.getCommand( "get book by ID" );
-	    select.setParameterValue("ID", new Integer(1));
-	    select.setConnection(getConnection());
+	    select.setParameterValue("ID", new Integer(1));	
 	    
 	    //*******Verifys a column entry is readable
 	    DataObject root = select.executeQuery();
@@ -113,8 +109,7 @@
 	    //helper.addTable("BOOK", "Book");
 	    //helper.addPrimaryKey("BOOK.BOOK_ID");
 	    
-	    DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml") );
-	    das.setConnection(getConnection());
+	    DAS das = DAS.FACTORY.createDAS( getConfig("BooksConfigWithAlias.xml"), getConnection() );	
 	    Command select = das.getCommand( "get book by ID" );
 	    select.setParameterValue("ID", new Integer(1));
 	    

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/BestPracticeTests.java Mon Jun 26 09:51:03 2006
@@ -45,8 +45,7 @@
     //Read list of companies
     public void testReadCompanies() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"), getConnection());       
         Command read = das.getCommand("all companies");
         DataObject root = read.executeQuery(); 
         assertEquals(3, root.getList("COMPANY").size());
@@ -56,8 +55,7 @@
     //Read list of companies
     public void testReadCompaniesWithDepartments() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"), getConnection());       
         Command read = das.getCommand("all companies and departments");
         DataObject root = read.executeQuery(); 
         DataObject firstCompany = root.getDataObject("COMPANY[1]");
@@ -68,8 +66,7 @@
     
     public void testddDepartmentToFirstCompany() throws Exception {
         
-        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"), getConnection());      
         Command read = das.getCommand("all companies and departments");
         DataObject root = read.executeQuery();
         DataObject firstCustomer = root.getDataObject("COMPANY[1]");
@@ -92,10 +89,8 @@
      */
     public void testFlushCreateHeirarchy() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"));
-        das.setConnection(getConnection());
-        Command select = das.getCommand("all companies and departments");
-        select.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"), getConnection());       
+        Command select = das.getCommand("all companies and departments");        
         DataObject root = select.executeQuery();
 
         // Create a new Company
@@ -133,8 +128,7 @@
      */
     public void testGetEmptyGraph() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"), getConnection());      
 
         Command select = das.getCommand("company by id with departments");
         Integer idOfNoExistingCompany = new Integer(-1);

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java Mon Jun 26 09:51:03 2006
@@ -39,11 +39,10 @@
 	 * statements.
 	 */
 	public void testCUDGeneration1() throws Exception {
-		DAS das = DAS.FACTORY.createDAS(getConfig("basicCustomerMappingWithInvalidCUD.xml"));
+		DAS das = DAS.FACTORY.createDAS(getConfig("basicCustomerMappingWithInvalidCUD.xml"), getConnection());
 		
 		// Read customer with particular ID
-		Command select = das.createCommand("Select * from CUSTOMER where ID = 1");
-		select.setConnection(getConnection());
+		Command select = das.createCommand("Select * from CUSTOMER where ID = 1");	
 		DataObject root = select.executeQuery();
 
 		DataObject customer = (DataObject) root.get("CUSTOMER[1]");
@@ -63,22 +62,19 @@
 	}
 
 	public void testInsertCUDGeneration() throws Exception {
-		DAS das = DAS.FACTORY.createDAS();
+		DAS das = DAS.FACTORY.createDAS(getConnection());
 		
-		Command select = das.createCommand("Select * from CUSTOMER where ID = 1");
-		select.setConnection(getConnection());
+		Command select = das.createCommand("Select * from CUSTOMER where ID = 1");	
 		DataObject root = select.executeQuery();
 
 		DataObject customer = root.createDataObject("CUSTOMER");
 		customer.setInt("ID", 720);
 		customer.set("LASTNAME", "foobar");
 		customer.set("ADDRESS", "asdfasdf");
-
-		das.setConnection(getConnection());
+	
 		das.applyChanges(root);
 
 		select = das.createCommand("select * from CUSTOMER where ID = 720");
-		select.setConnection(getConnection());
 		root = select.executeQuery();
 
 		assertEquals(1, root.getList("CUSTOMER").size());
@@ -86,17 +82,15 @@
 
 	public void testReadModifyApply() throws Exception {
 
-		DAS das = DAS.FACTORY.createDAS(getConfig("1xM_mapping_no_cud.xml"));
+		DAS das = DAS.FACTORY.createDAS(getConfig("1xM_mapping_no_cud.xml"), getConnection());
 		
 		// Build the select command to read a specific customer and related
 		// orders
 		Command select = das
 				.createCommand(
-						"SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID",
-						getConfig("1xM_mapping_no_cud.xml"));
+						"SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID");
 
-		// Parameterize the command
-		select.setConnection(getConnection());
+		// Parameterize the command	
 		select.setParameterValue("ID", new Integer(1));
 
 		// Get the graph
@@ -109,8 +103,7 @@
 		// Modify an order
 		DataObject order = (DataObject) customer.get("orders[1]");
 		order.setString("PRODUCT", "Kitchen Sink 001");
-
-		das.setConnection(getConnection());
+	
 		das.applyChanges(root);
 
 	}

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CommandGroupTests.java Mon Jun 26 09:51:03 2006
@@ -68,8 +68,7 @@
      */
     public void testRead() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CustomersOrdersConfig.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CustomersOrdersConfig.xml"), getConnection());       
 
         Command read = das.getCommand("all customers");
         DataObject root = read.executeQuery();
@@ -83,8 +82,7 @@
      */
     public void testReadUsingConfigInput() throws Exception {
     	Config config = ConfigUtil.loadConfig(getConfig("CustomersOrdersConfig.xml"));
-        DAS das = DAS.FACTORY.createDAS(config);
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(config, getConnection());       
 
         Command read = das.getCommand("all customers");
         DataObject root = read.executeQuery();
@@ -97,8 +95,7 @@
      */
     public void testReadWithParmmarker() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CustOrdersConnectionProps.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CustOrdersConnectionProps.xml"), getConnection());     
         
         Command read = das.getCommand("order by id with ?");
         read.setParameterValue(1, new Integer(1));
@@ -113,8 +110,7 @@
      */
     public void testReadWithConnectionProperties() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CustOrdersConnectionProps.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CustOrdersConnectionProps.xml"), getConnection());   
         
         Command read = das.getCommand("all customers");
         DataObject root = read.executeQuery();
@@ -128,8 +124,7 @@
      */
     public void testUpdate() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CustOrdersConnectionProps.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CustOrdersConnectionProps.xml"), getConnection());       
         
         Command read = das.getCommand("all customers");
         DataObject root = read.executeQuery();
@@ -154,8 +149,7 @@
     public void testRead2() throws Exception {
 
         // Create the group and set common connection
-        DAS das = DAS.FACTORY.createDAS(getConfig("CustomersOrdersConfig.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CustomersOrdersConfig.xml"), getConnection());       
 
         // Read all customers and remember the first one
         Command read = das.getCommand("all customers");

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java Mon Jun 26 09:51:03 2006
@@ -32,7 +32,6 @@
 import org.apache.tuscany.sdo.util.SDOUtil;
 
 import commonj.sdo.DataObject;
-import commonj.sdo.helper.TypeHelper;
 
 public class CompanyTests extends DasTest {
 
@@ -49,16 +48,13 @@
 
     public void testSimple() throws Exception {
 
-    	DAS das = DAS.FACTORY.createDAS(getConfig("companyMapping.xml"));
+    	DAS das = DAS.FACTORY.createDAS(getConfig("companyMapping.xml"), getConnection());
     	
         // Build the select command
         Command selectCommand = das.createCommand("select COMPANY.NAME, "
                 + "EMPLOYEE.NAME, EMPLOYEE.SN, EMPLOYEE.MANAGER, "
                 + "DEPARTMENT.NAME, DEPARTMENT.LOCATION, DEPARTMENT.NUMBER from COMPANY, DEPARTMENT, EMPLOYEE "
-                + "where COMPANY.ID=DEPARTMENT.COMPANYID and DEPARTMENT.ID=EMPLOYEE.DEPARTMENTID");//, getConfig("companyMapping.xml"));
-
-        // Parameterize the command
-        selectCommand.setConnection(getConnection());
+                + "where COMPANY.ID=DEPARTMENT.COMPANYID and DEPARTMENT.ID=EMPLOYEE.DEPARTMENTID");     
 
         // Get the graph
         DataObject root = selectCommand.executeQuery();
@@ -77,17 +73,14 @@
 
     public void testSimpleStatic() throws Exception {
 
-    	DAS das = DAS.FACTORY.createDAS(getConfig("companyMappingWithConverters.xml"));
+    	DAS das = DAS.FACTORY.createDAS(getConfig("companyMappingWithConverters.xml"), getConnection());
     	SDOUtil.registerStaticTypes(CompanyFactory.class);
         // Build the select command
         Command selectCommand = das.createCommand("select COMPANY.NAME, "
                 + "EMPLOYEE.NAME, EMPLOYEE.SN, EMPLOYEE.MANAGER, "
                 + "DEPARTMENT.NAME, DEPARTMENT.LOCATION, DEPARTMENT.NUMBER from COMPANY, DEPARTMENT, EMPLOYEE "
-                + "where COMPANY.ID=DEPARTMENT.COMPANYID and DEPARTMENT.ID=EMPLOYEE.DEPARTMENTID", getConfig("companyMappingWithConverters.xml"));
-
-        // Parameterize the command
-        selectCommand.setConnection(getConnection());
-        selectCommand.setDataObjectModel(TypeHelper.INSTANCE.getType(DatagraphRoot.class));
+                + "where COMPANY.ID=DEPARTMENT.COMPANYID and DEPARTMENT.ID=EMPLOYEE.DEPARTMENTID");
+        
 
         // Get the graph
         DatagraphRoot root = (DatagraphRoot) selectCommand.executeQuery();

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java Mon Jun 26 09:51:03 2006
@@ -41,10 +41,10 @@
     }
 
     public void testRead() throws Exception {
-    	DAS das = DAS.FACTORY.createDAS();
+    	DAS das = DAS.FACTORY.createDAS(getConnection());
         Command getOrderDetails = das
                 .createCommand("Select * from ORDERDETAILS where ORDERID = :ORDERID AND PRODUCTID = :PRODUCTID");
-        getOrderDetails.setConnection(getConnection());
+       
 
         getOrderDetails.setParameterValue("ORDERID", new Integer(1));
         getOrderDetails.setParameterValue("PRODUCTID", new Integer(1));
@@ -57,10 +57,10 @@
     }
 
     public void testReadModifyWrite2() throws Exception {
-    	DAS das = DAS.FACTORY.createDAS(getConfig("OrdersOrderDetailsConfig.xml"));
+    	DAS das = DAS.FACTORY.createDAS(getConfig("OrdersOrderDetailsConfig.xml"), getConnection());
         Command getOrderDetails = das
                 .createCommand("Select * from ORDERDETAILS where ORDERID = 1 AND PRODUCTID = 1");
-        getOrderDetails.setConnection(getConnection());
+     
         DataObject root = getOrderDetails.executeQuery();
 
         DataObject orderDetails = (DataObject) root.get("ORDERDETAILS[1]");
@@ -70,7 +70,7 @@
         orderDetails.setFloat("PRICE", 0f);
 
         // Build apply changes command
-        das.setConnection(getConnection());
+       
         das.applyChanges(root);        
 
         // Verify
@@ -81,11 +81,9 @@
     }
     
     public void testReadOrdersAndDetails2() throws Exception {
-    	DAS das = DAS.FACTORY.createDAS(getConfig("OrdersOrderDetailsConfig.xml"));
+    	DAS das = DAS.FACTORY.createDAS(getConfig("OrdersOrderDetailsConfig.xml"), getConnection());
         Command read = das
-                .createCommand("SELECT * FROM ANORDER LEFT JOIN ORDERDETAILS ON ANORDER.ID = ORDERDETAILS.ORDERID ORDER BY ANORDER.ID", 
-                		getConfig("OrdersOrderDetailsConfig.xml"));
-        read.setConnection(getConnection());
+                .createCommand("SELECT * FROM ANORDER LEFT JOIN ORDERDETAILS ON ANORDER.ID = ORDERDETAILS.ORDERID ORDER BY ANORDER.ID");      
 
         DataObject root = read.executeQuery();
 

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java Mon Jun 26 09:51:03 2006
@@ -75,8 +75,8 @@
 	 * 
 	 */
 	public void testArbitraryConverter() throws Exception {
-		DAS das = DAS.FACTORY.createDAS(getConfig("CustomerConfigWithConverter.xml"));
-		das.setConnection(getConnection());
+		DAS das = DAS.FACTORY.createDAS(getConfig("CustomerConfigWithConverter.xml"), getConnection());
+		
 		//Create and initialize command to read customers
 		Command read = das.getCommand("testArbitraryConverter");			
 
@@ -89,7 +89,6 @@
 		//Modify
 		root.setDate("CUSTOMER[1]/LASTNAME", tbday);	
 		
-		das.setConnection(getConnection());
 		das.applyChanges(root);		
 		
 		//Read

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java?rev=417233&r1=417232&r2=417233&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java Mon Jun 26 09:51:03 2006
@@ -58,12 +58,10 @@
      * Dilton's bug for adding new child data object
      */
     public void testAddNewOrder() throws Exception {
-    	DAS das = DAS.FACTORY.createDAS(getConfig("CustomersOrdersConfig.xml"));
+    	DAS das = DAS.FACTORY.createDAS(getConfig("CustomersOrdersConfig.xml"), getConnection());
         // Read some customers and related orders
         Command select = das.createCommand(
-                "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID",
-                getConfig("CustomersOrdersConfig.xml"));
-        select.setConnection(getConnection());
+                "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID");       
 
         DataObject root = select.executeQuery();
 
@@ -83,14 +81,13 @@
 
         assertEquals(custOrderCount + 1, cust.getList("orders").size());
         
-        // Build apply changes command
-        das.setConnection(getConnection());
+        // Build apply changes command      
         das.applyChanges(root);       
 
         // verify cust1 relationship updates
         select = das
-                .createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID",getConfig("CustomersOrdersConfig.xml"));
-        select.setConnection(getConnection());
+                .createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID");
+      
         select.setParameterValue("ID", new Integer(custID));
         root = select.executeQuery();
 
@@ -107,16 +104,14 @@
         // timestamp) values (316405209, '2005-11-23 19:29:52.636')";
         String sql = "insert into conmgt.serverstatus (managedserverid, timestamp) values (:serverid, :timestamp)";
 
-        DAS das = DAS.FACTORY.createDAS();
+        DAS das = DAS.FACTORY.createDAS(getConnection());
         Command insert = das.createCommand(sql);
         insert.setParameterValue("serverid", new Integer(316405209));
-        insert.setParameterValue("timestamp", "2005-11-23 19:29:52.636");
-        insert.setConnection(getConnection());
+        insert.setParameterValue("timestamp", "2005-11-23 19:29:52.636");   
         insert.execute();
 
         // Verify
-        Command select = das.createCommand("Select * from conmgt.serverstatus");
-        select.setConnection(getConnection());
+        Command select = das.createCommand("Select * from conmgt.serverstatus");      
         DataObject root = select.executeQuery();
         assertEquals(1, root.getList("SERVERSTATUS").size());
 
@@ -126,8 +121,7 @@
 
         // Create the group and set common connection
         DAS das = DAS.FACTORY
-                .createDAS(getConfig("CustomersOrdersConfig.xml"));
-        das.setConnection(getConnection());
+                .createDAS(getConfig("CustomersOrdersConfig.xml"), getConnection());       
 
         // Read all customers and add one
         Command read = das.getCommand("all customers");
@@ -155,9 +149,8 @@
      * that the parameter type is set.
      */
     public void testDiltonsNullParameterBug1() throws Exception {
-    	DAS das = DAS.FACTORY.createDAS();
-        Command insert = das.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)");
-        insert.setConnection(getConnection());
+    	DAS das = DAS.FACTORY.createDAS(getConnection());
+        Command insert = das.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)");      
         insert.setParameterValue("ID", new Integer(10));
         insert.setParameterValue("LASTNAME", null);
         insert.setParameterType("LASTNAME", SDODataTypes.STRING);
@@ -165,8 +158,7 @@
         insert.execute();
 
         // Verify
-        Command select = das.createCommand("Select * from CUSTOMER where ID = 10");
-        select.setConnection(getConnection());
+        Command select = das.createCommand("Select * from CUSTOMER where ID = 10");     
         DataObject root = select.executeQuery();
         assertEquals(1, root.getList("CUSTOMER").size());
         assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS"));
@@ -177,9 +169,8 @@
      * Error by not setting a parameter
      */
     public void testDiltonsNullParameterBug2() throws Exception {
-    	DAS das = DAS.FACTORY.createDAS();
-        Command insert = das.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)");
-        insert.setConnection(getConnection());
+    	DAS das = DAS.FACTORY.createDAS(getConnection());
+        Command insert = das.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)");       
         insert.setParameterValue("ID", new Integer(10));
         // insert.setParameterValue("LASTNAME", null);
         insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr");
@@ -196,17 +187,15 @@
      * Set parameter to empty string
      */
     public void testDiltonsNullParameterBug3() throws Exception {
-    	DAS das = DAS.FACTORY.createDAS();
-        Command insert = das.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)");
-        insert.setConnection(getConnection());
+    	DAS das = DAS.FACTORY.createDAS(getConnection());
+        Command insert = das.createCommand("insert into CUSTOMER values (:ID, :LASTNAME, :ADDRESS)");    
         insert.setParameterValue("ID", new Integer(10));
         insert.setParameterValue("LASTNAME", "");
         insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr");
         insert.execute();
 
         // Verify
-        Command select = das.createCommand("Select * from CUSTOMER where ID = 10");
-        select.setConnection(getConnection());
+        Command select = das.createCommand("Select * from CUSTOMER where ID = 10");     
         DataObject root = select.executeQuery();
         assertEquals(1, root.getList("CUSTOMER").size());
         assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS"));
@@ -215,8 +204,7 @@
 
     public void testUpdateChildThatHasGeneratedKey() throws Exception {
 
-        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"));
-        das.setConnection(getConnection());
+        DAS das = DAS.FACTORY.createDAS(getConfig("CompanyConfig.xml"), getConnection());    
         
         // Read a specific company based on the known ID
         Command readCust = das.getCommand("all companies and departments");



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