{
  "_class" : "hudson.maven.MavenModuleSetBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by gg-dim"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dim_build_master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 26,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1738146a5cd0dac73eb3de76b8d19b8d7deba934",
            "branch" : [
              {
                "SHA1" : "1738146a5cd0dac73eb3de76b8d19b8d7deba934",
                "name" : "refs/remotes/origin/dim_build_master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1738146a5cd0dac73eb3de76b8d19b8d7deba934",
            "branch" : [
              {
                "SHA1" : "1738146a5cd0dac73eb3de76b8d19b8d7deba934",
                "name" : "refs/remotes/origin/dim_build_master"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 33,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d25a0864d37a9f592dd4f8339dc01a81ea4b33a8",
            "branch" : [
              {
                "SHA1" : "d25a0864d37a9f592dd4f8339dc01a81ea4b33a8",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d25a0864d37a9f592dd4f8339dc01a81ea4b33a8",
            "branch" : [
              {
                "SHA1" : "d25a0864d37a9f592dd4f8339dc01a81ea4b33a8",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "d25a0864d37a9f592dd4f8339dc01a81ea4b33a8",
        "branch" : [
          {
            "SHA1" : "d25a0864d37a9f592dd4f8339dc01a81ea4b33a8",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/DataInMotion/org.eclipse.sensinact.gateway.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      "_class" : "hudson.maven.reporters.MavenAggregatedArtifactRecord"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#33",
  "duration" : 243496,
  "estimatedDuration" : 244921,
  "executor" : None,
  "fullDisplayName" : "Eclipse Sensinact #33",
  "id" : "33",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 33,
  "queueId" : 159597,
  "result" : "SUCCESS",
  "timestamp" : 1723130762171,
  "url" : "https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/33/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketEndpoint.java"
        ],
        "commitId" : "d26d37856be5f673d40f26aac9f6db12e2815560",
        "timestamp" : 1719492903000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Added tests for null parsed filter when creating a predicate\u000a",
        "date" : "2024-06-27 14:55:03 +0200",
        "id" : "d26d37856be5f673d40f26aac9f6db12e2815560",
        "msg" : "Added tests for null parsed filter when creating a predicate",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketEndpoint.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/metrics/impl/MetricsProviderHandler.java"
        ],
        "commitId" : "962b4263b7aed4f9a7f617c60cfeeedd2279ffce",
        "timestamp" : 1719821445000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Added a metrics provider handler\u000a",
        "date" : "2024-07-01 10:10:45 +0200",
        "id" : "962b4263b7aed4f9a7f617c60cfeeedd2279ffce",
        "msg" : "Added a metrics provider handler",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/metrics/impl/MetricsProviderHandler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/metrics/impl/MetricsManager.java"
        ],
        "commitId" : "14ac75fd30dd588a0f9ffd36ca677e56de3c38ad",
        "timestamp" : 1719821445000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Metrics: Keep track of gauges bound before activation\u000a",
        "date" : "2024-07-01 10:10:45 +0200",
        "id" : "14ac75fd30dd588a0f9ffd36ca677e56de3c38ad",
        "msg" : "Metrics: Keep track of gauges bound before activation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/metrics/impl/MetricsManager.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/test/java/org/eclipse/sensinact/core/integration/metrics/MetricsTest.java"
        ],
        "commitId" : "b5620b533bf9d1a843640e3d6229b5d9b5f02e2a",
        "timestamp" : 1719821445000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Added metrics provider presence test\u000a",
        "date" : "2024-07-01 10:10:45 +0200",
        "id" : "b5620b533bf9d1a843640e3d6229b5d9b5f02e2a",
        "msg" : "Added metrics provider presence test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/integration/metrics/MetricsTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/metrics/impl/CallbackReporter.java"
        ],
        "commitId" : "369831bc264e7abf8a7314b916da0065f03c6b5a",
        "timestamp" : 1719821445000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Normalize metrics resources names\u000a",
        "date" : "2024-07-01 10:10:45 +0200",
        "id" : "369831bc264e7abf8a7314b916da0065f03c6b5a",
        "msg" : "Normalize metrics resources names",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/metrics/impl/CallbackReporter.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/test/java/org/eclipse/sensinact/core/integration/metrics/MetricsTest.java"
        ],
        "commitId" : "d87aac56080979168826db8a91e31f3f407bff4b",
        "timestamp" : 1719828610000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Review metrics provider test\u000a",
        "date" : "2024-07-01 12:10:10 +0200",
        "id" : "d87aac56080979168826db8a91e31f3f407bff4b",
        "msg" : "Review metrics provider test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/integration/metrics/MetricsTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "southbound/mqtt/mqtt-device-factory/src/main/java/org/eclipse/sensinact/gateway/southbound/mqtt/factory/MqttDeviceFactoryHandler.java",
          "southbound/mqtt/mqtt-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/mqtt/factory/ContextTest.java"
        ],
        "commitId" : "3a7750455e0b94be49dfc11cd9c9d86254159c0e",
        "timestamp" : 1719915475000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Fixed computation of topic segments for MQTT DevFactory context\u000a",
        "date" : "2024-07-02 12:17:55 +0200",
        "id" : "3a7750455e0b94be49dfc11cd9c9d86254159c0e",
        "msg" : "Fixed computation of topic segments for MQTT DevFactory context",
        "paths" : [
          {
            "editType" : "add",
            "file" : "southbound/mqtt/mqtt-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/mqtt/factory/ContextTest.java"
          },
          {
            "editType" : "edit",
            "file" : "southbound/mqtt/mqtt-device-factory/src/main/java/org/eclipse/sensinact/gateway/southbound/mqtt/factory/MqttDeviceFactoryHandler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/emf/compare/EMFCompareUtil.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/model/nexus/impl/SubscriptionTest.java",
          "core/models/testdata/src/main/resources/model/testdata.ecore",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/integration/EMFUpdateServiceTest.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/emf/util/EMFTestUtil.java",
          "core/impl/src/test/resources/model/extended.ecore",
          "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactResourceImpl.java",
          "core/models/testdata/src/main/resources/model/testdata.genmodel"
        ],
        "commitId" : "d25bd7a0758ee5e7089bf33a3e821b50221fc827",
        "timestamp" : 1719928290000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/j.albert",
          "fullName" : "j.albert"
        },
        "authorEmail" : "j.albert@data-in-motion.biz",
        "comment" : "Enables complex EMF Resource Objects\u000a\u000aSigned-off-by: Juergen Albert <j.albert@data-in-motion.biz>\u000a",
        "date" : "2024-07-02 15:51:30 +0200",
        "id" : "d25bd7a0758ee5e7089bf33a3e821b50221fc827",
        "msg" : "Enables complex EMF Resource Objects",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactResourceImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/resources/model/extended.ecore"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/model/nexus/impl/SubscriptionTest.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/emf/util/EMFTestUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "core/models/testdata/src/main/resources/model/testdata.ecore"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/emf/compare/EMFCompareUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/integration/EMFUpdateServiceTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/models/testdata/src/main/resources/model/testdata.genmodel"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/emf/compare/EMFCompareUtil.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/model/nexus/impl/SubscriptionTest.java"
        ],
        "commitId" : "e8eaa0b41008c83c54038d0496f89c777c894a40",
        "timestamp" : 1719928290000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/j.albert",
          "fullName" : "j.albert"
        },
        "authorEmail" : "j.albert@data-in-motion.biz",
        "comment" : "Adds addition Test\u000a\u000aSigned-off-by: Juergen Albert <j.albert@data-in-motion.biz>\u000a",
        "date" : "2024-07-02 15:51:30 +0200",
        "id" : "e8eaa0b41008c83c54038d0496f89c777c894a40",
        "msg" : "Adds addition Test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/emf/compare/EMFCompareUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/model/nexus/impl/SubscriptionTest.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/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/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SetMethod.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardHandler.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/package-info.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardAct.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/api/src/main/java/org/eclipse/sensinact/core/whiteboard/WhiteboardResourceDescription.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/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" : "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/WhiteboardActDescription.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/SetMethod.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/GetMethod.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/package-info.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/AbstractDescriptiveAct.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/WhiteboardSet.java"
          },
          {
            "editType" : "add",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/whiteboard/AbstractDescriptiveReadWrite.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/WhiteboardResourceDescription.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/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"
        ],
        "commitId" : "00379325f42ae3a7fb5be0ef32e1e9692dcf8397",
        "timestamp" : 1720614561000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Added WB handler providers property update\u000a\u000aLike before, updates of other properties are not supported\u000a",
        "date" : "2024-07-10 14:29:21 +0200",
        "id" : "00379325f42ae3a7fb5be0ef32e1e9692dcf8397",
        "msg" : "Added WB handler providers property update",
        "paths" : [
          {
            "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/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/SensinactWhiteboard.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/RegistryKey.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/command/impl/WhiteboardImplTest.java"
        ],
        "commitId" : "1e0e4769d4c558a331706ccebe52192806de9dcb",
        "timestamp" : 1720621116000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Better Whiteboard handlers priority test\u000a",
        "date" : "2024-07-10 16:18:36 +0200",
        "id" : "1e0e4769d4c558a331706ccebe52192806de9dcb",
        "msg" : "Better Whiteboard handlers priority test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/whiteboard/impl/RegistryKey.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"
          }
        ]
      },
      {
        "_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" : "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"
          },
          {
            "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/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/command/impl/GatewayThreadImpl.java"
          },
          {
            "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/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/whiteboard/impl/SensinactWhiteboard.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/WhiteboardHandler.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" : [
          "northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SensiNactSessionImpl.java"
        ],
        "commitId" : "31c92de435f7f18a30615eceb007c3105b2128e4",
        "timestamp" : 1720709148000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Fixed resource description construction in session\u000a\u000aA sensiNact resource scoped bean was used in another scope\u000a",
        "date" : "2024-07-11 16:45:48 +0200",
        "id" : "31c92de435f7f18a30615eceb007c3105b2128e4",
        "msg" : "Fixed resource description construction in session",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SensiNactSessionImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/converter/ResourceTypeConverter.java",
          "northbound/gogo-shell/pom.xml",
          "northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/GetCommands.java",
          "northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/ActCommands.java"
        ],
        "commitId" : "dfa86c7aaa938be397a5d801668de07484369713",
        "timestamp" : 1720714487000,
        "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 Gogo shell commands for sensiNact\u000a\u000a* get command converts value to string\u000a\u000a* act checks if arguments are known and converts them with OSGi converter\u000a\u000a* Added support for more types in ResourceTypeConverter\u000a",
        "date" : "2024-07-11 18:14:47 +0200",
        "id" : "dfa86c7aaa938be397a5d801668de07484369713",
        "msg" : "Small enhancements of the Gogo shell commands for sensiNact",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/GetCommands.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/converter/ResourceTypeConverter.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/gogo-shell/pom.xml"
          },
          {
            "editType" : "edit",
            "file" : "northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/ActCommands.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/test/java/org/eclipse/sensinact/core/twin/impl/SensinactTwinTest.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ServiceSnapshotImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactProviderImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactDigitalTwinImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/model/impl/ModelBuildingTest.java"
        ],
        "commitId" : "91d5fff46069d24d2f5253628a0245e0372964a3",
        "timestamp" : 1721745607000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Fix to list services and resources on newly created provider instances\u000a\u000a... else services when no value was explicitly set are not snapshotted\u000a",
        "date" : "2024-07-23 16:40:07 +0200",
        "id" : "91d5fff46069d24d2f5253628a0245e0372964a3",
        "msg" : "Fix to list services and resources on newly created provider instances",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ServiceSnapshotImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactProviderImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactDigitalTwinImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/model/impl/ModelBuildingTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/twin/impl/SensinactTwinTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactServiceImpl.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/twin/impl/SensinactTwinTest.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactDigitalTwinImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactResourceImpl.java"
        ],
        "commitId" : "41054e4bd79669268da7f55edb308ec0f80f5137",
        "timestamp" : 1721748172000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Added ability to set resource metadata before it gets a value\u000a",
        "date" : "2024-07-23 17:22:52 +0200",
        "id" : "41054e4bd79669268da7f55edb308ec0f80f5137",
        "msg" : "Added ability to set resource metadata before it gets a value",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/twin/impl/SensinactTwinTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactDigitalTwinImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/twin/impl/SensinactResourceImpl.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/twin/impl/SensinactServiceImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java"
        ],
        "commitId" : "2671b7b6568c7dd6956e5807ed74ce8c210a1a67",
        "timestamp" : 1721749068000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Protect against metadata w/o timestamp\u000a",
        "date" : "2024-07-23 17:37:48 +0200",
        "id" : "2671b7b6568c7dd6956e5807ed74ce8c210a1a67",
        "msg" : "Protect against metadata w/o timestamp",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "pom.xml"
        ],
        "commitId" : "9a421246729bbb0fbe1eb2368cdad3bfe6d4490f",
        "timestamp" : 1721810769000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Update to Dash Plugin 1.1.0\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-07-24 09:46:09 +0100",
        "id" : "9a421246729bbb0fbe1eb2368cdad3bfe6d4490f",
        "msg" : "Update to Dash Plugin 1.1.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "pom.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ResourceSnapshotImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ServiceSnapshotImpl.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ProviderSnapshot.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/ServiceSnapshot.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ServiceSnapshotImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ProviderSnapshotImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ProviderSnapshot.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ResourceSnapshotImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/snapshot/ResourceSnapshot.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "northbound/filters/ldap/src/test/java/org/eclipse/sensinact/northbound/filters/ldap/LdapParserTest.java",
          "northbound/sensorthings/filter/src/test/java/org/eclipse/sensinact/northbound/filters/sensorthings/RcUtils.java",
          "northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/NotificationSnapshot.java"
        ],
        "commitId" : "2af3b585e0fb8f468425897b5fc4002f3d1701e7",
        "timestamp" : 1721829541000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Use new Snapshot API in other projects\u000a",
        "date" : "2024-07-24 15:59:01 +0200",
        "id" : "2af3b585e0fb8f468425897b5fc4002f3d1701e7",
        "msg" : "Use new Snapshot API in other projects",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "northbound/filters/ldap/src/test/java/org/eclipse/sensinact/northbound/filters/ldap/LdapParserTest.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/filter/src/test/java/org/eclipse/sensinact/northbound/filters/sensorthings/RcUtils.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/NotificationSnapshot.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/nexus/ModelNexus.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ResourceBuilderImpl.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/models/metadata/src/main/resources/model/metadata.genmodel",
          "core/impl/src/test/java/org/eclipse/sensinact/core/twin/impl/SensinactTwinTest.java",
          "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/models/metadata/src/main/resources/model/metadata.genmodel"
          },
          {
            "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/snapshot/ResourceSnapshotImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ResourceBuilderImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/model/impl/ModelBuildingTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/model/Resource.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/twin/impl/SensinactTwinTest.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" : [
          "northbound/sensorthings/mqtt/src/main/java/org/eclipse/sensinact/gateway/northbount/sensorthings/mqtt/SensorthingsMapper.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ProviderSnapshotImpl.java"
        ],
        "commitId" : "202312d2e79e2228fa8e964a74f5cfc492c199ee",
        "timestamp" : 1721837150000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Fixed provider snapshot filterEmptyServices to keep services insertion order\u000a",
        "date" : "2024-07-24 18:05:50 +0200",
        "id" : "202312d2e79e2228fa8e964a74f5cfc492c199ee",
        "msg" : "Fixed provider snapshot filterEmptyServices to keep services insertion order",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/mqtt/src/main/java/org/eclipse/sensinact/gateway/northbount/sensorthings/mqtt/SensorthingsMapper.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/snapshot/ProviderSnapshotImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/RootResourceAccessImpl.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/LocationsAccessImpl.java",
          "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/filters/CountFilter.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/DatastreamsAccessImpl.java",
          "northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/FiltersTest.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/DtoMapper.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/AbstractAccess.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ThingsAccessImpl.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/FeaturesOfInterestAccessImpl.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/HistoricalLocationsAccessImpl.java",
          "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/IFilterConstants.java",
          "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/filters/ExpansionSettingsImpl.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ObservationsAccessImpl.java",
          "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/filters/ExpandFilter.java",
          "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/ExpansionSettings.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/SensorsAccessImpl.java",
          "northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/ObservationHistoryTest.java",
          "northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/TestUtils.java",
          "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ObservedPropertiesAccessImpl.java"
        ],
        "commitId" : "79ed936acb54a0e967160420560a37f864f12751",
        "timestamp" : 1721908046000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Implement the expand query for SensorThings northbound\u000a\u000aThis commit adds a backing implementation for the expand query for the SensorThings REST API. This is a pervasive change which requires us to carry context throughout the query so as to attach additional data structures based on the filter content.\u000a\u000a* All queries now use full ProviderSnapshot instances so that we don't have to re-query for other resource data when filling in expansions\u000a* Limited bulk data is included in expansions to prevent the JSON size exploding\u000a* Data context is mapped by id to ensure we can expand values in lists\u000a* All context is carried outside the DTO to avoid unnecessary fields appearing in the JSON output\u000a\u000aNote that we require that all ids are able to be turned into strings. This is currently true throughout the gateway.\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-07-25 12:47:26 +0100",
        "id" : "79ed936acb54a0e967160420560a37f864f12751",
        "msg" : "Implement the expand query for SensorThings northbound",
        "paths" : [
          {
            "editType" : "add",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/AbstractAccess.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/filters/CountFilter.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ThingsAccessImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/filters/ExpandFilter.java"
          },
          {
            "editType" : "add",
            "file" : "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/ExpansionSettings.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/HistoricalLocationsAccessImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/ObservationHistoryTest.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/SensorsAccessImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/RootResourceAccessImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/FiltersTest.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/IFilterConstants.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ObservationsAccessImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/TestUtils.java"
          },
          {
            "editType" : "add",
            "file" : "northbound/sensorthings/rest.api/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/filters/ExpansionSettingsImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/DatastreamsAccessImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/DtoMapper.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/FeaturesOfInterestAccessImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ObservedPropertiesAccessImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/LocationsAccessImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "southbound/device-factory/device-factory-core/src/main/java/org/eclipse/sensinact/gateway/southbound/device/factory/impl/FactoryParserHandler.java",
          "southbound/device-factory/device-factory-core/src/test/java/org/eclipse/sensinact/gateway/southbound/device/factory/impl/RecordHandlingTest.java"
        ],
        "commitId" : "e8798fffedf01e025126744cf8ee6f04f87295bd",
        "timestamp" : 1721913959000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Added support for resource metadata in device factory\u000a",
        "date" : "2024-07-25 15:25:59 +0200",
        "id" : "e8798fffedf01e025126744cf8ee6f04f87295bd",
        "msg" : "Added support for resource metadata in device factory",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "southbound/device-factory/device-factory-core/src/test/java/org/eclipse/sensinact/gateway/southbound/device/factory/impl/RecordHandlingTest.java"
          },
          {
            "editType" : "edit",
            "file" : "southbound/device-factory/device-factory-core/src/main/java/org/eclipse/sensinact/gateway/southbound/device/factory/impl/FactoryParserHandler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/DescriptionsTest.java",
          "northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/impl/QueryHandler.java"
        ],
        "commitId" : "d03aef6cfddd2b141148af6edd702819795c9c04",
        "timestamp" : 1721914523000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Fixed inclusion of metadata in resource description\u000a\u000aExclude timestamp as it is associated to resource value (GET)\u000a",
        "date" : "2024-07-25 15:35:23 +0200",
        "id" : "d03aef6cfddd2b141148af6edd702819795c9c04",
        "msg" : "Fixed inclusion of metadata in resource description",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/impl/QueryHandler.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/DescriptionsTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/dto/query/QueryGetDTO.java",
          "northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/impl/QueryHandler.java",
          "northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/dto/result/ResponseGetDTO.java",
          "northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/api/IRestNorthbound.java",
          "northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestNorthbound.java"
        ],
        "commitId" : "48ec9bb6a5170724d31ac49ab438b964bd50771e",
        "timestamp" : 1721915591000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Add metadata to resource GET when requested\u000a\u000aAdded a 'metadata' query string to resource GET on REST API\u000a",
        "date" : "2024-07-25 15:53:11 +0200",
        "id" : "48ec9bb6a5170724d31ac49ab438b964bd50771e",
        "msg" : "Add metadata to resource GET when requested",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/impl/QueryHandler.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/dto/result/ResponseGetDTO.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/api/IRestNorthbound.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestNorthbound.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/dto/query/QueryGetDTO.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "southbound/device-factory/device-factory-core/src/main/java/org/eclipse/sensinact/gateway/southbound/device/factory/impl/FactoryParserHandler.java"
        ],
        "commitId" : "5dfb831176f88c28da76336ed97375d60a051bcf",
        "timestamp" : 1722243259000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
          "fullName" : "thomas.calmant"
        },
        "authorEmail" : "thomas.calmant@gmail.com",
        "comment" : "Mark metadata DTOs with NullAction.IGNORE\u000a\u000aAvoids setting the value to null while updating the metadata\u000a",
        "date" : "2024-07-29 10:54:19 +0200",
        "id" : "5dfb831176f88c28da76336ed97375d60a051bcf",
        "msg" : "Mark metadata DTOs with NullAction.IGNORE",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "southbound/device-factory/device-factory-core/src/main/java/org/eclipse/sensinact/gateway/southbound/device/factory/impl/FactoryParserHandler.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/guides.md",
          "docs/source/root-toc.md"
        ],
        "commitId" : "cd470de84cf5447c733d9e51b05f86ac8776c197",
        "timestamp" : 1722258517000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "[doc] remove empty 'how-to' chapter\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-07-29 15:08:37 +0200",
        "id" : "cd470de84cf5447c733d9e51b05f86ac8776c197",
        "msg" : "[doc] remove empty 'how-to' chapter",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "docs/source/guides.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/root-toc.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/index.md"
        ],
        "commitId" : "dc936e6531af6c5a520b176b4debc8dbe94fec82",
        "timestamp" : 1722258701000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "[doc] describe northbound&southbound concepts\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-07-29 15:11:41 +0200",
        "id" : "dc936e6531af6c5a520b176b4debc8dbe94fec82",
        "msg" : "[doc] describe northbound&southbound concepts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/index.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/setup.md"
        ],
        "commitId" : "e389d35422ae33cd344837ad2047f8330d6b15eb",
        "timestamp" : 1722258707000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "[doc] improve install instructions\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-07-29 15:11:47 +0200",
        "id" : "e389d35422ae33cd344837ad2047f8330d6b15eb",
        "msg" : "[doc] improve install instructions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/setup.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/distribution/Distribution.md",
          "docs/source/index.md",
          "docs/source/examples/Configuring.md",
          "docs/source/examples/_index.md",
          "docs/source/examples/Download.md"
        ],
        "commitId" : "5c25c36ec9d30f185aaa752718eb2db245fb382e",
        "timestamp" : 1722258707000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "[doc] deduplicate install instructions\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-07-29 15:11:47 +0200",
        "id" : "5c25c36ec9d30f185aaa752718eb2db245fb382e",
        "msg" : "[doc] deduplicate install instructions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/distribution/Distribution.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/examples/_index.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/examples/Configuring.md"
          },
          {
            "editType" : "delete",
            "file" : "docs/source/examples/Download.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/index.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/setup.md",
          "docs/source/root-toc.md",
          "docs/source/index.md",
          "docs/source/quick-start/_index.md",
          "docs/source/quick-start/Northbound.md"
        ],
        "commitId" : "1bc99772e8fd9cbe7c58a448704e4c9b63d0ed63",
        "timestamp" : 1722259576000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "[doc] improve northbound quick-start\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-07-29 15:26:16 +0200",
        "id" : "1bc99772e8fd9cbe7c58a448704e4c9b63d0ed63",
        "msg" : "[doc] improve northbound quick-start",
        "paths" : [
          {
            "editType" : "add",
            "file" : "docs/source/quick-start/Northbound.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/index.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/root-toc.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/setup.md"
          },
          {
            "editType" : "add",
            "file" : "docs/source/quick-start/_index.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/examples/Configuring.md",
          "docs/source/examples/Interacting.md",
          "docs/source/getting-started.md",
          "docs/source/examples/_index.md"
        ],
        "commitId" : "61e4218fafce131e4cd7cd28b643744881f3f25d",
        "timestamp" : 1722259613000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "[doc] deduplicate northbound quick-start\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-07-29 15:26:53 +0200",
        "id" : "61e4218fafce131e4cd7cd28b643744881f3f25d",
        "msg" : "[doc] deduplicate northbound quick-start",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/getting-started.md"
          },
          {
            "editType" : "delete",
            "file" : "docs/source/examples/Configuring.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/examples/Interacting.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/examples/_index.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/quick-start/_index.md",
          "docs/source/quick-start/Southbound.md",
          "docs/source/index.md"
        ],
        "commitId" : "1305208d475d97f1b68afd56c9380fa10461fa86",
        "timestamp" : 1722259613000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "[doc] improve southbound quick-start\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-07-29 15:26:53 +0200",
        "id" : "1305208d475d97f1b68afd56c9380fa10461fa86",
        "msg" : "[doc] improve southbound quick-start",
        "paths" : [
          {
            "editType" : "add",
            "file" : "docs/source/quick-start/Southbound.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/index.md"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/quick-start/_index.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/root-toc.md",
          "docs/source/getting-started.md"
        ],
        "commitId" : "2d17caca35f06ed1a7920036934de11cf5923edb",
        "timestamp" : 1722259613000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "[doc] deduplicate getting-started\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-07-29 15:26:53 +0200",
        "id" : "2d17caca35f06ed1a7920036934de11cf5923edb",
        "msg" : "[doc] deduplicate getting-started",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/root-toc.md"
          },
          {
            "editType" : "delete",
            "file" : "docs/source/getting-started.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Metadata.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/dto/impl/AbstractUpdateDto.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.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/impl/SetMetadataCommand.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/GenericDtoDataExtractor.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" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Provider.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/AnnotationBasedDtoExtractorTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/CustomBaseValueDtoExtractorTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/GenericDtoExtractorTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Metadata.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/integration/DataUpdateServiceTest.java"
          },
          {
            "editType" : "add",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/DuplicateAction.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Resource.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/dto/impl/AbstractUpdateDto.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/impl/SetMetadataCommand.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Service.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Data.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.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/extract/impl/GenericDtoDataExtractor.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Timestamp.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java"
        ],
        "commitId" : "508355c944be9bead0063f388f4b31de34007644",
        "timestamp" : 1722333026000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Further improvements to timestamp mapping\u000a",
        "date" : "2024-07-30 10:50:26 +0100",
        "id" : "508355c944be9bead0063f388f4b31de34007644",
        "msg" : "Further improvements to timestamp mapping",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java"
          },
          {
            "editType" : "edit",
            "file" : "core/annotation/src/main/java/org/eclipse/sensinact/core/annotation/dto/Timestamp.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sensinact-bom/pom.xml"
        ],
        "commitId" : "111f254b380bf056f5a96f4396345969fc78ab79",
        "timestamp" : 1723040824000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Add northbound API/SPI to the sensinact BOM\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-08-07 15:27:04 +0100",
        "id" : "111f254b380bf056f5a96f4396345969fc78ab79",
        "msg" : "Add northbound API/SPI to the sensinact BOM",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sensinact-bom/pom.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/test/java/org/eclipse/sensinact/core/integration/DataUpdateServiceTest.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/DataUpdateImpl.java"
        ],
        "commitId" : "c7b3cb42d39b70d0aeb4f2030f9772ddb52426af",
        "timestamp" : 1723126136000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
          "fullName" : "gregoire.athanase"
        },
        "authorEmail" : "gregoire.athanase@kentyou.com",
        "comment" : "dataUpdate now supports multiple updates\u000a\u000aSigned-off-by: Grégoire Athanase <gregoire.athanase@kentyou.com>\u000a",
        "date" : "2024-08-08 16:08:56 +0200",
        "id" : "c7b3cb42d39b70d0aeb4f2030f9772ddb52426af",
        "msg" : "dataUpdate now supports multiple updates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/integration/DataUpdateServiceTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/impl/DataUpdateImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/AnnotationBasedDtoExtractorTest.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java"
        ],
        "commitId" : "117c1652c4c53b299ea7fe9a58587c06965124e0",
        "timestamp" : 1723127531000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Annotated DTO mapping error\u000a\u000aString fields annotated with @Resource and @Metadata caused all mappings to use the metadata value as the mapping. This should not happen!\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-08-08 15:32:11 +0100",
        "id" : "117c1652c4c53b299ea7fe9a58587c06965124e0",
        "msg" : "Annotated DTO mapping error",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/extract/impl/AnnotationBasedDtoExtractorTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/AnnotationMapping.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
      "fullName" : "timothyjward"
    },
    {
      "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/j.albert",
      "fullName" : "j.albert"
    },
    {
      "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/gregoire.athanase",
      "fullName" : "gregoire.athanase"
    },
    {
      "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/thomas.calmant",
      "fullName" : "thomas.calmant"
    }
  ],
  "mavenArtifacts" : {
    
  },
  "mavenVersionUsed" : "3.8.4"
}