All Classes and Interfaces
Class
Description
Base class for all classes that store and retrieve
Datapoint.A security manager that uses the
MultiTenantJaasCallbackHandler with a
dynamic KeycloakDeployment resolver.This service's role is to communicate asset attribute writes to actuators, through protocol instances.
A service for managing
SentAlarms.Store and retrieve datapoints for asset attributes and periodically purge data points based on
MetaItemType.DATA_POINTS_MAX_AGE_DAYS MetaItem
and AssetDatapointService.OR_DATA_POINTS_MAX_AGE_DAYS setting; storage duration defaults to 31
days.A service for abstracting
ValueUtil and handling local model requests vs
GatewayAsset model requests.The reason why processing an
AttributeEvent failed.Receives
AttributeEvent from various sources (clients and services) and processes them.Test an
AttributeInfo with a AssetQuery.Restricts rule RHS access to the scope of the engine (a rule in asset scope can not use assets in global scope).
An interceptor that can choose to intercept the
AttributeEvent passing through
the system; if it is handled by this interceptor then the event will not be passed to any more interceptors and will
not reach the DB.This service generates new
AttributeEvents for any Attribute that contains an
MetaItemType.ATTRIBUTE_LINKS meta item when the Attribute is updated.This service is intended to form a centralised authorisation service for all resources and actions within the
system.
Receives and publishes messages, handles the client/server event bus.
This
MQTTHandler just monitors connected users and handles updating of
Attributes with MetaItemType.USER_CONNECTED
MetaItem.This handler uses the
ClientEventService to publish and subscribe to asset and attribute events; converting
subscription topics into AssetFilters to ensure only the correct events are returned for the subscription.TODO An example in the right place
Handles optimisation instances for
EnergyOptimisationAsset.Authorizes events sent from clients.
Authorizes event subscriptions.
Calculates forecast values for asset attributes with an attached
MetaItemType.FORECAST
configuration like ForecastConfigurationWeightedExponentialAverage.Fills in power forecast from ForecastSolar (https://forecast.solar) for
ElectricityProducerSolarAsset.Calculates power generation for
ElectricityProducerWindAsset.Handles outbound connections to central managers
Handles all communication between a gateway and this manager instance
This is a special version of
WebsocketIOClient that waits for a
GatewayCapabilitiesRequestEvent from the central manager before completing the
connected future; this means that synchronisation failures will be handled with exponential backoff.Manages
GatewayAssets in the local instance by creating Keycloak clients
for them and handles the connection logic of gateways; it is the gateways responsibility to connect to this instance,
it is then up to this instance to authenticate the gateway and to initiate synchronisation of gateway assets.This interface is an abstraction for starting/stopping gateway tunnels and is used by edge gateway instances.
Defines an adapter that can take a collection of
LocationAttributePredicate that apply to a given
Asset and can convert the LocationAttributePredicates into Geofences that can be implemented by
the asset(s) itself.This service is here to initialise the discovered
HealthStatusProviders and (StatusResourceA
Callback that should return the KeycloakDeployment for the specified realmService just to wait for keycloak availability
This service is used for retrieving, creating, or editing KeyStore (and TrustStore) files.
This
LocalizedNotificationHandler handles notification differently compared to other handlers.All keycloak interaction is done through the admin-cli client; security is implemented downstream of here; anything
in the same process as this service has privileged access to keycloak.
The
MapService.Metadata class validates that MapService.Metadata.bounds and MapService.Metadata.center follow the mbtiles-spec.This allows custom handlers to be discovered by the
MQTTBrokerService during system startup using the
ServiceLoader mechanism.A version of the Keycloak
AbstractKeycloakLoginModule that supports client
credentials grant and lookup of KeycloakDeployment by using
the KeycloakDeploymentCallback.A version of
JaasCallbackHandler that supports multi-tenancy by introducing support for
KeycloakDeploymentCallback.A
NotificationHandler is responsible for sending compatible AbstractNotificationMessage messages to
the specified target.The reason why sending an
Notification failed.This implementation is for handling geofences on console assets that support the OR Console Geofence Provider (i.e.
A
LoginModule specific to OpenRemoteThis is an event for use by internal event subscribers to be notified of an outdated
AttributeEvent that has
just been processed.Use this to query the Keycloak REALM table in JPA queries.
Call
RulesBuilder.add() to add rules.Identifies a set of
LocationAttributePredicates associated with a particular AssetAllows rule deployments to track changes to the
AttributeInfos in scopeThe scope of a
RulesEngine and, optional, the realm or asset it belongs to.NOTE: THIS IS NOT THREADSAFE
Manages
RulesEngines for stored Rulesets and processes asset attribute updates.Export the SQL schema of
PersistenceService to a file.Executes setup tasks for a clean installation when the application starts.
Connects the client/UI to the
SimulatorProtocol.Act as a JUL handler, publishes (some) log messages on the client event bus, stores
(some, depending on
SyslogConfig) log messages in the database.Customised to use existing undertow instance so websocket doesn't have to be on a separate web server instance
This
MQTTHandler is responsible for provisioning service users and assets and authenticating the client
against the configured ProvisioningConfigs.Restricts rule RHS access to the scope of the engine (a rule in asset scope can not access users in global scope).