@Override public CompletionStage<Void> delete(final Metadata metadata) { LOGGER.debug("Deleting: {}", metadata.getIdentifier()); return runAsync(() -> { try (final Dataset dataset = rdf.createDataset()) { final Instant eventTime = now(); dataset.add(PreferServerManaged, metadata.getIdentifier(), DC.type, DeletedResource); dataset.add(PreferServerManaged, metadata.getIdentifier(), RDF.type, LDP.Resource); storeResource(metadata.getIdentifier(), dataset, eventTime, OperationType.DELETE); } catch (final Exception ex) { throw new RuntimeTrellisException("Error deleting resource: " + metadata.getIdentifier(), ex); } }); }
@Override public CompletionStage<Void> delete(final Metadata metadata) { LOGGER.debug("Deleting: {}", metadata.getIdentifier()); return runAsync(() -> { try (final Dataset dataset = rdf.createDataset()) { final Instant eventTime = now(); dataset.add(PreferServerManaged, metadata.getIdentifier(), DC.type, DeletedResource); dataset.add(PreferServerManaged, metadata.getIdentifier(), RDF.type, LDP.Resource); storeResource(metadata.getIdentifier(), dataset, eventTime, OperationType.DELETE); } catch (final Exception ex) { throw new RuntimeTrellisException("Error deleting resource: " + metadata.getIdentifier(), ex); } }); }
private void createOrReplace(final Metadata metadata, final Dataset dataset, final OperationType type) { final Instant eventTime = now(); // Set the LDP type dataset.add(PreferServerManaged, metadata.getIdentifier(), RDF.type, metadata.getInteractionModel()); // Relocate some user-managed triples into the server-managed graph metadata.getMembershipResource().ifPresent(member -> { dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.member, getBaseIRI(member)); dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.membershipResource, member); }); metadata.getMemberRelation().ifPresent(relation -> dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.hasMemberRelation, relation)); metadata.getMemberOfRelation().ifPresent(relation -> dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.isMemberOfRelation, relation)); if (asList(LDP.IndirectContainer, LDP.DirectContainer).contains(metadata.getInteractionModel())) { dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.insertedContentRelation, metadata.getInsertedContentRelation().orElse(LDP.MemberSubject)); } // Set the parent relationship metadata.getContainer().ifPresent(parent -> dataset.add(PreferServerManaged, metadata.getIdentifier(), DC.isPartOf, parent)); metadata.getBinary().ifPresent(binary -> { dataset.add(PreferServerManaged, metadata.getIdentifier(), DC.hasPart, binary.getIdentifier()); binary.getMimeType().map(rdf::createLiteral).ifPresent(mimeType -> dataset.add(PreferServerManaged, binary.getIdentifier(), DC.format, mimeType)); }); storeResource(metadata.getIdentifier(), dataset, eventTime, type); }
private void createOrReplace(final Metadata metadata, final Dataset dataset, final OperationType type) { final Instant eventTime = now(); // Set the LDP type dataset.add(PreferServerManaged, metadata.getIdentifier(), RDF.type, metadata.getInteractionModel()); // Relocate some user-managed triples into the server-managed graph metadata.getMembershipResource().ifPresent(member -> { dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.member, getBaseIRI(member)); dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.membershipResource, member); }); metadata.getMemberRelation().ifPresent(relation -> dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.hasMemberRelation, relation)); metadata.getMemberOfRelation().ifPresent(relation -> dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.isMemberOfRelation, relation)); if (asList(LDP.IndirectContainer, LDP.DirectContainer).contains(metadata.getInteractionModel())) { dataset.add(PreferServerManaged, metadata.getIdentifier(), LDP.insertedContentRelation, metadata.getInsertedContentRelation().orElse(LDP.MemberSubject)); } // Set the parent relationship metadata.getContainer().ifPresent(parent -> dataset.add(PreferServerManaged, metadata.getIdentifier(), DC.isPartOf, parent)); metadata.getBinary().ifPresent(binary -> { dataset.add(PreferServerManaged, metadata.getIdentifier(), DC.hasPart, binary.getIdentifier()); binary.getMimeType().map(rdf::createLiteral).ifPresent(mimeType -> dataset.add(PreferServerManaged, binary.getIdentifier(), DC.format, mimeType)); }); storeResource(metadata.getIdentifier(), dataset, eventTime, type); }