SuccessChanges

Summary

  1. #890: added "expiry" to Policy's `Subject` as new type `SujectExpiry` (details)
  2. #890: added missing factory methods for creating a Subject with SubjectExpiry (details)
  3. #890: enhanced PolicyCommandStrategies in order to "round up" passed in subject expiry (details)
  4. #890: enhanced OpenAPI docs about Policy subject "expiry" (details)
  5. #890: fixed review findings: (details)
  6. #890: fixed obsolete synchronized keyword on getInstance() (details)
  7. #890: automatically schedule persisting+publishing a DeleteSubject event when (details)
  8. #890: fixed time based unit tests which did not handle timezones correctly (details)
  9. #890: schedule expiry cleanup also after snapshot recovery (details)
  10. #890: adjusted @since javadoc annotations to 2.0.0 (details)
  11. #890: invalidate policy enforcer caches in concierge whenever the PolicyPersistenceActor publishes a PolicyTag message (details)
  12. #890: fixed and enhanced unit tests after invalidate policy enforcer caches in concierge whenever the PolicyPersistenceActor publishes a PolicyTag message (details)
  13. [#890] review: add missing word "active" to expiry description; fix broken link in cloudevent openapi. (details)
  14. [#890] review: remove unnecessary conditional; test chained expiry; add TODO. (details)
  15. [#890] suppress acknowledgement from akka pubsub logged as warning. (details)
  16. [#890] Fix off-by-1 error in revision of scheduled SubjectDeleted events; optimize PolicyEventForwarder to not query database in the absence of policy changes. (details)
  17. [#890] Ignore expiring subjects in policies validator; fix PolicyCommandEnforcementTest. (details)
  18. [#890] Fix ModifyPolicyEntryStrategyTest and ModifySubjectsStrategyTest. (details)
  19. fixed compile error after merge from master (details)
  20. #890: added documentation about policy subject expiry (details)
  21. #890: fix findings: (details)
  22. #890: fix review findings of fixing findings: (details)
  23. #890: fix review findings of fixing findings: (details)
  24. increase maxStackDepth to 25 in order to support basic protobuf experiments (details)
  25. [#890] Review: PolicyPersistenceActorTest.ensureSubjectExpiryIsCleanedUpAfterRecovery (details)
Commit 0cbc7b76d40e00c10a86f77cdf27bb0f5e4c3daa by Thomas Jaeckle
#890: added "expiry" to Policy's `Subject` as new type `SujectExpiry`

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/PoliciesModelFactory.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/Subject.java (diff)
The file was addedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/SubjectExpiryInvalidException.java
The file was addedmodel/policies/src/test/java/org/eclipse/ditto/model/policies/ImmutableSubjectExpiryTest.java
The file was modifiedmodel/policies/src/test/java/org/eclipse/ditto/model/policies/ImmutableSubjectTest.java (diff)
The file was addedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/SubjectExpiry.java
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/ImmutableSubject.java (diff)
The file was addedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/ImmutableSubjectExpiry.java
The file was modifiedservices/gateway/endpoints/src/main/java/org/eclipse/ditto/services/gateway/endpoints/routes/policies/PolicyEntriesRoute.java (diff)
Commit aa7a9d5027b7c80e2a696bd5dfac82b9d8af30a8 by Thomas Jaeckle
#890: added missing factory methods for creating a Subject with SubjectExpiry

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/PoliciesModelFactory.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/SubjectExpiry.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/Subject.java (diff)
Commit a4e37fe682506b99150e0805e70fcdd7010bc9f5 by Thomas Jaeckle
#890: enhanced PolicyCommandStrategies in order to "round up" passed in subject expiry
* made the granularity to apply configurable in PolicyConfig
* added unit tests for PolicyCommandStrategies for the affected strategies applying the rounding up of subject expiries
* adjusted the PolicyValidator to make sure that configured subject expiries are not in the past

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/SudoRetrievePolicyStrategy.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/SubjectExpiryAdjustmentTest.java
The file was addedservices/policies/common/src/test/java/org/eclipse/ditto/services/policies/common/config/DefaultPolicyConfigTest.java
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/AbstractPolicyCommandStrategy.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntryStrategyTest.java
The file was modifiedservices/models/policies/src/main/java/org/eclipse/ditto/services/models/policies/PoliciesValidator.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/DeleteSubjectStrategy.java (diff)
The file was modifiedservices/policies/starter/src/main/resources/policies.conf (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/RetrievePolicyEntryStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectStrategy.java (diff)
The file was addedservices/policies/common/src/test/resources/policy-test.conf
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyResourcesStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyStrategy.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/AbstractPolicyCommandStrategyTest.java
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntryStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/RetrieveResourcesStrategy.java (diff)
The file was modifiedservices/things/persistence/src/test/java/org/eclipse/ditto/services/things/persistence/actors/ETagTestUtils.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/DeleteResourceStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/RetrieveSubjectStrategy.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectStrategyTest.java
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/CreatePolicyStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/SudoRetrievePolicyRevisionStrategy.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntriesStrategyTest.java
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/TestConstants.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectsStrategyTest.java
The file was modifiedservices/policies/common/src/main/java/org/eclipse/ditto/services/policies/common/config/PolicyConfig.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/CreatePolicyStrategyTest.java
The file was modifiedservices/policies/persistence/src/test/resources/policy-test.conf (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/RetrievePolicyStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/PolicyCommandStrategies.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyResourceStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/DeletePolicyEntryStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/AbstractPolicyQueryCommandStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectsStrategy.java (diff)
The file was modifiedservices/policies/common/src/main/java/org/eclipse/ditto/services/policies/common/config/DefaultPolicyConfig.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/PolicyConflictStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntriesStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/RetrieveResourceStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/RetrieveSubjectsStrategy.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyStrategyTest.java
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/DeletePolicyStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/RetrievePolicyEntriesStrategy.java (diff)
Commit ffdf810ffc2aef925ae39fe84e109b628d9f6fff by Thomas Jaeckle
#890: enhanced OpenAPI docs about Policy subject "expiry"
* added "expiry" as well to Policy JsonSchema
* did some cleanup in OpenAPI docs while at it (e.g. moving schemas to subfolders)

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/features/desiredProperty.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/features/feature.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/policies/entry.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/features/definition.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/features/desiredProperties.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/responses/messageTooLarge.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/features/properties.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/definition.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/search/things.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/subjects.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/newPolicy.yml
The file was modifieddocumentation/src/main/resources/openapi/ditto-api-1.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/permission.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/policies/subject.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/responses/preconditionFailed.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/features/featureDesiredProperties.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/requests/definition.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/ditto-api-2.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/subjectEntry.yml
The file was removeddocumentation/src/main/resources/openapi/sources/paths/things/policyid.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/whoami/whoami.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/things/newThing.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/whoami/whoamiSubject.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/advancedError.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/search/things-count.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/features/index.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/messages/inbox-claim.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/things/definition.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/thing.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/whoami/index.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/things/thing.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/api-2-index.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/messages/inbox-message.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/subjects.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/responses/entityTooLarge.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/whoamiSubject.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/permission.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/policies/resources.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/policyEntries.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/responses/messageTimeout.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/messages/feature-inbox-message.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/search/searchResultThings.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/resourceEntry.yml
The file was modifieddocumentation/src/main/resources/jsonschema/thing_v2.json (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/error.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/policyEntries.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/things/attribute.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/policyEntry.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/things/attributes.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/resources.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/things/attributes.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/policies/subjects.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/featureDefinition.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/features.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/features/property.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/features/featureDefinition.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/policy.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/things/thing.yml
The file was modifieddocumentation/src/main/resources/jsonschema/policy.json (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/policyEntry.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/whoami.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/subjectEntry.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/featureProperties.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/things/index.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/attributes.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/resources.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/features/feature.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/policies/policy.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/resourceEntryRestricted.yml
The file was addeddocumentation/src/main/resources/openapi/sources/paths/things/policyId.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/features/featureProperties.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/things/definition.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/policies/resource.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/featureDesiredProperties.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/resourceEntry.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/requests/attributes.yml (diff)
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/errors/advancedError.yml
The file was modifieddocumentation/src/main/resources/jsonschema/thing_v1.json (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/policies/entries.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/feature.yml
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/newThing.yml
The file was modifieddocumentation/src/main/resources/openapi/sources/api-1-index.yml (diff)
The file was removeddocumentation/src/main/resources/openapi/sources/schemas/searchResultThings.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/features/features.yml
The file was addeddocumentation/src/main/resources/openapi/sources/schemas/errors/error.yml
The file was modifieddocumentation/src/main/resources/.gitignore (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/messages/outbox-message.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/messages/feature-outbox-message.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/policies/policy.yml (diff)
Commit b6ba34a562c61064233e5b1dcf41d5d5f852115c by Thomas Jaeckle
#890: fixed review findings:
* applied double checked locking in PolicyCommandStrategies
* simplified adjusting a PolicyEntry with adjusted subjects
* fixed that an already pre-"rounded/truncated" subject expiration was rounded up to the next unit where it should not have

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/AbstractPolicyCommandStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/PolicyCommandStrategies.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/SubjectExpiryAdjustmentTest.java (diff)
Commit 510e6ed9c3abf6b921d1270c121f125b76eacf31 by Thomas Jaeckle
#890: fixed obsolete synchronized keyword on getInstance()

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/PolicyCommandStrategies.java (diff)
Commit 2ba3216958a3afc6589c64acfcb3e42b20eb1687 by Thomas Jaeckle
#890: automatically schedule persisting+publishing a DeleteSubject event when
* the next subject will expire
* re-schedule when after the expired subject deletion there are still other subjects to expire
* added tests, fixed etag calculation which must be done based on the adjusted command (e.g. with rounded up expiry timestamp)

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/CreatePolicyStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/SubjectExpiryAdjustmentTest.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntryStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntriesStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/resources/policy-test.conf (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/CreatePolicyStrategyTest.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/SubjectExpiry.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntriesStrategy.java (diff)
The file was modifiedservices/utils/persistent-actors/src/main/java/org/eclipse/ditto/services/utils/persistentactors/AbstractShardedPersistenceActor.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectsStrategy.java (diff)
Commit 9fb90076e5d2fef809b64cb37788b16f8bc79a03 by Thomas Jaeckle
#890: fixed time based unit tests which did not handle timezones correctly

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntryStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectsStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/CreatePolicyStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/SubjectExpiryAdjustmentTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntriesStrategyTest.java (diff)
Commit 82950f028dbd8405e035b504eb452e054b73a3c8 by Thomas Jaeckle
#890: schedule expiry cleanup also after snapshot recovery
* added unit test for correct expiration after actor restart/recovery

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/utils/persistent-actors/src/main/java/org/eclipse/ditto/services/utils/persistentactors/AbstractShardedPersistenceActor.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)
Commit e13d4d08c8b0ed120317fcda4f1acd76925d89b9 by Thomas Jaeckle
#890: adjusted @since javadoc annotations to 2.0.0

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/SubjectExpiry.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/Subject.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/ImmutableSubject.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/SubjectExpiryInvalidException.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/ImmutableSubjectExpiry.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/PoliciesModelFactory.java (diff)
Commit 26a36cb62fd551b32e28b23ca1dafa67d4f07ddb by Thomas Jaeckle
#890: invalidate policy enforcer caches in concierge whenever the PolicyPersistenceActor publishes a PolicyTag message
* this PolicyTag message is published when an in the concierge processed PolicyCommand did not result already in a cache validation
* as a result, the "DeleteSubject" event which is created in the background by the expiry feature will cause the concierge policy enforcer cache to invalidate

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/DittoHeaderDefinition.java (diff)
The file was modifiedservices/concierge/enforcement/src/main/java/org/eclipse/ditto/services/concierge/enforcement/AbstractEnforcerActor.java (diff)
The file was modifiedservices/models/policies/src/main/java/org/eclipse/ditto/services/models/policies/PolicyTag.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
The file was modifiedservices/concierge/enforcement/src/main/java/org/eclipse/ditto/services/concierge/enforcement/PolicyCommandEnforcement.java (diff)
Commit f92373eda26a3765f23b3ccf5c22a8326851b349 by Thomas Jaeckle
#890: fixed and enhanced unit tests after invalidate policy enforcer caches in concierge whenever the PolicyPersistenceActor publishes a PolicyTag message

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PersistenceActorTestBase.java (diff)
The file was modifiedmodel/base/src/test/java/org/eclipse/ditto/model/base/headers/ImmutableDittoHeadersTest.java (diff)
Commit cd0ffbdbed1952b67475be62456de8c8e0084172 by Yufei Cai
[#890] review: add missing word "active" to expiry description; fix broken link in cloudevent openapi.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifieddocumentation/src/main/resources/openapi/ditto-api-2.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/paths/cloudevents/cloudevents.yml (diff)
The file was modifieddocumentation/src/main/resources/openapi/sources/schemas/policies/subjectEntry.yml (diff)
Commit 910f7bc9d98882562c7b1ef602efc160b5415498 by Yufei Cai
[#890] review: remove unnecessary conditional; test chained expiry; add TODO.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
Commit cb12f4dfb220b50811e6d8544e97e73f81b8eb67 by Yufei Cai
[#890] suppress acknowledgement from akka pubsub logged as warning.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/concierge/enforcement/src/main/java/org/eclipse/ditto/services/concierge/enforcement/AbstractEnforcerActor.java (diff)
Commit a685b2690e5cb4bd6ffc0b337b6132fb892f13a1 by Yufei Cai
[#890] Fix off-by-1 error in revision of scheduled SubjectDeleted events; optimize PolicyEventForwarder to not query database in the absence of policy changes.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
The file was modifiedservices/thingsearch/updater-actors/src/main/java/org/eclipse/ditto/services/thingsearch/updater/actors/PolicyEventForwarder.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)
Commit 43db6b8c5960a2d3cd2000bc202722ea5c6d5331 by Yufei Cai
[#890] Ignore expiring subjects in policies validator; fix PolicyCommandEnforcementTest.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)
The file was modifiedservices/models/policies/src/main/java/org/eclipse/ditto/services/models/policies/PoliciesValidator.java (diff)
The file was modifiedservices/concierge/enforcement/src/test/java/org/eclipse/ditto/services/concierge/enforcement/PolicyCommandEnforcementTest.java (diff)
The file was modifiedservices/models/policies/src/test/java/org/eclipse/ditto/services/models/policies/PoliciesValidatorTest.java (diff)
Commit d8193da42bbd301a2a1e335779fbbbb68cd5d8d1 by Yufei Cai
[#890] Fix ModifyPolicyEntryStrategyTest and ModifySubjectsStrategyTest.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntryStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectsStrategyTest.java (diff)
Commit bc71c4732adf6a2881fbc6f3f1b28fff93319b3a by Thomas Jaeckle
fixed compile error after merge from master

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/PolicyConflictStrategyTest.java (diff)
Commit 5d2ae907a9548b342db0695ddf4372e78eaa3ce3 by Thomas Jaeckle
#890: added documentation about policy subject expiry

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifieddocumentation/src/main/resources/pages/ditto/basic-policy.md (diff)
The file was modifieddocumentation/src/main/resources/jsonschema/policy.json (diff)
Commit 0eb08f1e282ffed4ab0d67ed34324088f3b3d7ee by Thomas Jaeckle
#890: fix findings:
* return status code 400 instead of 403 when trying to use an expiry TS from the past
* ensure that a recovery first removes expired subjects before applying further commands
* cope with expiry timestamps in a distant future (>8 months from now) as those caused long-overflow exceptions: reschedule checking after 1 day in such cases

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntryStrategy.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/SubjectExpiryInvalidException.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/CreatePolicyStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/CreatePolicyStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntryStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/AbstractPolicyCommandStrategy.java (diff)
The file was modifiedservices/models/policies/src/main/java/org/eclipse/ditto/services/models/policies/PoliciesValidator.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectsStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntriesStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectsStrategyTest.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifyPolicyEntriesStrategy.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/ModifySubjectStrategyTest.java (diff)
Commit 1a6cc1df05e15d99d14cdbc6922ce01c7e902ac6 by Thomas Jaeckle
#890: fix review findings of fixing findings:
* simplified scheduling of next expiry check
* added missing javadoc
* deduplicated scheduling

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
The file was modifiedmodel/policies/src/main/java/org/eclipse/ditto/model/policies/SubjectExpiryInvalidException.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/AbstractPolicyCommandStrategy.java (diff)
Commit b7ac09619a379a5b450fe803a92ef5c1cd614805 by Thomas Jaeckle
#890: fix review findings of fixing findings:
* further simplified scheduling of next expiry check
* added unit test ensuring that an already expired subject is deleted during persistence recovery

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)
The file was modifiedservices/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/amqp/AmqpConsumerActor.java (diff)
The file was modifiedservices/policies/persistence/src/main/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActor.java (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/testhelper/ETagTestUtils.java (diff)
Commit d3b92a67980705874f9b8e846f39f5566b62ed29 by Thomas Jaeckle
increase maxStackDepth to 25 in order to support basic protobuf experiments

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedservices/connectivity/starter/src/main/resources/connectivity.conf (diff)
Commit 5f43b25cf00a6317bb322e7a2881c1370edcb87b by Yufei Cai
[#890] Review: PolicyPersistenceActorTest.ensureSubjectExpiryIsCleanedUpAfterRecovery

- Kill the persistence actor right away, so that it has no chance
  to delete the expired subject before termination

- Test the persistence actor in a shard region in order for
  SudoRetrievePolicy to be the first message the actor processes
  when restored.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/policies/persistence/src/test/resources/test.conf (diff)
The file was modifiedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/PolicyPersistenceActorTest.java (diff)