You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by aw...@apache.org on 2007/01/12 19:50:54 UTC
svn commit: r495684 -
/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
Author: awhite
Date: Fri Jan 12 10:50:53 2007
New Revision: 495684
URL: http://svn.apache.org/viewvc?view=rev&rev=495684
Log: (empty)
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java?view=diff&rev=495684&r1=495683&r2=495684
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java Fri Jan 12 10:50:53 2007
@@ -1536,7 +1536,7 @@
field = Reflection.findField(oidType, name, true);
reflect = !Modifier.isPublic(field.getModifiers());
if (reflect) {
- code.constant().setValue(oidType);
+ code.classconstant().setClass(oidType);
code.constant().setValue(name);
code.constant().setValue(true);
code.invokestatic().setMethod(Reflection.class,
@@ -1548,9 +1548,9 @@
setter = Reflection.findSetter(oidType, name, type, true);
reflect = !Modifier.isPublic(setter.getModifiers());
if (reflect) {
- code.constant().setValue(oidType);
+ code.classconstant().setClass(oidType);
code.constant().setValue(name);
- setClassConstant(_pc, code, type);
+ code.classconstant().setClass(type);
code.constant().setValue(true);
code.invokestatic().setMethod(Reflection.class,
"findSetter", Method.class, new Class[] { Class.class,
@@ -1601,18 +1601,6 @@
}
/**
- * Works around a bug in serp with primitive type constants, and chooses
- * Java 5 construct when available (serp will eventually do all this
- * automatically).
- */
- private static void setClassConstant(BCClass bc, Code code, Class type) {
- if (type.isPrimitive() || bc.getMajorVersion() < 49) // 49 = Java 5
- code.classconstant().setClass(type);
- else
- code.constant().setValue(type);
- }
-
- /**
* Add code to extract the id of the given primary key relation field for
* setting into an objectid instance.
*/
@@ -1881,7 +1869,7 @@
code.getfield().setField(field);
else {
// Reflection.getXXX(oid, Reflection.findField(...));
- code.constant().setValue(oidType);
+ code.classconstant().setClass(oidType);
code.constant().setValue(name);
code.constant().setValue(true);
code.invokestatic().setMethod(Reflection.class,
@@ -1898,7 +1886,7 @@
code.invokevirtual().setMethod(getter);
else {
// Reflection.getXXX(oid, Reflection.findGetter(...));
- code.constant().setValue(oidType);
+ code.classconstant().setClass(oidType);
code.constant().setValue(name);
code.constant().setValue(true);
code.invokestatic().setMethod(Reflection.class,