Package org.openremote.manager.rules
Class RulesetDeployment
java.lang.Object
org.openremote.manager.rules.RulesetDeployment
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.openremote.model.rules.Alarmsprotected final org.openremote.model.rules.Assetsprotected final AssetStorageServicestatic final intprotected Throwableprotected final ExecutorServiceprotected FlowRulesBuilderprotected static final groovy.lang.GroovyShellprotected final org.openremote.model.rules.HistoricDatapointsprotected JsonRulesBuilderprotected final Loggerprotected final org.openremote.model.rules.Notificationsprotected final org.openremote.model.rules.PredictedDatapointsprotected final org.jeasy.rules.api.Rulesprotected final RulesEngine<?> protected final org.openremote.model.rules.Rulesetprotected booleanprotected final ScheduledExecutorServiceprotected final List<ScheduledFuture<?>> protected static final ScriptEngineManagerprotected org.openremote.model.rules.RulesetStatusprotected final org.openremote.container.timer.TimerServiceprotected final org.openremote.model.rules.Usersprotected org.openremote.model.calendar.CalendarEventprotected final org.openremote.model.rules.Webhooks -
Constructor Summary
ConstructorsConstructorDescriptionRulesetDeployment(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 Summary
Modifier and TypeMethodDescriptionbooleancanStart()booleancompile()protected booleancompileRulesFlow(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) protected booleancompileRulesGroovy(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) protected voidcompileRulesJavascript(org.openjdk.nashorn.api.scripting.ScriptObjectMirror scriptRules) Marshal the JavaScript rules array intoRuleinstances.protected booleancompileRulesJavascript(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) protected booleancompileRulesJson(org.openremote.model.rules.Ruleset ruleset) getError()longgetId()getName()Returns the current or next time window in which this rule is activeorg.jeasy.rules.api.RulesgetRules()org.openremote.model.rules.Rulesetorg.openremote.model.rules.RulesetStatuslongprotected voidinit()booleanbooleanisError()booleanvoidonAssetStatesChanged(RulesFacts facts, RulesEngine.AssetStateChangeEvent event) protected voidscheduleRuleAction(Runnable action, long delayMillis) voidvoidsetStatus(org.openremote.model.rules.RulesetStatus status) booleanstart(RulesFacts facts) Called when a ruleset is started (allows for initialisation tasks)booleanstop(RulesFacts facts) Called when this deployment is stopped, could be the ruleset is being updated, removed or an error has occurred during executiontoString()protected void
-
Field Details
-
DEFAULT_RULE_PRIORITY
public static final int DEFAULT_RULE_PRIORITY- See Also:
-
scriptEngineManager
-
groovyShell
protected static final groovy.lang.GroovyShell groovyShell -
ALWAYS_ACTIVE
-
EXPIRED
-
ruleset
protected final org.openremote.model.rules.Ruleset ruleset -
rules
protected final org.jeasy.rules.api.Rules rules -
assetStorageService
-
timerService
protected final org.openremote.container.timer.TimerService timerService -
executorService
-
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
-
rulesEngine
-
LOG
-
running
protected boolean running -
status
protected org.openremote.model.rules.RulesetStatus status -
error
-
jsonRulesBuilder
-
flowRulesBuilder
-
validity
protected org.openremote.model.calendar.CalendarEvent validity -
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
- Throws:
IllegalStateException
-
getId
public long getId() -
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
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
Called when a ruleset is started (allows for initialisation tasks) -
stop
Called when this deployment is stopped, could be the ruleset is being updated, removed or an error has occurred during execution -
onAssetStatesChanged
-
scheduleRuleAction
-
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 intoRuleinstances. -
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
-
setError
-
getErrorMessage
-
isError
public boolean isError() -
isContinueOnError
public boolean isContinueOnError() -
isTriggerOnPredictedData
public boolean isTriggerOnPredictedData() -
toString
-