Author: aadamchik
Date: Wed Oct 11 20:10:30 2006
New Revision: 463120

URL: http://svn.apache.org/viewvc?view=rev&rev=463120
Log:
CAY-688: Change signatures of 
ObjectContext.deleteObject/registerNewObject/localObject to take Object instead 
of Persistent as an argument

Modified:
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/BaseContext.java
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContext.java
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectContext.java
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/intercept/ObjectContextDecorator.java
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/MockObjectContext.java

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/BaseContext.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/BaseContext.java?view=diff&rev=463120&r1=463119&r2=463120
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/BaseContext.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/BaseContext.java
 Wed Oct 11 20:10:30 2006
@@ -41,7 +41,7 @@
 
     public abstract void commitChangesToParent();
 
-    public abstract void deleteObject(Persistent object) throws 
DeleteDenyException;
+    public abstract void deleteObject(Object object) throws 
DeleteDenyException;
 
     public abstract Collection deletedObjects();
 
@@ -53,13 +53,13 @@
 
     public abstract GraphManager getGraphManager();
 
-    public abstract Persistent localObject(ObjectId id, Persistent prototype);
+    public abstract Persistent localObject(ObjectId id, Object prototype);
 
     public abstract Collection modifiedObjects();
 
     public abstract Persistent newObject(Class persistentClass);
     
-    public abstract void registerNewObject(Persistent object);
+    public abstract void registerNewObject(Object object);
 
     public abstract Collection newObjects();
 

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContext.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContext.java?view=diff&rev=463120&r1=463119&r2=463120
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContext.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContext.java
 Wed Oct 11 20:10:30 2006
@@ -291,8 +291,8 @@
      * Deletes an object locally, scheduling it for future deletion from the 
external data
      * store.
      */
