public synchronized URI getMessageURI() { if (this.messageURI == null) { this.messageURI = findMessageUri(getOuterEnvelopeGraph(), getOuterEnvelopeGraphURI().toString()); } return this.messageURI; }
allEnvelopeGraphNames.add(envelopeGraphUri); allEnvelopes.add(envelopeGraph); currentMessageURI = findMessageUri(envelopeGraph, envelopeGraphUri);
private synchronized List<URI> getEnvelopePropertyURIValues(Property property) { List<URI> values = new ArrayList<URI>(); Model currentEnvelope = getOuterEnvelopeGraph(); URI currentEnvelopeUri = getOuterEnvelopeGraphURI(); //TODO would make sense to order envelope graphs in order from container to containee in the first place while (currentEnvelope != null) { URI currentMessageURI = findMessageUri(currentEnvelope, currentEnvelopeUri.toString()); StmtIterator it = currentEnvelope.listStatements(currentEnvelope.getResource(currentMessageURI.toString()), property, (RDFNode) null); while (it.hasNext()) { values.add(URI.create(it.nextStatement().getObject().asResource().toString())); } currentEnvelopeUri = RdfUtils.findFirstObjectUri(currentEnvelope, WONMSG.CONTAINS_ENVELOPE, null, true, true); currentEnvelope = null; if (currentEnvelopeUri != null) { currentEnvelope = this.completeDataset.getNamedModel(currentEnvelopeUri.toString()); } } return values; }
public synchronized URI getEnvelopePropertyURIValue(Property property) { Model currentEnvelope = getOuterEnvelopeGraph(); URI currentEnvelopeUri = getOuterEnvelopeGraphURI(); //TODO would make sense to order envelope graphs in order from container to containee in the first place, //if proper done, we should avoid ending up in infinite loop if someone sends us malformed envelopes that // contain-in-other circular... while (currentEnvelope != null) { URI currentMessageURI = findMessageUri(currentEnvelope, currentEnvelopeUri.toString()); StmtIterator it = currentEnvelope.listStatements(currentEnvelope.getResource(currentMessageURI.toString()), property, (RDFNode) null); if (it.hasNext()) { return URI.create(it.nextStatement().getObject().asResource().toString()); } // move to the next envelope currentEnvelopeUri = RdfUtils.findFirstObjectUri(currentEnvelope, WONMSG.CONTAINS_ENVELOPE, null, true, true); currentEnvelope = null; if (currentEnvelopeUri != null) { currentEnvelope = this.completeDataset.getNamedModel(currentEnvelopeUri.toString()); } } return null; }