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


Reply via email to