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 2014/02/02 13:50:46 UTC

svn commit: r1563603 - in /cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src: main/java/org/apache/cayenne/dba/ test/java/org/apache/cayenne/dba/ test/java/org/apache/cayenne/unit/di/server/

Author: aadamchik
Date: Sun Feb  2 12:50:46 2014
New Revision: 1563603

URL: http://svn.apache.org/r1563603
Log:
for sequence based PK generators we must drop pk and recreate for the test to work

Modified:
    cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java
    cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorTest.java
    cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java

Modified: cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java?rev=1563603&r1=1563602&r2=1563603&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java (original)
+++ cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java Sun Feb  2 12:50:46 2014
@@ -50,7 +50,7 @@ import org.apache.cayenne.util.IDUtil;
 public class JdbcPkGenerator implements PkGenerator {
 
     public static final int DEFAULT_PK_CACHE_SIZE = 20;
-    private static final long DEFAULT_PK_START_VALUE = 200;
+    static final long DEFAULT_PK_START_VALUE = 200;
 
     protected JdbcAdapter adapter;
     protected Map<String, LongPkRange> pkCache = new HashMap<String, LongPkRange>();

Modified: cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorTest.java?rev=1563603&r1=1563602&r2=1563603&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorTest.java (original)
+++ cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorTest.java Sun Feb  2 12:50:46 2014
@@ -25,6 +25,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.testdo.testmap.Artist;
+import org.apache.cayenne.unit.di.server.SchemaBuilder;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 
@@ -36,6 +37,28 @@ public class JdbcPkGeneratorTest extends
 
     @Inject
     private DataNode node;
+    
+    @Inject
+    private SchemaBuilder schemaBuilder;
+    
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        schemaBuilder.dropPKSupport();
+    }
+    
+    @Override
+    protected void tearDownBeforeInjection() throws Exception {
+
+        if (JdbcPkGenerator.class.isAssignableFrom(adapter.getPkGenerator().getClass())) {
+            // reset PK gen properly before updating PKs in DB
+            JdbcPkGenerator pkGenerator = (JdbcPkGenerator) adapter.getPkGenerator();
+
+            pkGenerator.setPkStartValue(JdbcPkGenerator.DEFAULT_PK_START_VALUE);
+
+            schemaBuilder.dropPKSupport();
+            schemaBuilder.createPKSupport();
+        }
+    }
 
     public void testLongPk() throws Exception {
 
@@ -52,7 +75,7 @@ public class JdbcPkGeneratorTest extends
         pkGenerator.setPkStartValue(Integer.MAX_VALUE * 2l);
         pkGenerator.createAutoPk(node, Collections.singletonList(artistEntity));
         pkGenerator.reset();
-
+        
         Object pk = pkGenerator.generatePk(node, pkAttribute);
         assertTrue(pk instanceof Long);
         assertTrue("PK is too small: " + pk, ((Long) pk).longValue() > Integer.MAX_VALUE);

Modified: cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java?rev=1563603&r1=1563602&r2=1563603&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java (original)
+++ cayenne/main/branches/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java Sun Feb  2 12:50:46 2014
@@ -176,7 +176,7 @@ public class SchemaBuilder {
         }
     }
 
-    private void dropPKSupport() throws Exception {
+    public void dropPKSupport() throws Exception {
         for (DataNode node : domain.getDataNodes()) {
             dropPKSupport(node, node.getDataMaps().iterator().next());
         }
@@ -187,7 +187,7 @@ public class SchemaBuilder {
      * provided by DbAdapter to generate any necessary database objects and data for
      * primary key support.
      */
-    private void createPKSupport() throws Exception {
+    public void createPKSupport() throws Exception {
         for (DataNode node : domain.getDataNodes()) {
             createPKSupport(node, node.getDataMaps().iterator().next());
         }