Context ctx = new InitialContext();
getLog().debug("testEntityBeanCMP");
getLog().debug(++test+"- "+"Looking up the home nextgen.EnterpriseEntity...ok");
EnterpriseEntityHome enterpriseEntityHome = (EnterpriseEntityHome) ctx.lookup("nextgen.EnterpriseEntity");
getLog().debug(++test+"- "+"Calling find on EnterpriseEntityHome with name Marc...");
EnterpriseEntity enterpriseEntity = null;
try
{
enterpriseEntity = enterpriseEntityHome.findByPrimaryKey("Marc");
}
catch (Exception e)
{
getLog().debug("findByPrimaryKey(Marc) failed", e);
}
if (enterpriseEntity == null)
{
getLog().debug("not found OK");
getLog().debug(++test+"- "+"Calling create on EnterpriseEntityHome with name Marc...");
enterpriseEntity = enterpriseEntityHome.create("Marc");
}
if (enterpriseEntity != null)
getLog().debug("ok, enterpriseEntity"+enterpriseEntity+", hashCode="+enterpriseEntity.hashCode());
getLog().debug(++test+"- "+"Calling for duplicate create and DuplicateKeyException...");
try
{
Object e = enterpriseEntityHome.create("Marc");
getLog().debug("I Really should not make it here, e="+e+", hashCode="+e.hashCode());
throw new Exception ("DuplicateKey not seen");
}
catch (DuplicateKeyException dke)
{
getLog().debug("DuplicateKeyException ok");
}
getLog().debug(++test+"- "+"Calling getEJBHome() on EntityCMP...");
assertTrue("enterpriseEntity.getEJBHome() != null", enterpriseEntity.getEJBHome() != null);
getLog().debug("ok");
getLog().debug(++test+"- "+"Getting a new reference with findByPK...");
EnterpriseEntity enterpriseEntity2 = null;
try {
enterpriseEntity2 = enterpriseEntityHome.findByPrimaryKey("Marc");
}
catch (Exception re) {
getLog().debug("Exception: ", re);
}
assertTrue("enterpriseEntity2 != null", enterpriseEntity2 != null);
getLog().debug("ok");
getLog().debug(++test+"- "+"Calling Business Method A on enterpriseEntity... ");
getLog().debug(enterpriseEntity.callBusinessMethodA());
getLog().debug(++test+"- "+"Calling Business Method A (again to ejbLoad if TypeC) on enterpriseEntity... ");
getLog().debug(enterpriseEntity.callBusinessMethodA());
getLog().debug(++test+"- "+"Calling Business Method B (EJBObject from entity) on enterpriseEntity...");
getLog().debug(enterpriseEntity.callBusinessMethodB());
getLog().debug(++test+"- "+"Calling Business Method B(String) on EnterpriseEntity... ");
getLog().debug(enterpriseEntity.callBusinessMethodB("of wisdom"));
getLog().debug(++test+"- "+"Calling getOtherField (non pk) on enterpriseEntity...");
getLog().debug("value: "+enterpriseEntity.getOtherField());
getLog().debug(++test+"- "+"Calling setOtherField(4) on enterpriseEntity...");
enterpriseEntity.setOtherField(4);
getLog().debug("OK");
getLog().debug(++test+"- "+"Calling getOtherField() on enterpriseEntity (should be 4)...");
int value = enterpriseEntity.getOtherField();
assertTrue("enterpriseEntity.getOtherField() == 4", value == 4);
getLog().debug("value is "+value+", OK");
getLog().debug("***Testing the various local Object class calls");
getLog().debug(++test+"- "+"toString ... " + enterpriseEntity);
getLog().debug(++test+"- "+"hashCode ... " + enterpriseEntity.hashCode());
getLog().debug(++test+"- "+"equals (same object) ... " +
enterpriseEntity.equals(enterpriseEntity));
getLog().debug(++test+"- "+"equals (another object) (true for this case)... " +
enterpriseEntity.equals(enterpriseEntity2));
getLog().debug("***Testing the various local EJBObject class calls");
getLog().debug(++test+"- "+"Get Primary Key ... " +
enterpriseEntity.getPrimaryKey());
getLog().debug(++test+"- "+"Get Handle ... ");
Handle entityHandle = enterpriseEntity.getHandle();
assertTrue("entityHandle != null", entityHandle != null);
getLog().debug("OK");
getLog().debug(++test+"- "+"Serialize handle and deserialize....");
MarshalledObject mo3 = new MarshalledObject(entityHandle);
Handle entityHandle3 = (Handle) mo3.get();
EnterpriseEntity enterpriseEntity3 = (EnterpriseEntity) entityHandle3.getEJBObject();
if (enterpriseEntity3 != null) getLog().debug("OK");
getLog().debug(++test+"- "+"Calling businessMethodA on it...");
getLog().debug(enterpriseEntity3.callBusinessMethodB());
getLog().debug(++test+"- "+"They should be identical..."+enterpriseEntity.isIdentical(enterpriseEntity3));
getLog().debug(++test+"- "+"Calling entityHome.remove(Handle)...");
enterpriseEntityHome.remove(enterpriseEntity3.getHandle());
getLog().debug("OK");
getLog().debug(++test+"- "+"Calling enterpriseEntity.remove() (should fail)...");
try {
enterpriseEntity.remove();
fail("enterpriseEntity.remove() did not fail");
}
catch (Exception e) {
getLog().debug("OK");
}
getLog().debug(++test+"- "+"Calling EnterpriseEntity.create() for marc6...");
EnterpriseEntity marc6 = enterpriseEntityHome.create("marc6");
getLog().debug("ok");
getLog().debug(++test+"- "+"Calling method createEntity on enterpriseEntity... ");
EnterpriseEntity marc2 = marc6.createEntity("marc2");
getLog().debug("OK");
getLog().debug(++test+"- "+"removing by PK on home (marc2)...");
enterpriseEntityHome.remove(marc2.getPrimaryKey());
getLog().debug("ok");
getLog().debug(++test+"- "+"Calling enterpriseEntity.remove() (marc6)...");
marc6.remove();
getLog().debug("ok");
getLog().debug(++test+"- "+"Calling EnterpriseEntity.create<METHOD>() for marc7...");
EnterpriseEntity marc7 = enterpriseEntityHome.createMETHOD("marc7");
getLog().debug("ok");
getLog().debug(++test+"- "+"Calling enterpriseEntity.remove() (marc7)...");
marc7.remove();
getLog().debug("ok");