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 2011/02/09 15:20:01 UTC
svn commit: r1068901 -
/cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/
Author: aadamchik
Date: Wed Feb 9 14:20:00 2011
New Revision: 1068901
URL: http://svn.apache.org/viewvc?rev=1068901&view=rev
Log:
CAY-1532 Import cayenne-lifecycle from sandbox
renaming MixinRelationship to UuidRelationship - getting rid of the 'mixin' term
Added:
cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationship.java
- copied, changed from r1065704, cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationship.java
cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipBatchFaultingStrategy.java
- copied, changed from r1065704, cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipBatchFaultingStrategy.java
cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFaultingStrategy.java
- copied, changed from r1065704, cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFaultingStrategy.java
cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFilter.java
- copied, changed from r1065704, cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFilter.java
Removed:
cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationship.java
cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipBatchFaultingStrategy.java
cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFaultingStrategy.java
cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFilter.java
Copied: cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationship.java (from r1065704, cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationship.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationship.java?p2=cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationship.java&p1=cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationship.java&r1=1065704&r2=1068901&rev=1068901&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationship.java (original)
+++ cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationship.java Wed Feb 9 14:20:00 2011
@@ -26,10 +26,8 @@ import java.lang.annotation.RetentionPol
import java.lang.annotation.Target;
/**
- * Allows to tag a relationship from a mixin entity to another entity that has this mixin
- * attached. When a mixin is modeled via its own set of entities, this annotation is
- * placed on a "mixin" entity class, telling Cayenne to inject related entity object in a
- * mixin entity, resolved based on the object UUID "FK".
+ * Defines a "virtual" read-only to-one relationship based on an FK that is a UUID. This
+ * way a related object can be of any entity type.
*
* @since 3.1
*/
@@ -39,11 +37,11 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
-public @interface MixinRelationship {
+public @interface UuidRelationship {
/**
- * Returns the name of the property of the mixin entity that is a UUID "FK" to any of
- * the entities implementing the mixin.
+ * Returns the name of the property of the source entity of the relationship that
+ * stores a UUID "FK" of a related entity.
*/
String value() default "";
}
Copied: cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipBatchFaultingStrategy.java (from r1065704, cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipBatchFaultingStrategy.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipBatchFaultingStrategy.java?p2=cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipBatchFaultingStrategy.java&p1=cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipBatchFaultingStrategy.java&r1=1065704&r2=1068901&rev=1068901&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipBatchFaultingStrategy.java (original)
+++ cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipBatchFaultingStrategy.java Wed Feb 9 14:20:00 2011
@@ -21,14 +21,17 @@ package org.apache.cayenne.lifecycle.rel
import org.apache.cayenne.DataObject;
/**
+ * A faulting strategy that does batch-faulting of related objects whenever a first UUID
+ * relationship is accessed.
+ *
* @since 3.1
*/
-public class MixinRelationshipBatchFaultingStrategy implements
- MixinRelationshipFaultingStrategy {
+public class UuidRelationshipBatchFaultingStrategy implements
+ UuidRelationshipFaultingStrategy {
private ThreadLocal<UuidBatchFault> batchFaultHolder;
- public MixinRelationshipBatchFaultingStrategy() {
+ public UuidRelationshipBatchFaultingStrategy() {
this.batchFaultHolder = new ThreadLocal<UuidBatchFault>();
}
@@ -65,8 +68,8 @@ public class MixinRelationshipBatchFault
String uuidPropertyName(DataObject object) {
- MixinRelationship annotation = object.getClass().getAnnotation(
- MixinRelationship.class);
+ UuidRelationship annotation = object.getClass().getAnnotation(
+ UuidRelationship.class);
// TODO: look it up in the superclasses??
if (annotation == null) {
Copied: cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFaultingStrategy.java (from r1065704, cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFaultingStrategy.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFaultingStrategy.java?p2=cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFaultingStrategy.java&p1=cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFaultingStrategy.java&r1=1065704&r2=1068901&rev=1068901&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFaultingStrategy.java (original)
+++ cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFaultingStrategy.java Wed Feb 9 14:20:00 2011
@@ -21,11 +21,11 @@ package org.apache.cayenne.lifecycle.rel
import org.apache.cayenne.DataObject;
/**
- * An abstract strategy for resolving mixin relationships.
+ * An abstract strategy for resolving UUID relationships.
*
* @since 3.1
*/
-public interface MixinRelationshipFaultingStrategy {
+public interface UuidRelationshipFaultingStrategy {
void afterObjectLoaded(DataObject object);
Copied: cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFilter.java (from r1065704, cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFilter.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFilter.java?p2=cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFilter.java&p1=cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFilter.java&r1=1065704&r2=1068901&rev=1068901&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/MixinRelationshipFilter.java (original)
+++ cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/relationship/UuidRelationshipFilter.java Wed Feb 9 14:20:00 2011
@@ -30,20 +30,20 @@ import org.apache.cayenne.graph.GraphDif
import org.apache.cayenne.query.Query;
/**
- * A {@link DataChannelFilter} that implements mixin relationships faulting functionality.
+ * A {@link DataChannelFilter} that implements UUID relationships read functionality.
*
* @since 3.1
*/
-public class MixinRelationshipFilter implements DataChannelFilter {
+public class UuidRelationshipFilter implements DataChannelFilter {
- private MixinRelationshipFaultingStrategy faultingStrategy;
+ private UuidRelationshipFaultingStrategy faultingStrategy;
public void init(DataChannel channel) {
this.faultingStrategy = createFaultingStrategy();
}
- protected MixinRelationshipFaultingStrategy createFaultingStrategy() {
- return new MixinRelationshipBatchFaultingStrategy();
+ protected UuidRelationshipFaultingStrategy createFaultingStrategy() {
+ return new UuidRelationshipBatchFaultingStrategy();
}
public GraphDiff onSync(
@@ -72,8 +72,8 @@ public class MixinRelationshipFilter imp
* A lifecycle callback method that delegates object post load event processing to the
* underlying faulting strategy.
*/
- @PostLoad(entityAnnotations = MixinRelationship.class)
- @PostPersist(entityAnnotations = MixinRelationship.class)
+ @PostLoad(entityAnnotations = UuidRelationship.class)
+ @PostPersist(entityAnnotations = UuidRelationship.class)
void postLoad(DataObject object) {
faultingStrategy.afterObjectLoaded(object);
}