You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2006/10/15 01:36:44 UTC
svn commit: r464061 - in /incubator/cayenne/main/trunk/core/cayenne-jpa:
pom.xml src/main/java/org/apache/cayenne/jpa/cspi/CjpaAccessorVisitor.java
Author: aadamchik
Date: Sat Oct 14 16:36:43 2006
New Revision: 464061
URL: http://svn.apache.org/viewvc?view=rev&rev=464061
Log:
CAY-692: Extra argument needed in ObjectContext.prepareForAccess - whether the property is a fault or not.
(adding lazy faulting support to the JPA enhancer)
Modified:
incubator/cayenne/main/trunk/core/cayenne-jpa/pom.xml
incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaAccessorVisitor.java
Modified: incubator/cayenne/main/trunk/core/cayenne-jpa/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jpa/pom.xml?view=diff&rev=464061&r1=464060&r2=464061
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jpa/pom.xml (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jpa/pom.xml Sat Oct 14 16:36:43 2006
@@ -53,11 +53,6 @@
<artifactId>cayenne-jdk1.5</artifactId>
<version>${version}</version>
</dependency>
-
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- </dependency>
</dependencies>
<build>
Modified: incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaAccessorVisitor.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaAccessorVisitor.java?view=diff&rev=464061&r1=464060&r2=464061
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaAccessorVisitor.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaAccessorVisitor.java Sat Oct 14 16:36:43 2006
@@ -23,6 +23,8 @@
import org.apache.cayenne.enhancer.GetterVisitor;
import org.apache.cayenne.enhancer.SetterVisitor;
import org.apache.cayenne.jpa.map.JpaClassDescriptor;
+import org.apache.cayenne.jpa.map.JpaPropertyDescriptor;
+import org.apache.cayenne.map.Relationship;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Type;
@@ -59,10 +61,18 @@
MethodVisitor mv,
String property,
Type propertyType) {
- return (descriptor.getProperty(property) != null) ? new GetterVisitor(
- mv,
- helper,
- property) : mv;
+
+ JpaPropertyDescriptor propertyDescriptor = descriptor.getProperty(property);
+
+ if (propertyDescriptor != null) {
+ // TODO: andrus, 10/14/2006 - this should access Jpa LAZY vs. EAGER falg
+ // instead of using Cayenne default logic of lazy relationships
+ boolean faulted = propertyDescriptor.getTargetEntityType() != null;
+
+ return new GetterVisitor(mv, helper, property, faulted);
+ }
+
+ return mv;
}
@Override