Skip to content

Changes

Started 2 yr 4 mo ago
Took 7.8 sec
Move the Session API into the Northbound project

User Sessions are really part of the northbound access mechanism, and should not be part of the core. This will simplify adding access restrictions in the future.

Signed-off-by: Tim Ward <timothyjward@apache.org>
(commit: aa0c559)
northbound/websocket/integration-test.bndrun northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/converter/ProviderConverter.java northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketJettyRegistrar.java northbound/session/session-api/pom.xml northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/api/IQueryHandler.java northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/SensiNactCommandSession.java core/impl/src/main/java/org/eclipse/sensinact/core/impl/SessionManager.java northbound/pom.xml northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestAccessApplication.java core/api/src/main/java/org/eclipse/sensinact/core/session/package-info.java core/impl/src/test/java/org/eclipse/sensinact/core/integration/admin/AdminServiceTest.java northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/ServiceCommands.java southbound/virtual/virtual-temperature-sensor/integration-test.bndrun northbound/rest/integration-test.bndrun northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/HistoricalLocationsAccessImpl.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactorySSLTest.java northbound/gogo-shell/pom.xml core/impl/src/test/java/org/eclipse/sensinact/core/integration/DataUpdateServiceTest.java southbound/mqtt/mqtt-device-factory/pom.xml northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketEndpoint.java northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/ResourceAccessTest.java northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/ProviderCommands.java northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ThingsAccessImpl.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryParallelQueries.java northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/SensinactSessionProvider.java northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/converter/ServiceConverter.java northbound/websocket/pom.xml southbound/mqtt/mqtt-device-factory/integration-test.bndrun northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/SensiNactSessionManager.java examples/notification/pom.xml northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketCreator.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SensiNactSessionImpl.java distribution/features/northbound-rest-feature/src/main/resources/northbound-rest-feature.json northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/ProviderDescription.java distribution/features/northbound-ogc-sensorthings-feature/pom.xml northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/RootResourceAccessImpl.java northbound/rest/pom.xml northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/ResourceShortDescription.java northbound/session/session-impl/pom.xml northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/ResourceCommands.java northbound/session/pom.xml northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SessionManager.java northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/DatastreamsAccessImpl.java northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SensinactSessionTest.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/SensorsAccessImpl.java core/api/src/main/java/org/eclipse/sensinact/core/session/ProviderDescription.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryAuthTest.java northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/FeaturesOfInterestAccessImpl.java northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SessionSubscribeTest.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryTest.java northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/ServiceDescription.java core/api/src/main/java/org/eclipse/sensinact/core/session/ResourceDescription.java northbound/sensorthings/pom.xml distribution/features/northbound-rest-feature/pom.xml northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/SensinactSensorthingsApplication.java northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/AbstractIntegrationTest.java northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/SensiNactSession.java northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/ResourceDescription.java northbound/gogo-shell/src/main/java/org/eclipse/sensinact/gateway/commands/gogo/converter/ResourceConverter.java northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/DescriptionsTest.java southbound/virtual/virtual-temperature-sensor/pom.xml northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/notification/ResourceNotificationsTest.java northbound/sensorthings/rest.gateway/integration-test.bndrun southbound/virtual/virtual-temperature-sensor/src/test/java/org/eclipse/sensinact/gateway/southbound/virtual/temperature/integration/TemperatureSensorTest.java core/impl/src/test/java/org/eclipse/sensinact/core/integration/session/AdminServiceTest.java northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/LocationsAccessImpl.java northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/package-info.java core/impl/src/main/java/org/eclipse/sensinact/core/impl/SensiNactSessionImpl.java northbound/query-handler/src/main/java/org/eclipse/sensinact/northbound/query/impl/QueryHandler.java northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/MissingEntityTest.java core/api/src/main/java/org/eclipse/sensinact/core/session/SensiNactSession.java core/impl/src/test/java/org/eclipse/sensinact/core/integration/notification/SubscribeTest.java distribution/features/northbound-ogc-sensorthings-feature/src/main/resources/northbound-ogc-sensorthings-feature.json northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/SensinactSessionProvider.java northbound/sensorthings/rest.gateway/pom.xml northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestNorthbound.java core/api/src/main/java/org/eclipse/sensinact/core/session/SensiNactSessionManager.java southbound/http/http-device-factory/integration-test.bndrun southbound/mqtt/mqtt-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/mqtt/factory/integration/MqttDeviceFactoryTest.java core/api/src/main/java/org/eclipse/sensinact/core/session/ServiceDescription.java northbound/query-handler/pom.xml northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ObservationsAccessImpl.java southbound/http/http-device-factory/pom.xml northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/ObservedPropertiesAccessImpl.java examples/notification/src/main/java/notification/_02_ClientNotification.java northbound/query-handler/integration-test.bndrun northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/ResourceAccessTest.java core/api/src/main/java/org/eclipse/sensinact/core/session/ResourceShortDescription.java
timothyjward at
Move the UserInfo into northbound security

