<mavenBuild _class='hudson.maven.MavenBuild'><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><mainArtifact><artifactId>api</artifactId><canonicalName>api-0.0.2-SNAPSHOT.jar</canonicalName><fileName>api-0.0.2-SNAPSHOT.jar</fileName><groupId>org.eclipse.sensinact.gateway.core</groupId><md5sum>fe18696ab6f52126a24193e7e28194a6</md5sum><type>jar</type><version>0.0.2-SNAPSHOT</version></mainArtifact><parent><number>31</number><url>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/</url></parent><pomArtifact><artifactId>api</artifactId><canonicalName>api-0.0.2-SNAPSHOT.pom</canonicalName><fileName>.flattened-pom.xml</fileName><groupId>org.eclipse.sensinact.gateway.core</groupId><md5sum>9277872eea7a197297be06a8662de799</md5sum><type>pom</type><version>0.0.2-SNAPSHOT</version></pomArtifact><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'><artifactsUrl>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/artifact</artifactsUrl><changesUrl>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/changes</changesUrl><displayUrl>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/</displayUrl><testsUrl>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/testReport</testsUrl></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>southbound/virtual/virtual-temperature-sensor/src/main/java/org/eclipse/sensinact/gateway/southbound/virtual/temperature/VirtualTemperatureDto.java</affectedPath><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceMetaDataNotification.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>northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketEndpoint.java</affectedPath><affectedPath>core/impl/src/test/java/org/eclipse/sensinact/core/notification/impl/NotificationSenderTest.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>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/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/notification/ResourceNotificationsTest.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/ResourceDataNotification.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><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceMetaDataNotification.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/impl/src/test/java/org/eclipse/sensinact/core/notification/impl/NotificationSenderTest.java</file></path><path><editType>edit</editType><file>core/api/src/main/java/org/eclipse/sensinact/core/notification/LifecycleNotification.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/api/src/main/java/org/eclipse/sensinact/core/model/Model.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ServiceBuilderImpl.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/SensinactEMFModelManager.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>add</editType><file>core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModel.java</file></path><path><editType>edit</editType><file>core/impl/src/test/java/org/eclipse/sensinact/core/integration/EMFUpdateServiceTest.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/model/nexus/ModelNexus.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/ServiceBuilderImpl.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>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/SensinactModelManagerImpl.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/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>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/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/SensinactEMFModelManager.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><id>timothyjward</id></culprit><culprit><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/j.albert</absoluteUrl><fullName>j.albert</fullName><id>j.albert</id></culprit><mavenArtifacts><mainArtifact><artifactId>api</artifactId><canonicalName>api-0.0.2-SNAPSHOT.jar</canonicalName><fileName>api-0.0.2-SNAPSHOT.jar</fileName><groupId>org.eclipse.sensinact.gateway.core</groupId><md5sum>fe18696ab6f52126a24193e7e28194a6</md5sum><type>jar</type><version>0.0.2-SNAPSHOT</version></mainArtifact><parent><number>31</number><url>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/</url></parent><pomArtifact><artifactId>api</artifactId><canonicalName>api-0.0.2-SNAPSHOT.pom</canonicalName><fileName>.flattened-pom.xml</fileName><groupId>org.eclipse.sensinact.gateway.core</groupId><md5sum>9277872eea7a197297be06a8662de799</md5sum><type>pom</type><version>0.0.2-SNAPSHOT</version></pomArtifact><url>https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/mavenArtifacts/</url></mavenArtifacts></mavenBuild>