/** * Will fetch related rows for the given row relationship. The * context will be used to access the needed entity store. * * @param entity * the current entity * @param row * the currently selected row * @param relationship * the relationship * @param context * the memory adaptor context * @return array of rows from related entity store */ protected NSArray<NSMutableDictionary<String, Object>> fetchRelatedRows(EOEntity entity, NSDictionary<String, Object> row, EORelationship relationship, ERMemoryAdaptorContext context) { EOEntity destEntity = relationship.destinationEntity(); EREntityStore destStore = context._entityStoreForEntity(destEntity); String sourceAttribute = relationship.sourceAttributes().get(0).name(); String destinationAttribute = relationship.destinationAttributes().get(0).name(); ERXFetchSpecification fs = new ERXFetchSpecification(destEntity.name(), ERXQ.equals(destinationAttribute, row.valueForKey(sourceAttribute)), null); return destStore.fetch(destEntity.attributesToFetch(), fs, false, destEntity, context); }
switch (data.placement) { case Target: elements.insertObjectAtIndex(new SeleniumTest.Comment("#target " + data.values.get(j)), insertIndex++); newCommand.setTarget(data.values.get(j)); break; case Value: elements.insertObjectAtIndex(new SeleniumTest.Comment("#value " + data.values.get(j)), insertIndex++); newCommand.setValue(data.values.get(j)); break; default:
EOEntity joinEntity = toJoinRelationship.destinationEntity(); EREntityStore joinStore = context._entityStoreForEntity(joinEntity); String sourceAttribute = toJoinRelationship.sourceAttributes().get(0).name(); String destinationAttribute = toJoinRelationship.destinationAttributes().get(0).name(); sourceAttribute = destRelationship.sourceAttributes().get(0).name(); destinationAttribute = destRelationship.destinationAttributes().get(0).name(); NSArray<Object> destValues = (NSArray<Object>) fetchedObjects.valueForKey(sourceAttribute); EOEntity destEntity = relationship.destinationEntity();
qualifier = ERXQ.replaceQualifierWithQualifier(qualifier, keyValueQualifier, ERXQ.has(qualifierKey, new NSArray(keyValueQualifier.value()))); } else if (qualifierKey.equals(entity.primaryKeyAttributeNames().get(0)) && keyValueQualifier.selector().name().equals("doesContain") && !(keyValueQualifier.value() instanceof NSArray)) {