Author: kwilliams
Date: Fri Apr 21 11:05:32 2006
New Revision: 395969

URL: http://svn.apache.org/viewcvs?rev=395969&view=rev
Log:
Application of patch for "ID" as primary key convention

Modified:
    
incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java

Modified: 
incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java?rev=395969&r1=395968&r2=395969&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ChangeFactory.java
 Fri Apr 21 11:05:32 2006
@@ -100,8 +100,16 @@
                
                if ( createCommand == null ) {
                        Table table = 
mapping.getTable(changedObject.getType().getName());
-                       if (table == null ) 
-                               throw new RuntimeException("Table " + 
changedObject.getType().getName() + " was changed in the DataGraph but is not 
present in the Config");
+                       if (table == null ) {
+                               if (changedObject.getType().getProperty("ID") 
!= null ) {
+                                       // If the table is not defined in the 
config, assume it has a primary key of "ID"
+                                       
mapping.addPrimaryKey(changedObject.getType().getName() + ".ID");
+                                       table = 
mapping.getTableByPropertyName(changedObject.getType().getName());
+                               } else {
+                                       throw new RuntimeException("Table " + 
changedObject.getType().getName() + " was changed in the DataGraph but is not 
present in the Config");
+                               }
+                       }
+
        
                        String createStatement = table.getCreate();
                        if ( createStatement == null ) {
@@ -124,8 +132,16 @@
                
                if ( deleteCommand == null ) {
                        Table table = 
mapping.getTable(changedObject.getType().getName());
-                       if (table == null ) 
-                               throw new RuntimeException("Table " + table + " 
was changed in the DataGraph but is not present in the Config");
+                       if (table == null )  {
+                               if (changedObject.getType().getProperty("ID") 
!= null ) {
+                                       // If the table is not defined in the 
config, assume it has a primary key of "ID"
+                                       
mapping.addPrimaryKey(changedObject.getType().getName() + ".ID");
+                                       table = 
mapping.getTableByPropertyName(changedObject.getType().getName());
+                               } else {
+                                       throw new RuntimeException("Table " + 
changedObject.getType().getName() + " was changed in the DataGraph but is not 
present in the Config");
+                               }
+                       }
+                       
                        String deleteStatement = table.getDelete();
                        if ( deleteStatement == null ) {
                                deleteCommand = 
getCudGenerator().getDeleteCommand(table);
@@ -145,8 +161,15 @@
        
                if ( updateCommand == null ) {
                        Table table = 
mapping.getTableByPropertyName(changedObject.getType().getName());
-                       if (table == null ) 
-                               throw new RuntimeException("Table " + table + " 
was changed in the DataGraph but is not present in the Config");
+                       if (table == null ) {
+                               if (changedObject.getType().getProperty("ID") 
!= null ) {
+                                       // If the table is not defined in the 
config, assume it has a primary key of "ID"
+                                       
mapping.addPrimaryKey(changedObject.getType().getName() + ".ID");
+                                       table = 
mapping.getTableByPropertyName(changedObject.getType().getName());
+                               } else {
+                                       throw new RuntimeException("Table " + 
changedObject.getType().getName() + " was changed in the DataGraph but is not 
present in the Config");
+                               }
+                       }
                        String updateStatement = table.getUpdate();
                        if ( updateStatement == null ) {
                                updateCommand = 
getCudGenerator().getUpdateCommand(mapping, changedObject,table);


Reply via email to