public void verify() { getSession().getIdentityMapAccessor().initializeAllIdentityMaps(); holder = (DirectEntityMapHolder) getSession().readObject(holder); if (!compareObjects(holder, changedHolder)) { throw new TestErrorException("Objects do not match reinitialize"); } if (holder.getDirectToEntityMap().size() != 2) { throw new TestErrorException("Incorrect Number of MapEntityValues was read."); } EntityMapValue value = (EntityMapValue) holder.getDirectToEntityMap().get(new Integer(33)); if (value.getId() != 3) { throw new TestErrorException("MapEntityValue was not added properly."); } value = (EntityMapValue) holder.getDirectToEntityMap().get(11); if (value != null) { throw new TestErrorException("Deleted EntityMapValue still around."); } if (mapping.isPrivateOwned()) { ReadObjectQuery query = new ReadObjectQuery(EntityMapValue.class); ExpressionBuilder values = new ExpressionBuilder(); Expression criteria = values.get("id").equal(1); query.setSelectionCriteria(criteria); value = (EntityMapValue) getSession().executeQuery(query); if (value != null) { throw new TestErrorException("PrivateOwned EntityMapValue was not deleted."); } } }
public void reset() { UnitOfWork uow = getSession().acquireUnitOfWork(); Iterator j = holder.getDirectToEntityMap().keySet().iterator(); while (j.hasNext()) { uow.deleteObject(holder.getDirectToEntityMap().get(j.next())); } uow.deleteObject(holder); uow.commit(); mapping.setIsPrivateOwned(oldPrivateOwnedValue); }
public void test() { UnitOfWork uow = getSession().acquireUnitOfWork(); changedHolder = (DirectEntityMapHolder) uow.readObject(holder); EntityMapValue value = new EntityMapValue(); value.setId(3); changedHolder.addDirectToEntityMapItem(new Integer(33), value); changedHolder.getDirectToEntityMap().remove(new Integer(11)); uow.commit(); Object holderForComparison = uow.readObject(holder); if (!compareObjects(changedHolder, holderForComparison)) { throw new TestErrorException("Objects do not match after write"); } }