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/08/02 21:20:04 UTC

svn commit: r428100 - in /incubator/tuscany/java/das/rdb/src: main/java/org/apache/tuscany/das/rdb/ main/java/org/apache/tuscany/das/rdb/config/wrapper/ test/java/org/apache/tuscany/das/rdb/test/

Author: kwilliams
Date: Wed Aug  2 12:20:03 2006
New Revision: 428100

URL: http://svn.apache.org/viewvc?rev=428100&view=rev
Log:
Brent's patch for TUSCANY-590 to extend the capability of ConfigHelper

Modified:
    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/config/wrapper/MappingWrapper.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/ProgrammaticConfigTests.java

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=428100&r1=428099&r2=428100&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 Wed Aug  2 12:20:03 2006
@@ -16,8 +16,10 @@
  */
 package org.apache.tuscany.das.rdb;
 
+import org.apache.tuscany.das.rdb.config.Command;
 import org.apache.tuscany.das.rdb.config.Config;
 import org.apache.tuscany.das.rdb.config.ConfigFactory;
+import org.apache.tuscany.das.rdb.config.Table;
 import org.apache.tuscany.das.rdb.config.impl.ConfigFactoryImpl;
 import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper;
 
@@ -53,15 +55,49 @@
         configWrapper.addRelationship(parentName, childName);
     }
     
