if (RelationType.isRelationSingleValued(relationType)) else if (RelationType.isRelationMultiValued(relationType)) if (RelationType.isRelationSingleValued(relationType)) else if (RelationType.isRelationMultiValued(relationType))
if (RelationType.isRelationSingleValued(relationType)) if (RelationType.isBidirectional(relationType)) return; else if (RelationType.isRelationMultiValued(relationType))
if (RelationType.isRelationSingleValued(relationType)) if (RelationType.isBidirectional(relationType))
if (mapping != null) if (RelationType.isRelationSingleValued(relationType)) if (RelationType.isRelationSingleValued(relationType))
if (RelationType.isRelationMultiValued(relType))
if (memberName != null && memberName.equals(propNameValue)) if (!RelationType.isBidirectional(relationType) && !rel.getStartNode().equals(node))
protected static void selectAllFieldsOfEmbeddedObject(AbstractMemberMetaData mmd, BasicDBObject fieldsSelection, ExecutionContext ec, ClassLoaderResolver clr) { EmbeddedMetaData embmd = mmd.getEmbeddedMetaData(); AbstractMemberMetaData[] embmmds = embmd.getMemberMetaData(); for (int i=0;i<embmmds.length;i++) { RelationType relationType = embmmds[i].getRelationType(clr); if (embmmds[i].isEmbedded() && RelationType.isRelationSingleValued(relationType)) { selectAllFieldsOfEmbeddedObject(embmmds[i], fieldsSelection, ec, clr); } else { fieldsSelection.append(MongoDBUtils.getFieldName(mmd, i), 1); } } }
if (RelationType.isRelationMultiValued(relType))
if (RelationType.isBidirectional(relationType))
if (RelationType.isRelationSingleValued(relationType)) return embOP.getObject(); else if (RelationType.isRelationMultiValued(relationType))
if (RelationType.isRelationSingleValued(relationType))
if (RelationType.isRelationSingleValued(relationType)) if (RelationType.isBidirectional(relationType)) else if (RelationType.isRelationMultiValued(relationType))
else if (RelationType.isRelationMultiValued(relationType))
index++; if (RelationType.isBidirectional(relationType)) index++; if (RelationType.isBidirectional(relationType)) rel.setProperty(Neo4jStoreManager.RELATIONSHIP_FIELD_NAME, mmd.getName()); rel.setProperty(Neo4jStoreManager.RELATIONSHIP_INDEX_NAME, index); if (RelationType.isBidirectional(relationType)) rel.setProperty(Neo4jStoreManager.RELATIONSHIP_FIELD_NAME, mmd.getName()); rel.setProperty(Neo4jStoreManager.RELATIONSHIP_INDEX_NAME, index); if (RelationType.isBidirectional(relationType)) rel.setProperty(Neo4jStoreManager.RELATIONSHIP_MAP_KEY_VALUE, relKeyVal); if (RelationType.isBidirectional(relationType)) rel.setProperty(Neo4jStoreManager.RELATIONSHIP_MAP_KEY_VALUE, relKeyVal); if (RelationType.isBidirectional(relationType)) if (RelationType.isBidirectional(relationType)) if (RelationType.isBidirectional(relationType))
if (mappingMetaData.getNonOwnerMMD() == mmd) if (RelationType.isRelationSingleValued(relationType)) else if (RelationType.isRelationMultiValued(relationType)) if (RelationType.isRelationSingleValued(relationType)) else if (RelationType.isRelationMultiValued(relationType))
if (RelationType.isRelationSingleValued(relationType))
if (RelationType.isRelationSingleValued(relationType)) if (RelationType.isBidirectional(relationType)) return embOP.getObject(); else if (RelationType.isRelationMultiValued(relationType))
if (RelationType.isBidirectional(relationType) && relatedMmds[0].getForeignKeyMetaData() != null)
public Object fetchObjectField(int fieldNumber) { ClassLoaderResolver clr = ec.getClassLoaderResolver(); AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(fieldNumber); RelationType relationType = mmd.getRelationType(clr); // Special cases if (relationType != RelationType.NONE && MetaDataUtils.getInstance().isMemberEmbedded(ec.getMetaDataManager(), clr, mmd, relationType, null)) { // Embedded field if (RelationType.isRelationSingleValued(relationType)) { // TODO Null detection List<AbstractMemberMetaData> embMmds = new ArrayList<AbstractMemberMetaData>(); embMmds.add(mmd); AbstractClassMetaData embCmd = ec.getMetaDataManager().getMetaDataForClass(mmd.getType(), clr); ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber); FieldManager fetchEmbFM = new FetchEmbeddedFieldManager(embOP, sheet, rowNumber, embMmds, table); embOP.replaceFields(embCmd.getAllMemberPositions(), fetchEmbFM); return embOP.getObject(); } else if (RelationType.isRelationMultiValued(relationType)) { throw new NucleusUserException("Dont support embedded multi-valued field at " + mmd.getFullFieldName() + " with Excel"); } } return fetchObjectFieldInternal(fieldNumber, mmd, clr, relationType); }
AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(pkFieldNumbers[i]); RelationType relationType = mmd.getRelationType(clr); if (RelationType.isRelationSingleValued(relationType) && mmd.isEmbedded()) if (RelationType.isRelationSingleValued(relationType) && mmd.isEmbedded())