From commits-return-2382-apmail-openjpa-commits-archive=openjpa.apache.org@openjpa.apache.org Tue Sep 18 15:25:46 2007 Return-Path: Delivered-To: apmail-openjpa-commits-archive@www.apache.org Received: (qmail 26671 invoked from network); 18 Sep 2007 15:25:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Sep 2007 15:25:46 -0000 Received: (qmail 7263 invoked by uid 500); 18 Sep 2007 15:25:38 -0000 Delivered-To: apmail-openjpa-commits-archive@openjpa.apache.org Received: (qmail 7250 invoked by uid 500); 18 Sep 2007 15:25:37 -0000 Mailing-List: contact commits-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list commits@openjpa.apache.org Received: (qmail 7241 invoked by uid 99); 18 Sep 2007 15:25:37 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Sep 2007 08:25:37 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Sep 2007 15:27:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 157F71A9832; Tue, 18 Sep 2007 08:25:16 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r576948 - in /openjpa/branches/1.0.x: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/ Date: Tue, 18 Sep 2007 15:25:14 -0000 To: commits@openjpa.apache.org From: mikedd@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20070918152520.157F71A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mikedd Date: Tue Sep 18 08:25:14 2007 New Revision: 576948 URL: http://svn.apache.org/viewvc?rev=576948&view=rev Log: OPENJPA-353 for 1.0.x branch Modified: openjpa/branches/1.0.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/InValueDiscriminatorStrategy.java openjpa/branches/1.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java Modified: openjpa/branches/1.0.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/InValueDiscriminatorStrategy.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.0.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/InValueDiscriminatorStrategy.java?rev=576948&r1=576947&r2=576948&view=diff ============================================================================== --- openjpa/branches/1.0.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/InValueDiscriminatorStrategy.java (original) +++ openjpa/branches/1.0.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/InValueDiscriminatorStrategy.java Tue Sep 18 08:25:14 2007 @@ -112,7 +112,8 @@ && base.getJoinablePCSubclassMappings().length == 0)) return base.getDescribedType(); - Object cls = res.getObject(disc.getColumns()[0], -1, null); + Object cls = + res.getObject(disc.getColumns()[0], disc.getJavaType(), null); return getClass(cls, store); } Modified: openjpa/branches/1.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java?rev=576948&r1=576947&r2=576948&view=diff ============================================================================== --- openjpa/branches/1.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java (original) +++ openjpa/branches/1.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/discriminator/TestDiscriminatorTypes.java Tue Sep 18 08:25:14 2007 @@ -50,7 +50,24 @@ discrim = getMapping("CharRootEntity").getDiscriminator(); assertEquals(new Character('R'), discrim.getValue()); assertEquals(JavaTypes.CHAR, discrim.getJavaType()); - + + CharLeafEntity leaf = new CharLeafEntity(); + CharRootEntity root = new CharRootEntity(); + em.getTransaction().begin(); + em.persist(leaf); + em.persist(root); + em.getTransaction().commit(); + + em.refresh(leaf); + em.refresh(root); + + em.clear(); + + CharLeafEntity leaf2 = em.find(CharLeafEntity.class, leaf.getId()); + CharRootEntity root2 = em.find(CharRootEntity.class, root.getId()); + + assertNotNull(leaf2); + assertNotNull(root2); em.close(); } @@ -71,6 +88,25 @@ assertEquals(new Integer(10101), discrim.getValue()); assertEquals(JavaTypes.INT, discrim.getJavaType()); + IntegerLeafEntity leaf = new IntegerLeafEntity(); + IntegerRootEntity root = new IntegerRootEntity(); + em.getTransaction().begin(); + em.persist(leaf); + em.persist(root); + em.getTransaction().commit(); + + em.refresh(leaf); + em.refresh(root); + + em.clear(); + + IntegerLeafEntity leaf2 = + em.find(IntegerLeafEntity.class, leaf.getId()); + IntegerRootEntity root2 = + em.find(IntegerRootEntity.class, root.getId()); + + assertNotNull(leaf2); + assertNotNull(root2); em.close(); } @@ -88,6 +124,24 @@ discrim = getMapping("StringRootEntity").getDiscriminator(); assertEquals("StringRoot", discrim.getValue()); assertEquals(JavaTypes.STRING, discrim.getJavaType()); + + StringLeafEntity leaf = new StringLeafEntity(); + StringRootEntity root = new StringRootEntity(); + em.getTransaction().begin(); + em.persist(leaf); + em.persist(root); + em.getTransaction().commit(); + + em.refresh(leaf); + em.refresh(root); + + em.clear(); + + StringLeafEntity leaf2 = em.find(StringLeafEntity.class, leaf.getId()); + StringRootEntity root2 = em.find(StringRootEntity.class, root.getId()); + + assertNotNull(leaf2); + assertNotNull(root2); em.close(); }