diff --git a/src/main/java/org/openhab/automation/jrule/internal/engine/JRuleBuilder.java b/src/main/java/org/openhab/automation/jrule/internal/engine/JRuleBuilder.java index c03f68a0..f5b7f47b 100644 --- a/src/main/java/org/openhab/automation/jrule/internal/engine/JRuleBuilder.java +++ b/src/main/java/org/openhab/automation/jrule/internal/engine/JRuleBuilder.java @@ -23,7 +23,16 @@ import org.apache.commons.lang3.StringUtils; import org.eclipse.jdt.annotation.Nullable; -import org.openhab.automation.jrule.internal.engine.excutioncontext.*; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleChannelExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleItemChangeExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleItemExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleItemReceivedCommandExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleItemReceivedUpdateExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRulePreconditionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleStartupExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleThingExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleTimeTimerExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleTimedCronExecutionContext; import org.openhab.automation.jrule.internal.module.JRuleModuleEntry; import org.openhab.automation.jrule.rules.JRuleMemberOf; import org.openhab.automation.jrule.things.JRuleThingStatus; @@ -46,16 +55,16 @@ public class JRuleBuilder { private Duration timedLock = null; private Duration delayed = null; - final private List preConditions = new ArrayList<>(); + private final List preConditions = new ArrayList<>(); - final private List whenStartupTriggers = new ArrayList<>(); - final private List whenThingTriggers = new ArrayList<>(); - final private List whenChannelTriggers = new ArrayList<>(); - final private List whenItemReceivedCommandTriggers = new ArrayList<>(); - final private List whenItemChangedTriggers = new ArrayList<>(); - final private List whenItemReceivedUpdateTriggers = new ArrayList<>(); - final private List whenCronTriggers = new ArrayList<>(); - final private List whenTimeTriggers = new ArrayList<>(); + private final List whenStartupTriggers = new ArrayList<>(); + private final List whenThingTriggers = new ArrayList<>(); + private final List whenChannelTriggers = new ArrayList<>(); + private final List whenItemReceivedCommandTriggers = new ArrayList<>(); + private final List whenItemChangedTriggers = new ArrayList<>(); + private final List whenItemReceivedUpdateTriggers = new ArrayList<>(); + private final List whenCronTriggers = new ArrayList<>(); + private final List whenTimeTriggers = new ArrayList<>(); JRuleBuilder(JRuleEngine jRuleEngine, String ruleName, JRuleInvocationCallback invocationCallback) { this.jRuleEngine = jRuleEngine; diff --git a/src/main/java/org/openhab/automation/jrule/internal/engine/JRuleEngine.java b/src/main/java/org/openhab/automation/jrule/internal/engine/JRuleEngine.java index 8f347945..dccd0d26 100644 --- a/src/main/java/org/openhab/automation/jrule/internal/engine/JRuleEngine.java +++ b/src/main/java/org/openhab/automation/jrule/internal/engine/JRuleEngine.java @@ -39,13 +39,34 @@ import org.openhab.automation.jrule.exception.JRuleRuntimeException; import org.openhab.automation.jrule.internal.JRuleConfig; import org.openhab.automation.jrule.internal.JRuleLog; -import org.openhab.automation.jrule.internal.engine.excutioncontext.*; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleChannelExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleItemExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleStartupExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleThingExecutionContext; +import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleTimedExecutionContext; import org.openhab.automation.jrule.internal.engine.timer.JRuleTimerExecutor; import org.openhab.automation.jrule.internal.events.JRuleEventSubscriber; import org.openhab.automation.jrule.internal.handler.JRuleTimerHandler; import org.openhab.automation.jrule.internal.module.JRuleModuleEntry; import org.openhab.automation.jrule.internal.module.JRuleRuleProvider; -import org.openhab.automation.jrule.rules.*; +import org.openhab.automation.jrule.rules.JRule; +import org.openhab.automation.jrule.rules.JRuleCondition; +import org.openhab.automation.jrule.rules.JRuleDebounce; +import org.openhab.automation.jrule.rules.JRuleDelayed; +import org.openhab.automation.jrule.rules.JRuleLogName; +import org.openhab.automation.jrule.rules.JRuleMemberOf; +import org.openhab.automation.jrule.rules.JRuleName; +import org.openhab.automation.jrule.rules.JRulePrecondition; +import org.openhab.automation.jrule.rules.JRuleTag; +import org.openhab.automation.jrule.rules.JRuleWhenChannelTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenCronTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenItemChange; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedCommand; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedUpdate; +import org.openhab.automation.jrule.rules.JRuleWhenStartup; +import org.openhab.automation.jrule.rules.JRuleWhenThingTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenTimeTrigger; import org.openhab.automation.jrule.rules.event.JRuleEvent; import org.openhab.automation.jrule.things.JRuleThingStatus; import org.openhab.core.events.AbstractEvent; @@ -204,7 +225,6 @@ private void add(Method method, JRule jRule, boolean enableRule) { .orElse(null), Optional.of(jRuleWhen.from()).filter(s -> s != JRuleThingStatus.THING_UNKNOWN).orElse(null), Optional.of(jRuleWhen.to()).filter(s -> s != JRuleThingStatus.THING_UNKNOWN).orElse(null))); - Arrays.stream(method.getAnnotationsByType(JRuleWhenStartup.class)) .forEach(jRuleWhen -> jRuleBuilder.whenStartupTrigger(jRuleWhen.level())); diff --git a/src/main/java/org/openhab/automation/jrule/internal/handler/JRuleEventHandler.java b/src/main/java/org/openhab/automation/jrule/internal/handler/JRuleEventHandler.java index e7a51f3d..cb2bd0d3 100644 --- a/src/main/java/org/openhab/automation/jrule/internal/handler/JRuleEventHandler.java +++ b/src/main/java/org/openhab/automation/jrule/internal/handler/JRuleEventHandler.java @@ -12,7 +12,15 @@ */ package org.openhab.automation.jrule.internal.handler; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import org.eclipse.jdt.annotation.NonNull; @@ -24,12 +32,47 @@ import org.openhab.automation.jrule.items.JRuleItem; import org.openhab.automation.jrule.items.JRuleItemRegistry; import org.openhab.automation.jrule.rules.JRule; -import org.openhab.automation.jrule.rules.value.*; +import org.openhab.automation.jrule.rules.value.JRuleDateTimeValue; +import org.openhab.automation.jrule.rules.value.JRuleDecimalValue; +import org.openhab.automation.jrule.rules.value.JRuleHsbValue; +import org.openhab.automation.jrule.rules.value.JRuleNextPreviousValue; +import org.openhab.automation.jrule.rules.value.JRuleOnOffValue; +import org.openhab.automation.jrule.rules.value.JRuleOpenClosedValue; +import org.openhab.automation.jrule.rules.value.JRulePercentValue; +import org.openhab.automation.jrule.rules.value.JRulePlayPauseValue; +import org.openhab.automation.jrule.rules.value.JRulePointValue; +import org.openhab.automation.jrule.rules.value.JRuleQuantityValue; +import org.openhab.automation.jrule.rules.value.JRuleRawValue; +import org.openhab.automation.jrule.rules.value.JRuleRewindFastforwardValue; +import org.openhab.automation.jrule.rules.value.JRuleStopMoveValue; +import org.openhab.automation.jrule.rules.value.JRuleStringListValue; +import org.openhab.automation.jrule.rules.value.JRuleStringValue; +import org.openhab.automation.jrule.rules.value.JRuleUpDownValue; +import org.openhab.automation.jrule.rules.value.JRuleValue; import org.openhab.core.events.EventPublisher; -import org.openhab.core.items.*; +import org.openhab.core.items.GenericItem; +import org.openhab.core.items.GroupItem; +import org.openhab.core.items.Item; +import org.openhab.core.items.ItemNotFoundException; +import org.openhab.core.items.ItemRegistry; import org.openhab.core.items.events.ItemEvent; import org.openhab.core.items.events.ItemEventFactory; -import org.openhab.core.library.types.*; +import org.openhab.core.library.types.DateTimeType; +import org.openhab.core.library.types.DecimalType; +import org.openhab.core.library.types.HSBType; +import org.openhab.core.library.types.NextPreviousType; +import org.openhab.core.library.types.OnOffType; +import org.openhab.core.library.types.OpenClosedType; +import org.openhab.core.library.types.PercentType; +import org.openhab.core.library.types.PlayPauseType; +import org.openhab.core.library.types.PointType; +import org.openhab.core.library.types.QuantityType; +import org.openhab.core.library.types.RawType; +import org.openhab.core.library.types.RewindFastforwardType; +import org.openhab.core.library.types.StopMoveType; +import org.openhab.core.library.types.StringListType; +import org.openhab.core.library.types.StringType; +import org.openhab.core.library.types.UpDownType; import org.openhab.core.types.Command; import org.openhab.core.types.State; import org.openhab.core.types.UnDefType; diff --git a/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleEntry.java b/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleEntry.java index 0217e0b2..9bc04c0f 100644 --- a/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleEntry.java +++ b/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleEntry.java @@ -24,7 +24,15 @@ import org.openhab.automation.jrule.internal.engine.JRuleEngine; import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleExecutionContext; import org.openhab.automation.jrule.internal.engine.excutioncontext.JRuleStartupExecutionContext; -import org.openhab.automation.jrule.rules.*; +import org.openhab.automation.jrule.rules.JRule; +import org.openhab.automation.jrule.rules.JRuleWhenChannelTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenCronTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenItemChange; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedCommand; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedUpdate; +import org.openhab.automation.jrule.rules.JRuleWhenStartup; +import org.openhab.automation.jrule.rules.JRuleWhenThingTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenTimeTrigger; import org.openhab.core.automation.Action; import org.openhab.core.automation.Trigger; import org.openhab.core.automation.module.script.rulesupport.shared.simple.SimpleRule; diff --git a/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleHandlerFactory.java b/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleHandlerFactory.java index 073ff7b2..c142ff72 100644 --- a/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleHandlerFactory.java +++ b/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleHandlerFactory.java @@ -17,7 +17,14 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; -import org.openhab.automation.jrule.rules.*; +import org.openhab.automation.jrule.rules.JRuleWhenChannelTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenCronTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenItemChange; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedCommand; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedUpdate; +import org.openhab.automation.jrule.rules.JRuleWhenStartup; +import org.openhab.automation.jrule.rules.JRuleWhenThingTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenTimeTrigger; import org.openhab.core.automation.Module; import org.openhab.core.automation.Trigger; import org.openhab.core.automation.handler.BaseModuleHandlerFactory; diff --git a/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleTypeProvider.java b/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleTypeProvider.java index c25fafe3..e1158075 100644 --- a/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleTypeProvider.java +++ b/src/main/java/org/openhab/automation/jrule/internal/module/JRuleModuleTypeProvider.java @@ -19,7 +19,14 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; -import org.openhab.automation.jrule.rules.*; +import org.openhab.automation.jrule.rules.JRuleWhenChannelTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenCronTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenItemChange; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedCommand; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedUpdate; +import org.openhab.automation.jrule.rules.JRuleWhenStartup; +import org.openhab.automation.jrule.rules.JRuleWhenThingTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenTimeTrigger; import org.openhab.core.automation.type.ModuleType; import org.openhab.core.automation.type.ModuleTypeProvider; import org.openhab.core.common.registry.ProviderChangeListener; diff --git a/src/main/java/org/openhab/automation/jrule/items/JRuleColorItem.java b/src/main/java/org/openhab/automation/jrule/items/JRuleColorItem.java index ca06de40..a45b8bde 100644 --- a/src/main/java/org/openhab/automation/jrule/items/JRuleColorItem.java +++ b/src/main/java/org/openhab/automation/jrule/items/JRuleColorItem.java @@ -18,7 +18,7 @@ import org.openhab.automation.jrule.internal.JRuleUtil; import org.openhab.automation.jrule.internal.handler.JRuleEventHandler; import org.openhab.automation.jrule.internal.items.JRuleInternalColorItem; -import org.openhab.automation.jrule.rules.value.*; +import org.openhab.automation.jrule.rules.value.JRuleHsbValue; /** * The {@link JRuleColorItem} JRule Item @@ -36,7 +36,7 @@ static Optional forNameOptional(String itemName) { /** * Sends a hsb command - * + * * @param command command to send. */ default void sendCommand(JRuleHsbValue command) { @@ -45,7 +45,7 @@ default void sendCommand(JRuleHsbValue command) { /** * Sends a hsb update - * + * * @param state update to send */ default void postUpdate(JRuleHsbValue state) { diff --git a/src/main/java/org/openhab/automation/jrule/items/JRuleItem.java b/src/main/java/org/openhab/automation/jrule/items/JRuleItem.java index f5519bf6..84914d5a 100644 --- a/src/main/java/org/openhab/automation/jrule/items/JRuleItem.java +++ b/src/main/java/org/openhab/automation/jrule/items/JRuleItem.java @@ -13,7 +13,11 @@ package org.openhab.automation.jrule.items; import java.time.ZonedDateTime; -import java.util.*; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import org.eclipse.jdt.annotation.NonNullByDefault; import org.openhab.automation.jrule.exception.JRuleItemNotFoundException; @@ -56,7 +60,7 @@ static Optional forNameOptional(String itemName) { /** * Returns all GroupItems, which this item belongs to -> this item is a member of the returning result - * + * * @return GroupItems which this items belongs to */ default Set> getGroupItems() { diff --git a/src/main/java/org/openhab/automation/jrule/items/JRulePlayerItem.java b/src/main/java/org/openhab/automation/jrule/items/JRulePlayerItem.java index 110bb118..2092a1f6 100644 --- a/src/main/java/org/openhab/automation/jrule/items/JRulePlayerItem.java +++ b/src/main/java/org/openhab/automation/jrule/items/JRulePlayerItem.java @@ -18,7 +18,9 @@ import org.openhab.automation.jrule.internal.JRuleUtil; import org.openhab.automation.jrule.internal.handler.JRuleEventHandler; import org.openhab.automation.jrule.internal.items.JRuleInternalPlayerItem; -import org.openhab.automation.jrule.rules.value.*; +import org.openhab.automation.jrule.rules.value.JRuleNextPreviousValue; +import org.openhab.automation.jrule.rules.value.JRulePlayPauseValue; +import org.openhab.automation.jrule.rules.value.JRuleRewindFastforwardValue; /** * The {@link JRulePlayerItem} JRule Item @@ -43,7 +45,7 @@ static Optional forNameOptional(String itemName) { /** * Sends a play/pause command - * + * * @param command command to send. */ default void sendCommand(JRulePlayPauseValue command) { @@ -52,7 +54,7 @@ default void sendCommand(JRulePlayPauseValue command) { /** * Sends a play/pause update - * + * * @param state update to send */ default void postUpdate(JRulePlayPauseValue state) { diff --git a/src/main/java/org/openhab/automation/jrule/items/JRuleRollershutterItem.java b/src/main/java/org/openhab/automation/jrule/items/JRuleRollershutterItem.java index 4108b76d..79a5befc 100644 --- a/src/main/java/org/openhab/automation/jrule/items/JRuleRollershutterItem.java +++ b/src/main/java/org/openhab/automation/jrule/items/JRuleRollershutterItem.java @@ -19,7 +19,9 @@ import org.openhab.automation.jrule.internal.JRuleUtil; import org.openhab.automation.jrule.internal.handler.JRuleEventHandler; import org.openhab.automation.jrule.internal.items.JRuleInternalRollershutterItem; -import org.openhab.automation.jrule.rules.value.*; +import org.openhab.automation.jrule.rules.value.JRulePercentValue; +import org.openhab.automation.jrule.rules.value.JRuleStopMoveValue; +import org.openhab.automation.jrule.rules.value.JRuleUpDownValue; /** * The {@link JRuleRollershutterItem} JRule Item @@ -42,7 +44,7 @@ static Optional forNameOptional(String itemName) { /** * Sends a percent command - * + * * @param command command to send. */ default void sendCommand(JRulePercentValue command) { @@ -51,7 +53,7 @@ default void sendCommand(JRulePercentValue command) { /** * Sends a percent update - * + * * @param state update to send */ default void postUpdate(JRulePercentValue state) { @@ -60,7 +62,7 @@ default void postUpdate(JRulePercentValue state) { /** * Sends a percent command. - * + * * @param command as number via JRulePercentValue will be send. */ default void sendCommand(int command) { @@ -96,7 +98,7 @@ default void sendCommand(JRuleStopMoveValue command) { /** * Sends a percent update. - * + * * @param state as number via JRulePercentValue will be send. */ default void postUpdate(int state) { diff --git a/src/main/java/org/openhab/automation/jrule/rules/JRuleWhenStartup.java b/src/main/java/org/openhab/automation/jrule/rules/JRuleWhenStartup.java index 97252feb..9dfbc654 100644 --- a/src/main/java/org/openhab/automation/jrule/rules/JRuleWhenStartup.java +++ b/src/main/java/org/openhab/automation/jrule/rules/JRuleWhenStartup.java @@ -12,7 +12,11 @@ */ package org.openhab.automation.jrule.rules; -import java.lang.annotation.*; +import java.lang.annotation.ElementType; +import java.lang.annotation.Repeatable; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * The {@link JRuleWhenStartup} diff --git a/src/test/java/org/openhab/automation/jrule/items/JRuleUnspecifiedGroupItemTest.java b/src/test/java/org/openhab/automation/jrule/items/JRuleUnspecifiedGroupItemTest.java index 8f562494..70814de4 100644 --- a/src/test/java/org/openhab/automation/jrule/items/JRuleUnspecifiedGroupItemTest.java +++ b/src/test/java/org/openhab/automation/jrule/items/JRuleUnspecifiedGroupItemTest.java @@ -12,7 +12,9 @@ */ package org.openhab.automation.jrule.items; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/openhab/automation/jrule/rules/integration_test/ITJRule.java b/src/test/java/org/openhab/automation/jrule/rules/integration_test/ITJRule.java index 44dcc4b6..2a943a97 100644 --- a/src/test/java/org/openhab/automation/jrule/rules/integration_test/ITJRule.java +++ b/src/test/java/org/openhab/automation/jrule/rules/integration_test/ITJRule.java @@ -289,7 +289,7 @@ public void triggerOnGroupStateChange() throws IOException { @Test public void startupTriggered() throws IOException { verifyRuleWasExecuted(TestRules.NAME_STARTUP_TRIGGERED); - verifyLogEntry("startup level 50 triggered: true"); + verifyLogEntry("Startup Event: '50'"); verifyNoError(); } } diff --git a/src/test/java/org/openhab/automation/jrule/rules/integration_test/JRuleITBase.java b/src/test/java/org/openhab/automation/jrule/rules/integration_test/JRuleITBase.java index 5d083903..872cf01b 100644 --- a/src/test/java/org/openhab/automation/jrule/rules/integration_test/JRuleITBase.java +++ b/src/test/java/org/openhab/automation/jrule/rules/integration_test/JRuleITBase.java @@ -32,7 +32,12 @@ import org.awaitility.Awaitility; import org.eclipse.paho.client.mqttv3.*; import org.jetbrains.annotations.NotNull; -import org.junit.jupiter.api.*; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.TestInfo; import org.openhab.automation.jrule.items.JRuleSwitchItem; import org.openhab.automation.jrule.rules.user.TestRules; import org.slf4j.Logger; diff --git a/src/test/java/org/openhab/automation/jrule/rules/user/TestPersistence.java b/src/test/java/org/openhab/automation/jrule/rules/user/TestPersistence.java index d2f49073..1f27dc50 100755 --- a/src/test/java/org/openhab/automation/jrule/rules/user/TestPersistence.java +++ b/src/test/java/org/openhab/automation/jrule/rules/user/TestPersistence.java @@ -19,9 +19,24 @@ import java.util.function.BiFunction; import java.util.function.Function; -import org.openhab.automation.jrule.items.*; -import org.openhab.automation.jrule.rules.*; -import org.openhab.automation.jrule.rules.value.*; +import org.openhab.automation.jrule.items.JRuleColorItem; +import org.openhab.automation.jrule.items.JRuleContactItem; +import org.openhab.automation.jrule.items.JRuleDateTimeItem; +import org.openhab.automation.jrule.items.JRuleDimmerItem; +import org.openhab.automation.jrule.items.JRuleImageItem; +import org.openhab.automation.jrule.items.JRuleItem; +import org.openhab.automation.jrule.items.JRuleLocationItem; +import org.openhab.automation.jrule.items.JRuleNumberItem; +import org.openhab.automation.jrule.items.JRulePlayerItem; +import org.openhab.automation.jrule.items.JRuleQuantityItem; +import org.openhab.automation.jrule.items.JRuleRollershutterItem; +import org.openhab.automation.jrule.items.JRuleStringItem; +import org.openhab.automation.jrule.items.JRuleSwitchItem; +import org.openhab.automation.jrule.rules.JRule; +import org.openhab.automation.jrule.rules.JRuleCondition; +import org.openhab.automation.jrule.rules.JRuleName; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedCommand; +import org.openhab.automation.jrule.rules.value.JRuleDecimalValue; /** * The {@link TestPersistence} diff --git a/src/test/java/org/openhab/automation/jrule/rules/user/TestRules.java b/src/test/java/org/openhab/automation/jrule/rules/user/TestRules.java index 82cafc57..d6597696 100755 --- a/src/test/java/org/openhab/automation/jrule/rules/user/TestRules.java +++ b/src/test/java/org/openhab/automation/jrule/rules/user/TestRules.java @@ -28,11 +28,53 @@ import java.util.stream.Collectors; import org.openhab.automation.jrule.exception.JRuleExecutionException; -import org.openhab.automation.jrule.items.*; +import org.openhab.automation.jrule.items.JRuleColorItem; +import org.openhab.automation.jrule.items.JRuleContactItem; +import org.openhab.automation.jrule.items.JRuleDateTimeItem; +import org.openhab.automation.jrule.items.JRuleDimmerItem; +import org.openhab.automation.jrule.items.JRuleGroupItem; +import org.openhab.automation.jrule.items.JRuleImageItem; +import org.openhab.automation.jrule.items.JRuleItem; +import org.openhab.automation.jrule.items.JRuleLocationItem; +import org.openhab.automation.jrule.items.JRuleNumberGroupItem; +import org.openhab.automation.jrule.items.JRuleNumberItem; +import org.openhab.automation.jrule.items.JRulePlayerItem; +import org.openhab.automation.jrule.items.JRuleQuantityItem; +import org.openhab.automation.jrule.items.JRuleRollershutterItem; +import org.openhab.automation.jrule.items.JRuleStringItem; +import org.openhab.automation.jrule.items.JRuleSwitchGroupItem; +import org.openhab.automation.jrule.items.JRuleSwitchItem; import org.openhab.automation.jrule.items.metadata.JRuleItemMetadata; -import org.openhab.automation.jrule.rules.*; -import org.openhab.automation.jrule.rules.event.*; -import org.openhab.automation.jrule.rules.value.*; +import org.openhab.automation.jrule.rules.JRule; +import org.openhab.automation.jrule.rules.JRuleCondition; +import org.openhab.automation.jrule.rules.JRuleDebounce; +import org.openhab.automation.jrule.rules.JRuleMemberOf; +import org.openhab.automation.jrule.rules.JRuleName; +import org.openhab.automation.jrule.rules.JRulePrecondition; +import org.openhab.automation.jrule.rules.JRuleTag; +import org.openhab.automation.jrule.rules.JRuleWhenChannelTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenCronTrigger; +import org.openhab.automation.jrule.rules.JRuleWhenItemChange; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedCommand; +import org.openhab.automation.jrule.rules.JRuleWhenItemReceivedUpdate; +import org.openhab.automation.jrule.rules.JRuleWhenStartup; +import org.openhab.automation.jrule.rules.JRuleWhenThingTrigger; +import org.openhab.automation.jrule.rules.event.JRuleChannelEvent; +import org.openhab.automation.jrule.rules.event.JRuleItemEvent; +import org.openhab.automation.jrule.rules.event.JRuleStartupEvent; +import org.openhab.automation.jrule.rules.event.JRuleThingEvent; +import org.openhab.automation.jrule.rules.event.JRuleTimerEvent; +import org.openhab.automation.jrule.rules.value.JRuleDecimalValue; +import org.openhab.automation.jrule.rules.value.JRuleHsbValue; +import org.openhab.automation.jrule.rules.value.JRuleOnOffValue; +import org.openhab.automation.jrule.rules.value.JRuleOpenClosedValue; +import org.openhab.automation.jrule.rules.value.JRulePercentValue; +import org.openhab.automation.jrule.rules.value.JRulePlayPauseValue; +import org.openhab.automation.jrule.rules.value.JRulePointValue; +import org.openhab.automation.jrule.rules.value.JRuleQuantityValue; +import org.openhab.automation.jrule.rules.value.JRuleRawValue; +import org.openhab.automation.jrule.rules.value.JRuleStringValue; +import org.openhab.automation.jrule.rules.value.JRuleUpDownValue; import org.openhab.automation.jrule.things.JRuleThingStatus; /** @@ -116,11 +158,6 @@ public class TestRules extends JRule { public static final String ITEM_SWITCH_GROUP_OR = "SwitchGroupOr"; public static final String TAG_CUSTOM = "custom"; public static final String NAME_STARTUP_TRIGGERED = "startup triggered"; - private boolean startupTriggerWasCalled; - - public TestRules() { - System.out.println("CONSTRUCTOR"); - } @JRuleTag({ TAG_CUSTOM }) @JRuleName(NAME_SWITCH_ITEM_RECEIVED_ANY_COMMAND) @@ -405,7 +442,6 @@ public void getTagsAndMetadata() { @JRuleWhenStartup(level = 50) public void startupTriggered(JRuleStartupEvent evt) { logInfo("Startup Event: '{}'", evt.getStartupLevel()); - startupTriggerWasCalled = true; } private static void castLocation() { diff --git a/src/test/java/org/openhab/automation/jrule/test_utils/JRuleItemTestUtils.java b/src/test/java/org/openhab/automation/jrule/test_utils/JRuleItemTestUtils.java index 36168b5d..62c81917 100644 --- a/src/test/java/org/openhab/automation/jrule/test_utils/JRuleItemTestUtils.java +++ b/src/test/java/org/openhab/automation/jrule/test_utils/JRuleItemTestUtils.java @@ -22,14 +22,62 @@ import org.apache.commons.lang3.tuple.Pair; import org.jetbrains.annotations.NotNull; import org.mockito.Mockito; -import org.openhab.automation.jrule.items.*; +import org.openhab.automation.jrule.items.JRuleCallGroupItem; +import org.openhab.automation.jrule.items.JRuleCallItem; +import org.openhab.automation.jrule.items.JRuleColorGroupItem; +import org.openhab.automation.jrule.items.JRuleColorItem; +import org.openhab.automation.jrule.items.JRuleContactGroupItem; +import org.openhab.automation.jrule.items.JRuleContactItem; +import org.openhab.automation.jrule.items.JRuleDateTimeItem; +import org.openhab.automation.jrule.items.JRuleDimmerGroupItem; +import org.openhab.automation.jrule.items.JRuleDimmerItem; +import org.openhab.automation.jrule.items.JRuleImageGroupItem; +import org.openhab.automation.jrule.items.JRuleImageItem; +import org.openhab.automation.jrule.items.JRuleItem; +import org.openhab.automation.jrule.items.JRuleLocationGroupItem; +import org.openhab.automation.jrule.items.JRuleLocationItem; +import org.openhab.automation.jrule.items.JRuleNumberGroupItem; +import org.openhab.automation.jrule.items.JRuleNumberItem; +import org.openhab.automation.jrule.items.JRulePlayerGroupItem; +import org.openhab.automation.jrule.items.JRulePlayerItem; +import org.openhab.automation.jrule.items.JRuleQuantityGroupItem; +import org.openhab.automation.jrule.items.JRuleQuantityItem; +import org.openhab.automation.jrule.items.JRuleRollershutterGroupItem; +import org.openhab.automation.jrule.items.JRuleRollershutterItem; +import org.openhab.automation.jrule.items.JRuleStringGroupItem; +import org.openhab.automation.jrule.items.JRuleStringItem; +import org.openhab.automation.jrule.items.JRuleSwitchGroupItem; +import org.openhab.automation.jrule.items.JRuleSwitchItem; +import org.openhab.automation.jrule.items.JRuleUnspecifiedGroupItem; import org.openhab.core.i18n.UnitProvider; import org.openhab.core.internal.i18n.I18nProviderImpl; import org.openhab.core.items.GenericItem; import org.openhab.core.items.GroupItem; import org.openhab.core.items.Item; -import org.openhab.core.library.items.*; -import org.openhab.core.library.types.*; +import org.openhab.core.library.items.CallItem; +import org.openhab.core.library.items.ColorItem; +import org.openhab.core.library.items.ContactItem; +import org.openhab.core.library.items.DateTimeItem; +import org.openhab.core.library.items.DimmerItem; +import org.openhab.core.library.items.ImageItem; +import org.openhab.core.library.items.LocationItem; +import org.openhab.core.library.items.NumberItem; +import org.openhab.core.library.items.PlayerItem; +import org.openhab.core.library.items.RollershutterItem; +import org.openhab.core.library.items.StringItem; +import org.openhab.core.library.items.SwitchItem; +import org.openhab.core.library.types.DateTimeType; +import org.openhab.core.library.types.DecimalType; +import org.openhab.core.library.types.HSBType; +import org.openhab.core.library.types.OnOffType; +import org.openhab.core.library.types.OpenClosedType; +import org.openhab.core.library.types.PercentType; +import org.openhab.core.library.types.PlayPauseType; +import org.openhab.core.library.types.PointType; +import org.openhab.core.library.types.QuantityType; +import org.openhab.core.library.types.RawType; +import org.openhab.core.library.types.StringListType; +import org.openhab.core.library.types.StringType; import org.openhab.core.library.unit.Units; import org.openhab.core.types.State; import org.osgi.framework.BundleContext;