SuccessChanges

Summary

  1. Add conditional header for implicit thing creation mapper. (details)
  2. Settle *PreconditionFailedException as successful in consumer actors; read entity ID from headers in ThingErrorResponse factory method. (details)
  3. Make Ditto headers case-insensitive and case-preserving. (details)
  4. Ditto headers: ensure case-insensitive object identity; maintain header order; refine copy constructor. (details)
  5. Perform precondition check also for conflict strategies. (details)
  6. Preserve capitalization in HeaderTranslator to ensure original capitalization in outgoing headers in connectivity; make equality not distinguish capitalization. (details)
  7. Document case-insensitivity and case-preservation of Ditto headers and case-sensitivity of header:<name> placeholders. (details)
  8. Make header placeholders case-insensitive. (details)
  9. adjusted "@since" javadoc version to 2.0.0 to be consistent with other changes in development (details)
Commit ef9f88f2051fdaca3b8f524dafb48adf078de86d by Yufei Cai
Add conditional header for implicit thing creation mapper.

Reason: Implicit thing creation mapper should not attempt to
create an existing thing.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/connectivity/mapping/src/main/java/org/eclipse/ditto/services/connectivity/mapping/ImplicitThingCreationMessageMapper.java (diff)
The file was modifiedservices/connectivity/mapping/src/test/java/org/eclipse/ditto/services/connectivity/mapping/ImplicitThingCreationMessageMapperTest.java (diff)
Commit c0f4850d3736dd8b87b9e12735b389996349cb6c by Yufei Cai
Settle *PreconditionFailedException as successful in consumer actors; read entity ID from headers in ThingErrorResponse factory method.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/gateway/endpoints/src/main/java/org/eclipse/ditto/services/gateway/endpoints/routes/websocket/WebSocketRoute.java (diff)
The file was modifiedservices/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/BaseConsumerActor.java (diff)
The file was modifiedsignals/commands/things/src/main/java/org/eclipse/ditto/signals/commands/things/ThingErrorResponse.java (diff)
Commit b4148c9420e8288aafa726419a4d9ccb815bd4bb by Yufei Cai
Make Ditto headers case-insensitive and case-preserving.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/AbstractDittoHeaders.java (diff)
The file was addedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/Header.java
The file was modifiedservices/connectivity/mapping/src/test/java/org/eclipse/ditto/services/connectivity/mapping/RawMessageMapperTest.java (diff)
The file was modifiedmodel/base/src/test/java/org/eclipse/ditto/model/base/headers/ImmutableDittoHeadersTest.java (diff)
Commit d66f48b4eefb104ee908d0902630927c9bae12fc by Yufei Cai
Ditto headers: ensure case-insensitive object identity; maintain header order; refine copy constructor.

Case-insensitive object identity is necessary because signal enrichment facade
uses Ditto headers as a part of the cache key.

Header order needs be maintained because HttpRequestActorTest expects the headers
in the insertion order.

When constructing from another Ditto headers object, share the underlying headers
map directly to not lose case preservation.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/AbstractDittoHeaders.java (diff)
The file was modifiedprotocol-adapter/src/main/java/org/eclipse/ditto/protocoladapter/HeaderTranslator.java (diff)
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/AbstractDittoHeadersBuilder.java (diff)
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/Header.java (diff)
Commit a0773313050a21e6fe88f9a6d7d352b7c04f55b3 by Yufei Cai
Perform precondition check also for conflict strategies.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedservices/things/persistence/src/test/java/org/eclipse/ditto/services/things/persistence/actors/strategies/commands/ThingConflictStrategyTest.java (diff)
The file was modifiedservices/things/persistence/src/main/java/org/eclipse/ditto/services/things/persistence/actors/strategies/commands/ThingConflictStrategy.java (diff)
The file was addedservices/policies/persistence/src/test/java/org/eclipse/ditto/services/policies/persistence/actors/strategies/commands/PolicyConflictStrategyTest.java
Commit 5f8d20195ece2f0961d01152eeebba820a4730c4 by Yufei Cai
Preserve capitalization in HeaderTranslator to ensure original capitalization in outgoing headers in connectivity; make equality not distinguish capitalization.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/AbstractDittoHeadersBuilder.java (diff)
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/DittoHeaders.java (diff)
The file was modifiedprotocol-adapter/src/main/java/org/eclipse/ditto/protocoladapter/HeaderTranslator.java (diff)
The file was modifiedservices/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/ResponseCollectorActor.java (diff)
The file was modifiedmodel/base/src/test/java/org/eclipse/ditto/model/base/headers/DefaultDittoHeadersBuilderTest.java (diff)
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/AbstractDittoHeaders.java (diff)
The file was modifiedprotocol-adapter/src/test/java/org/eclipse/ditto/protocoladapter/HeaderTranslatorTest.java (diff)
Commit d5d431abf1db185fa2233f5af93857ccb8d91b9a by Yufei Cai
Document case-insensitivity and case-preservation of Ditto headers and case-sensitivity of header:<name> placeholders.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifieddocumentation/src/main/resources/pages/ditto/basic-placeholders.md (diff)
The file was modifieddocumentation/src/main/resources/pages/ditto/protocol-specification.md (diff)
Commit ca21f4f33c49a339f94cb14c264728535db94818 by Yufei Cai
Make header placeholders case-insensitive.

Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
The file was modifieddocumentation/src/main/resources/pages/ditto/basic-placeholders.md (diff)
The file was modifieddocumentation/src/main/resources/pages/ditto/basic-connections.md (diff)
The file was modifiedservices/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/Resolvers.java (diff)
Commit d5c91a4a3b87a3c0b9c5bfec353ad833f38c9565 by Thomas Jaeckle
adjusted "@since" javadoc version to 2.0.0 to be consistent with other changes in development

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/DittoHeaders.java (diff)
The file was modifieddocumentation/src/main/resources/pages/ditto/protocol-specification.md (diff)
The file was modifiedmodel/base/src/main/java/org/eclipse/ditto/model/base/headers/Header.java (diff)