<mavenBuild _class='hudson.maven.MavenBuild'><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/mavenArtifacts/</url></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>api-0.0.2-SNAPSHOT.jar</displayPath><fileName>api-0.0.2-SNAPSHOT.jar</fileName><relativePath>org.eclipse.sensinact.gateway.core/api/0.0.2-SNAPSHOT/api-0.0.2-SNAPSHOT.jar</relativePath></artifact><artifact><displayPath>api-0.0.2-SNAPSHOT.pom</displayPath><fileName>api-0.0.2-SNAPSHOT.pom</fileName><relativePath>org.eclipse.sensinact.gateway.core/api/0.0.2-SNAPSHOT/api-0.0.2-SNAPSHOT.pom</relativePath></artifact><building>false</building><displayName>#31</displayName><duration>18062</duration><estimatedDuration>5133</estimatedDuration><fullDisplayName>Eclipse Sensinact » SensiNact core API #31</fullDisplayName><id>31</id><inProgress>false</inProgress><keepLog>false</keepLog><number>31</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1723107714773</timestamp><url>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/notification/LifecycleNotification.java</affectedPath><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceMetaDataNotification.java</affectedPath><affectedPath>southbound/virtual/virtual-temperature-sensor/src/main/java/org/eclipse/sensinact/gateway/southbound/virtual/temperature/VirtualTemperatureDto.java</affectedPath><affectedPath>northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestNorthbound.java</affectedPath><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceActionNotification.java</affectedPath><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceDataNotification.java</affectedPath><affectedPath>northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/notification/ResourceNotificationsTest.java</affectedPath><affectedPath>northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SessionSubscribeTest.java</affectedPath><affectedPath>core/impl/src/test/java/org/eclipse/sensinact/core/notification/impl/NotificationSenderTest.java</affectedPath><affectedPath>northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketEndpoint.java</affectedPath><commitId>9d68852a61656138c22694f9e0988f6b0a9a1e95</commitId><timestamp>1716221106000</timestamp><author><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/timothyjward</absoluteUrl><fullName>timothyjward</fullName></author><authorEmail>timothyjward@apache.org</authorEmail><comment>Include the model name in topic notifications

Filtering at the model level is extremely useful as it permits efficient tracking of multiple providers using the same model. The model URI is required to ensure strict uniqueness, however the model uri is difficult to represent in topic syntax, and would need large amounts of escaping. The trade off is therefore to allow the model name to be used in the topic for rapid checking, with the filter being available for more precise matching if needed.

Signed-off-by: Tim Ward &lt;timothyjward@apache.org&gt;
</comment><date>2024-05-20 17:05:06 +0100</date><id>9d68852a61656138c22694f9e0988f6b0a9a1e95</id><msg>Include the model name in topic notifications</msg><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceActionNotification.java</file></path><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceDataNotification.java</file></path><path><editType>edit</editType><file>northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestNorthbound.java</file></path><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceMetaDataNotification.java</file></path><path><editType>edit</editType><file>core/impl/src/test/java/org/eclipse/sensinact/core/notification/impl/NotificationSenderTest.java</file></path><path><editType>edit</editType><file>northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketEndpoint.java</file></path><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/notification/LifecycleNotification.java</file></path><path><editType>edit</editType><file>northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/notification/ResourceNotificationsTest.java</file></path><path><editType>edit</editType><file>southbound/virtual/virtual-temperature-sensor/src/main/java/org/eclipse/sensinact/gateway/southbound/virtual/temperature/VirtualTemperatureDto.java</file></path><path><editType>edit</editType><file>northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SessionSubscribeTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ServiceImpl.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java</affectedPath><affectedPath>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModel.java</affectedPath><affectedPath>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModelBuilder.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ModelImpl.java</affectedPath><affectedPath>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFService.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ServiceBuilderImpl.java</affectedPath><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/model/Model.java</affectedPath><affectedPath>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/SensinactEMFModelManager.java</affectedPath><affectedPath>core/impl/src/test/java/org/eclipse/sensinact/core/integration/EMFUpdateServiceTest.java</affectedPath><affectedPath>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFServiceBuilder.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ModelBuilderImpl.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetValueCommand.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/SensinactModelManagerImpl.java</affectedPath><commitId>a648fd6334494a065bf1355a64b37a945dcffeed</commitId><timestamp>1716916215000</timestamp><author><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/j.albert</absoluteUrl><fullName>j.albert</fullName></author><authorEmail>j.albert@data-in-motion.biz</authorEmail><comment>fixed NPE due to missing service EClass

Signed-off-by: Juergen Albert &lt;j.albert@data-in-motion.biz&gt;
</comment><date>2024-05-28 19:10:15 +0200</date><id>a648fd6334494a065bf1355a64b37a945dcffeed</id><msg>fixed NPE due to missing service EClass</msg><path><editType>add</editType><file>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFServiceBuilder.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ServiceBuilderImpl.java</file></path><path><editType>add</editType><file>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModel.java</file></path><path><editType>add</editType><file>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModelBuilder.java</file></path><path><editType>edit</editType><file>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/SensinactEMFModelManager.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ModelBuilderImpl.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ServiceImpl.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/SensinactModelManagerImpl.java</file></path><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/model/Model.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetValueCommand.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ModelImpl.java</file></path><path><editType>add</editType><file>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFService.java</file></path><path><editType>edit</editType><file>core/impl/src/test/java/org/eclipse/sensinact/core/integration/EMFUpdateServiceTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/twin/SensinactDigitalTwin.java</affectedPath><commitId>6eebd84301fc3794c5a9dd773c3bcde0d8733afe</commitId><timestamp>1718207057000</timestamp><author><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/timothyjward</absoluteUrl><fullName>timothyjward</fullName></author><authorEmail>timothyjward@apache.org</authorEmail><comment>Expose #getProviders(String modelPackageUri, String model) from the twin

The method getProviders(String, String) existed in the EMF Twin, but not the base twin. As we already use the model package uri extensively in that interface we should expose it here as well.

Signed-off-by: Tim Ward &lt;timothyjward@apache.org&gt;
</comment><date>2024-06-12 16:44:17 +0100</date><id>6eebd84301fc3794c5a9dd773c3bcde0d8733afe</id><msg>Expose #getProviders(String modelPackageUri, String model) from the twin</msg><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/twin/SensinactDigitalTwin.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/EMFGenericDtoDataExtractor.java</affectedPath><affectedPath>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/dto/EMFGenericDto.java</affectedPath><commitId>61101a6c9a361235909f11624cf1e8ea199fb126</commitId><timestamp>1718721481000</timestamp><author><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/timothyjward</absoluteUrl><fullName>timothyjward</fullName></author><authorEmail>timothyjward@apache.org</authorEmail><comment>Reinstate final modifier for GenericDto

The EMF dto altered the GenericDto so that it could extend it. The GenericDto was intentionally final to prevent usage mistakes in the API. There are few fields and we should copy them.

Signed-off-by: Tim Ward &lt;timothyjward@apache.org&gt;
</comment><date>2024-06-18 15:38:01 +0100</date><id>61101a6c9a361235909f11624cf1e8ea199fb126</id><msg>Reinstate final modifier for GenericDto</msg><path><editType>edit</editType><file>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/dto/EMFGenericDto.java</file></path><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/EMFGenericDtoDataExtractor.java</file></path></item></changeSet><culprit><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/timothyjward</absoluteUrl><fullName>timothyjward</fullName></culprit><culprit><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/j.albert</absoluteUrl><fullName>j.albert</fullName></culprit><mavenArtifacts><url>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/mavenArtifacts/</url></mavenArtifacts></mavenBuild>