openjpa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mik...@apache.org
Subject svn commit: r584354 - in /openjpa/trunk: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/ openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/
Date Sat, 13 Oct 2007 00:52:08 GMT
Author: mikedd
Date: Fri Oct 12 17:51:54 2007
New Revision: 584354

URL: http://svn.apache.org/viewvc?rev=584354&view=rev
Log:
OPENJPA-399 Committing Teresa's patch

Modified:
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/LocalConstraint.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog1.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog2.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogId.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable2.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestMultipleSchemaNames.java

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/LocalConstraint.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/LocalConstraint.java?rev=584354&r1=584353&r2=584354&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/LocalConstraint.java
(original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/LocalConstraint.java
Fri Oct 12 17:51:54 2007
@@ -93,6 +93,11 @@
      * Add a column to the constraint.
      */
     public void addColumn(Column col) {
+    	if (col == null)
+            throw new InvalidStateException(_loc.get("table-mismatch",
+                col == null ? null : col.getTable(),
+                col == null ? null : getTable()));
+    	
         if (_colList == null)
             _colList = new ArrayList(3);
         else if (_colList.contains(col))

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog1.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog1.java?rev=584354&r1=584353&r2=584354&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog1.java
(original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog1.java
Fri Oct 12 17:51:54 2007
@@ -25,8 +25,7 @@
  * Extension of Animal class illustrating inheritance.
  */
 @Entity(name = "Dog1")
-@Table(name = "DOGTAB", schema = "SCHEMA1")
-@IdClass(DogId.class)
+@Table(name = "DOGAUTO", schema = "SCHEMA1")
 public class Dog1 implements Serializable
 
 {
@@ -34,9 +33,6 @@
     @GeneratedValue(strategy = GenerationType.AUTO)
     private int id2;
 
-    @Id
-    private int datastoreid;
-
     private String name;
 
     private float price;
@@ -86,11 +82,4 @@
         this.domestic = domestic;
     }
 
-    public int getDatastoreid() {
-        return datastoreid;
-    }
-
-    public void setDatastoreid(int datastoreid) {
-        this.datastoreid = datastoreid;
-    }
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog2.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog2.java?rev=584354&r1=584353&r2=584354&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog2.java
(original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/Dog2.java
Fri Oct 12 17:51:54 2007
@@ -25,8 +25,7 @@
  * Extension of Animal class illustrating inheritance.
  */
 @Entity(name = "Dog2")
-@Table(name = "DOGTAB", schema = "SCHEMA2")
-@IdClass(DogId.class)
+@Table(name = "DOGAUTO", schema = "SCHEMA2")
 public class Dog2 implements Serializable
 
 {
@@ -34,9 +33,6 @@
     @GeneratedValue(strategy = GenerationType.AUTO)
     private int id2;
 
-    @Id
-    private int datastoreid;
-
     private String name;
 
     private float price;
@@ -86,11 +82,4 @@
         this.domestic = domestic;
     }
 
-    public int getDatastoreid() {
-        return datastoreid;
-    }
-
-    public void setDatastoreid(int datastoreid) {
-        this.datastoreid = datastoreid;
-    }
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogId.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogId.java?rev=584354&r1=584353&r2=584354&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogId.java
(original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogId.java
Fri Oct 12 17:51:54 2007
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openjpa.persistence.generationtype;
-
-
-import java.io.*;
-
-/**
- * Application identity class for: tutorial.ejb.Animal
- * 
- * Auto-generated by: org.apache.openjpa.enhance.ApplicationIdTool
- */
-public class DogId implements Serializable {
-    static {
-        // register persistent class in JVM
-        try {
-            Class.forName("tutorial.ejb.Dog");
-        } catch (Exception e) {
-        }
-    }
-
-    public int id2;
-
-    public int datastoreid;
-
-    public DogId() {
-    }
-
-    public DogId(String str) {
-        fromString(str);
-    }
-
-    public String toString() {
-        return String.valueOf(id2) + "::" + datastoreid;
-    }
-
-    public int hashCode() {
-        int rs = 17;
-        rs = rs * 37 + (int) (id2 ^ (id2 >>> 32));
-        rs = rs
-                * 37
-                + ((datastoreid == 0) ? 0 : new Integer(datastoreid).hashCode());
-        return rs;
-    }
-
-    public boolean equals(Object obj) {
-        if (this == obj)
-            return true;
-        if (obj == null || obj.getClass() != getClass())
-            return false;
-
-        DogId other = (DogId) obj;
-        return (id2 == other.id2)
-                && ((datastoreid == 0 && other.datastoreid == 0) || (datastoreid
!= 0 && datastoreid == other.datastoreid));
-    }
-
-    private void fromString(String str) {
-        Tokenizer toke = new Tokenizer(str);
-        str = toke.nextToken();
-        id2 = Integer.parseInt(str);
-        str = toke.nextToken();
-        datastoreid = Integer.parseInt(str);
-    }
-
-    protected static class Tokenizer {
-        private final String str;
-
-        private int last;
-
-        public Tokenizer(String str) {
-            this.str = str;
-        }
-
-        public String nextToken() {
-            int next = str.indexOf("::", last);
-            String part;
-            if (next == -1) {
-                part = str.substring(last);
-                last = str.length();
-            } else {
-                part = str.substring(last, next);
-                last = next + 2;
-            }
-            return part;
-        }
-    }
-}
\ No newline at end of file

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable.java?rev=584354&r1=584353&r2=584354&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable.java
(original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable.java
Fri Oct 12 17:51:54 2007
@@ -26,8 +26,7 @@
  * Extension of Animal class illustrating inheritance.
  */
 @Entity(name = "DogTable")
-@Table(name = "DOGTABLE", schema = "SCHEMA1")
-@IdClass(DogId.class)
+@Table(name = "DOGTABLES", schema = "SCHEMA1")
 public class DogTable implements Serializable
 
 {
@@ -38,9 +37,6 @@
     @GeneratedValue(strategy = GenerationType.TABLE, generator = "Dog_Gen1")
     private int id2;
 
-    @Id
-    private int datastoreid;
-
     private String name;
 
     private float price;
@@ -53,7 +49,6 @@
     }
 
     public DogTable(String name) {
-        this.id2 = id2;
         this.name = name;
 
     }
@@ -91,11 +86,4 @@
         this.domestic = domestic;
     }
 
-    public int getDatastoreid() {
-        return datastoreid;
-    }
-
-    public void setDatastoreid(int datastoreid) {
-        this.datastoreid = datastoreid;
-    }
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable2.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable2.java?rev=584354&r1=584353&r2=584354&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable2.java
(original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/DogTable2.java
Fri Oct 12 17:51:54 2007
@@ -25,8 +25,7 @@
  * Extension of Animal class illustrating inheritance.
  */
 @Entity(name = "DogTable2")
-@Table(name = "DOGTABLE", schema = "SCHEMA2")
-@IdClass(DogId.class)
+@Table(name = "DOGTABLES", schema = "SCHEMA2")
 public class DogTable2 implements Serializable
 
 {
@@ -37,9 +36,6 @@
     @GeneratedValue(strategy = GenerationType.TABLE, generator = "Dog_Gen2")
     private int id2;
 
-    @Id
-    private int datastoreid;
-
     private String name;
 
     private float price;
@@ -52,7 +48,6 @@
     }
 
     public DogTable2(String name) {
-        this.id2 = id2;
         this.name = name;
 
     }
@@ -88,13 +83,5 @@
 
     public void setDomestic(boolean domestic) {
         this.domestic = domestic;
-    }
-
-    public int getDatastoreid() {
-        return datastoreid;
-    }
-
-    public void setDatastoreid(int datastoreid) {
-        this.datastoreid = datastoreid;
     }
 }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestMultipleSchemaNames.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestMultipleSchemaNames.java?rev=584354&r1=584353&r2=584354&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestMultipleSchemaNames.java
(original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/generationtype/TestMultipleSchemaNames.java
Fri Oct 12 17:51:54 2007
@@ -83,31 +83,29 @@
 
         Dog1 dog1 = new Dog1();
         dog1.setName("helloDog1");
-        dog1.setDatastoreid(12);
         dog1.setPrice(12000);
 
         em.persist(dog1);
         Dog1 dog1a = new Dog1();
         dog1a.setName("helloDog2");
-        dog1a.setDatastoreid(15);
         dog1a.setPrice(22000);
         em.persist(dog1a);
         // add dog2
         Dog2 dog2 = new Dog2();
         dog2.setName("helloDog3");
-        dog2.setDatastoreid(12);
         dog2.setPrice(15000);
         em.persist(dog2);
 
         Dog2 dog2a = new Dog2();
         dog2a.setName("helloDog4");
-        dog2a.setDatastoreid(19);
         dog2a.setPrice(25000);
         em.persist(dog2a);
         em.getTransaction().commit();
-        // System.out.println("persist dogs are done");
 
         Dog1 dog1x = em.find(Dog1.class, kem.getObjectId(dog1));
+        // Derby can't guarantee the order of the generated value, therefore,
+        // we can't assert the id based on the order. For db2, we see the id 
+        // value in the right order
         assertTrue(dog1x.getId2() == 1 || dog1x.getId2() == 2);
         assertEquals(dog1x.getName(), "helloDog1");
         dog1x.setName("Dog1");
@@ -162,25 +160,21 @@
 
         DogTable dog1 = new DogTable();
         dog1.setName("helloDog1");
-        dog1.setDatastoreid(12);
         dog1.setPrice(12000);
 
         em.persist(dog1);
         DogTable dog1a = new DogTable();
         dog1a.setName("helloDog2");
-        dog1a.setDatastoreid(15);
         dog1a.setPrice(22000);
         em.persist(dog1a);
         // add dog2
         DogTable2 dog2 = new DogTable2();
         dog2.setName("helloDog3");
-        dog2.setDatastoreid(12);
         dog2.setPrice(15000);
         em.persist(dog2);
 
         DogTable2 dog2a = new DogTable2();
         dog2a.setName("helloDog4");
-        dog2a.setDatastoreid(19);
         dog2a.setPrice(25000);
         em.persist(dog2a);
         em.getTransaction().commit();



Mime
View raw message