You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by bd...@apache.org on 2006/12/04 21:40:15 UTC

svn commit: r482345 - 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: bdaniel
Date: Mon Dec  4 12:40:14 2006
New Revision: 482345

URL: http://svn.apache.org/viewvc?view=rev&rev=482345
Log:
Add the ability to add a Column programmaticly

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/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?view=diff&rev=482345&r1=482344&r2=482345
==============================================================================
--- 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 Dec  4 12:40:14 2006
@@ -18,6 +18,7 @@
  */
 package org.apache.tuscany.das.rdb;
 
+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;
@@ -57,8 +58,12 @@
         return configWrapper.addRelationship(parentName, childName);
     }
 
-    public Table addTable(String name, String propertyName) {
-        return configWrapper.addTable(name, propertyName);
+    public Table addTable(String name, String typeName) {
+        return configWrapper.addTable(name, typeName);
+    }
+    
+    public Column addColumn(Table table, String columnName, String propertyName) {
+        return configWrapper.addColumn(table, columnName, propertyName);
     }
 
     public void addUpdateStatement(Table table, String statement, String parameters) {

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?view=diff&rev=482345&r1=482344&r2=482345
==============================================================================
--- 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 Dec  4 12:40:14 2006
@@ -262,6 +262,15 @@
         return table;
     }
 
+    public Column addColumn(Table table, String name, String propertyName) {
+        Column column = ConfigFactory.INSTANCE.createColumn();
+        column.setColumnName(name);
+        column.setPropertyName(propertyName);
+        
+        table.getColumn().add(column);
+        return column;
+    }
+    
     private Table findOrCreateTable(String tableName) {
         Table table = getTable(tableName);
         if (table == null) {

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?view=diff&rev=482345&r1=482344&r2=482345
==============================================================================
--- 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 Mon Dec  4 12:40:14 2006
@@ -18,6 +18,7 @@
  */
 package org.apache.tuscany.das.rdb.test;
 
+import java.sql.SQLException;
 import java.util.List;
 
 import org.apache.tuscany.das.rdb.Command;
@@ -152,6 +153,32 @@
 
     }
 
+    public void testAddColumnWithPropertyName() throws SQLException {
+        String statement = "SELECT * FROM BOOK WHERE BOOK.BOOK_ID = ?";
+
+        // Create Table config programmatically
+        ConfigHelper helper = new ConfigHelper();
+        Table table = helper.addTable("BOOK", "Book");
+        helper.addPrimaryKey("Book.BOOK_ID");
+        helper.addColumn(table, "NAME", "bookName");
+        DAS das = DAS.FACTORY.createDAS(helper.getConfig(), getConnection());
+        Command select = das.createCommand(statement);
+        select.setParameter(1, Integer.valueOf(1));
+
+        DataObject root = select.executeQuery();
+
+        DataObject newBook = root.createDataObject("Book");        
+        newBook.setString("bookName", "Ant Colonies of the Old World");
+        newBook.setInt("BOOK_ID", 1001);
+        root.getList("Book").add(newBook);
+
+        das.applyChanges(root);
+
+        //Verify
+        select.setParameter(1, Integer.valueOf(1001));
+        root = select.executeQuery();
+        assertEquals("Ant Colonies of the Old World", root.getString("Book[1]/bookName"));
+    }
     /**
      * Simple unit test for ConnectionInfo
      * @throws Exception



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