@Override public Dataset removeNamedModel(String uri) { delegate.removeNamedModel(uri); return this; }
@Override public Dataset removeNamedModel(String uri) { delegate.removeNamedModel(uri); return this; }
@Override public void deleteModel(String uri) { getDataset().removeNamedModel(uri); }
@Override public void removeGraph(Node graphName) { dataset.removeNamedModel(graphName.getURI()); }
private void removeAttachmentsFromNeedContent(Dataset needContent, List<WonMessage.AttachmentHolder> attachmentHolders) { for (WonMessage.AttachmentHolder attachmentHolder: attachmentHolders){ for (Iterator<String> it = attachmentHolder.getAttachmentDataset().listNames(); it.hasNext(); ){ String modelName =it.next(); needContent.removeNamedModel(modelName); } } }
/** * @param conversationDataset * @param message * @return true if the operation had any effect, false otherwise */ private boolean removeContentGraphs(Dataset conversationDataset, ConversationMessage message ) { AtomicBoolean changedSomething = new AtomicBoolean(false); message.getContentGraphs().stream().forEach(uri -> { String uriString = uri.toString(); if (conversationDataset.containsNamedModel(uriString)) conversationDataset.removeNamedModel(uriString); changedSomething.set(true); }); return changedSomething.get(); }
/** * * @param proposalUri * @return true if the operation had any effect, false otherwise */ private boolean retractProposal(URI proposalUri) { boolean changedSomething = false; // we don't track retracted proposals (nobody cares about retracted proposals) // so just remove them if (pendingProposals.containsNamedModel(proposalUri.toString())){ changedSomething = true; } pendingProposals.removeNamedModel(proposalUri.toString()); changedSomething = removeCancellationProposal(proposalUri) || changedSomething; return changedSomething; }
/** * The facet may store data into the need dataset; this method removes * that data from the need dataset. * @param needURI */ protected void removeFacetManagedGraph(URI needURI, Dataset needDataset){ String graphURI = getFacetManagedGraphName(needURI); Model facetManagedGraph = needDataset.getNamedModel(graphURI); if (facetManagedGraph != null){ needDataset.removeNamedModel(graphURI); } }
/** * * @param graphUri * @param fromDataset * @param toDataset * @return true if the operation had any effect, false otherwise */ private boolean moveNamedGraph(URI graphUri, Dataset fromDataset, Dataset toDataset) { boolean changedSomething = false; Model model = fromDataset.getNamedModel(graphUri.toString()); fromDataset.removeNamedModel(graphUri.toString()); if (model != null && model.size() > 0) { toDataset.addNamedModel(graphUri.toString(), model); changedSomething = true; } return changedSomething; }
/** * Removes signature graphs from the Dataset. Can be useful to use after * verification is done, when the signatures are no longer required for * further actions on the signed data of the Dataset. * * @param dataset from which graphs representing signatures have to be removed */ public static void removeSignatureGraphs(Dataset dataset) { for (String name : RdfUtils.getModelNames(dataset)) { if (WonRdfUtils.SignatureUtils.isSignatureGraph(name, dataset.getNamedModel(name))) { dataset.removeNamedModel(name); } } }
/** * If the provided signing stage has signature graphs that are not referenced from any envelope graphs, they * should be moved to the innermost not-signed envelope graph. The signature graph is to be deleted. * @param msgDataset * @param sigStage */ private static void addUnreferencedSigReferences(final Dataset msgDataset, final SigningStage sigStage) { String innemostUnsignedEnvUri = null; List<String> envUris = sigStage.getUnsignedEnvUrisOrderedByContainment(); if (envUris.isEmpty()) { return; } else { innemostUnsignedEnvUri = envUris.get(0); } WonSignatureData sigRef = sigStage.getOutermostSignature(); if (sigRef != null) { addSignature(sigRef, innemostUnsignedEnvUri, msgDataset,true); msgDataset.removeNamedModel(sigRef.getSignatureUri()); } }
@Override public void clear(String contextName) { String mname = namedModelFromName(contextName); Model m = dataset.getNamedModel(mname); union.remove(m); dataset.removeNamedModel(mname); m.removeAll(); }
@Override public void delete(String graph) { checkOpen(); Txn.executeWrite(dataset,() ->{ if ( LibRDFConn.isDefault(graph) ) dataset.getDefaultModel().removeAll(); else dataset.removeNamedModel(graph); }); }
@Override public void delete(String graph) { checkOpen(); Txn.executeWrite(dataset,() ->{ if ( LibRDFConn.isDefault(graph) ) dataset.getDefaultModel().removeAll(); else dataset.removeNamedModel(graph); }); }
private boolean hasSameContent(final WonMessage processedMessage, final WonMessage message) { Dataset messageContent = message.getMessageContent(); Dataset processedContent = processedMessage.getMessageContent(); for (String name : RdfUtils.getModelNames(processedContent)) { Model model = processedContent.getNamedModel(name); if (WonRdfUtils.SignatureUtils.isSignatureGraph(name, model) && !RdfUtils.getModelNames(messageContent).contains(name)) { processedContent.removeNamedModel(name); } } if (IsoMatcher.isomorphic(processedContent.asDatasetGraph(), messageContent.asDatasetGraph())) { return true; } return false; }
@Override public BiConsumer<Dataset, Dataset> accumulator() { return (d1, d2) -> { if (afterFirstElement) { d1.setDefaultModel(d1.getDefaultModel().intersection(d2.getDefaultModel())); d1.listNames().forEachRemaining(name -> { if (d2.containsNamedModel(name)) { Model intersection = d1.getNamedModel(name).intersection(d2.getNamedModel(name)); d1.replaceNamedModel(name, intersection); } else d1.removeNamedModel(name); }); } else { // first element of the stream d1.setDefaultModel(d2.getDefaultModel()); d2.listNames().forEachRemaining(name -> d1.replaceNamedModel(name, d2.getNamedModel(name))); afterFirstElement = true; } }; } }
/** * Adds the second dataset to the first one, merging default models and models * with identical name. * * @param baseDataset * @param toBeAddedtoBase * @param replaceNamedModel * if true, named graphs are not merged but replaced * @return the modified baseDataset */ public static Dataset addDatasetToDataset(final Dataset baseDataset, final Dataset toBeAddedtoBase, boolean replaceNamedModel) { assert baseDataset != null : "baseDataset must not be null"; assert toBeAddedtoBase != null : "toBeAddedToBase must not be null"; baseDataset.getDefaultModel().add(toBeAddedtoBase.getDefaultModel()); for (Iterator<String> nameIt = toBeAddedtoBase.listNames(); nameIt.hasNext();) { String modelName = nameIt.next(); if (baseDataset.containsNamedModel(modelName)) { if (replaceNamedModel) { baseDataset.removeNamedModel(modelName); baseDataset.addNamedModel(modelName, toBeAddedtoBase.getNamedModel(modelName)); } else { baseDataset.getNamedModel(modelName).add(toBeAddedtoBase.getNamedModel(modelName)); } } else { baseDataset.addNamedModel(modelName, toBeAddedtoBase.getNamedModel(modelName)); } } return baseDataset; }
@Test public void dataset_04() { String graphName = "http://example/"; Dataset ds = createDataset(); ds.addNamedModel(graphName, model1); assertTrue(ds.containsNamedModel(graphName)); List<String> x = Iter.toList(ds.listNames()); assertEquals(1, x.size()); assertEquals(graphName, x.get(0)); assertFalse(model1.isIsomorphicWith(ds.getDefaultModel())); Model m = ds.getNamedModel(graphName); assertNotNull(m); assertTrue(model1.isIsomorphicWith(m)); ds.removeNamedModel(graphName); // Not getNamedModel and test for null as some datasets are "auto graph creating" assertFalse(ds.containsNamedModel(graphName)); }