/** * This seems to return the field number in the element of the relation when it is a bidirectional relation. * @param elementOP ObjectProvider of the element * @return The field number in the element for this relation */ protected int getFieldNumberInElementForBidirectional(ObjectProvider elementOP) { if (Relation.isBidirectional(relationType)) { AbstractMemberMetaData[] relMmds = ownerMemberMetaData.getRelatedMemberMetaData(clr); if (relMmds != null) { return relMmds[0].getAbsoluteFieldNumber(); } } return -1; } }
AbstractMemberMetaData[] relatedMmds = fmd.getRelatedMemberMetaData(clr); if (fmd.getJoinMetaData() != null || relatedMmds[0].getJoinMetaData() != null) {
if (mmd.getMappedBy() != null) AbstractMemberMetaData[] relMmds = mmd.getRelatedMemberMetaData(clr); propNameKey = Neo4jStoreManager.RELATIONSHIP_FIELD_NAME_NONOWNER; relCmd = relMmds[0].getAbstractClassMetaData(); AbstractMemberMetaData[] relMmds = mmd.getRelatedMemberMetaData(clr); propNameKey = Neo4jStoreManager.RELATIONSHIP_FIELD_NAME_NONOWNER; relCmd = relMmds[0].getAbstractClassMetaData();
public WrappedMemberMetaData(AbstractMemberMetaData fmd, Class type, ClassLoaderResolver clr) { super(fmd.getParent(), fmd); this.singleCollectionMetadata = fmd; this.type = type; // Use element definition in preference to field since it may be copied to the element in metadata processing this.columnMetaData = (fmd.getElementMetaData() != null) ? fmd.getElementMetaData().getColumnMetaData() : fmd.getColumnMetaData(); this.relationType = fmd.getRelationType(clr); this.relatedMemberMetaData = fmd.getRelatedMemberMetaData(clr); // Copy the Element embedded definition to the field embedded metaData because EmbeddedPCMapping reads it from there. (Maybe it should use EmbeddedElementPCMapping?) ElementMetaData fmdElementMetaData = fmd.getElementMetaData(); if (fmdElementMetaData != null && fmdElementMetaData.getEmbeddedMetaData() != null) { setEmbeddedMetaData(fmdElementMetaData.getEmbeddedMetaData()); } }
private void updateOneToOneBidirectionalOwnerObjectForField( ObjectProvider op, AbstractMemberMetaData fmd, Entity owningEntity) { MappedStoreManager storeMgr = (MappedStoreManager) op.getExecutionContext().getStoreManager(); ExecutionContext ec = op.getExecutionContext(); ClassLoaderResolver clr = ec.getClassLoaderResolver(); AbstractMemberMetaData[] relatedMmds = fmd.getRelatedMemberMetaData(clr); String fullClassName = ((AbstractClassMetaData) relatedMmds[0].getParent()).getFullClassName(); DatastoreClass refTable = storeMgr.getDatastoreClass(fullClassName, clr); JavaTypeMapping refMapping = refTable.getMemberMapping(fmd.getMappedBy()); if (refMapping.isNullable()) { // Null out the relationship to the object being deleted. refMapping.setObject(ec, owningEntity, new int[1], op.getObject()); // TODO If the object being deleted is this objects parent, do we delete this? // TODO(maxr): Do I need to manually request an update now? } }
if (RelationType.isBidirectional(relationType)) AbstractMemberMetaData[] relMmds = mmd.getRelatedMemberMetaData(clr); rel.setProperty(Neo4jStoreManager.RELATIONSHIP_FIELD_NAME_NONOWNER, relMmds[0].getName());
if (colmd.getName() == null) { AbstractMemberMetaData[] relatedMmds = fmd.getRelatedMemberMetaData(clr); identifier = idFactory.newForeignKeyFieldIdentifier( relatedMmds != null ? relatedMmds[0] : null,
if (relationType == Relation.ONE_TO_MANY_BI) { elementSM.replaceFieldMakeDirty(ownerMemberMetaData.getRelatedMemberMetaData(clr)[0].getAbsoluteFieldNumber(), null); if (ec.isFlushing()) {
elementSM.replaceFieldMakeDirty(ownerMemberMetaData.getRelatedMemberMetaData(clr)[0].getAbsoluteFieldNumber(), null); if (ownerOP.getExecutionContext().isFlushing())
PersistenceUtils.getForceExtensions(ammd.getRelatedMemberMetaData(omf.getClassLoaderResolver(null))[0])); if (type != null && type == FieldType.MasterDetail) { if (ammd.getCollection() != null) {
AbstractMemberMetaData[] relatedMmds = ownerMemberMetaData.getRelatedMemberMetaData(ec.getClassLoaderResolver()); Object elementColl = elementOP.provideField(relatedMmds[0].getAbsoluteFieldNumber()); if (elementColl != null && elementColl instanceof Collection && elementColl instanceof SCO && ((Collection)elementColl).contains(ownerOP.getObject()))
AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(ownerOP.getExecutionContext().getClassLoaderResolver()); if (relatedMmds != null && relatedMmds[0].getForeignKeyMetaData() != null)
AbstractMemberMetaData elementMmd = ownerMmd.getRelatedMemberMetaData(clr)[0]; if (ownerMmd.getJoinMetaData() != null || elementMmd.getJoinMetaData() != null)
AbstractMemberMetaData elementMmd = mmd.getRelatedMemberMetaData(clr)[0]; if (mmd.getJoinMetaData() != null || elementMmd.getJoinMetaData() != null)
MetaData other = mmd.getRelatedMemberMetaData(clr)[0].getParent(); MetaData parent = mmd.getParent(); boolean allowNullParent = (other == parent && datastoreEntity.getKey().getParent() == null);
AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr); ColumnMetaData[] columnMetaData = null; if (mmd.getJoinMetaData() != null && mmd.getJoinMetaData().getColumnMetaData() != null && mmd.getJoinMetaData().getColumnMetaData().length > 0)
AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr); identifier = idFactory.newForeignKeyFieldIdentifier(relatedMmds != null ? relatedMmds[0] : null, mmd, reference.getIdentifier(), storeMgr.getNucleusContext().getTypeManager().isDefaultEmbeddedType(mmd.getType()), FieldRole.ROLE_OWNER);
if (elementOP != null) AbstractMemberMetaData[] relatedMmds = ownerMemberMetaData.getRelatedMemberMetaData(clr); Object elementOwner = elementOP.provideField(relatedMmds[0].getAbsoluteFieldNumber()); if (elementOwner == null)
AbstractMemberMetaData mmd = m.getMemberMetaData(); AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr); if (mmd.getJoinMetaData() != null || relatedMmds != null && relatedMmds[0].getJoinMetaData() != null)
if (mmd != null) AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr); if (mmd.getJoinMetaData() != null || relatedMmds != null && relatedMmds[0].getJoinMetaData() != null)