Class RulesetDeployment

java.lang.Object
org.openremote.manager.rules.RulesetDeployment

public class RulesetDeployment extends Object
  • Field Details

    • DEFAULT_RULE_PRIORITY

      public static final int DEFAULT_RULE_PRIORITY
      See Also:
    • scriptEngineManager

      protected static final ScriptEngineManager scriptEngineManager
    • groovyShell

      protected static final groovy.lang.GroovyShell groovyShell
    • ALWAYS_ACTIVE

      protected static final org.openremote.model.util.Pair<Long,Long> ALWAYS_ACTIVE
    • EXPIRED

      protected static final org.openremote.model.util.Pair<Long,Long> EXPIRED
    • ruleset

      protected final org.openremote.model.rules.Ruleset ruleset
    • rules

      protected final org.jeasy.rules.api.Rules rules
    • assetStorageService

      protected final AssetStorageService assetStorageService
    • timerService

      protected final org.openremote.container.timer.TimerService timerService
    • executorService

      protected final ExecutorService executorService
    • scheduledExecutorService

      protected final ScheduledExecutorService scheduledExecutorService
    • assetsFacade

      protected final org.openremote.model.rules.Assets assetsFacade
    • usersFacade

      protected final org.openremote.model.rules.Users usersFacade
    • notificationsFacade

      protected final org.openremote.model.rules.Notifications notificationsFacade
    • webhooksFacade

      protected final org.openremote.model.rules.Webhooks webhooksFacade
    • alarmsFacade

      protected final org.openremote.model.rules.Alarms alarmsFacade
    • historicDatapointsFacade

      protected final org.openremote.model.rules.HistoricDatapoints historicDatapointsFacade
    • predictedDatapointsFacade

      protected final org.openremote.model.rules.PredictedDatapoints predictedDatapointsFacade
    • scheduledRuleActions

      protected final List<ScheduledFuture<?>> scheduledRuleActions
    • rulesEngine

      protected final RulesEngine<?> rulesEngine
    • LOG

      protected final Logger LOG
    • running

      protected boolean running
    • status

      protected org.openremote.model.rules.RulesetStatus status
    • error

      protected Throwable error
    • jsonRulesBuilder

      protected JsonRulesBuilder jsonRulesBuilder
    • flowRulesBuilder

      protected FlowRulesBuilder flowRulesBuilder
    • validity

      protected org.openremote.model.calendar.CalendarEvent validity
    • nextValidity

      protected org.openremote.model.util.Pair<Long,Long> nextValidity
  • Constructor Details

    • RulesetDeployment

      public RulesetDeployment(org.openremote.model.rules.Ruleset ruleset, RulesEngine<?> rulesEngine, org.openremote.container.timer.TimerService timerService, AssetStorageService assetStorageService, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService, org.openremote.model.rules.Assets assetsFacade, org.openremote.model.rules.Users usersFacade, org.openremote.model.rules.Notifications notificationsFacade, org.openremote.model.rules.Webhooks webhooksFacade, org.openremote.model.rules.Alarms alarmsFacade, org.openremote.model.rules.HistoricDatapoints historicDatapointsFacade, org.openremote.model.rules.PredictedDatapoints predictedDatapointsFacade)
  • Method Details

    • init

      protected void init() throws IllegalStateException
      Throws:
      IllegalStateException
    • getId

      public long getId()
    • getName

      public String getName()
    • getVersion

      public long getVersion()
    • getRuleset

      public org.openremote.model.rules.Ruleset getRuleset()
    • getRules

      public org.jeasy.rules.api.Rules getRules()
    • updateValidity

      protected void updateValidity()
    • getNextOrActiveFromTo

      public org.openremote.model.util.Pair<Long,Long> getNextOrActiveFromTo()
      Returns the current or next time window in which this rule is active
      Returns:
      null if deployment has expired
    • compile

      public boolean compile()
    • canStart

      public boolean canStart()
    • start

      public boolean start(RulesFacts facts)
      Called when a ruleset is started (allows for initialisation tasks)
    • stop

      public boolean stop(RulesFacts facts)
      Called when this deployment is stopped, could be the ruleset is being updated, removed or an error has occurred during execution
    • onAssetStatesChanged

      public void onAssetStatesChanged(RulesFacts facts, RulesEngine.AssetStateChangeEvent event)
    • scheduleRuleAction

      protected void scheduleRuleAction(Runnable action, long delayMillis)
    • compileRulesJson

      protected boolean compileRulesJson(org.openremote.model.rules.Ruleset ruleset)
    • compileRulesJavascript

      protected boolean compileRulesJavascript(org.openremote.model.rules.Ruleset ruleset, org.openremote.model.rules.Assets assetsFacade, org.openremote.model.rules.Users usersFacade, org.openremote.model.rules.Notifications notificationsFacade, org.openremote.model.rules.HistoricDatapoints historicDatapointsFacade, org.openremote.model.rules.PredictedDatapoints predictedDatapointsFacade)
    • compileRulesJavascript

      protected void compileRulesJavascript(org.openjdk.nashorn.api.scripting.ScriptObjectMirror scriptRules)
      Marshal the JavaScript rules array into Rule instances.
    • compileRulesGroovy

      protected boolean compileRulesGroovy(org.openremote.model.rules.Ruleset ruleset, org.openremote.model.rules.Assets assetsFacade, org.openremote.model.rules.Users usersFacade, org.openremote.model.rules.Notifications notificationFacade, org.openremote.model.rules.HistoricDatapoints historicDatapointsFacade, org.openremote.model.rules.PredictedDatapoints predictedDatapointsFacade)
    • compileRulesFlow

      protected boolean compileRulesFlow(org.openremote.model.rules.Ruleset ruleset, org.openremote.model.rules.Assets assetsFacade, org.openremote.model.rules.Users usersFacade, org.openremote.model.rules.Notifications notificationsFacade, org.openremote.model.rules.HistoricDatapoints historicDatapointsFacade, org.openremote.model.rules.PredictedDatapoints predictedDatapointsFacade)
    • getStatus

      public org.openremote.model.rules.RulesetStatus getStatus()
    • setStatus

      public void setStatus(org.openremote.model.rules.RulesetStatus status)
    • getError

      public Throwable getError()
    • setError

      public void setError(Throwable error)
    • getErrorMessage

      public String getErrorMessage()
    • isError

      public boolean isError()
    • isContinueOnError

      public boolean isContinueOnError()
    • isTriggerOnPredictedData

      public boolean isTriggerOnPredictedData()
    • toString

      public String toString()
      Overrides:
      toString in class Object