-    public void deleteObject(Persistent object) {
-        new ObjectContextDeleteAction(this).performDelete(object);
+    public void deleteObject(Object object) {
+        new ObjectContextDeleteAction(this).performDelete((Persistent) object);
     }
 
     /**
@@ -319,7 +319,7 @@
     /**
      * @since 3.0
      */
-    public void registerNewObject(Persistent object) {
+    public void registerNewObject(Object object) {
         if (object == null) {
             throw new NullPointerException("An attempt to register null 
object.");
         }
@@ -327,7 +327,7 @@
         ObjEntity entity = 
getEntityResolver().lookupObjEntity(object.getClass());
         ClassDescriptor descriptor = getEntityResolver().getClassDescriptor(
                 entity.getName());
-        registerNewObject(object, entity.getName(), descriptor);
+        registerNewObject((Persistent) object, entity.getName(), descriptor);
     }
 
     /**
@@ -356,7 +356,7 @@
      * or in HOLLOW state.</i>
      * </p>
      */
-    public Persistent localObject(ObjectId id, Persistent prototype) {
+    public Persistent localObject(ObjectId id, Object prototype) {
 
         // TODO: Andrus, 1/26/2006 - this implementation is copied verbatim 
from
         // DataContext. Somehow need to pull out the common code or implement 
inheritance
@@ -382,7 +382,7 @@
 
                 descriptor.injectValueHolders(cachedObject);
                 if (prototype != null
-                        && prototype.getPersistenceState() != 
PersistenceState.HOLLOW) {
+                        && ((Persistent) prototype).getPersistenceState() != 
PersistenceState.HOLLOW) {
 
                     descriptor.shallowMerge(prototype, cachedObject);
 

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectContext.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectContext.java?view=diff&rev=463120&r1=463119&r2=463120
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectContext.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectContext.java
 Wed Oct 11 20:10:30 2006
@@ -75,7 +75,7 @@
      * the state of the prototype object).
      * </p>
      */
-    Persistent localObject(ObjectId id, Persistent prototype);
+    Persistent localObject(ObjectId id, Object prototype);
 
     /**
      * Creates a new persistent object scheduled to be inserted to the 
database on next
@@ -91,7 +91,7 @@
      * @param object new object that needs to be made persistent.
      * @since 3.0
      */
-    void registerNewObject(final Persistent object);
+    void registerNewObject(Object object);
 
     /**
      * Schedules a persistent object for deletion on next commit.
@@ -99,7 +99,7 @@
      * @throws DeleteDenyException if a [EMAIL PROTECTED] 
org.apache.cayenne.map.DeleteRule#DENY}
      *             delete rule is applicable for object deletion.
      */
-    void deleteObject(Persistent object) throws DeleteDenyException;
+    void deleteObject(Object object) throws DeleteDenyException;
 
     /**
      * A callback method that child Persistent objects are expected to call 
from inside

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java?view=diff&rev=463120&r1=463119&r2=463120
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContext.java
 Wed Oct 11 20:10:30 2006
@@ -798,13 +798,13 @@
 
     /**
      * Registers a transient object with the context, recursively registering 
all
-     * transient DataObjects attached to this object via relationships. 
<p/><i>Note that
-     * since 3.0 this method takes [EMAIL PROTECTED] Persistent} as an 
argument instead of a
+     * transient persistent objects attached to this object via relationships. 
<p/><i>Note
+     * that since 3.0 this method takes [EMAIL PROTECTED] Persistent} as an 
argument instead of a
      * [EMAIL PROTECTED] DataObject}.</i>
      * 
      * @param object new object that needs to be made persistent.
      */
-    public void registerNewObject(final Persistent object) {
+    public void registerNewObject(Object object) {
         if (object == null) {
             throw new NullPointerException("Can't register null object.");
         }
@@ -817,27 +817,29 @@
                             + ", class is likely not mapped.");
         }
 
+        final Persistent persistent = (Persistent) object;
+
         // sanity check - maybe already registered
-        if (object.getObjectId() != null) {
-            if (object.getObjectContext() == this) {
+        if (persistent.getObjectId() != null) {
+            if (persistent.getObjectContext() == this) {
                 // already registered, just ignore
                 return;
             }
-            else if (object.getObjectContext() != null) {
+            else if (persistent.getObjectContext() != null) {
                 throw new IllegalStateException(
                         "DataObject is already registered with another 
DataContext. "
                                 + "Try using 'localObjects()' instead.");
             }
         }
         else {
-            object.setObjectId(new ObjectId(entity.getName()));
+            persistent.setObjectId(new ObjectId(entity.getName()));
         }
 
-        object.setObjectContext(this);
-        object.setPersistenceState(PersistenceState.NEW);
+        persistent.setObjectContext(this);
+        persistent.setPersistenceState(PersistenceState.NEW);
 
-        getObjectStore().registerNode(object.getObjectId(), object);
-        getObjectStore().nodeCreated(object.getObjectId());
+        getObjectStore().registerNode(persistent.getObjectId(), object);
+        getObjectStore().nodeCreated(persistent.getObjectId());
 
         // now we need to find all arc changes, inject missing value holders 
and pull in
         // all transient connected objects
@@ -851,10 +853,10 @@
         descriptor.visitProperties(new PropertyVisitor() {
 
             public boolean visitCollectionArc(CollectionProperty property) {
-                property.injectValueHolder(object);
+                property.injectValueHolder(persistent);
 
-                if (!property.isFault(object)) {
-                    Iterator it = ((Collection) 
property.readProperty(object)).iterator();
+                if (!property.isFault(persistent)) {
+                    Iterator it = ((Collection) 
property.readProperty(persistent)).iterator();
                     while (it.hasNext()) {
                         Object target = it.next();
 
@@ -864,7 +866,7 @@
                             // make sure it is registered
                             registerNewObject(targetDO);
                             getObjectStore().arcCreated(
-                                    object.getObjectId(),
+                                    persistent.getObjectId(),
                                     targetDO.getObjectId(),
                                     property.getName());
                         }
@@ -874,7 +876,7 @@
             }
 
             public boolean visitSingleObjectArc(SingleObjectArcProperty 
property) {
-                Object target = property.readPropertyDirectly(object);
+                Object target = property.readPropertyDirectly(persistent);
 
                 if (target instanceof DataObject) {
 
@@ -883,7 +885,7 @@
                     // make sure it is registered
                     registerNewObject(targetDO);
                     getObjectStore().arcCreated(
-                            object.getObjectId(),
+                            persistent.getObjectId(),
                             targetDO.getObjectId(),
                             property.getName());
                 }
@@ -958,8 +960,8 @@
      *             deletion.
      * @throws NullPointerException if object is null.
      */
-    public void deleteObject(Persistent object) throws DeleteDenyException {
-        new DataContextDeleteAction(this).performDelete(object);
+    public void deleteObject(Object object) throws DeleteDenyException {
+        new DataContextDeleteAction(this).performDelete((Persistent) object);
     }
 
     /**
@@ -1651,7 +1653,7 @@
      * 
      * @since 1.2
      */
-    public Persistent localObject(ObjectId id, Persistent prototype) {
+    public Persistent localObject(ObjectId id, Object prototype) {
 
         // ****** Warning: when changing the code below, don't forget to change
         // CayenneContext's implementation which right now relies on 
copy/paste "reuse"
@@ -1681,7 +1683,7 @@
                 descriptor.injectValueHolders(cachedObject);
 
                 if (prototype != null
-                        && prototype.getPersistenceState() != 
PersistenceState.HOLLOW) {
+                        && ((Persistent) prototype).getPersistenceState() != 
PersistenceState.HOLLOW) {
 
                     descriptor.shallowMerge(prototype, cachedObject);
 
@@ -1704,7 +1706,7 @@
             getGraphManager().registerNode(id, localObject);
 
             if (prototype != null
-                    && prototype.getPersistenceState() != 
PersistenceState.HOLLOW) {
+                    && ((Persistent) prototype).getPersistenceState() != 
PersistenceState.HOLLOW) {
                 localObject.setPersistenceState(PersistenceState.COMMITTED);
                 descriptor.injectValueHolders(localObject);
                 descriptor.shallowMerge(prototype, localObject);

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/intercept/ObjectContextDecorator.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/intercept/ObjectContextDecorator.java?view=diff&rev=463120&r1=463119&r2=463120
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/intercept/ObjectContextDecorator.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/intercept/ObjectContextDecorator.java
 Wed Oct 11 20:10:30 2006
@@ -54,7 +54,7 @@
         return context.deletedObjects();
     }
 
-    public void deleteObject(Persistent object) throws DeleteDenyException {
+    public void deleteObject(Object object) throws DeleteDenyException {
         context.deleteObject(object);
     }
 
@@ -70,7 +70,7 @@
         return context.getGraphManager();
     }
 
-    public Persistent localObject(ObjectId id, Persistent prototype) {
+    public Persistent localObject(ObjectId id, Object prototype) {
         return context.localObject(id, prototype);
     }
 
@@ -82,7 +82,7 @@
         return context.newObject(persistentClass);
     }
     
-    public void registerNewObject(Persistent object) {
+    public void registerNewObject(Object object) {
         context.registerNewObject(object);
     }
 

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/MockObjectContext.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/MockObjectContext.java?view=diff&rev=463120&r1=463119&r2=463120
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/MockObjectContext.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/MockObjectContext.java
 Wed Oct 11 20:10:30 2006
@@ -55,7 +55,7 @@
         return graphManager;
     }
 
-    public Persistent localObject(ObjectId id, Persistent prototype) {
+    public Persistent localObject(ObjectId id, Object prototype) {
         return null;
     }
 
@@ -92,14 +92,14 @@
 
     }
 
-    public void deleteObject(Persistent object) {
+    public void deleteObject(Object object) {
     }
 
     public Persistent newObject(Class persistentClass) {
         return null;
     }
     
-    public void registerNewObject(Persistent object) {
+    public void registerNewObject(Object object) {
     }
 
     public void prepareForAccess(Persistent persistent, String property) {


Reply via email to