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/11/26 06:14:54 UTC
svn commit: r479278 - in
/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access:
ChildDiffLoader.java DataContext.java DataContextQueryAction.java
ObjectStore.java ToManyList.java
Author: aadamchik
Date: Sat Nov 25 21:14:53 2006
New Revision: 479278
URL: http://svn.apache.org/viewvc?view=rev&rev=479278
Log:
CAY-686: Weed out DataObject references from the access stack classes, replacing them with Persistent and ClassDescriptor
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ChildDiffLoader.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/access/DataContextQueryAction.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ToManyList.java
Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ChildDiffLoader.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ChildDiffLoader.java?view=diff&rev=479278&r1=479277&r2=479278
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ChildDiffLoader.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ChildDiffLoader.java Sat Nov 25 21:14:53 2006
@@ -22,7 +22,6 @@
import java.util.List;
import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.DataObject;
import org.apache.cayenne.ObjectContext;
import org.apache.cayenne.ObjectId;
import org.apache.cayenne.Persistent;
@@ -70,9 +69,9 @@
throw new IllegalArgumentException("Entity not mapped with Cayenne: " + id);
}
- DataObject dataObject = null;
+ Persistent dataObject = null;
try {
- dataObject = (DataObject) entity.getJavaClass().newInstance();
+ dataObject = (Persistent) entity.getJavaClass().newInstance();
}
catch (Exception ex) {
throw new CayenneRuntimeException("Error instantiating object.", ex);
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=479278&r1=479277&r2=479278
==============================================================================
--- 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 Sat Nov 25 21:14:53 2006
@@ -676,7 +676,6 @@
*
* @since 1.1
* @see DataRow
- * @see DataObject
*/
public List objectsFromDataRows(
Class objectClass,
@@ -697,7 +696,6 @@
* {@link #objectsFromDataRows(Class,java.util.List,boolean,boolean)}.
*
* @see DataRow
- * @see DataObject
*/
public DataObject objectFromDataRow(
Class objectClass,
@@ -972,6 +970,7 @@
*
* @throws CayenneRuntimeException if object id doesn't match any records, or if there
* is more than one object is fetched.
+ * @deprecated since 3.0 use {@link ObjectIdQuery} with appropraite refresh settings.
*/
public DataObject refetchObject(ObjectId oid) {
@@ -1567,7 +1566,7 @@
synchronized (getObjectStore()) {
Iterator it = objectStore.getObjectIterator();
while (it.hasNext()) {
- DataObject object = (DataObject) it.next();
+ Persistent object = (Persistent) it.next();
object.setObjectContext(this);
}
}
Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java?view=diff&rev=479278&r1=479277&r2=479278
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java Sat Nov 25 21:14:53 2006
@@ -23,7 +23,6 @@
import java.util.Iterator;
import java.util.Map;
-import org.apache.cayenne.DataObject;
import org.apache.cayenne.ObjectContext;
import org.apache.cayenne.PersistenceState;
import org.apache.cayenne.Persistent;
@@ -87,7 +86,7 @@
// require this hack.
if (oidQuery.isFetchingDataRows()) {
object = ((DataContext) actingContext)
- .currentSnapshot((DataObject) object);
+ .currentSnapshot((Persistent) object);
}
// do not return hollow objects
else if (((Persistent) object).getPersistenceState() == PersistenceState.HOLLOW) {
Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java?view=diff&rev=479278&r1=479277&r2=479278
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java Sat Nov 25 21:14:53 2006
@@ -606,9 +606,10 @@
Iterator it = objectMap.values().iterator();
while (it.hasNext()) {
- DataObject nextObj = (DataObject) it.next();
- if (nextObj.getPersistenceState() == state)
+ Persistent nextObj = (Persistent) it.next();
+ if (nextObj.getPersistenceState() == state) {
filteredObjects.add(nextObj);
+ }
}
return filteredObjects;
@@ -704,10 +705,14 @@
// access object map directly - the method should be called in a synchronized
// context...
- DataObject object = (DataObject) objectMap.get(nodeId);
+ Persistent object = (Persistent) objectMap.get(nodeId);
if (object != null) {
+ DataObject dataObject = (object instanceof DataObject)
+ ? (DataObject) object
+ : null;
+
DataContextDelegate delegate;
switch (object.getPersistenceState()) {
@@ -718,14 +723,17 @@
// consult delegate
delegate = context.nonNullDelegate();
- if (delegate.shouldProcessDelete(object)) {
+ if (dataObject == null || delegate.shouldProcessDelete(dataObject)) {
objectMap.remove(nodeId);
changes.remove(nodeId);
// setting DataContext to null will also set
// state to transient
object.setObjectContext(null);
- delegate.finishedProcessDelete(object);
+
+ if (dataObject != null) {
+ delegate.finishedProcessDelete(dataObject);
+ }
}
break;
@@ -734,12 +742,14 @@
// consult delegate
delegate = context.nonNullDelegate();
- if (delegate.shouldProcessDelete(object)) {
+ if (dataObject != null && delegate.shouldProcessDelete(dataObject)) {
object.setPersistenceState(PersistenceState.NEW);
changes.remove(nodeId);
registerNode(nodeId, object);
nodeCreated(nodeId);
- delegate.finishedProcessDelete(object);
+ if(dataObject != null) {
+ delegate.finishedProcessDelete(dataObject);
+ }
}
break;
Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ToManyList.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ToManyList.java?view=diff&rev=479278&r1=479277&r2=479278
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ToManyList.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ToManyList.java Sat Nov 25 21:14:53 2006
@@ -27,7 +27,6 @@
import java.util.ListIterator;
import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.DataObject;
import org.apache.cayenne.PersistenceState;
import org.apache.cayenne.Persistent;
import org.apache.cayenne.ValueHolder;
@@ -310,8 +309,8 @@
while (it.hasNext()) {
Object next = it.next();
- if (next instanceof DataObject) {
- DataObject dataObject = (DataObject) next;
+ if (next instanceof Persistent) {
+ Persistent dataObject = (Persistent) next;
if (dataObject.getPersistenceState() == PersistenceState.TRANSIENT) {
continue;
}
@@ -357,8 +356,8 @@
// No point in adding a new or transient object -- these will never be fetched
// from the database.
boolean shouldAddToRemovedFromUnresolvedList = true;
- if (object instanceof DataObject) {
- DataObject dataObject = (DataObject) object;
+ if (object instanceof Persistent) {
+ Persistent dataObject = (Persistent) object;
if ((dataObject.getPersistenceState() == PersistenceState.TRANSIENT)
|| (dataObject.getPersistenceState() == PersistenceState.NEW)) {
shouldAddToRemovedFromUnresolvedList = false;