@Override public Policy build() { return delegate.build(); }
static Policy substitutePolicy(final Policy policy, final HeaderBasedPlaceholderSubstitutionAlgorithm substitutionAlgorithm, final DittoHeaders dittoHeaders) { final Iterable<PolicyEntry> existingEntries = policy.getEntriesSet(); final Iterable<PolicyEntry> substitutedEntries = substitutePolicyEntries(existingEntries, substitutionAlgorithm, dittoHeaders); final Policy resultPolicy; if (existingEntries.equals(substitutedEntries)) { resultPolicy = policy; } else { resultPolicy = PoliciesModelFactory.newPolicyBuilder(policy).setAll(substitutedEntries).build(); } return resultPolicy; }
@Override protected void doApply(final CreatePolicy command) { // Policy not yet created - do so .. final Policy newPolicy = command.getPolicy(); final PolicyBuilder newPolicyBuilder = PoliciesModelFactory.newPolicyBuilder(newPolicy); final DittoHeaders dittoHeaders = command.getDittoHeaders(); if (!newPolicy.getLifecycle().isPresent()) { newPolicyBuilder.setLifecycle(PolicyLifecycle.ACTIVE); } final Policy newPolicyWithLifecycle = newPolicyBuilder.build(); final PoliciesValidator validator = PoliciesValidator.newInstance(newPolicyWithLifecycle); if (validator.isValid()) { final PolicyCreated policyCreated = PolicyCreated.of(newPolicyWithLifecycle, getNextRevision(), getEventTimestamp(), dittoHeaders); processEvent(policyCreated, event -> { final CreatePolicyResponse response = CreatePolicyResponse.of(policyId, PolicyPersistenceActor.this.policy, dittoHeaders); sendSuccessResponse(command, response); log.debug("Created new Policy with ID <{}>.", policyId); becomePolicyCreatedHandler(); }); } else { policyInvalid(validator.getReason().orElse(null), dittoHeaders); } }
@Override protected void doApply(final CreatePolicy command) { // Policy not yet created - do so .. final Policy newPolicy = command.getPolicy(); final PolicyBuilder newPolicyBuilder = PoliciesModelFactory.newPolicyBuilder(newPolicy); final DittoHeaders dittoHeaders = command.getDittoHeaders(); if (!newPolicy.getLifecycle().isPresent()) { newPolicyBuilder.setLifecycle(PolicyLifecycle.ACTIVE); } final Policy newPolicyWithLifecycle = newPolicyBuilder.build(); final PoliciesValidator validator = PoliciesValidator.newInstance(newPolicyWithLifecycle); if (validator.isValid()) { final PolicyCreated policyCreated = PolicyCreated.of(newPolicyWithLifecycle, getNextRevision(), getEventTimestamp(), dittoHeaders); processEvent(policyCreated, event -> { final CreatePolicyResponse response = CreatePolicyResponse.of(policyId, PolicyPersistenceActor.this.policy, dittoHeaders); sendSuccessResponse(command, response); log.debug("Created new Policy with ID <{}>.", policyId); becomePolicyCreatedHandler(); }); } else { policyInvalid(validator.getReason().orElse(null), dittoHeaders); } }
.setRevision(lastSequenceNr()) .setModified(pc.getTimestamp().orElse(null)) .build()) .build(); }) .setRevision(lastSequenceNr()) .setModified(pd.getTimestamp().orElse(null)) .build(); } else { log.warning("Policy was null when 'PolicyDeleted' event should have been applied on recovery."); .setRevision(lastSequenceNr()) .setModified(pem.getTimestamp().orElse(null)) .build()) .setRevision(lastSequenceNr()) .setModified(pec.getTimestamp().orElse(null)) .build()) .setRevision(lastSequenceNr()) .setModified(pem.getTimestamp().orElse(null)) .build()) .setRevision(lastSequenceNr()) .setModified(ped.getTimestamp().orElse(null)) .build())
.setRevision(lastSequenceNr()) .setModified(pc.getTimestamp().orElse(null)) .build()) .build(); }) .setRevision(lastSequenceNr()) .setModified(pd.getTimestamp().orElse(null)) .build(); } else { log.warning("Policy was null when 'PolicyDeleted' event should have been applied on recovery."); .setRevision(lastSequenceNr()) .setModified(pem.getTimestamp().orElse(null)) .build()) .setRevision(lastSequenceNr()) .setModified(pec.getTimestamp().orElse(null)) .build()) .setRevision(lastSequenceNr()) .setModified(pem.getTimestamp().orElse(null)) .build()) .setRevision(lastSequenceNr()) .setModified(ped.getTimestamp().orElse(null)) .build())
return policyBuilder.build();
return policyBuilder.build();