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 2012/01/21 23:32:02 UTC
svn commit: r1234428 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne:
./ access/ remote/
Author: aadamchik
Date: Sat Jan 21 22:32:02 2012
New Revision: 1234428
URL: http://svn.apache.org/viewvc?rev=1234428&view=rev
Log:
CAY-1616 Remove internal dependencies on deprecated ObjectContext.localObject
migrating unit tests
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPITest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsTest.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextTest.java?rev=1234428&r1=1234427&r2=1234428&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextTest.java Sat Jan 21 22:32:02 2012
@@ -72,6 +72,7 @@ public class CayenneContextTest extends
assertSame(channel, context.getChannel());
}
+ @Deprecated
public void testLocalObject() {
DataChannel channel = mock(DataChannel.class);
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPITest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPITest.java?rev=1234428&r1=1234427&r2=1234428&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPITest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPITest.java Sat Jan 21 22:32:02 2012
@@ -26,7 +26,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.cayenne.ObjectId;
+import org.apache.cayenne.Cayenne;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.query.SQLTemplate;
import org.apache.cayenne.test.jdbc.DBHelper;
@@ -108,10 +108,7 @@ public class DataContextPerformQueryAPIT
public void testObjectQueryStringMapBoolean() throws Exception {
createTwoArtistsAndTwoPaintingsDataSet();
- Artist a = (Artist) context.localObject(new ObjectId(
- "Artist",
- Artist.ARTIST_ID_PK_COLUMN,
- 11), null);
+ Artist a = Cayenne.objectForPK(context, Artist.class, 11);
Map<String, Artist> parameters = Collections.singletonMap("artist", a);
List<?> paintings = context2.performQuery("ObjectQuery", parameters, true);
@@ -169,10 +166,7 @@ public class DataContextPerformQueryAPIT
assertEquals(1, counts.length);
assertEquals(1, counts[0]);
- Painting p = (Painting) context.localObject(new ObjectId(
- "Painting",
- Painting.PAINTING_ID_PK_COLUMN,
- 512), null);
+ Painting p = Cayenne.objectForPK(context, Painting.class, 512);
assertEquals("No Painting Like This", p.getPaintingTitle());
}
@@ -191,10 +185,7 @@ public class DataContextPerformQueryAPIT
assertEquals(1, counts.length);
assertEquals(1, counts[0]);
- Painting p = (Painting) context.localObject(new ObjectId(
- "Painting",
- Painting.PAINTING_ID_PK_COLUMN,
- 300), null);
+ Painting p = Cayenne.objectForPK(context, Painting.class, 300);
assertEquals("Go Figure", p.getPaintingTitle());
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsTest.java?rev=1234428&r1=1234427&r2=1234428&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsTest.java Sat Jan 21 22:32:02 2012
@@ -20,6 +20,7 @@
package org.apache.cayenne.access;
import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.configuration.server.ServerRuntime;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.testdo.relationship.Child;
import org.apache.cayenne.testdo.relationship.Master;
@@ -31,6 +32,9 @@ import org.apache.cayenne.unit.util.Thre
public class NestedDataContextParentPeerEventsTest extends ServerCase {
@Inject
+ private ServerRuntime runtime;
+
+ @Inject
private DataContext parentContext1;
@Inject
@@ -41,10 +45,10 @@ public class NestedDataContextParentPeer
a.setName("X");
parentContext1.commitChanges();
- Master a1 = (Master) parentContext2.localObject(a.getObjectId(), a);
+ Master a1 = parentContext2.localObject(a);
- final ObjectContext child = parentContext1.createChildContext();
- final Master a2 = (Master) child.localObject(a.getObjectId(), a);
+ final ObjectContext child = runtime.getContext(parentContext1);
+ final Master a2 = child.localObject(a);
a1.setName("Y");
assertEquals("X", a2.getName());
@@ -56,8 +60,9 @@ public class NestedDataContextParentPeer
protected void assertResult() throws Exception {
assertEquals("Y", a2.getName());
- assertFalse("Peer data context became dirty on event processing", child
- .hasChanges());
+ assertFalse(
+ "Peer data context became dirty on event processing",
+ child.hasChanges());
}
}.assertWithTimeout(2000);
}
@@ -72,13 +77,13 @@ public class NestedDataContextParentPeer
altA.setName("Y");
parentContext1.commitChanges();
- Child p1 = (Child) parentContext2.localObject(p.getObjectId(), null);
- Master altA1 = (Master) parentContext2.localObject(altA.getObjectId(), null);
+ Child p1 = parentContext2.localObject(p);
+ Master altA1 = parentContext2.localObject(altA);
- final ObjectContext childContext1 = parentContext1.createChildContext();
- final Child p2 = (Child) childContext1.localObject(p.getObjectId(), p);
- final Master altA2 = (Master) childContext1.localObject(altA.getObjectId(), altA);
- Master a2 = (Master) childContext1.localObject(a.getObjectId(), a);
+ final ObjectContext childContext1 = runtime.getContext(parentContext1);
+ final Child p2 = childContext1.localObject(p);
+ final Master altA2 = childContext1.localObject(altA);
+ Master a2 = childContext1.localObject(a);
p1.setMaster(altA1);
assertSame(a2, p2.getMaster());
@@ -108,12 +113,12 @@ public class NestedDataContextParentPeer
parentContext1.commitChanges();
- Child py1 = (Child) parentContext2.localObject(py.getObjectId(), py);
- Master a1 = (Master) parentContext2.localObject(a.getObjectId(), a);
+ Child py1 = parentContext2.localObject(py);
+ Master a1 = parentContext2.localObject(a);
- final ObjectContext peer2 = parentContext1.createChildContext();
- final Child py2 = (Child) peer2.localObject(py.getObjectId(), py);
- final Master a2 = (Master) peer2.localObject(a.getObjectId(), a);
+ final ObjectContext peer2 = runtime.getContext(parentContext1);
+ final Child py2 = peer2.localObject(py);
+ final Master a2 = peer2.localObject(a);
a1.addToChildren(py1);
assertEquals(1, a2.getChildren().size());
@@ -127,8 +132,9 @@ public class NestedDataContextParentPeer
assertEquals(2, a2.getChildren().size());
assertTrue(a2.getChildren().contains(py2));
- assertFalse("Peer data context became dirty on event processing", peer2
- .hasChanges());
+ assertFalse(
+ "Peer data context became dirty on event processing",
+ peer2.hasChanges());
}
}.assertWithTimeout(2000);
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsTest.java?rev=1234428&r1=1234427&r2=1234428&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsTest.java Sat Jan 21 22:32:02 2012
@@ -21,6 +21,7 @@ package org.apache.cayenne.access;
import org.apache.cayenne.ObjectContext;
import org.apache.cayenne.ObjectId;
+import org.apache.cayenne.configuration.server.ServerRuntime;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.testdo.testmap.Painting;
@@ -33,17 +34,30 @@ public class NestedDataContextPeerEvents
@Inject
private DataContext context;
+ @Inject
+ private ServerRuntime runtime;
+
public void testPeerObjectUpdatedTempOID() {
- ObjectContext peer1 = context.createChildContext();
+
+ ObjectContext peer1 = runtime.getContext(context);
Artist a1 = peer1.newObject(Artist.class);
- a1.setArtistName("Y");
+ a1.setArtistName("Z");
+
+ // commit to parent, so that object with temp ID becomes visible to peer child
+ // contexts
+ peer1.commitChangesToParent();
+
ObjectId a1TempId = a1.getObjectId();
+ assertTrue(a1TempId.isTemporary());
- ObjectContext peer2 = context.createChildContext();
- Artist a2 = (Artist) peer2.localObject(a1TempId, a1);
+ ObjectContext peer2 = runtime.getContext(context);
+ Artist a2 = peer2.localObject(a1);
assertEquals(a1TempId, a2.getObjectId());
+ // make changes to be able to trigger a commit from child, the commit to DB
+ a1.setArtistName("Y");
+
peer1.commitChanges();
assertFalse(a1.getObjectId().isTemporary());
assertFalse(a2.getObjectId().isTemporary());
@@ -55,19 +69,20 @@ public class NestedDataContextPeerEvents
a.setArtistName("X");
context.commitChanges();
- ObjectContext peer1 = context.createChildContext();
- Artist a1 = (Artist) peer1.localObject(a.getObjectId(), a);
+ ObjectContext peer1 = runtime.getContext(context);
+ Artist a1 = peer1.localObject(a);
- ObjectContext peer2 = context.createChildContext();
- Artist a2 = (Artist) peer2.localObject(a.getObjectId(), a);
+ ObjectContext peer2 = runtime.getContext(context);
+ Artist a2 = peer2.localObject(a);
a1.setArtistName("Y");
assertEquals("X", a2.getArtistName());
peer1.commitChangesToParent();
assertEquals("Y", a2.getArtistName());
- assertFalse("Peer data context became dirty on event processing", peer2
- .hasChanges());
+ assertFalse(
+ "Peer data context became dirty on event processing",
+ peer2.hasChanges());
}
public void testPeerObjectUpdatedToOneRelationship() {
@@ -82,22 +97,23 @@ public class NestedDataContextPeerEvents
altA.setArtistName("Y");
context.commitChanges();
- ObjectContext peer1 = context.createChildContext();
- Painting p1 = (Painting) peer1.localObject(p.getObjectId(), p);
- Artist altA1 = (Artist) peer1.localObject(altA.getObjectId(), altA);
-
- ObjectContext peer2 = context.createChildContext();
- Painting p2 = (Painting) peer2.localObject(p.getObjectId(), p);
- Artist altA2 = (Artist) peer2.localObject(altA.getObjectId(), altA);
- Artist a2 = (Artist) peer2.localObject(a.getObjectId(), a);
+ ObjectContext peer1 = runtime.getContext(context);
+ Painting p1 = peer1.localObject(p);
+ Artist altA1 = peer1.localObject(altA);
+
+ ObjectContext peer2 = runtime.getContext(context);
+ Painting p2 = peer2.localObject(p);
+ Artist altA2 = peer2.localObject(altA);
+ Artist a2 = peer2.localObject(a);
p1.setToArtist(altA1);
assertSame(a2, p2.getToArtist());
peer1.commitChangesToParent();
assertEquals(altA2, p2.getToArtist());
- assertFalse("Peer data context became dirty on event processing", peer2
- .hasChanges());
+ assertFalse(
+ "Peer data context became dirty on event processing",
+ peer2.hasChanges());
}
public void testPeerObjectUpdatedToManyRelationship() {
@@ -114,13 +130,13 @@ public class NestedDataContextPeerEvents
context.commitChanges();
- ObjectContext peer1 = context.createChildContext();
- Painting py1 = (Painting) peer1.localObject(py.getObjectId(), py);
- Artist a1 = (Artist) peer1.localObject(a.getObjectId(), a);
-
- ObjectContext peer2 = context.createChildContext();
- Painting py2 = (Painting) peer2.localObject(py.getObjectId(), py);
- Artist a2 = (Artist) peer2.localObject(a.getObjectId(), a);
+ ObjectContext peer1 = runtime.getContext(context);
+ Painting py1 = peer1.localObject(py);
+ Artist a1 = peer1.localObject(a);
+
+ ObjectContext peer2 = runtime.getContext(context);
+ Painting py2 = peer2.localObject(py);
+ Artist a2 = peer2.localObject(a);
a1.addToPaintingArray(py1);
assertEquals(1, a2.getPaintingArray().size());
@@ -129,7 +145,8 @@ public class NestedDataContextPeerEvents
assertEquals(2, a2.getPaintingArray().size());
assertTrue(a2.getPaintingArray().contains(py2));
- assertFalse("Peer data context became dirty on event processing", peer2
- .hasChanges());
+ assertFalse(
+ "Peer data context became dirty on event processing",
+ peer2.hasChanges());
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsTest.java?rev=1234428&r1=1234427&r2=1234428&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsTest.java Sat Jan 21 22:32:02 2012
@@ -30,14 +30,14 @@ import org.apache.cayenne.unit.di.server
@UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
public class NestedObjectContextPeerEventsTest extends RemoteCayenneCase {
-
+
@Inject
private DBHelper dbHelper;
-
+
@Override
public void setUpAfterInjection() throws Exception {
super.setUpAfterInjection();
-
+
dbHelper.deleteAll("MT_TABLE2");
dbHelper.deleteAll("MT_TABLE1");
}
@@ -47,12 +47,16 @@ public class NestedObjectContextPeerEven
ClientMtTable1 a1 = peer1.newObject(ClientMtTable1.class);
a1.setGlobalAttribute1("Y");
ObjectId a1TempId = a1.getObjectId();
+
+ // make sure temp ObjectId becomes available to peers
+ peer1.commitChangesToParent();
ObjectContext peer2 = clientContext.createChildContext();
- ClientMtTable1 a2 = (ClientMtTable1) peer2.localObject(a1TempId, a1);
+ ClientMtTable1 a2 = peer2.localObject(a1);
assertEquals(a1TempId, a2.getObjectId());
+ a1.setGlobalAttribute1("Z");
peer1.commitChanges();
assertFalse(a1.getObjectId().isTemporary());
assertFalse(a2.getObjectId().isTemporary());
@@ -65,18 +69,19 @@ public class NestedObjectContextPeerEven
clientContext.commitChanges();
ObjectContext peer1 = clientContext.createChildContext();
- ClientMtTable1 a1 = (ClientMtTable1) peer1.localObject(a.getObjectId(), a);
+ ClientMtTable1 a1 = peer1.localObject(a);
ObjectContext peer2 = clientContext.createChildContext();
- ClientMtTable1 a2 = (ClientMtTable1) peer2.localObject(a.getObjectId(), a);
+ ClientMtTable1 a2 = peer2.localObject(a);
a1.setGlobalAttribute1("Y");
assertEquals("X", a2.getGlobalAttribute1());
peer1.commitChangesToParent();
assertEquals("Y", a2.getGlobalAttribute1());
- assertFalse("Peer data context became dirty on event processing", peer2
- .hasChanges());
+ assertFalse(
+ "Peer data context became dirty on event processing",
+ peer2.hasChanges());
}
public void testPeerObjectUpdatedToOneRelationship() throws Exception {
@@ -91,21 +96,22 @@ public class NestedObjectContextPeerEven
clientContext.commitChanges();
ObjectContext peer1 = clientContext.createChildContext();
- ClientMtTable2 p1 = (ClientMtTable2) peer1.localObject(p.getObjectId(), p);
- ClientMtTable1 altA1 = (ClientMtTable1) peer1.localObject(altA.getObjectId(), altA);
+ ClientMtTable2 p1 = peer1.localObject(p);
+ ClientMtTable1 altA1 = peer1.localObject(altA);
ObjectContext peer2 = clientContext.createChildContext();
- ClientMtTable2 p2 = (ClientMtTable2) peer2.localObject(p.getObjectId(), p);
- ClientMtTable1 altA2 = (ClientMtTable1) peer2.localObject(altA.getObjectId(), altA);
- ClientMtTable1 a2 = (ClientMtTable1) peer2.localObject(a.getObjectId(), a);
+ ClientMtTable2 p2 = peer2.localObject(p);
+ ClientMtTable1 altA2 = peer2.localObject(altA);
+ ClientMtTable1 a2 = peer2.localObject(a);
p1.setTable1(altA1);
assertSame(a2, p2.getTable1());
peer1.commitChangesToParent();
assertEquals(altA2, p2.getTable1());
- assertFalse("Peer data context became dirty on event processing", peer2
- .hasChanges());
+ assertFalse(
+ "Peer data context became dirty on event processing",
+ peer2.hasChanges());
}
public void testPeerObjectUpdatedToManyRelationship() throws Exception {
@@ -122,12 +128,12 @@ public class NestedObjectContextPeerEven
clientContext.commitChanges();
ObjectContext peer1 = clientContext.createChildContext();
- ClientMtTable2 py1 = (ClientMtTable2) peer1.localObject(py.getObjectId(), py);
- ClientMtTable1 a1 = (ClientMtTable1) peer1.localObject(a.getObjectId(), a);
+ ClientMtTable2 py1 = peer1.localObject(py);
+ ClientMtTable1 a1 = peer1.localObject(a);
ObjectContext peer2 = clientContext.createChildContext();
- ClientMtTable2 py2 = (ClientMtTable2) peer2.localObject(py.getObjectId(), py);
- ClientMtTable1 a2 = (ClientMtTable1) peer2.localObject(a.getObjectId(), a);
+ ClientMtTable2 py2 = peer2.localObject(py);
+ ClientMtTable1 a2 = peer2.localObject(a);
a1.addToTable2Array(py1);
assertEquals(1, a2.getTable2Array().size());
@@ -136,7 +142,8 @@ public class NestedObjectContextPeerEven
assertEquals(2, a2.getTable2Array().size());
assertTrue(a2.getTable2Array().contains(py2));
- assertFalse("Peer data context became dirty on event processing", peer2
- .hasChanges());
+ assertFalse(
+ "Peer data context became dirty on event processing",
+ peer2.hasChanges());
}
}