use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.
the class RemoteCQTransactionDUnitTest method testTXWithCQCommitInAccessorConnectedToAccessorCQ.
@Test
public void testTXWithCQCommitInAccessorConnectedToAccessorCQ() throws Exception {
Host host = Host.getHost(0);
VM accessor = host.getVM(0);
VM datastore = host.getVM(1);
VM client = host.getVM(2);
initAccessorAndDataStore(accessor, datastore, 0);
int port = startServer(accessor);
createClientRegion(client, port, false, true, true);
accessor.invoke(new SerializableCallable() {
@Override
public Object call() throws Exception {
Region<CustId, Customer> custRegion = getCache().getRegion(CUSTOMER);
Region<OrderId, Order> orderRegion = getCache().getRegion(ORDER);
Region<CustId, Customer> refRegion = getCache().getRegion(D_REFERENCE);
CustId custId = new CustId(1);
OrderId orderId = new OrderId(1, custId);
getCache().getCacheTransactionManager().begin();
custRegion.put(custId, new Customer("foo", "bar"));
getCache().getCacheTransactionManager().commit();
return null;
}
});
Thread.sleep(10000);
client.invoke(new SerializableCallable() {
@Override
public Object call() throws Exception {
Region<CustId, Customer> custRegion = getCache().getRegion(CUSTOMER);
Region<OrderId, Order> orderRegion = getCache().getRegion(ORDER);
Region<CustId, Customer> refRegion = getCache().getRegion(D_REFERENCE);
ClientListener cl = (ClientListener) custRegion.getAttributes().getCacheListeners()[0];
assertTrue(cl.invoked);
assertTrue(((ClientCQListener) custRegion.getCache().getQueryService().getCqs()[0].getCqAttributes().getCqListener()).invoked);
return null;
}
});
}
use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.
the class RemoteCQTransactionDUnitTest method verifyAfterCommit.
void verifyAfterCommit(OP op) {
Region<CustId, Customer> custRegion = getCache().getRegion(CUSTOMER);
Region<CustId, Customer> refRegion = getCache().getRegion(D_REFERENCE);
Region<OrderId, Order> orderRegion = getCache().getRegion(ORDER);
CustId custId = new CustId(1);
OrderId orderId = new OrderId(1, custId);
OrderId orderId2 = new OrderId(2, custId);
OrderId orderId3 = new OrderId(3, custId);
Customer expectedCust;
Order expectedOrder;
Order expectedOrder2;
Order expectedOrder3;
Customer expectedRef;
switch(op) {
case PUT:
expectedCust = new Customer("foo", "bar");
expectedOrder = new Order("fooOrder");
expectedOrder2 = new Order("fooOrder2");
expectedOrder3 = new Order("fooOrder3");
expectedRef = expectedCust;
assertNotNull(custRegion.getEntry(custId));
assertEquals(expectedCust, custRegion.getEntry(custId).getValue());
assertNotNull(refRegion.getEntry(custId));
assertEquals(expectedRef, refRegion.getEntry(custId).getValue());
break;
case GET:
expectedCust = custRegion.get(custId);
expectedOrder = orderRegion.get(orderId);
expectedRef = refRegion.get(custId);
validateContains(custId, Collections.singleton(orderId), true);
break;
case DESTROY:
assertTrue(!custRegion.containsKey(custId));
assertTrue(!orderRegion.containsKey(orderId));
assertTrue(!refRegion.containsKey(custId));
validateContains(custId, Collections.singleton(orderId), false);
break;
case INVALIDATE:
boolean validateContainsKey = true;
if (!((GemFireCacheImpl) custRegion.getCache()).isClient()) {
assertTrue(custRegion.containsKey(custId));
assertTrue(orderRegion.containsKey(orderId));
assertTrue(refRegion.containsKey(custId));
}
assertNull(custRegion.get(custId));
assertNull(orderRegion.get(orderId));
assertNull(refRegion.get(custId));
validateContains(custId, Collections.singleton(orderId), validateContainsKey, false);
break;
default:
throw new IllegalStateException();
}
}
use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.
the class WANTestBase method putCustomerPartitionedRegion.
protected static Map putCustomerPartitionedRegion(int numPuts, String valueSuffix) {
assertNotNull(cache);
assertNotNull(customerRegion);
Map custKeyValues = new HashMap();
for (int i = 1; i <= numPuts; i++) {
CustId custid = new CustId(i);
Customer customer = new Customer("name" + i, "Address" + i + valueSuffix);
try {
customerRegion.put(custid, customer);
assertTrue(customerRegion.containsKey(custid));
assertEquals(customer, customerRegion.get(custid));
custKeyValues.put(custid, customer);
} catch (Exception e) {
org.apache.geode.test.dunit.Assert.fail("putCustomerPartitionedRegion : failed while doing put operation in CustomerPartitionedRegion ", e);
}
LogWriterUtils.getLogWriter().info("Customer :- { " + custid + " : " + customer + " }");
}
return custKeyValues;
}
use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.
the class WANTestBase method updateOrderPartitionedRegionUsingCustId.
public static Map updateOrderPartitionedRegionUsingCustId(int numPuts) {
assertNotNull(cache);
assertNotNull(orderRegion);
Map orderKeyValues = new HashMap();
for (int i = 1; i <= numPuts; i++) {
CustId custid = new CustId(i);
Order order = new Order("ORDER" + i + "_update");
try {
orderRegion.put(custid, order);
assertTrue(orderRegion.containsKey(custid));
assertEquals(order, orderRegion.get(custid));
orderKeyValues.put(custid, order);
} catch (Exception e) {
org.apache.geode.test.dunit.Assert.fail("updateOrderPartitionedRegionUsingCustId : failed while doing put operation in OrderPartitionedRegion ", e);
}
LogWriterUtils.getLogWriter().info("Order :- { " + custid + " : " + order + " }");
}
return orderKeyValues;
}
use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.
the class WANTestBase method putcolocatedPartitionedRegion.
public static void putcolocatedPartitionedRegion(int numPuts) {
assertNotNull(cache);
assertNotNull(customerRegion);
assertNotNull(orderRegion);
assertNotNull(shipmentRegion);
for (int i = 1; i <= numPuts; i++) {
CustId custid = new CustId(i);
Customer customer = new Customer("Customer" + custid, "Address" + custid);
customerRegion.put(custid, customer);
int oid = i + 1;
OrderId orderId = new OrderId(oid, custid);
Order order = new Order("Order" + orderId);
orderRegion.put(orderId, order);
int sid = oid + 1;
ShipmentId shipmentId = new ShipmentId(sid, orderId);
Shipment shipment = new Shipment("Shipment" + sid);
shipmentRegion.put(shipmentId, shipment);
}
}
Aggregations