/** * This seems to return the field number in the element of the relation when it is a bidirectional relation. * @param op ObjectProvider for the owner. * @return The field number in the element for this relation */ protected int getFieldNumberInElementForBidirectional(ObjectProvider op) { if (ownerMemberMetaData.getMappedBy() == null) { // Unidirectional return -1; } // This gives a different result when using persistent interfaces. // For example with the JDO2 TCK, org.apache.jdo.tck.pc.company.PIDepartmentImpl.employees will return 3, // yet the ownerMemberMetaData.getRelatedMetaData returns 8 since the generated implementation will have all fields in a single MetaData (numbering from 0), // whereas in a normal inheritance tree there will be multiple MetaData (the root starting from 0) // TODO Support DOT notation in mappedBy return op.getClassMetaData().getAbsolutePositionOfMember(ownerMemberMetaData.getMappedBy()); }
if (column != null) { column.appendSelectString(h, h.acmd, h.acmd.getAbsolutePositionOfMember(fieldName.getShortName()), false, null);
if (column != null) { column.appendSelectString(h, h.acmd, h.acmd.getAbsolutePositionOfMember(fieldName.getShortName()), false, null);
int i = embeddedCmd.getAbsolutePositionOfMember(fieldName); if (!fieldName.equals(embeddedMetaData.getOwnerMember()) && !embeddedMmd.isPrimaryKey()) int i = embeddedCmd.getAbsolutePositionOfMember(fieldName);
public boolean isLoaded(Object entity, String attrName) { OMFContext omfCtx = pmf.getOMFContext(); JDOPersistenceManager pm = (JDOPersistenceManager)omfCtx.getApiAdapter().getPersistenceManager(entity); if (pm == null) { return false; } ObjectManager om = pm.getObjectManager(); StateManager sm = om.findStateManager(entity); if (sm == null) { // Not managed return false; } AbstractClassMetaData cmd = omfCtx.getMetaDataManager().getMetaDataForClass(entity.getClass(), omfCtx.getClassLoaderResolver(entity.getClass().getClassLoader())); if (cmd == null) { // No metadata return false; } return omfCtx.getApiAdapter().isLoaded(sm.getObjectProvider(), cmd.getAbsolutePositionOfMember(attrName)); }
int embFieldNum = embeddedCmd.getAbsolutePositionOfMember(fieldName); int embFieldNum = embeddedCmd.getAbsolutePositionOfMember(fieldName);
int fieldNumber = op.isEmbedded() ? op.getClassMetaData().getAbsolutePositionOfMember(mmd.getName()) : mmd.getAbsoluteFieldNumber(); op.setAssociatedValue("COLL" + fieldNumber, collection); return SCOUtils.wrapSCOField(op, fieldNumber, collection, true);
private Object fetchEmbeddedObject(AbstractMemberMetaData ammd) { if (objectProvider == null) return null; AbstractClassMetaData cmd = storeManager.getMetaDataManager().getMetaDataForClass(ammd.getType(), ec.getClassLoaderResolver()); Object obj = null; try { obj = ec.getClassLoaderResolver().classForName(cmd.getFullClassName(), true).newInstance(); for (AbstractMemberMetaData eammd : ammd.getEmbeddedMetaData().getMemberMetaData()) { PersistenceUtils.setFieldValue(ammd.getType(), cmd, cmd.getAbsolutePositionOfMember(eammd.getName()), obj, fetchObjectField(eammd, null)); } ec.findObjectProviderForEmbedded(obj, objectProvider, ammd); } catch (Exception e) { throw new NucleusUserException(e.getMessage(), e); } return obj; } }
private Object fetchEmbeddedObject(AbstractMemberMetaData ammd) { if (objectProvider == null) return null; AbstractClassMetaData cmd = storeManager.getMetaDataManager().getMetaDataForClass(ammd.getType(), ec.getClassLoaderResolver()); Object obj = null; try { obj = ec.getClassLoaderResolver().classForName(cmd.getFullClassName(), true).newInstance(); for (AbstractMemberMetaData eammd : ammd.getEmbeddedMetaData().getMemberMetaData()) { PersistenceUtils.setFieldValue(ammd.getType(), cmd, cmd.getAbsolutePositionOfMember(eammd.getName()), obj, fetchObjectField(eammd, null)); } ec.findObjectProviderForEmbedded(obj, objectProvider, ammd); } catch (Exception e) { throw new NucleusUserException(e.getMessage(), e); } return obj; } }
int embFieldNum = embeddedCmd.getAbsolutePositionOfMember(fieldName); int embFieldNum = embeddedCmd.getAbsolutePositionOfMember(fieldName);
pc.dnReplaceStateManager(op); op.retrieveDetachState(op); int position = op.getClassMetaData().getAbsolutePositionOfMember(memberName); boolean loaded = op.isFieldLoaded(position); pc.dnReplaceStateManager(null); int position = op.getClassMetaData().getAbsolutePositionOfMember(memberName); return op.isFieldLoaded(position);
pc.dnReplaceStateManager(op); op.retrieveDetachState(op); int position = op.getClassMetaData().getAbsolutePositionOfMember(memberName); boolean[] dirtyFieldNumbers = op.getDirtyFields(); pc.dnReplaceStateManager(null); int position = op.getClassMetaData().getAbsolutePositionOfMember(memberName); boolean[] dirtyFieldNumbers = op.getDirtyFields(); return dirtyFieldNumbers[position];
Object datastoreVersion = op.provideField(cmd.getAbsolutePositionOfMember(vermd.getFieldName())); op.setVersion(datastoreVersion);
ownerFieldNumberInHolder = info.getAbstractClassMetaData().getAbsolutePositionOfMember(ownerMemberMetaData.getMappedBy());
ownerFieldNumberInHolder = elementOP.getClassMetaData().getAbsolutePositionOfMember(ownerMemberMetaData.getMappedBy());
int absFieldNum = emd.getAbsolutePositionOfMember(fieldMapping.getMemberMetaData().getName()); elementFieldNumbers[i] = absFieldNum; StatementMappingIndex stmtMapping = new StatementMappingIndex(fieldMapping);
int absFieldNum = kmd.getAbsolutePositionOfMember(fieldMapping.getMemberMetaData().getName()); elementFieldNumbers[i] = absFieldNum; StatementMappingIndex stmtMapping = new StatementMappingIndex(fieldMapping);
int absFieldNum = vmd.getAbsolutePositionOfMember(fieldMapping.getMemberMetaData().getName()); elementFieldNumbers[i] = absFieldNum; StatementMappingIndex stmtMapping = new StatementMappingIndex(fieldMapping);
versionIndexToSkip = acmd.getAbsolutePositionOfMember(acmd.getVersionMetaData().getFieldName()); Object version = objectProvider.provideField(versionIndexToSkip); if (version == null && storeManager.isEnableOptimisticTransactions()) {
versionIndexToSkip = acmd.getAbsolutePositionOfMember(acmd.getVersionMetaData().getFieldName()); Object version = objectProvider.provideField(versionIndexToSkip); if (version == null && storeManager.isEnableOptimisticTransactions()) {