@Override public Lock getLock() { return dataset.getLock(); }
@Override public Lock getLock() { return delegate.getLock(); }
@Override public Lock getLock() { return delegate.getLock(); }
@Override public Lock getLock() { return dataset.getLock(); }
@Override public WonMessage process(final WonMessage message) throws WonMessageProcessingException { Dataset dataset = message.getCompleteDataset(); StringBuilder errorMessage = new StringBuilder("Message is not valid, failed at check "); boolean valid = false; try { dataset.getLock().enterCriticalSection(true); valid = validator.validate(dataset, errorMessage); } finally { dataset.getLock().leaveCriticalSection(); } if (!valid) { logger.info(errorMessage.toString() + "\n Offending message:\n" + RdfUtils.writeDatasetToString(dataset, Lang .TRIG)); throw new WonMessageNotWellFormedException(errorMessage.toString()); } return message; }
private Model construct(Dataset dataset, String namespace, String graphURI, Resource property) { dataset.getLock().enterCriticalSection(Lock.READ); try { StringBuilder buff = new StringBuilder(); buff.append("PREFIX afn: <http://jena.apache.org/ARQ/function#> \n") .append("CONSTRUCT { \n").append(" ?res <").append(property.getURI()).append("> ?o } WHERE { \n"); if (graphURI != null) { buff.append(" GRAPH ").append(graphURI).append(" { \n"); } buff.append(" ?res <").append(property.getURI()).append("> ?o \n"); buff.append(getNamespaceFilter(namespace)); if (graphURI != null) { buff.append(" } \n"); } buff.append("}"); Query constructProp = QueryFactory.create(buff.toString()); QueryExecution qe = QueryExecutionFactory.create(constructProp, dataset); try { return qe.execConstruct(); } finally { qe.close(); } } finally { dataset.getLock().leaveCriticalSection(); } }
protected void applyChangeSetToModel(ChangeSet changeSet, Dataset dataset) { for (ModelChange modelChange: changeSet.getModelChanges()) { dataset.getLock().enterCriticalSection(Lock.WRITE); try { Model model = (modelChange.getGraphURI() == null) ? dataset.getDefaultModel() : dataset.getNamedModel(modelChange.getGraphURI()); operateOnModel(model, modelChange, dataset); } finally { dataset.getLock().leaveCriticalSection(); } } }
@Override int getClassGroupInstanceCount(VClassGroup vcg){ int count = 0; try { String queryText = "SELECT COUNT( DISTINCT ?instance ) WHERE { \n" + " ?class <"+VitroVocabulary.IN_CLASSGROUP+"> <"+vcg.getURI() +"> .\n" + " ?instance a ?class . \n" + "} \n" ; Query countQuery = QueryFactory.create(queryText, Syntax.syntaxARQ); DatasetWrapper w = getDatasetWrapper(); Dataset dataset = w.getDataset(); dataset.getLock().enterCriticalSection(Lock.READ); try { QueryExecution qe = QueryExecutionFactory.create(countQuery, dataset); ResultSet rs = qe.execSelect(); count = Integer.parseInt(((Literal) rs.nextSolution().get(".1")).getLexicalForm()); } finally { dataset.getLock().leaveCriticalSection(); w.close(); } }catch(Exception ex){ log.error("error in getClassGroupInstanceCount()", ex); } return count; }