cache.putObject("/person/joe", createPerson("Joe Black", 31));
Person joe = (Person) cache.getObject("/person/joe");
cache.putObject("/person/ben", createPerson("Ben Hogan", 51));
Person ben = (Person) cache.getObject("/person/ben");
Address addr = new Address();
addr.setStreet("123 Albert Ave.");
addr.setCity("Sunnyvale");
addr.setZip(94087);
// They share the sub-object: address
log.info("testMultipleReference(): set Joe address");
joe.setAddress(addr);
log.info("testMultipleReference(): set Ben address");
ben.setAddress(addr);
log.info("testMultipleReference(): verify");
Address add1 = (Address) ((Person)cache.getObject("/person/joe")).getAddress();
Address add2 = (Address) ((Person)cache.getObject("/person/ben")).getAddress();
assertEquals(add1.getCity(), add2.getCity());
addr.setCity("Santa Clara");
assertEquals(add1.getCity(), add2.getCity());
cache.evict(Fqn.fromString("/person/joe"));
cache.evict(Fqn.fromString("/person/ben"));
log.info("testMultipleReference(): after eviction");
add1 = (Address) ((Person)cache.getObject("/person/joe")).getAddress();
add2 = (Address) ((Person)cache.getObject("/person/ben")).getAddress();
assertEquals(add1.getCity(), add2.getCity());
add1.setCity("Santa Clara");
// Still not working now. Will need to support it. JCACHE-223
// assertEquals(add1.getCity(), add2.getCity());
}