PersistenceManager pm = pmf.getPersistenceManager(); pm.addInstanceLifecycleListener(new BasicEntityLifecycleListener(), null);
@PostConstruct public void open() { isisJdoSupport.getJdoPersistenceManager().addInstanceLifecycleListener(this, null); }
public void addInstanceLifecycleListener(InstanceLifecycleListener listener, Class... classes) { getPM().addInstanceLifecycleListener(listener, classes); }
pm.addInstanceLifecycleListener(listener.getListener(), listener.getClasses());
@Test public void testLifecycleListener() { PersistenceManager pm = TestTools.openPM(); pm.currentTransaction().begin(); pm.addInstanceLifecycleListener(new ListenerClear(), TestClass.class); pm.addInstanceLifecycleListener(new ListenerCreate(), TestClass.class); pm.addInstanceLifecycleListener(new ListenerDelete(), TestClass.class); pm.addInstanceLifecycleListener(new ListenerDirty(), TestClass.class); pm.addInstanceLifecycleListener(new ListenerLoad(), TestClass.class); pm.addInstanceLifecycleListener(new ListenerStore(), TestClass.class); internalTest(pm); TestTools.closePM(); }
@Test public void testLifecycleListenerNull() { PersistenceManager pm = TestTools.openPM(); pm.currentTransaction().begin(); pm.addInstanceLifecycleListener(new ListenerClear(), (Class<?>)null); pm.addInstanceLifecycleListener(new ListenerCreate(), (Class<?>)null); pm.addInstanceLifecycleListener(new ListenerDelete(), (Class<?>)null); pm.addInstanceLifecycleListener(new ListenerDirty(), (Class<?>)null); pm.addInstanceLifecycleListener(new ListenerLoad(), (Class<?>)null); pm.addInstanceLifecycleListener(new ListenerStore(), (Class<?>)null); internalTest(pm); TestTools.closePM(); }
persistenceManager.addInstanceLifecycleListener(isisLifecycleListener, (Class[]) null); persistenceManager.addInstanceLifecycleListener(metricsService, (Class[]) null);
@Test public void testLifecycleListenerFail() { PersistenceManager pm = TestTools.openPM(); pm.currentTransaction().begin(); try { pm.addInstanceLifecycleListener(new ListenerClear(), TestClassTinyClone.class); } catch (JDOUserException e) { //good, this should NOT throw a NPE. } try { pm.addInstanceLifecycleListener(new ListenerClear(), (Class<?>)null); } catch (JDOUserException e) { //good, this should NOT throw a NPE. } try { pm.addInstanceLifecycleListener(new ListenerClear(), (Class<?>[])null); } catch (JDOUserException e) { //good, this should NOT throw a NPE. } TestTools.closePM(); }
@Test public void testLifecycleListenerRemoval() { PersistenceManager pm = TestTools.openPM(); pm.currentTransaction().begin(); ListenerCreate lc = new ListenerCreate(); pm.addInstanceLifecycleListener(lc, TestClass.class); TestClass t1 = new TestClass(); assertTrue(calls.isEmpty()); //check CREATE pm.makePersistent(t1); checkCall(ZooInstanceEvent.CREATE, t1); assertTrue(calls.isEmpty()); //remove listener pm.removeInstanceLifecycleListener(lc); TestClass t2 = new TestClass(); pm.makePersistent(t2); assertTrue(calls.isEmpty()); pm.currentTransaction().rollback(); TestTools.closePM(); }
@Test public void testCallbacks() { PersistenceManager pm = TestTools.openPM(); pm.setDetachAllOnCommit(true); ListenerDetach l = new ListenerDetach(); pm.addInstanceLifecycleListener(l, TestClass.class); pm.currentTransaction().begin(); TestClass tc1 = new TestClass(); TestClass tc1b = new TestClass(); pm.makePersistent(tc1); tc1.setInt(5); tc1.setRef2(tc1b); tc1b.setInt(6); //detach pm.currentTransaction().commit(); assertEquals(2, l.preDetach); assertEquals(2, l.postDetach); assertTrue(l.instances.contains(tc1)); assertTrue(l.instances.contains(tc1b)); TestTools.closePM(); }