{
  "_class" : "hudson.maven.MavenBuild",
  "actions" : [
    {
      
    },
    {
      "_class" : "hudson.maven.reporters.MavenArtifactRecord",
      "url" : "https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/33/mavenArtifacts/"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "api-0.0.2-SNAPSHOT.jar",
      "fileName" : "api-0.0.2-SNAPSHOT.jar",
      "relativePath" : "org.eclipse.sensinact.gateway.core/api/0.0.2-SNAPSHOT/api-0.0.2-SNAPSHOT.jar"
    },
    {
      "displayPath" : "api-0.0.2-SNAPSHOT.pom",
      "fileName" : "api-0.0.2-SNAPSHOT.pom",
      "relativePath" : "org.eclipse.sensinact.gateway.core/api/0.0.2-SNAPSHOT/api-0.0.2-SNAPSHOT.pom"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#33",
  "duration" : 3137,
  "estimatedDuration" : 5133,
  "executor" : None,
  "fullDisplayName" : "Eclipse Sensinact » SensiNact core API #33",
  "id" : "33",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 33,
  "queueId" : -1,
  "result" : "SUCCESS",
  "timestamp" : 1723130764541,
  "url" : "https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/33/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.maven.FilteredChangeLogSet",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardActDescription.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardSet.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/command/impl/WhiteboardImplTest.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/AbstractDescriptiveAct.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardHandler.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SetMethod.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardAct.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/package-info.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/AbstractDescriptiveReadWrite.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/AbstractDescriptiveReadOnly.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/command/impl/GatewayThreadImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SensinactWhiteboard.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardResourceDescription.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/AbstractResourceMethod.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/ActMethod.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/GetMethod.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/WhiteboardContext.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardGet.java"
        ],
        "commitId" : "4a1d370527a9e52c11a7536a5f3f11d49745da2c",
        "timestamp" : 1720614241000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Initial version of the programmatic whiteboard\u000a",
        "date" : "2024-07-10 14:24:01 +0200",
        "id" : "4a1d370527a9e52c11a7536a5f3f11d49745da2c",
        "msg" : "Initial version of the programmatic whiteboard",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/AbstractDescriptiveReadOnly.java"
          },
          {
            "editType" : "add",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/WhiteboardContext.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardHandler.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardGet.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardAct.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardActDescription.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/package-info.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/command/impl/GatewayThreadImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/AbstractResourceMethod.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/ActMethod.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/AbstractDescriptiveReadWrite.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/GetMethod.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardSet.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SetMethod.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SensinactWhiteboard.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/command/impl/WhiteboardImplTest.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/AbstractDescriptiveAct.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardResourceDescription.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardActDescription.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardResourceDescription.java"
        ],
        "commitId" : "3b4582c8362d1e9f3e8e9d9e540398b2e31e73e2",
        "timestamp" : 1720622713000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Added some javadoc\u000a",
        "date" : "2024-07-10 16:45:13 +0200",
        "id" : "3b4582c8362d1e9f3e8e9d9e540398b2e31e73e2",
        "msg" : "Added some javadoc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardResourceDescription.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardActDescription.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardConstants.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SensinactWhiteboard.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/command/impl/WhiteboardImplTest.java"
        ],
        "commitId" : "ed3470c70586299daf669554fe3acfe5d4742049",
        "timestamp" : 1720626659000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Put constants in an interface and use them internally\u000a\u000aReuse the previous property name for the list of providers\u000a",
        "date" : "2024-07-10 17:50:59 +0200",
        "id" : "ed3470c70586299daf669554fe3acfe5d4742049",
        "msg" : "Put constants in an interface and use them internally",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/command/impl/WhiteboardImplTest.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardConstants.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SensinactWhiteboard.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/command/impl/GatewayThreadImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SensinactWhiteboard.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/AbstractResourceMethod.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/WhiteboardContext.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardHandler.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardAct.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardGet.java"
        ],
        "commitId" : "6bb42dadc8af04bcad80ed25fb5d6afcfc54704f",
        "timestamp" : 1720695006000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Removed generic from WhiteboardHandler interface\u000a",
        "date" : "2024-07-11 12:50:06 +0200",
        "id" : "6bb42dadc8af04bcad80ed25fb5d6afcfc54704f",
        "msg" : "Removed generic from WhiteboardHandler interface",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/WhiteboardContext.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardHandler.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/AbstractResourceMethod.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardAct.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardGet.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/command/impl/GatewayThreadImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SensinactWhiteboard.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardConstants.java"
        ],
        "commitId" : "a95e3647012a18620559560904601feb13677cfd",
        "timestamp" : 1720695078000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Added note on javadoc\u000a",
        "date" : "2024-07-11 12:51:18 +0200",
        "id" : "a95e3647012a18620559560904601feb13677cfd",
        "msg" : "Added note on javadoc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardConstants.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardResourceDescription.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/command/impl/WhiteboardImplTest.java"
        ],
        "commitId" : "ca3e7b448dd1927669759a7b213e5b3af958aa9f",
        "timestamp" : 1720695355000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Addressed review comments\u000a",
        "date" : "2024-07-11 12:55:55 +0200",
        "id" : "ca3e7b448dd1927669759a7b213e5b3af958aa9f",
        "msg" : "Addressed review comments",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardResourceDescription.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/command/impl/WhiteboardImplTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ResourceSnapshotImpl.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ProviderSnapshot.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ServiceSnapshotImpl.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ServiceSnapshot.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ResourceSnapshot.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ProviderSnapshotImpl.java"
        ],
        "commitId" : "6a6a88125518c47f1680dafa6e8e7532005451b6",
        "timestamp" : 1721829538000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Small enhancements of the provider snapshot API\u000a\u000aAdded utility methods to easily access services and resources by name\u000a",
        "date" : "2024-07-24 15:58:58 +0200",
        "id" : "6a6a88125518c47f1680dafa6e8e7532005451b6",
        "msg" : "Small enhancements of the provider snapshot API",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ProviderSnapshot.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ResourceSnapshot.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ServiceSnapshot.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ProviderSnapshotImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ResourceSnapshotImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ServiceSnapshotImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ResourceSnapshotImpl.java",
          "core/models/metadata/src/main/resources/model/metadata.ecore",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ResourceBuilderImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ResourceImpl.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/model/Resource.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/twin/impl/SensinactTwinTest.java",
          "core/models/metadata/src/main/resources/model/metadata.genmodel",
          "core/api/src/main/java/org/eclipse/sensinact/core/model/ResourceBuilder.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/model/impl/ModelBuildingTest.java"
        ],
        "commitId" : "fad36b2ed0152578dc5374731fda27b86b720840",
        "timestamp" : 1721835870000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Allow default resource metadata to be set in the model\u000a\u000aProvider instances have the ability to independently set metadata values, however in most cases metadata is common to all instances of a model and it is relatively static. It therefore makes sense to be able to define default metadata at the resource model level which is applied to the instance when it is first created.\u000a\u000aNote that only the Extra metadata is used to populate the defaults. This prevents other data about the resource (e.g. the resource type and value type) from being added and bloating the metadata. To differentiate default metadata values from metadata values which are set later the default metadata values will have no associated timestamp. This is in line with the behaviour for default resource values.\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-07-24 16:44:30 +0100",
        "id" : "fad36b2ed0152578dc5374731fda27b86b720840",
        "msg" : "Allow default resource metadata to be set in the model",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/models/metadata/src/main/resources/model/metadata.ecore"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ResourceBuilderImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/model/impl/ModelBuildingTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ResourceSnapshotImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/twin/impl/SensinactTwinTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/models/metadata/src/main/resources/model/metadata.genmodel"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/model/Resource.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/model/ResourceBuilder.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ResourceImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Metadata.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/dto/impl/AbstractUpdateDto.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/AnnotationBasedDtoExtractorTest.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/integration/DataUpdateServiceTest.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/CustomBaseValueDtoExtractorTest.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/GenericDtoExtractorTest.java",
          "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Data.java",
          "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/DuplicateAction.java",
          "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Service.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/GenericDtoDataExtractor.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetMetadataCommand.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetValueCommand.java",
          "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Provider.java",
          "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Resource.java"
        ],
        "commitId" : "d56f449967ab2d893f97a1736a3d8eb79c23148a",
        "timestamp" : 1722331137000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Allow data and metadata update de-duplication\u000a\u000aThis 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.\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-07-30 10:18:57 +0100",
        "id" : "d56f449967ab2d893f97a1736a3d8eb79c23148a",
        "msg" : "Allow data and metadata update de-duplication",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/DuplicateAction.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/GenericDtoDataExtractor.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/integration/DataUpdateServiceTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Metadata.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetMetadataCommand.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Service.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/CustomBaseValueDtoExtractorTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Data.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Provider.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Resource.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/GenericDtoExtractorTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetValueCommand.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/dto/impl/AbstractUpdateDto.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/AnnotationBasedDtoExtractorTest.java"
          }
        ]
      }
    ],
    "kind" : None
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
      "fullName" : "thomas.calmant"
    },
    {
      "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
      "fullName" : "timothyjward"
    }
  ],
  "mavenArtifacts" : {
    "url" : "https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/33/mavenArtifacts/"
  }
}