The User Info class belongs with the northbound security API which is a factory for it

Signed-off-by: Tim Ward <timothyjward@apache.org>
(commit: e12ff02)
northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/AuthenticationFilter.java northbound/websocket/src/test/java/org/eclipse/sensinact/northbound/websocket/integration/SecureWebSocketTest.java distribution/features/northbound-ogc-sensorthings-feature/src/main/resources/northbound-ogc-sensorthings-feature.json distribution/features/northbound-oidc-authenticator-feature/src/main/resources/northbound-oidc-authenticator-feature.json core/api/src/main/java/org/eclipse/sensinact/core/security/UserInfo.java northbound/rest/pom.xml northbound/security/openid-connect/src/main/java/org/eclipse/sensinact/gateway/northbound/security/oidc/JwsUserInfo.java northbound/security/security-api/src/main/java/org/eclipse/sensinact/northbound/security/api/UserInfo.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SessionManager.java northbound/query-handler/integration-test.bndrun northbound/security/openid-connect/pom.xml northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/SensinactSessionProvider.java northbound/rest/integration-test.bndrun northbound/sensorthings/rest.gateway/integration-test.bndrun southbound/virtual/virtual-temperature-sensor/src/test/java/org/eclipse/sensinact/gateway/southbound/virtual/temperature/integration/TemperatureSensorTest.java northbound/security/authentication-api/src/main/java/org/eclipse/sensinact/northbound/security/api/package-info.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/WebSocketJettyRegistrar.java northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/AbstractIntegrationTest.java distribution/features/northbound-oidc-authenticator-feature/pom.xml northbound/websocket/integration-test.bndrun northbound/sensorthings/rest.gateway/src/main/java/org/eclipse/sensinact/sensorthings/sensing/rest/impl/SensinactSessionProvider.java core/api/src/main/java/org/eclipse/sensinact/core/security/package-info.java northbound/session/session-api/pom.xml northbound/websocket/pom.xml distribution/features/northbound-ogc-sensorthings-mqtt-feature/pom.xml northbound/security/authentication-api/pom.xml northbound/security/openid-connect/integration-test.bndrun northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/notification/ResourceNotificationsTest.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SensiNactSessionImpl.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryParallelQueries.java distribution/features/northbound-rest-feature/src/main/resources/northbound-rest-feature.json northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/MissingEntityTest.java northbound/security/pom.xml northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SensinactSessionTest.java distribution/features/northbound-ogc-sensorthings-feature/pom.xml northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/SensiNactSession.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryAuthTest.java northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/ResourceAccessTest.java northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/DescriptionsTest.java northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/SecureAccessTest.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactorySSLTest.java northbound/security/openid-connect/src/main/java/org/eclipse/sensinact/gateway/northbound/security/oidc/OIDCTokenValidator.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryTest.java distribution/features/northbound-rest-feature/pom.xml northbound/websocket/src/main/java/org/eclipse/sensinact/northbound/ws/impl/WebSocketCreator.java northbound/security/openid-connect/src/test/java/org/eclipse/sensinact/gateway/northbound/security/oidc/integration/ValidatorTest.java northbound/security/security-api/src/main/java/org/eclipse/sensinact/northbound/security/api/package-info.java northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/ResourceAccessTest.java northbound/security/security-api/pom.xml northbound/security/security-api/src/main/java/org/eclipse/sensinact/northbound/security/api/Authenticator.java northbound/session/session-api/src/main/java/org/eclipse/sensinact/northbound/session/SensiNactSessionManager.java northbound/security/authentication-api/src/main/java/org/eclipse/sensinact/northbound/security/api/Authenticator.java southbound/virtual/virtual-temperature-sensor/integration-test.bndrun southbound/http/http-device-factory/integration-test.bndrun southbound/mqtt/mqtt-device-factory/integration-test.bndrun distribution/features/northbound-ogc-sensorthings-mqtt-feature/src/main/resources/northbound-ogc-sensorthings-mqtt-feature.json southbound/mqtt/mqtt-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/mqtt/factory/integration/MqttDeviceFactoryTest.java
timothyjward at
Introduce authorization checks in the Session API

