throw DBLogger.newUser("Class is not persistence capabale: " + cls.getName()); if (pm != JDOHelper.getPersistenceManager(o1)) { throw DBLogger.newUser("The object belongs to another PersistenceManager"); throw DBLogger.newUser("Class is not persistence capabale: " + cls.getName()); if (pm != JDOHelper.getPersistenceManager(o1)) { throw DBLogger.newUser("The object belongs to another PersistenceManager");
/** * Method to return the ObjectManager (if any) associated with the passed object. * Supports persistable objects, and PersistenceManager. * @param obj The object * @return The ObjectManager */ public ObjectManager getObjectManager(Object obj) { if (obj == null) { return null; } // TODO Try to avoid JDO-specific class usage here if (obj instanceof PersistenceCapable) { PersistenceManager pm = JDOHelper.getPersistenceManager(obj); if (pm == null) { return null; } return ((JDOPersistenceManager)pm).getObjectManager(); } else if (obj instanceof PersistenceManager) { return ((JDOPersistenceManager)obj).getObjectManager(); } return null; }
/** * Method to return the ExecutionContext (if any) associated with the passed object. * Supports persistable objects, and PersistenceManager. * @param obj The object * @return The ExecutionContext */ public ExecutionContext getExecutionContext(Object obj) { if (obj == null) { return null; } // TODO Try to avoid JDO-specific class usage here if (obj instanceof PersistenceCapable) { PersistenceManager pm = JDOHelper.getPersistenceManager(obj); if (pm == null) { return null; } return ((JDOPersistenceManager)pm).getObjectManager().getExecutionContext(); } else if (obj instanceof PersistenceManager) { return ((JDOPersistenceManager)obj).getObjectManager().getExecutionContext(); } return null; }
/** * 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; }
/** * 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; }
/** * 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; }
else if (pm != JDOHelper.getPersistenceManager(element))
else if (pm != JDOHelper.getPersistenceManager(element))
else if (pm != JDOHelper.getPersistenceManager(key))
else if (pm != JDOHelper.getPersistenceManager(value))
/** * Get the field value of a managed field. * @param fmd the AbstractPropertyMetaData * @param object the pc object * @return The field value */ private Object getFieldValue(AbstractPropertyMetaData fmd, Object object) { PersistenceManager pm = (PersistenceManager) JDOHelper.getPersistenceManager(object); if (pm == null) { return getFieldValue(object, fmd.getName()); } StateManager sm = pm.findStateManager((PersistenceCapable)object); FieldManager fm = new SingleValueFieldManager(); if (!fmd.isPrimaryKey()) { // we expect that primary key field are non null sm.isLoaded((PersistenceCapable) object, fmd.getAbsoluteFieldNumber()); } sm.provideFields(new int[] {fmd.getAbsoluteFieldNumber()},fm); return fm.fetchObjectField(fmd.getAbsoluteFieldNumber()); }