public IteratingGraphQueryResult(Map<String, String> namespaces, Iterator<? extends Statement> statementIter) { this(namespaces, new CloseableIteratorIteration<Statement, QueryEvaluationException>(statementIter)); }
@Override protected void handleClose() throws QueryEvaluationException { super.handleClose(); if (this.db != null) { this.db.close(); } }
@Override public boolean hasNext() throws QueryEvaluationException { if (!initialized) { synchronized (lock) { if (!initialized) { super.setIterator(createIterator()); initialized = true; } } } return super.hasNext(); }
@Override public BindingSet next() throws QueryEvaluationException { if (!initialized) { synchronized (lock) { if (!initialized) { super.setIterator(createIterator()); initialized = true; } } } return super.next(); }
public IteratingTupleQueryResult(List<String> bindingNames, Iterator<? extends BindingSet> bindingSetIter) { this(bindingNames, new CloseableIteratorIteration<BindingSet, QueryEvaluationException>(bindingSetIter)); }
@Override public CloseableIteration<? extends List<? extends Value>, QueryEvaluationException> evaluate( final ValueFactory valueFactory, final Value... args) throws QueryEvaluationException { return new CloseableIteratorIteration<List<? extends Value>, QueryEvaluationException>(new Iterator<List<Value>>() { int pos = 0; @Override public boolean hasNext() { return (pos < args.length); } @Override public List<Value> next() { return Arrays.asList(valueFactory.createLiteral(pos), args[pos++]); } @Override public void remove() { throw new UnsupportedOperationException(); } }); } }
@Override public RepositoryResult<Resource> getContextIDs() throws RepositoryException { //Gets all resources that are used as content identifiers. //Care should be taken that the returned RepositoryResult //is closed to free any resources that it keeps hold of. List<Resource> contexts = new LinkedList<Resource>(); return new RepositoryResult<Resource>(new CloseableIteratorIteration<Resource, RepositoryException>(contexts.iterator())); }
@Override public CloseableIteration<? extends List<? extends Value>, QueryEvaluationException> evaluate( ValueFactory valueFactory, Value... args) throws QueryEvaluationException { return new CloseableIteratorIteration<List<? extends Value>, QueryEvaluationException>( SingleValueToListTransformer.transform(Arrays.<Value>asList(args).iterator())); } }
public CloseableIteration<? extends Statement, QueryEvaluationException> getStatements(Resource subj, Value obj) { if (_statements == null) return null; Map<Resource, List<Statement>> cache = _statements.get(); if (cache == null) return null; Resource carried = getCarriedOverResource(subj, obj); List<Statement> result = cache.get(carried); if (result == null) return EMPTY_ITERATOR; return new CloseableIteratorIteration<Statement, QueryEvaluationException>(result.iterator()); }
@Override public RepositoryResult<Namespace> getNamespaces() throws RepositoryException { //Gets all declared namespaces as a RepositoryResult of Namespace objects. //Each Namespace object consists of a prefix and a namespace name. Set<Namespace> namespSet = new HashSet<Namespace>(); Map<String, String> namesp = repository.getNamespaces(); Set<String> keys = namesp.keySet(); for (String key : keys) { //convert into namespace objects namespSet.add(new NamespaceImpl(key, namesp.get(key))); } return new RepositoryResult<Namespace>(new CloseableIteratorIteration<Namespace, RepositoryException>( namespSet.iterator())); }
private RepositoryResult<Statement> detach(RepositoryResult<Statement> stmts) throws RepositoryException { try { Iterator<Statement> iter = stmts.asList().iterator(); CloseableIteration<Statement, RepositoryException> itern; itern = new CloseableIteratorIteration<Statement, RepositoryException>( iter); return new RepositoryResult<Statement>(itern); } finally { stmts.close(); } }
private CloseableIteration<? extends Statement, SailException> union( CloseableIteration<? extends Statement, SailException> result, Model included) { if (included.isEmpty()) { return result; } final Iterator<Statement> iter = included.iterator(); CloseableIteration<Statement, SailException> incl; incl = new CloseableIteratorIteration<Statement, SailException>(iter); return new UnionIteration<Statement, SailException>(incl, result); }
@Override public CloseableIteration<? extends Statement, ? extends Exception> get( final Resource subject, final URI predicate, final Value object, final Resource context) throws IOException, IllegalStateException { try { final long ts = System.currentTimeMillis(); final CloseableIteration<? extends Statement, ? extends Exception> result; if (subject == null || predicate == null || object == null || context == null) { result = logClose(this.connection.getStatements(subject, predicate, object, false, context)); LOGGER.debug("getStatements() iteration obtained in {} ms", System.currentTimeMillis() - ts); } else { Iterator<Statement> iterator; if (this.connection.hasStatement(subject, predicate, object, true, context)) { iterator = Collections.emptyIterator(); } else { iterator = Iterators .<Statement>singletonIterator(new ContextStatementImpl(subject, predicate, object, context)); } result = new CloseableIteratorIteration<Statement, RuntimeException>(iterator); LOGGER.debug("hasStatement() evaluated in {} ms", System.currentTimeMillis() - ts); } return result; } catch (final RepositoryException ex) { throw new IOException("Error while retrieving matching statements", ex); } }
namespaces.remove(prefix); return new CloseableIteratorIteration<Namespace, SailException>( namespaces.values().iterator());
@Override public CloseableIteration<? extends Namespace, SailException> getNamespacesInternal() throws SailException { Map<String, Namespace> namespaces = new HashMap<String, Namespace>(); Set<String> prefixes = new HashSet<String>(); try { for (RepositoryConnection member : members) { RepositoryResult<Namespace> ns = member.getNamespaces(); try { while (ns.hasNext()) { Namespace next = ns.next(); String prefix = next.getPrefix(); if (prefixes.add(prefix)) { namespaces.put(prefix, next); } else if (!next.getName().equals( namespaces.get(prefix).getName())) { namespaces.remove(prefix); } } } finally { ns.close(); } } } catch (RepositoryException e) { throw new SailException(e); } return new CloseableIteratorIteration<Namespace, SailException>( namespaces.values().iterator()); }
Iterator<String> list = Arrays.asList(ann.value()).iterator(); CloseableIteration<String, RuntimeException> iter; iter = new CloseableIteratorIteration(list); return new ElmoIteration<String, Resource>(iter) { @Override
/** * Get the statements for the query pattern passed as arguments. In case the subject resource is acceptable for caching, * refreshes the cache for this resource and returns a merged query result together with the wrapped connection. * Otherwise, simply delegates to the wrapped connection. * * @param subj * @param pred * @param obj * @param includeInferred * @param contexts * @return * @throws SailException */ @Override public CloseableIteration<? extends Statement, SailException> getStatements(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts) throws SailException { if (accept(subj)) { log.debug("Refreshing resource: {}", subj.stringValue()); final Model cached = ldcache.get((URI)subj); // join the results of the cache connection and the wrapped connection in a single result return new UnionIteration<>( new CloseableIteratorIteration<Statement, SailException>(cached.iterator()), super.getStatements(subj, pred, obj, includeInferred, contexts) ); } else { return super.getStatements(subj, pred, obj, includeInferred, contexts); } }
return new CloseableIteratorIteration<BindingSet, QueryEvaluationException>(iter);
final String regex = ((Literal)args[1]).stringValue(); final String[] parts = s.split(regex); return new CloseableIteratorIteration<List<? extends Value>, QueryEvaluationException>( SingleValueToListTransformer.transform(new Iterator<Value>()
CloseableIteration<Statement, RepositoryException> iter = new CloseableIteratorIteration<Statement, RepositoryException>( list.iterator()); RepositoryResult<Statement> repoResult = new RepositoryResult<Statement>(iter);