* Include a configurable default fallback to allow all, allow authenticated only, or forbid all
* Apply as many checks as possible prior to accessing the gateway thread

Signed-off-by: Tim Ward <timothyjward@apache.org>
(commit: dab4465)
northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/MissingEntityTest.java core/impl/integration-test.bndrun northbound/websocket/src/test/java/org/eclipse/sensinact/northbound/websocket/integration/WebSocketTest.java southbound/virtual/virtual-temperature-sensor/src/test/java/org/eclipse/sensinact/gateway/southbound/virtual/temperature/integration/TemperatureSensorTest.java southbound/mqtt/mqtt-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/mqtt/factory/integration/MqttDeviceFactoryTest.java northbound/query-handler/integration-test.bndrun northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SessionSubscribeTest.java northbound/security/security-api/src/main/java/org/eclipse/sensinact/northbound/security/api/AuthorizationEngine.java southbound/virtual/virtual-temperature-sensor/integration-test.bndrun northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/ResourceAccessTest.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryParallelQueries.java northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/ObservationHistoryTest.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/DefaultSessionAuthorizationEngine.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SensiNactSessionImpl.java pom.xml distribution/features/northbound-oidc-authenticator-feature/src/it/resources/config/configuration.json distribution/features/virtual-temperature-sensor-feature/src/it/resources/config/configuration.json northbound/rest/src/main/java/org/eclipse/sensinact/northbound/rest/impl/RestAccessApplication.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SessionManager.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactorySSLTest.java southbound/http/http-device-factory/integration-test.bndrun northbound/session/session-impl/integration-test.bndrun core/impl/src/main/java/org/eclipse/sensinact/core/command/impl/GatewayThreadImpl.java northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/AbstractIntegrationTest.java northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SensinactSessionTest.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryTest.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/impl/DefaultSessionAuthorizationEngineTests.java northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/MissingEntityTest.java northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/DescriptionsTest.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/DefaultAuthPolicy.java northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/ResourceAccessTest.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/AllowAllAuthorizer.java distribution/features/timescale-history-provider-feature/src/it/resources/config/configuration.json northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/DenyAllAuthorizer.java southbound/http/http-device-factory/src/test/java/org/eclipse/sensinact/gateway/southbound/http/factory/integration/HttpDeviceFactoryAuthTest.java northbound/query-handler/src/test/java/org/eclipse/sensinact/northbound/query/test/integration/DescriptionsTest.java northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/impl/TestUserInfo.java northbound/websocket/src/test/java/org/eclipse/sensinact/northbound/websocket/integration/SecureWebSocketTest.java northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/SecureAccessTest.java northbound/session/session-impl/pom.xml
timothyjward at
Lint checking fixes

Spacing tidy up and adding a missing license header

Signed-off-by: Tim Ward <timothyjward@apache.org>
(commit: a918712)
distribution/features/virtual-temperature-sensor-feature/src/it/resources/config/configuration.json northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/ResourceAccessTest.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/AllowAllAuthorizer.java northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/impl/DefaultSessionAuthorizationEngineTests.java core/api/src/main/java/org/eclipse/sensinact/core/twin/SensinactProvider.java northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/AbstractIntegrationTest.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SensiNactSessionImpl.java northbound/rest/src/test/java/org/eclipse/sensinact/northbound/rest/integration/SecureAccessTest.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/DefaultSessionAuthorizationEngine.java northbound/sensorthings/rest.gateway/src/test/java/org/eclipse/sensinact/sensorthings/sensing/rest/integration/ObservationHistoryTest.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/SensinactDigitalTwinImpl.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/DefaultAuthPolicy.java northbound/security/security-api/src/main/java/org/eclipse/sensinact/northbound/security/api/AuthorizationEngine.java northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SessionSubscribeTest.java northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/integration/SensinactSessionTest.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/SessionManager.java northbound/session/session-impl/src/test/java/org/eclipse/sensinact/nortbound/session/impl/TestUserInfo.java northbound/session/session-impl/src/main/java/org/eclipse/sensinact/nortbound/session/impl/DenyAllAuthorizer.java
timothyjward at
Make the sensiNact build more CI friendly

