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);