@Override public CloseableIterator<Element> iterator() { Stream<Element> elements = Streams.toStream(getElements.getInput()) .flatMap(elementId -> GetElementsUtil.getRelevantElements(mapImpl, elementId, getElements.getView(), getElements.getDirectedType(), getElements.getIncludeIncomingOutGoing(), getElements.getSeedMatching()).stream()); elements = elements.flatMap(e -> Streams.toStream(mapImpl.getElements(e))); elements = GetElementsUtil.applyView(elements, schema, getElements.getView()); elements = elements.map(element -> mapImpl.cloneElement(element, schema)); elements = elements.map(element -> { ViewUtil.removeProperties(getElements.getView(), element); return element; }); return new WrappedCloseableIterator<>(elements.iterator()); } }
public AccumuloElementsRetriever(final AccumuloStore store, final GetElements operation, final User user) throws IteratorSettingException, StoreException { super(store, operation, user, SeedMatching.SeedMatchingType.EQUAL != operation.getSeedMatching(), store.getKeyPackage().getIteratorFactory().getElementPreAggregationFilterIteratorSetting(operation.getView(), store), store.getKeyPackage().getIteratorFactory().getElementPostAggregationFilterIteratorSetting(operation.getView(), store), store.getKeyPackage().getIteratorFactory().getEdgeEntityDirectionFilterIteratorSetting(operation), store.getKeyPackage().getIteratorFactory().getQueryTimeAggregatorIteratorSetting(operation.getView(), store)); } }
private CloseableIterable<Element> doOperation(final GetElements operation, final ParquetStore store, final User user) throws OperationException { try { return new ParquetElementRetriever(operation.getView(), store, operation.getDirectedType(), operation.getIncludeIncomingOutGoing(), operation.getSeedMatching(), operation.getInput(), user); } catch (final StoreException e) { throw new OperationException("Failed to getGroup elements", e); } } }