You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2009/04/03 09:22:35 UTC

svn commit: r761544 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access: DataNode.java dbsync/CreateIfNoSchemaStrategy.java dbsync/SchemaUpdateStrategy.java dbsync/SkipSchemaUpdateStrategy.java

Author: aadamchik
Date: Fri Apr  3 07:22:34 2009
New Revision: 761544

URL: http://svn.apache.org/viewvc?rev=761544&view=rev
Log:
CAY-1193 Auto load schema on startup

some javadocs and minor cleanup

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java?rev=761544&r1=761543&r2=761544&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java Fri Apr  3 07:22:34 2009
@@ -245,7 +245,11 @@
         Connection connection = null;
 
         try {
-            getSchemaUpdateStrategy().updateSchema(this);
+            
+            if (schemaUpdateStrategy != null) {
+                schemaUpdateStrategy.updateSchema(this);
+            }
+            
             connection = this.getDataSource().getConnection();
         }
         catch (Exception globalEx) {

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java?rev=761544&r1=761543&r2=761544&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java Fri Apr  3 07:22:34 2009
@@ -47,23 +47,14 @@
         return currentSchema;
     }
 
-    /**
-     * @since 3.0
-     */
     public CreateIfNoSchemaStrategy() {
         currentSchema = this;
     }
 
-    /**
-     * @since 3.0
-     */
     public void updateSchema(DataNode dataNode) {
         getSchema().generateUpdateSchema(dataNode);
     }
 
-    /**
-     * @since 3.0
-     */
     public void generateUpdateSchema(DataNode dataNode) {
 
         Map<String, Boolean> nameTables = getNameTablesInDB(dataNode);
@@ -105,8 +96,8 @@
         }
     }
 
-    /*
-     * Returns all the table names in database
+    /**
+     * Returns all the table names in database.
      */
     protected Map<String, Boolean> getNameTablesInDB(DataNode dataNode) {
         String tableLabel = dataNode.getAdapter().tableTypeForTable();

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.java?rev=761544&r1=761543&r2=761544&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategy.java Fri Apr  3 07:22:34 2009
@@ -21,6 +21,8 @@
 import org.apache.cayenne.access.DataNode;
 
 /**
+ * A strategy for auto generating a database schema on the application startup.
+ * 
  * @since 3.0
  */
 public interface SchemaUpdateStrategy {

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.java?rev=761544&r1=761543&r2=761544&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/SkipSchemaUpdateStrategy.java Fri Apr  3 07:22:34 2009
@@ -21,6 +21,9 @@
 import org.apache.cayenne.access.DataNode;
 
 /**
+ * A SchemaUpdateStrategy that does nothing. This is usually the default strategy, as in
+ * most cases DB schema management is outside the scope of Cayenne.
+ * 
  * @since 3.0
  */
 public class SkipSchemaUpdateStrategy implements SchemaUpdateStrategy {