Since Maven 3.5.0 poms have had the ability to be [CI-friendly](https://maven.apache.org/maven-ci-friendly.html) allowing a more flexible approach to releasing without the need to edit POM files. This also impacts the creation of our feature files, which can now flexibly alter the versions of the bundles they deploy to match what's being built in by CI. The end result should be a much simpler time when we want to tag or release any particular commit.

Signed-off-by: Tim Ward <timothyjward@apache.org>
(commit: 75ebfda)
northbound/security/pom.xml southbound/mqtt/mqtt-device-factory/pom.xml distribution/features/jakarta-servlet-whiteboard-feature/pom.xml distribution/features/northbound-websocket-feature/pom.xml core/emf-api/pom.xml distribution/features/northbound-oidc-authenticator-feature/src/main/resources/northbound-oidc-authenticator-feature.json northbound/session/pom.xml southbound/device-factory/pom.xml southbound/mqtt/mqtt-client/pom.xml distribution/features/jakarta-servlet-whiteboard-feature/src/main/resources/jakarta-servlet-whiteboard-feature.json distribution/features/virtual-temperature-sensor-feature/pom.xml northbound/filters/pom.xml examples/notification/pom.xml northbound/filters/filters.core/pom.xml northbound/sensorthings/pom.xml examples/push-based/pom.xml northbound/pom.xml northbound/sensorthings/rest.api/pom.xml southbound/virtual/virtual-temperature-sensor/pom.xml distribution/launcher/pom.xml southbound/history/pom.xml distribution/features/gogo-shell-feature/src/main/resources/gogo-shell-feature.json southbound/http/pom.xml distribution/features/northbound-ogc-sensorthings-feature/src/main/resources/northbound-ogc-sensorthings-feature.json distribution/features/pom.xml northbound/filters/ldap/pom.xml distribution/features/jakarta-rest-whiteboard-feature/src/main/resources/jakarta-rest-whiteboard-feature.json distribution/features/northbound-ogc-sensorthings-feature/pom.xml distribution/features/northbound-ogc-sensorthings-mqtt-feature/pom.xml distribution/features/northbound-websocket-feature/src/main/resources/northbound-websocket-feature.json examples/generic/pom.xml core/models/metadata/pom.xml distribution/assembly/pom.xml distribution/features/gogo-shell-feature/pom.xml distribution/features/northbound-rest-feature/pom.xml northbound/query-handler/pom.xml northbound/sensorthings/filter/pom.xml examples/reflective/pom.xml northbound/sensorthings/mqtt/pom.xml southbound/virtual/pom.xml northbound/websocket/pom.xml southbound/pom.xml southbound/device-factory/device-factory-core/pom.xml northbound/security/openid-connect/pom.xml examples/model-based/pom.xml core/models/pom.xml distribution/features/timescale-history-provider-feature/pom.xml distribution/features/core-feature/src/main/resources/core-feature.json northbound/session/session-impl/pom.xml southbound/http/http-device-factory/pom.xml core/impl/pom.xml core/geo-json/pom.xml core/pom.xml distribution/features/virtual-temperature-sensor-feature/src/main/resources/virtual-temperature-sensor-feature.json northbound/session/session-api/pom.xml distribution/features/core-feature/pom.xml examples/pull-based/pom.xml southbound/device-factory/parser-csv/pom.xml southbound/mqtt/pom.xml northbound/gogo-shell/pom.xml core/api/pom.xml southbound/history/timescale-provider/pom.xml core/models/provider/pom.xml distribution/features/timescale-history-provider-feature/src/main/resources/timescale-history-provider-feature.json northbound/sensorthings/dto/pom.xml distribution/features/jakarta-rest-whiteboard-feature/pom.xml distribution/features/northbound-rest-feature/src/main/resources/northbound-rest-feature.json distribution/test-utils/pom.xml pom.xml distribution/pom.xml examples/action/pom.xml northbound/sensorthings/rest.gateway/pom.xml examples/writable/pom.xml northbound/security/security-api/pom.xml northbound/rest/pom.xml distribution/features/northbound-oidc-authenticator-feature/pom.xml distribution/features/northbound-ogc-sensorthings-mqtt-feature/src/main/resources/northbound-ogc-sensorthings-mqtt-feature.json core/annotation/pom.xml southbound/device-factory/parser-json/pom.xml southbound/history/history-api/pom.xml southbound/http/http-callback-whiteboard/pom.xml examples/pom.xml sensinact-bom/pom.xml
timothyjward at