Skip to content

Commit 0033f14

Browse files
committed
Changelog and docs updated
1 parent a9c7a19 commit 0033f14

5 files changed

Lines changed: 66 additions & 51 deletions

File tree

build.gradle.kts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,15 @@ mavenPublishing {
2323
dependencies {
2424
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.10.1")
2525
//testImplementation("org.junit.jupiter:junit-jupiter:5.10.1")
26-
testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.10.1")
26+
// Comment before publishing to avoid double signing of the same dependency
27+
//testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.10.1")
2728
}
2829

2930
tasks.named<Test>("test") {
30-
useJUnitPlatform()
31-
//enabled = false
31+
// Comment before publishing
32+
//useJUnitPlatform()
33+
// Uncomment before publishing
34+
enabled = false
3235
}
3336

3437
java {

docs/changelogs/v0.6.0.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,6 @@ No breaking changes. Existing code continues to work unchanged. Applications can
206206

207207
### Physical Adapter Callbacks
208208

209-
210209
Physical Adapters can now receive and react to Digital Twin lifecycle events, enabling adaptive behavior based on synchronization state changes.
211210
While **Digital Adapters** have always received lifecycle updates to notify external observers and implement protocol-specific behavior, this capability was **missing on the Physical side** of the Digital Twin architecture.
212211
Physical Adapters can benefit from lifecycle awareness to:
@@ -241,9 +240,11 @@ Other `LifeCycleListener` callbacks are **not exposed** to Physical Adapters bec
241240
3. **Separation of Concerns**: Physical Adapters should be completely unaware of the Digital Twin's compute state, as managing or reacting to DT-level state is outside their responsibility domain
242241

243242
Existing Physical Adapter implementations require **no changes**—the new callbacks have empty default implementations. Developers can opt-in by overriding `onDigitalTwinSync()` and/or `onDigitalTwinUnSync()` when lifecycle-aware behavior is needed.
243+
244244
### Missing adapter ID in PhysicalAssetWldtEvent
245245

246246
This enhancement resolves **Issue #25** ([GitHub Link](https://github.com/wldt/wldt-core-java/issues/25)), which addresses a critical ambiguity problem in multi-adapter Digital Twin configurations.
247+
247248
#### Problem Statement
248249

249250
When multiple Physical Adapters publish variations to the physical world using identical keys (e.g., two adapters both reporting a `temperature` property), the **`DigitalTwinModel`** cannot distinguish the source adapter of each variation. This ambiguity prevents:
@@ -271,4 +272,15 @@ The `PhysicalAssetWldtEvent` class has been enhanced with a new `physicalAdapter
271272

272273
1. Physical Adapters publish events using internal methods: `publishPhysicalAssetPropertyWldtEvent()`, `publishPhysicalAssetEventWldtEvent()`, `publishPhysicalAssetRelationshipCreatedWldtEvent()`, `publishPhysicalAssetRelationshipDeletedWldtEvent()`
273274
2. These methods automatically inject the adapter's ID via `setPhysicalAdapterId(String physicalAdapterId)` before event propagation
274-
3. The `DigitalTwinModel` and in generale physical events subscribers receive events with full source context
275+
3. The `DigitalTwinModel` and in generale physical events subscribers receive events with full source context
276+
277+
### Refactoring for Content-Type in PhysicalAssetEvent
278+
279+
Added `contentType` (String) field to the `PhysicalAssetEvent` class to allow adapters to communicate
280+
the content type of the physical event body (e.g. `application/json`).
281+
The field is fully accessible via getter and setter methods.
282+
283+
With this change the `PhysicalAssetEvent` now includes the following fields:
284+
285+
- `type`: Domain specific event type (e.g., "temperatureAlert", "motionDetected") that the developer can define based on the physical event semantics maybe with the support of a common ontology or taxonomy.
286+
- `contentType`: The content type of the event body (e.g., "application/json", "text/plain") that allows the receiving Digital Twin Model to correctly interpret the event payload.

docs/dt_definition_basic_concepts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ As schematically illustrated in the previous Figure, involved steps are:
156156
2. Involved Physical Adapters communicate with the Physical Asset, receive data and generate Events (ePA)
157157
to notify about physical property changes
158158
3. Received ePA will be used by the Digital Twin Model in order to run the
159-
Shadowing function and compute the new DT State
159+
Shadowing process through its Digital Twin Model and compute the new DT State
160160
4. The DT can move from the Bound to Shadowed phase until it is able to maintain a proper synchronization
161161
with the physical asset over time through its shadowing process and the generation and maintenance of the DT's State
162162

@@ -168,7 +168,7 @@ The Digital Twin State is structured and characterized by the following elements
168168

169169
Listed elements can be directly associated to the corresponding element of the Physical Asset or generated by DT Model
170170
combining multiple physical properties, actions or relationships at the same time. The Digital Twin State can be managed
171-
through the Shadowing Function and exposes a set of methods for its manipulated. When there is a change in the DT State an event (eDT) will be generated
171+
through the Digital Twin Model and the implemented shadowing process and exposes a set of methods for its manipulated. When there is a change in the DT State an event (eDT) will be generated
172172

173173
The manipulation of DT's State generates a set of DT's events (eDT) associated to each specific variation and evolution of the
174174
twin during its life cyle. These events are used by the Digital Interface and in particular by its Digital Adapters to

0 commit comments

Comments
 (0)