@Override protected Optional<PolicyEntry> determineETagEntity(final RetrievePolicyEntry command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())); } }
@Override protected Optional<Resources> determineETagEntity(final RetrieveResources command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getResources); } }
@Override protected Optional<PolicyEntry> determineETagEntity(final DeletePolicyEntry command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())); } }
@Override protected Optional<Subjects> determineETagEntity(final ModifySubjects command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getSubjects); } }
@Override protected Optional<Resources> determineETagEntity(final ModifyResources command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getResources); } }
@Override protected Optional<PolicyEntry> determineETagEntity(final RetrievePolicyEntry command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())); } }
@Override protected Optional<Subjects> determineETagEntity(final RetrieveSubjects command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getSubjects); } }
@Override protected Optional<Resources> determineETagEntity(final ModifyResources command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getResources); } }
@Override protected Optional<Resource> determineETagEntity(final DeleteResource command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getResources) .flatMap(r -> r.getResource(command.getResourceKey())); } }
@Override protected Optional<Subject> determineETagEntity(final RetrieveSubject command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getSubjects) .flatMap(s -> s.getSubject(command.getSubjectId())); } }
@Override protected Optional<Subject> determineETagEntity(final DeleteSubject command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getSubjects) .flatMap(s -> s.getSubject(command.getSubjectId())); } }
@Override protected Optional<Subject> determineETagEntity(final ModifySubject command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getSubjects) .flatMap(s -> s.getSubject(command.getSubject().getId())); } }
@Override protected Optional<Subject> determineETagEntity(final ModifySubject command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getSubjects) .flatMap(s -> s.getSubject(command.getSubject().getId())); } }
@Override protected Optional<Resource> determineETagEntity(final ModifyResource command) { return Optional.ofNullable(policy) .flatMap(p -> p.getEntryFor(command.getLabel())) .map(PolicyEntry::getResources) .flatMap(r -> r.getResource(command.getResource().getResourceKey())); } }
@Override protected void doApply(final RetrieveSubjects command) { final Optional<PolicyEntry> optionalEntry = policy.getEntryFor(command.getLabel()); if (optionalEntry.isPresent()) { final RetrieveSubjectsResponse response = RetrieveSubjectsResponse.of(policyId, command.getLabel(), optionalEntry.get().getSubjects(), command.getDittoHeaders()); sendSuccessResponse(command, response); } else { policyEntryNotFound(command.getLabel(), command.getDittoHeaders()); } }
@Override protected void doApply(final RetrieveResources command) { final Optional<PolicyEntry> optionalEntry = policy.getEntryFor(command.getLabel()); if (optionalEntry.isPresent()) { final RetrieveResourcesResponse response = RetrieveResourcesResponse.of(policyId, command.getLabel(), optionalEntry.get().getResources(), command.getDittoHeaders()); sendSuccessResponse(command, response); } else { policyEntryNotFound(command.getLabel(), command.getDittoHeaders()); } }
@Override protected void doApply(final RetrieveSubjects command) { final Optional<PolicyEntry> optionalEntry = policy.getEntryFor(command.getLabel()); if (optionalEntry.isPresent()) { final RetrieveSubjectsResponse response = RetrieveSubjectsResponse.of(policyId, command.getLabel(), optionalEntry.get().getSubjects(), command.getDittoHeaders()); sendSuccessResponse(command, response); } else { policyEntryNotFound(command.getLabel(), command.getDittoHeaders()); } }
public PolicyAssert hasResourceEffectedPermissionsFor(final Label label, final ResourceKey resourceKey, final EffectedPermissions expectedEffectedPermissions) { isNotNull(); hasResourceFor(label, resourceKey); final Resource resource = actual.getEntryFor(label).get().getResources().getResource(resourceKey).get(); assertThat(resource.getEffectedPermissions()).isEqualTo(expectedEffectedPermissions) // .overridingErrorMessage( "Expected Label <%s> to contain for Resource path <%s> EffectedPermissions " + "\n<%s> but did not: \n<%s>", label, resourceKey, expectedEffectedPermissions, resource.getEffectedPermissions()); return this; }
public PolicyAssert hasResourceFor(final Label label, final ResourceKey resourceKey) { isNotNull(); hasLabel(label); final PolicyEntry policyEntry = actual.getEntryFor(label).get(); assertThat(policyEntry.getResources().getResource(resourceKey)).isPresent() // .overridingErrorMessage( "Expected Label <%s> to contain Resource for path \n<%s> " + "but did not: \n<%s>", label, resourceKey, policyEntry.getResources()); return this; }
public PolicyAssert hasSubjectFor(final Label label, final SubjectId subjectId) { isNotNull(); hasLabel(label); final PolicyEntry policyEntry = actual.getEntryFor(label).get(); assertThat(policyEntry.getSubjects().getSubject(subjectId)).isPresent() // .overridingErrorMessage( "Expected Label <%s> to contain Subject for SubjectId \n<%s> " + "but did not: \n<%s>", label, subjectId, policyEntry.getSubjects()); return this; }