-    public void addTable(String name, String propertyName) {
-        configWrapper.addTable(name, propertyName);
+    public Table addTable(String name, String propertyName) {
+        return configWrapper.addTable(name, propertyName);
     }
     
-    public void addUpdateStatement(String statement, String tableName, String parameters) {
-        configWrapper.addUpdateCommand(tableName, statement, parameters);
+    public void addUpdateStatement(Table table, String statement, String parameters) {
+        configWrapper.addUpdateStatement(table, statement, parameters);
     }     
     
+    public void addCreateStatement(Table table, String statement, String parameters) {
+    	configWrapper.addCreateStatement(table, statement, parameters);
+    }
+    
+    public void addDeleteStatement(Table table, String statement, String parameters) {
+    	configWrapper.addDeleteStatement(table, statement, parameters);
+    }
+    
+    public void addConnectionInfo(String dataSourceName, boolean managedtx) {
+    	configWrapper.addConnectionInfo(dataSourceName, managedtx);
+    }
+    
+    public void addConnectionInfo(String dataSourceName) {
+    	configWrapper.addConnectionInfo(dataSourceName, true);
+    }
+    
+    public void setDataObjectModel(String dataObjectModel) {
+    	configWrapper.getConfig().setDataObjectModel(dataObjectModel);
+    }
+    
+    public Command addSelectCommand(String name, String sql) {
+    	return configWrapper.addCommand(name, sql, "select");
+    }
+    
+    public Command addUpdateCommand(String name, String sql) {
+    	return configWrapper.addCommand(name, sql, "update");
+    }
+    
+    public Command addInsertCommand(String name, String sql) {
+    	return configWrapper.addCommand(name, sql, "insert");    	
+    }
     
+    public Command addDeleteCommand(String name, String sql) {
+    	return configWrapper.addCommand(name, sql, "delete");
+    }
     
     public Config getConfig() {
         return config;

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=428100&r1=428099&r2=428100&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 Wed Aug  2 12:20:03 2006
@@ -24,8 +24,12 @@
 import java.util.List;
 
 import org.apache.tuscany.das.rdb.config.Column;
+import org.apache.tuscany.das.rdb.config.Command;
 import org.apache.tuscany.das.rdb.config.Config;
 import org.apache.tuscany.das.rdb.config.ConfigFactory;
+import org.apache.tuscany.das.rdb.config.ConnectionInfo;
+import org.apache.tuscany.das.rdb.config.Create;
+import org.apache.tuscany.das.rdb.config.Delete;
 import org.apache.tuscany.das.rdb.config.KeyPair;
 import org.apache.tuscany.das.rdb.config.Relationship;
 import org.apache.tuscany.das.rdb.config.Table;
@@ -190,7 +194,7 @@
         return propertyName;
     }
 
-    public void addTable(String tableName, String typeName) {
+    public Table addTable(String tableName, String typeName) {
         Table table = getTable(tableName);
         if (table != null)
             throw new RuntimeException("Table " + tableName + "already exists");
@@ -200,6 +204,7 @@
         table.setTypeName(typeName);
         config.getTable().add(table);
 
+        return table;
     }
 
     private Table findOrCreateTable(String tableName) {
@@ -355,13 +360,51 @@
         throw new RuntimeException("Could not find relationship " + name + " in the configuration");
     }
 
-    public void addUpdateCommand(String tableName, String statement, String parameters) {
-        Table table = findOrCreateTable(tableName);
+    public void addUpdateStatement(Table table, String statement, String parameters) {
+    
         Update update = ConfigFactoryImpl.eINSTANCE.createUpdate();
         update.setSql(statement);
         update.setParameters(parameters);
         table.setUpdate(update);
         
     }
+
+    public void addDeleteStatement(Table table, String statement,
+			String parameters) {
+
+		Delete delete = ConfigFactoryImpl.eINSTANCE.createDelete();
+		delete.setSql(statement);
+		delete.setParameters(parameters);
+		table.setDelete(delete);
+
+	}
+
+    
+    public void addCreateStatement(Table table, String statement,
+			String parameters) {
+
+		Create create = ConfigFactoryImpl.eINSTANCE.createCreate();
+		create.setSql(statement);
+		create.setParameters(parameters);
+		table.setCreate(create);
+
+	}
+	public void addConnectionInfo(String dataSourceName, boolean managedtx) {
+		ConnectionInfo info = ConfigFactoryImpl.eINSTANCE.createConnectionInfo();
+		info.setDataSource(dataSourceName);
+		info.setManagedtx(managedtx);
+		config.setConnectionInfo(info);		
+	}
+
+	public Command addCommand(String name, String sql, String kind) {
+		Command cmd = ConfigFactoryImpl.eINSTANCE.createCommand();
+		cmd.setName(name);
+		cmd.setKind(kind);
+		cmd.setSQL(sql);
+		
+		config.getCommand().add(cmd);
+		
+		return cmd;
+	}
 
 }

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=428100&r1=428099&r2=428100&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 Wed Aug  2 12:20:03 2006
@@ -28,6 +28,7 @@
 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.config.Table;
 import org.apache.tuscany.das.rdb.test.data.CompanyData;
 import org.apache.tuscany.das.rdb.test.data.CompanyDeptData;
 import org.apache.tuscany.das.rdb.test.data.CustomerData;
@@ -261,7 +262,8 @@
 
         // Provide updatecommand programmatically via config
         ConfigHelper helper = new ConfigHelper();
-        helper.addUpdateStatement("update CUSTOMER set LASTNAME = ? where ID = ?", "CUSTOMER", "LASTNAME ID");         
+        Table customerTable = helper.addTable("CUSTOMER", "CUSTOMER");
+        helper.addUpdateStatement(customerTable, "update CUSTOMER set LASTNAME = ? where ID = ?", "LASTNAME ID");         
         
     	DAS das = DAS.FACTORY.createDAS(helper.getConfig(), getConnection());
     	

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java?rev=428100&r1=428099&r2=428100&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CrudWithChangeHistory.java Wed Aug  2 12:20:03 2006
@@ -30,6 +30,7 @@
 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.config.Table;
 import org.apache.tuscany.das.rdb.test.data.CustomerData;
 import org.apache.tuscany.das.rdb.test.data.OrderDetailsData;
 import org.apache.tuscany.das.rdb.test.framework.DasTest;
@@ -91,8 +92,9 @@
 
         // Provide updatecommand programmatically via config
         ConfigHelper helper = new ConfigHelper();
-        helper.addUpdateStatement("update CUSTOMER set LASTNAME = ?, ADDRESS = ? where ID = ?",
-                "CUSTOMER", "LASTNAME ADDRESS ID");
+        Table customerTable = helper.addTable("CUSTOMER", "CUSTOMER");
+        helper.addUpdateStatement(customerTable, "update CUSTOMER set LASTNAME = ?, ADDRESS = ? where ID = ?",
+                "LASTNAME ADDRESS ID");
 
         DAS das = DAS.FACTORY.createDAS(helper.getConfig(), getConnection());
         // Read customer 1

Modified: incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java?rev=428100&r1=428099&r2=428100&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java (original)
+++ incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ProgrammaticConfigTests.java Wed Aug  2 12:20:03 2006
@@ -16,9 +16,14 @@
  */
 package org.apache.tuscany.das.rdb.test;
 
+import java.util.List;
+
 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.config.Config;
+import org.apache.tuscany.das.rdb.config.ConnectionInfo;
+import org.apache.tuscany.das.rdb.config.Table;
 import org.apache.tuscany.das.rdb.test.data.BookData;
 import org.apache.tuscany.das.rdb.test.data.CustomerData;
 import org.apache.tuscany.das.rdb.test.data.OrderData;
@@ -142,5 +147,151 @@
         root = select.executeQuery();
         assertEquals("Ant Colonies of the Old World", root.getString("Book[1]/NAME"));
         
+    }
+    
+    /**
+     * Simple unit test for ConnectionInfo
+     * @throws Exception
+     */
+    public void testConnectionInfo() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	helper.addConnectionInfo("jdbc/adatasource");
+    	
+    	Config config = helper.getConfig();
+    	ConnectionInfo info = config.getConnectionInfo();
+    	assertEquals(info.getDataSource(), "jdbc/adatasource");
+    	assertEquals(info.isManagedtx(), true);
+    }
+    
+    /**
+     * Simple unit test for ConnectionInfo
+     * @throws Exception
+     */
+    public void testConnectionInfo2() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	helper.addConnectionInfo("jdbc/adatasource", false);
+    	
+    	Config config = helper.getConfig();
+    	ConnectionInfo info = config.getConnectionInfo();
+    	assertEquals(info.getDataSource(), "jdbc/adatasource");
+    	assertEquals(info.isManagedtx(), false);
+    }
+    
+    /**
+     * Simple unit test for adding a select command
+     * @throws Exception
+     */
+    public void testAddSelectCommand() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	helper.addSelectCommand("get all customers", "select * from customers");
+    	
+    	Config config = helper.getConfig();
+    	List commands = config.getCommand();
+    	assertEquals(1, commands.size());
+    	org.apache.tuscany.das.rdb.config.Command cmd = (org.apache.tuscany.das.rdb.config.Command) commands.get(0);
+    	assertEquals("select", cmd.getKind());
+    	assertEquals("get all customers", cmd.getName());
+    	assertEquals("select * from customers", cmd.getSQL());
+    }
+    
+    
+    /**
+     * Simple unit test for adding an update command
+     * @throws Exception
+     */
+    public void testAddUpdateCommand() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	helper.addUpdateCommand("update a customer", "update customers set name = ? where id = ?");
+    	
+    	Config config = helper.getConfig();
+    	List commands = config.getCommand();
+    	assertEquals(1, commands.size());
+    	org.apache.tuscany.das.rdb.config.Command cmd = (org.apache.tuscany.das.rdb.config.Command) commands.get(0);
+    	assertEquals("update", cmd.getKind());
+    	assertEquals("update a customer", cmd.getName());
+    	assertEquals("update customers set name = ? where id = ?", cmd.getSQL());
+    }
+    
+    /**
+     * Simple unit test for adding an insert command
+     * @throws Exception
+     */
+    public void testAddInsertCommand() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	helper.addInsertCommand("insert customer", "insert into customers(ID,NAME) values (?,?)");
+    	
+    	Config config = helper.getConfig();
+    	List commands = config.getCommand();
+    	assertEquals(1, commands.size());
+    	org.apache.tuscany.das.rdb.config.Command cmd = (org.apache.tuscany.das.rdb.config.Command) commands.get(0);
+    	assertEquals("insert", cmd.getKind());
+    	assertEquals("insert customer", cmd.getName());
+    	assertEquals("insert into customers(ID,NAME) values (?,?)", cmd.getSQL());
+    }
+    
+    /**
+     * Simple unit test for adding a delete command
+     * @throws Exception
+     */
+    public void testAddDeleteCommand() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	helper.addDeleteCommand("delete customer", "delete from customers where id = ?");
+    	
+    	Config config = helper.getConfig();
+    	List commands = config.getCommand();
+    	assertEquals(1, commands.size());
+    	org.apache.tuscany.das.rdb.config.Command cmd = (org.apache.tuscany.das.rdb.config.Command) commands.get(0);
+    	assertEquals("delete", cmd.getKind());
+    	assertEquals("delete customer", cmd.getName());
+    	assertEquals("delete from customers where id = ?", cmd.getSQL());
+    }
+    
+    /**
+     * Simple unit test for DataObjectModel
+     * @throws Exception
+     */
+    public void testDataObjectModel() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	helper.setDataObjectModel("org.apache.tuscany/mytypes");
+    	
+    	Config config = helper.getConfig();
+    	assertEquals("org.apache.tuscany/mytypes", config.getDataObjectModel());
+    	
+    }
+    
+    /**
+     * Simple unit test for adding a Delete statement to a Table
+     * @throws Exception
+     */
+    public void testAddDeleteStatement() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	Table table = helper.addTable("widgets", "WIDGETS");
+    	helper.addDeleteStatement(table, "delete from widgets where id = ?", "ID");
+    	
+    	Config cfg = helper.getConfig();
+    	assertEquals(1, cfg.getTable().size());
+    	Table widgets = (Table) cfg.getTable().get(0);
+    	assertEquals("delete from widgets where id = ?", widgets.getDelete().getSql());
+    	assertEquals("WIDGETS", widgets.getTypeName());
+    	assertEquals("ID", widgets.getDelete().getParameters());
+    	
+    }
+    
+    /**
+     * Simple unit test for adding a Create statement to a Table
+     * @throws Exception
+     */
+    public void testAddCreateStatement() throws Exception {
+    	ConfigHelper helper = new ConfigHelper();
+    	Table table = helper.addTable("widgets", "WIDGETS");
+    	helper.addCreateStatement(table, "insert into widgets values (?,?)", "ID NAME");
+    	
+    	Config cfg = helper.getConfig();
+    	assertEquals(1, cfg.getTable().size());
+    	Table widgets = (Table) cfg.getTable().get(0);
+    	assertEquals("insert into widgets values (?,?)", widgets.getCreate().getSql());
+    	assertEquals("WIDGETS", widgets.getTypeName());
+    	assertEquals("ID NAME", widgets.getCreate().getParameters());
+    	
     }
 }



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