<mavenBuild _class='hudson.maven.MavenBuild'><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://devel.data-in-motion.biz/jenkins/view/all/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$annotation/33/mavenArtifacts/</url></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>annotation-0.0.2-SNAPSHOT.jar</displayPath><fileName>annotation-0.0.2-SNAPSHOT.jar</fileName><relativePath>org.eclipse.sensinact.gateway.core/annotation/0.0.2-SNAPSHOT/annotation-0.0.2-SNAPSHOT.jar</relativePath></artifact><artifact><displayPath>annotation-0.0.2-SNAPSHOT.pom</displayPath><fileName>annotation-0.0.2-SNAPSHOT.pom</fileName><relativePath>org.eclipse.sensinact.gateway.core/annotation/0.0.2-SNAPSHOT/annotation-0.0.2-SNAPSHOT.pom</relativePath></artifact><building>false</building><displayName>#33</displayName><duration>2761</duration><estimatedDuration>2722</estimatedDuration><fullDisplayName>Eclipse Sensinact » SensiNact core Annotations #33</fullDisplayName><id>33</id><inProgress>false</inProgress><keepLog>false</keepLog><number>33</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1723130764541</timestamp><url>https://devel.data-in-motion.biz/jenkins/view/all/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$annotation/33/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Metadata.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/dto/impl/AbstractUpdateDto.java</affectedPath><affectedPath>core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.java</affectedPath><affectedPath>core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/AnnotationBasedDtoExtractorTest.java</affectedPath><affectedPath>core/impl/src/test/java/org/eclipse/sensinact/core/integration/DataUpdateServiceTest.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java</affectedPath><affectedPath>core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/CustomBaseValueDtoExtractorTest.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java</affectedPath><affectedPath>core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/GenericDtoExtractorTest.java</affectedPath><affectedPath>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Data.java</affectedPath><affectedPath>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/DuplicateAction.java</affectedPath><affectedPath>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Service.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetMetadataCommand.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/GenericDtoDataExtractor.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetValueCommand.java</affectedPath><affectedPath>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Provider.java</affectedPath><affectedPath>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Resource.java</affectedPath><commitId>d56f449967ab2d893f97a1736a3d8eb79c23148a</commitId><timestamp>1722331137000</timestamp><author><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/timothyjward</absoluteUrl><fullName>timothyjward</fullName></author><authorEmail>timothyjward@apache.org</authorEmail><comment>Allow data and metadata update de-duplication

This commit adds a DuplicateAction to the pushed updates, which determines the behaviour when the pushed update contains a duplicate value or metadata value. A duplicate value is determined by object equality, or == if one value is null. The default for resource values is that duplicates updates are applied, updating the timestamp and generating a update event. The default for metadata values is that duplicate updates are ignored, avoiding timestamp updates and update events. The reason for this difference is that repeated data readings can often give the same value, but this is a new reading. In general metadata values do not change, and so duplicates aren't interesting.

Signed-off-by: Tim Ward &lt;timothyjward@apache.org&gt;
</comment><date>2024-07-30 10:18:57 +0100</date><id>d56f449967ab2d893f97a1736a3d8eb79c23148a</id><msg>Allow data and metadata update de-duplication</msg><path><editType>add</editType><file>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/DuplicateAction.java</file></path><path><editType>edit</editType><file>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Service.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetMetadataCommand.java</file></path><path><editType>edit</editType><file>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Data.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/GenericDtoDataExtractor.java</file></path><path><editType>edit</editType><file>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Provider.java</file></path><path><editType>edit</editType><file>core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/AnnotationBasedDtoExtractorTest.java</file></path><path><editType>edit</editType><file>core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/CustomBaseValueDtoExtractorTest.java</file></path><path><editType>edit</editType><file>core/impl/src/test/java/org/eclipse/sensinact/core/integration/DataUpdateServiceTest.java</file></path><path><editType>edit</editType><file>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Metadata.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/test/java/org/eclipse/sensinact/core/extract/impl/GenericDtoExtractorTest.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/dto/impl/AbstractUpdateDto.java</file></path><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.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/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Resource.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Timestamp.java</affectedPath><affectedPath>core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java</affectedPath><commitId>508355c944be9bead0063f388f4b31de34007644</commitId><timestamp>1722333026000</timestamp><author><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/timothyjward</absoluteUrl><fullName>timothyjward</fullName></author><authorEmail>timothyjward@apache.org</authorEmail><comment>Further improvements to timestamp mapping
</comment><date>2024-07-30 10:50:26 +0100</date><id>508355c944be9bead0063f388f4b31de34007644</id><msg>Further improvements to timestamp mapping</msg><path><editType>edit</editType><file>core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java</file></path><path><editType>edit</editType><file>core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Timestamp.java</file></path></item></changeSet><culprit><absoluteUrl>https://devel.data-in-motion.biz/jenkins/user/timothyjward</absoluteUrl><fullName>timothyjward</fullName></culprit><mavenArtifacts><url>https://devel.data-in-motion.biz/jenkins/view/all/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$annotation/33/mavenArtifacts/</url></mavenArtifacts></mavenBuild>