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);