{
  "_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/31/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" : "#31",
  "duration" : 18062,
  "estimatedDuration" : 5133,
  "executor" : None,
  "fullDisplayName" : "Eclipse Sensinact » SensiNact core API #31",
  "id" : "31",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 31,
  "queueId" : -1,
  "result" : "SUCCESS",
  "timestamp" : 1723107714773,
  "url" : "https://devel.data-in-motion.biz/jenkins/job/Eclipse%20Sensinact/org.eclipse.sensinact.gateway.core$api/31/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.maven.FilteredChangeLogSet",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/api/src/main/java/org/eclipse/sensinact/core/notification/LifecycleNotification.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceMetaDataNotification.java",
          "southbound/virtual/virtual-temperature-sensor/src/main/java/org/eclipse/sensinact/gateway/southbound/virtual/temperature/VirtualTemperatureDto.java",
          "northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestNorthbound.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceActionNotification.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceDataNotification.java",
          "northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/notification/ResourceNotificationsTest.java",
          "northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SessionSubscribeTest.java",
          "northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketEndpoint.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/notification/impl/NotificationSenderTest.java"
        ],
        "commitId" : "9d68852a61656138c22694f9e0988f6b0a9a1e95",
        "timestamp" : 1716221106000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Include the model name in topic notifications\u000a\u000aFiltering at the model level is extremely useful as it permits efficient tracking of multiple providers using the same model. The model URI is required to ensure strict uniqueness, however the model uri is difficult to represent in topic syntax, and would need large amounts of escaping. The trade off is therefore to allow the model name to be used in the topic for rapid checking, with the filter being available for more precise matching if needed.\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-05-20 17:05:06 +0100",
        "id" : "9d68852a61656138c22694f9e0988f6b0a9a1e95",
        "msg" : "Include the model name in topic notifications",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/notification/ResourceNotificationsTest.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketEndpoint.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestNorthbound.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/notification/LifecycleNotification.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceMetaDataNotification.java"
          },
          {
            "editType" : "edit",
            "file" : "northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SessionSubscribeTest.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceDataNotification.java"
          },
          {
            "editType" : "edit",
            "file" : "southbound/virtual/virtual-temperature-sensor/src/main/java/org/eclipse/sensinact/gateway/southbound/virtual/temperature/VirtualTemperatureDto.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/notification/ResourceActionNotification.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/notification/impl/NotificationSenderTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ServiceImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java",
          "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModelBuilder.java",
          "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModel.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ModelImpl.java",
          "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFService.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/model/Model.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ServiceBuilderImpl.java",
          "core/impl/src/test/java/org/eclipse/sensinact/core/integration/EMFUpdateServiceTest.java",
          "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/SensinactEMFModelManager.java",
          "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFServiceBuilder.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ModelBuilderImpl.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/impl/SetValueCommand.java",
          "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/SensinactModelManagerImpl.java"
        ],
        "commitId" : "a648fd6334494a065bf1355a64b37a945dcffeed",
        "timestamp" : 1716916215000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/j.albert",
          "fullName" : "j.albert"
        },
        "authorEmail" : "j.albert@data-in-motion.biz",
        "comment" : "fixed NPE due to missing service EClass\u000a\u000aSigned-off-by: Juergen Albert <j.albert@data-in-motion.biz>\u000a",
        "date" : "2024-05-28 19:10:15 +0200",
        "id" : "a648fd6334494a065bf1355a64b37a945dcffeed",
        "msg" : "fixed NPE due to missing service EClass",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/test/java/org/eclipse/sensinact/core/integration/EMFUpdateServiceTest.java"
          },
          {
            "editType" : "add",
            "file" : "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModelBuilder.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ModelImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/SensinactEMFModelManager.java"
          },
          {
            "editType" : "add",
            "file" : "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFServiceBuilder.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/model/Model.java"
          },
          {
            "editType" : "add",
            "file" : "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFModel.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/nexus/ModelNexus.java"
          },
          {
            "editType" : "add",
            "file" : "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/model/EMFService.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/model/impl/ServiceImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ModelBuilderImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/ServiceBuilderImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/model/impl/SensinactModelManagerImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/api/src/main/java/org/eclipse/sensinact/core/twin/SensinactDigitalTwin.java"
        ],
        "commitId" : "6eebd84301fc3794c5a9dd773c3bcde0d8733afe",
        "timestamp" : 1718207057000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Expose #getProviders(String modelPackageUri, String model) from the twin\u000a\u000aThe method getProviders(String, String) existed in the EMF Twin, but not the base twin. As we already use the model package uri extensively in that interface we should expose it here as well.\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-06-12 16:44:17 +0100",
        "id" : "6eebd84301fc3794c5a9dd773c3bcde0d8733afe",
        "msg" : "Expose #getProviders(String modelPackageUri, String model) from the twin",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/twin/SensinactDigitalTwin.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/EMFGenericDtoDataExtractor.java",
          "core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.java",
          "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/dto/EMFGenericDto.java"
        ],
        "commitId" : "61101a6c9a361235909f11624cf1e8ea199fb126",
        "timestamp" : 1718721481000,
        "author" : {
          "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/timothyjward",
          "fullName" : "timothyjward"
        },
        "authorEmail" : "timothyjward@apache.org",
        "comment" : "Reinstate final modifier for GenericDto\u000a\u000aThe EMF dto altered the GenericDto so that it could extend it. The GenericDto was intentionally final to prevent usage mistakes in the API. There are few fields and we should copy them.\u000a\u000aSigned-off-by: Tim Ward <timothyjward@apache.org>\u000a",
        "date" : "2024-06-18 15:38:01 +0100",
        "id" : "61101a6c9a361235909f11624cf1e8ea199fb126",
        "msg" : "Reinstate final modifier for GenericDto",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/impl/src/main/java/org/eclipse/sensinact/core/extract/impl/EMFGenericDtoDataExtractor.java"
          },
          {
            "editType" : "edit",
            "file" : "core/api/src/main/java/org/eclipse/sensinact/core/push/dto/GenericDto.java"
          },
          {
            "editType" : "edit",
            "file" : "core/emf-api/src/main/java/org/eclipse/sensinact/core/emf/dto/EMFGenericDto.java"
          }
        ]
      }
    ],
    "kind" : None
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devel.data-in-motion.biz/jenkins/user/j.albert",
      "fullName" : "j.albert"
    },
    {
      "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/31/mavenArtifacts/"
  }
}