/**
* Copyright (C) 2001-2004 France Telecom R&D
*/
package org.objectweb.speedo.runtime.collection;
import org.objectweb.speedo.SpeedoTestHelper;
import org.objectweb.speedo.pobjects.collection.AutoRef;
import javax.jdo.PersistenceManager;
import java.util.Arrays;
/**
*
*
* @author chassase
*/
public class TestAutoRef extends SpeedoTestHelper {
/**
* @param s
*/
public TestAutoRef(String s) {
super(s);
}
/**
* @see org.objectweb.speedo.SpeedoTestHelper#getLoggerName()
*/
protected String getLoggerName() {
return "TestAutoRef";
}
public void testA() {
AutoRef ar1 = new AutoRef("testA_ar1");
ar1.setMyRef(new AutoRef("testA_ar2"));
ar1.setMyRefs(Arrays.asList(new AutoRef[]{
new AutoRef("testA_ar3"), new AutoRef("testA_ar4")}));
PersistenceManager pm = pmf.getPersistenceManager();
pm.currentTransaction().begin();
pm.makePersistent(ar1);
ar1 = null;
pm.currentTransaction().commit();
pm.evictAll();
pm.currentTransaction().begin();
ar1 = (AutoRef) pm.getObjectById(
pm.newObjectIdInstance(AutoRef.class, "testA_ar1"), false);
pm.deletePersistentAll(ar1.getMyRefs());
pm.deletePersistent(ar1.getMyRef());
pm.deletePersistent(ar1);
pm.currentTransaction().commit();
pm.close();
}
}