database.close();
}
public void testCreateAndLoadLaptop() throws Exception {
Database database = _category.getDatabase();
database.begin();
ProductDetail detail = new ProductDetail();
detail.setId(10);
detail.setCategory("category 10");
detail.setLocation("location 10");
database.create(detail);
database.commit();
database.begin();
Laptop laptop = new Laptop();
laptop.setId(10);
laptop.setName("laptop 10");
laptop.setCpu("centrino");
laptop.setResolution("1600");
laptop.setWeight(2750);
laptop.setDetail((ProductDetail) database.load(
ProductDetail.class, new Integer(10)));
database.create(laptop);
Owner owner = new Owner ();
owner.setId(new Integer (10));
owner.setName("owner 10");
owner.setProduct(laptop);
database.commit();
database.begin();
laptop = (Laptop) database.load (Laptop.class, new Integer(10));
database.commit();
assertNotNull (laptop);
assertEquals("ctf.jdo.tc9x.Laptop", laptop.getClass().getName());
assertEquals(10, laptop.getId());
assertEquals("laptop 10", laptop.getName());
database.begin();
database.remove(database.load(Laptop.class, new Integer(10)));
database.remove(database.load(ProductDetail.class, new Integer(10)));
database.commit();
database.begin();
try {
laptop = (Laptop) database.load(Laptop.class, new Integer(10));
fail("Laptop with id 10 still exists.");
} catch (ObjectNotFoundException e) {
assertEquals("The object of type ctf.jdo.tc9x.Laptop with identity <10(10)> "
+ "was not found in persistent storage", e.getMessage());
}
database.commit();
database.close();
}