/** * Accessor for whether the passed object is persistent. * @param obj The object * @return Whether it is persistent */ public boolean isPersistent(Object obj) { // Relay through to JDOHelper - TODO Change this when we JPOX-JPA doesnt depend on JDO return JDOHelper.isPersistent(obj); }
/** * Accessor for whether the passed object is persistent. * @param obj The object * @return Whether it is persistent */ public boolean isPersistent(Object obj) { // Relay through to JDOHelper - TODO Change this when we JPOX-JPA doesnt depend on JDO return JDOHelper.isPersistent(obj); }
public static void dumpObjectState( PrintStream out, Object o ) { final String STATE = "[STATE] "; final String INDENT = " "; if ( o == null ) { out.println( STATE + "Object is null." ); return; } out.println( STATE + "Object " + o.getClass().getName() ); if ( !( o instanceof PersistenceCapable ) ) { out.println( INDENT + "is NOT PersistenceCapable (not a jdo object?)" ); return; } out.println( INDENT + "is PersistenceCapable." ); if ( o instanceof Detachable ) { out.println( INDENT + "is Detachable" ); } out.println( INDENT + "is new : " + Boolean.toString( JDOHelper.isNew( o ) ) ); out.println( INDENT + "is transactional : " + Boolean.toString( JDOHelper.isTransactional( o ) ) ); out.println( INDENT + "is deleted : " + Boolean.toString( JDOHelper.isDeleted( o ) ) ); out.println( INDENT + "is detached : " + Boolean.toString( JDOHelper.isDetached( o ) ) ); out.println( INDENT + "is dirty : " + Boolean.toString( JDOHelper.isDirty( o ) ) ); out.println( INDENT + "is persistent : " + Boolean.toString( JDOHelper.isPersistent( o ) ) ); out.println( INDENT + "object id : " + JDOHelper.getObjectId( o ) ); }
/** * Utility to validate a key is ok for reading. * @param sm State Manager for the map. * @param key The key to check. * @return Whether it is validated. **/ protected boolean validateKeyForReading(StateManager sm, Object key) { validateKeyType(sm.getPersistenceManager().getClassLoaderResolver(), key); if (!keysAreEmbedded && !keysAreSerialised) { PersistenceManager pm = sm.getPersistenceManager(); if (key!=null && (!JDOHelper.isPersistent(key) || pm != JDOHelper.getPersistenceManager(key)) && !JDOHelper.isDetached(key)) { return false; } } return true; }
/** * Utility to validate a value is ok for reading. * @param sm State Manager for the map. * @param value The value to check. * @return Whether it is validated. **/ protected boolean validateValueForReading(StateManager sm, Object value) { validateValueType(sm.getPersistenceManager().getClassLoaderResolver(), value); if (!valuesAreEmbedded && !valuesAreSerialised) { PersistenceManager pm = sm.getPersistenceManager(); if (value!=null && (!JDOHelper.isPersistent(value) || pm != JDOHelper.getPersistenceManager(value)) && !JDOHelper.isDetached(value)) { return false; } } return true; }
/** * Method to check if an element is already persistent or is persistent but managed by * a different persistence manager. * @param sm The state manager of this owner * @param element The element * @return Whether it is valid for reading. */ protected boolean validateElementForReading(StateManager sm, Object element) { if (!validateElementType(sm.getPersistenceManager().getClassLoaderResolver(), element)) { return false; } if (element != null && !elementsAreEmbedded && !elementsAreSerialised) { PersistenceManager pm = sm.getPersistenceManager(); if ((!JDOHelper.isPersistent(element) || pm != JDOHelper.getPersistenceManager(element)) && !JDOHelper.isDetached(element)) { return false; } } return true; }
if (!JDOHelper.isPersistent(element))
if (!JDOHelper.isPersistent(key))
if (!JDOHelper.isPersistent(pc))
assertFalse(JDOHelper.isPersistent(tc1)); assertFalse(JDOHelper.isPersistent(tc2));
assertFalse(JDOHelper.isPersistent(tc1)); assertFalse(JDOHelper.isPersistent(tc2));
assertTrue(JDOHelper.isPersistent(tc)); //JDO 2.2 12.6.7 makePersistent()
assertTrue(JDOHelper.isPersistent(tc1)); assertFalse(JDOHelper.isPersistent(tc2));
assertTrue(JDOHelper.isPersistent(tc1)); assertFalse(JDOHelper.isPersistent(tc2));
assertTrue(JDOHelper.isPersistent(t1)); assertTrue(JDOHelper.isDeleted(t2)); assertTrue(JDOHelper.isPersistent(t2));
@Test public void testSingleEvict() { PersistenceManager pm = TestTools.openPM(); pm.currentTransaction().begin(); TestClass tc = new TestClass(); tc.setInt(55); pm.makePersistent(tc); pm.currentTransaction().commit(); pm.currentTransaction().begin(); pm.evict(tc); assertEquals(ObjectState.HOLLOW_PERSISTENT_NONTRANSACTIONAL, JDOHelper.getObjectState(tc)); assertEquals(55, tc.getInt()); tc.setInt(555); assertEquals(555, tc.getInt()); assertTrue(JDOHelper.isPersistent(tc)); //does commit work? pm.deletePersistent(tc); pm.currentTransaction().commit(); pm.close(); }
@Test public void testNoEvictNew() { PersistenceManager pm = TestTools.openPM(); pm.currentTransaction().begin(); TestClass tc = new TestClass(); tc.setInt(5); pm.makePersistent(tc); pm.evictAll(); pm.evictAll(tc); pm.evictAll(false, TestClass.class); pm.currentTransaction().commit(); pm.currentTransaction().begin(); assertEquals(5, tc.getInt()); assertTrue(JDOHelper.isPersistent(tc)); tc.setInt(55); assertEquals(55, tc.getInt()); //does commit work? pm.deletePersistent(tc); pm.currentTransaction().commit(); pm.close(); }
@Test public void testNoEvict() { PersistenceManager pm = TestTools.openPM(); pm.currentTransaction().begin(); TestClass tc = new TestClass(); tc.setInt(55); pm.makePersistent(tc); pm.currentTransaction().commit(); pm.currentTransaction().begin(); pm.evictAll(); pm.evictAll(tc); pm.evictAll(true, TestClass.class); assertEquals(55, tc.getInt()); tc.setInt(555); assertEquals(555, tc.getInt()); assertTrue(JDOHelper.isPersistent(tc)); //does commit work? pm.deletePersistent(tc); pm.currentTransaction().commit(); pm.close(); }
tc.setInt(555); assertEquals(555, tc.getInt()); assertFalse(JDOHelper.isPersistent(tc));
tt2.setTo1(null); tt2.setTo2(tt3); assertEquals(false, JDOHelper.isPersistent(tt3)); pm.currentTransaction().commit(); pm.currentTransaction().begin();