Author: ppoddar
Date: Fri May  1 02:22:26 2009
New Revision: 770516

URL: http://svn.apache.org/viewvc?rev=770516&view=rev
Log:
OPENJPA-1049: Register type alias for MappedSuperclass.

Modified:
    
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
    
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestSharedUnqualifiedClassNames.java

Modified: 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java?rev=770516&r1=770515&r2=770516&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
 (original)
+++ 
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
 Fri May  1 02:22:26 2009
@@ -2802,7 +2802,7 @@
         code.getstatic().setField(PRE + "FieldFlags", byte[].class);
         code.getstatic().setField(SUPER, Class.class);
         
-        if (_meta.isMapped())
+        if (_meta.isMapped() || _meta.isAbstract())
             code.constant().setValue(_meta.getTypeAlias());
         else
             code.constant().setNull();

Modified: 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestSharedUnqualifiedClassNames.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestSharedUnqualifiedClassNames.java?rev=770516&r1=770515&r2=770516&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestSharedUnqualifiedClassNames.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestSharedUnqualifiedClassNames.java
 Fri May  1 02:22:26 2009
@@ -18,14 +18,21 @@
  */
 package org.apache.openjpa.persistence.inheritance;
 
-import org.apache.openjpa.persistence.test.SingleEMFTestCase;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
 import org.apache.openjpa.meta.ClassMetaData;
-import org.apache.openjpa.kernel.AbstractBrokerFactory;
+import org.apache.openjpa.persistence.test.AllowFailure;
+import org.apache.openjpa.persistence.test.SingleEMFTestCase;
 
 /**
  * Test that entities, mapped superclasses, and embeddables can all share
  * the same short names without any collisions.
+ * 
+ * This test is modified to ignore conflict of alias between MappedSuperclass
+ * and derived Entity. This earlier assertion is no more valid after the
+ * changes introduced to allow MappedSuperclass to be used in query.
+ * That feature seemed more significant than the feature asserted by this test.
+ * The details of the change can be found at
+ * <A HREF="https://issues.apache.org/jira/browse/OPENJPA-1049";>JIRA</A>
+ * 
  */
 public class TestSharedUnqualifiedClassNames
     extends SingleEMFTestCase {
@@ -42,7 +49,9 @@
         emf.createEntityManager().close();
     }
 
-        public void testMappedSuperclass() {
+    @AllowFailure(message="MappedSuperclass can be aliased and has higher" +
+    "search order in alias if it clashes with other types's alias")
+    public void testMappedSuperclass() {
         ClassMetaData meta = emf.getConfiguration()
             .getMetaDataRepositoryInstance()
             .getMetaData("SharedName1", getClass().getClassLoader(), true);


Reply via email to