From eb982f430ded383c812d41be50208709e5fb2c18 Mon Sep 17 00:00:00 2001 From: Christoph Weitkamp Date: Sat, 4 Dec 2021 17:48:18 +0100 Subject: [PATCH] Fixed nullness anotations for TriggerHandlerCallback (#2589) Signed-off-by: Christoph Weitkamp --- .../handler/TriggerHandlerCallback.java | 2 +- .../internal/TriggerHandlerCallbackImpl.java | 25 ++++++++----------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/handler/TriggerHandlerCallback.java b/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/handler/TriggerHandlerCallback.java index a4fecc88c2..10997ccbc0 100644 --- a/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/handler/TriggerHandlerCallback.java +++ b/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/handler/TriggerHandlerCallback.java @@ -54,5 +54,5 @@ public interface TriggerHandlerCallback extends ModuleHandlerCallback { /** * @return the scheduler of this rule */ - public @Nullable ScheduledExecutorService getScheduler(); + public ScheduledExecutorService getScheduler(); } diff --git a/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/TriggerHandlerCallbackImpl.java b/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/TriggerHandlerCallbackImpl.java index 9cc2e5b6b9..529b41c55c 100644 --- a/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/TriggerHandlerCallbackImpl.java +++ b/bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/TriggerHandlerCallbackImpl.java @@ -19,7 +19,6 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.ScheduledExecutorService; -import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.core.automation.RuleStatus; @@ -37,15 +36,16 @@ import org.openhab.core.common.NamedThreadFactory; * @author Kai Kreuzer - improved stability * @author Fabian Wolter - Change executor to ScheduledExecutorService and expose it */ +@NonNullByDefault public class TriggerHandlerCallbackImpl implements TriggerHandlerCallback { + private final RuleEngineImpl re; + private final String ruleUID; private ScheduledExecutorService executor; - private Future future; - - private final RuleEngineImpl re; + private @Nullable Future future; protected TriggerHandlerCallbackImpl(RuleEngineImpl re, String ruleUID) { this.re = re; @@ -54,11 +54,8 @@ public class TriggerHandlerCallbackImpl implements TriggerHandlerCallback { } @Override - public void triggered(Trigger trigger, @Nullable Map<@NonNull String, ?> context) { + public void triggered(Trigger trigger, @Nullable Map context) { synchronized (this) { - if (executor == null) { - return; - } future = executor.submit(new TriggerData(trigger, context)); } re.logger.debug("The trigger '{}' of rule '{}' is triggered.", trigger.getId(), ruleUID); @@ -69,7 +66,6 @@ public class TriggerHandlerCallbackImpl implements TriggerHandlerCallback { return future == null || !future.isDone(); } - @NonNullByDefault class TriggerData implements Runnable { private final Trigger trigger; @@ -96,16 +92,15 @@ public class TriggerHandlerCallbackImpl implements TriggerHandlerCallback { public void dispose() { synchronized (this) { - AccessController.doPrivileged((PrivilegedAction) () -> { + AccessController.doPrivileged((PrivilegedAction<@Nullable Void>) () -> { executor.shutdownNow(); return null; }); - executor = null; } } @Override - public Boolean isEnabled(String ruleUID) { + public @Nullable Boolean isEnabled(String ruleUID) { return re.isEnabled(ruleUID); } @@ -115,12 +110,12 @@ public class TriggerHandlerCallbackImpl implements TriggerHandlerCallback { } @Override - public RuleStatusInfo getStatusInfo(String ruleUID) { + public @Nullable RuleStatusInfo getStatusInfo(String ruleUID) { return re.getStatusInfo(ruleUID); } @Override - public RuleStatus getStatus(String ruleUID) { + public @Nullable RuleStatus getStatus(String ruleUID) { return re.getStatus(ruleUID); } @@ -130,7 +125,7 @@ public class TriggerHandlerCallbackImpl implements TriggerHandlerCallback { } @Override - public void runNow(String uid, boolean considerConditions, Map context) { + public void runNow(String uid, boolean considerConditions, @Nullable Map context) { re.runNow(uid, considerConditions, context); }