From 3d4c9f31bed3e8420f3c2b2cac84898515a68c1c Mon Sep 17 00:00:00 2001 From: clinique Date: Fri, 6 Oct 2023 09:15:37 +0200 Subject: [PATCH 1/6] [Javarule] Updating Generic Event Trigger Solves issue #523 Signed-off-by: clinique --- .../javarule/annotation/GenericEventTrigger.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java index 10905c9eb9..94e558623b 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java @@ -30,9 +30,11 @@ @Target({ ElementType.METHOD }) @NonNullByDefault public @interface GenericEventTrigger { - String eventTopic(); + String topic(); - String eventSource(); + String source(); - String eventTypes(); + String types(); + + String payload(); } From 68684d5471537c63a6d1e38048b24d19d780171f Mon Sep 17 00:00:00 2001 From: clinique Date: Fri, 6 Oct 2023 10:03:56 +0200 Subject: [PATCH 2/6] [javarule] Adding tags to Rule annotation Adresses issue #504 Signed-off-by: clinique --- .../org/smarthomej/automation/javarule/annotation/Rule.java | 6 +++++- .../automation/javarule/internal/script/RuleProcessor.java | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java index df71336ea6..e27a3906ad 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java @@ -15,6 +15,8 @@ import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT; +import java.util.Set; + import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -32,6 +34,8 @@ @NonNullByDefault public @interface Rule { String name() default ANNOTATION_DEFAULT; - + + Set tags() default Set.of(); + boolean disabled() default false; } diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java index 4e7d037638..770b97addb 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java @@ -78,6 +78,8 @@ public static List getSimpleRules(String scriptIdentifier, JavaRule String ruleName = method.getName(); String ruleDescription = ruleAnnotation.name(); + Set tags = ruleAnnotation.tags(); + if (ruleDescription.isBlank() || ANNOTATION_DEFAULT.equals(ruleDescription)) { ruleDescription = script.getClass().getSimpleName() + "/" + method.getName(); } @@ -121,6 +123,7 @@ public Object execute(Action module, Map input) { simpleRule.setDescription(ruleDescription); simpleRule.setTriggers(triggers); simpleRule.setConditions(conditions); + simpleRule.setTags() rules.add(simpleRule); From bdf52555853af732906e47a6769bbba7537951ff Mon Sep 17 00:00:00 2001 From: clinique Date: Fri, 6 Oct 2023 10:08:07 +0200 Subject: [PATCH 3/6] Reverting modification of GenericEventTrigger Signed-off-by: clinique --- .../javarule/annotation/GenericEventTrigger.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java index 94e558623b..10905c9eb9 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java @@ -30,11 +30,9 @@ @Target({ ElementType.METHOD }) @NonNullByDefault public @interface GenericEventTrigger { - String topic(); + String eventTopic(); - String source(); + String eventSource(); - String types(); - - String payload(); + String eventTypes(); } From a27c3b6221cfc6415012f5e651b5239ec09c7944 Mon Sep 17 00:00:00 2001 From: clinique Date: Fri, 6 Oct 2023 10:09:19 +0200 Subject: [PATCH 4/6] Missing an import Signed-off-by: clinique --- .../automation/javarule/internal/script/RuleProcessor.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java index 770b97addb..253dfd342d 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java @@ -16,6 +16,8 @@ import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.CONDITION_FROM_ANNOTATION; import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.TRIGGER_FROM_ANNOTATION; +import java.util.Set; + import java.lang.annotation.Annotation; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -78,7 +80,7 @@ public static List getSimpleRules(String scriptIdentifier, JavaRule String ruleName = method.getName(); String ruleDescription = ruleAnnotation.name(); - Set tags = ruleAnnotation.tags(); + Set ruleTags = ruleAnnotation.tags(); if (ruleDescription.isBlank() || ANNOTATION_DEFAULT.equals(ruleDescription)) { ruleDescription = script.getClass().getSimpleName() + "/" + method.getName(); @@ -123,7 +125,7 @@ public Object execute(Action module, Map input) { simpleRule.setDescription(ruleDescription); simpleRule.setTriggers(triggers); simpleRule.setConditions(conditions); - simpleRule.setTags() + simpleRule.setTags(ruleTags); rules.add(simpleRule); From a7177d0f0a835e8a576151c769c7f4f419df8458 Mon Sep 17 00:00:00 2001 From: clinique Date: Mon, 9 Oct 2023 09:47:38 +0200 Subject: [PATCH 5/6] Apply spotless Signed-off-by: clinique --- .../smarthomej/automation/javarule/annotation/Rule.java | 7 +++---- .../automation/javarule/internal/script/RuleProcessor.java | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java index e27a3906ad..c14eda33ac 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java @@ -15,12 +15,11 @@ import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT; -import java.util.Set; - import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import java.util.Set; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -34,8 +33,8 @@ @NonNullByDefault public @interface Rule { String name() default ANNOTATION_DEFAULT; - + Set tags() default Set.of(); - + boolean disabled() default false; } diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java index 253dfd342d..04bc44a564 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java @@ -16,8 +16,6 @@ import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.CONDITION_FROM_ANNOTATION; import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.TRIGGER_FROM_ANNOTATION; -import java.util.Set; - import java.lang.annotation.Annotation; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -29,6 +27,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.function.Consumer; import java.util.function.Supplier; import java.util.stream.Collectors; @@ -81,7 +80,7 @@ public static List getSimpleRules(String scriptIdentifier, JavaRule String ruleName = method.getName(); String ruleDescription = ruleAnnotation.name(); Set ruleTags = ruleAnnotation.tags(); - + if (ruleDescription.isBlank() || ANNOTATION_DEFAULT.equals(ruleDescription)) { ruleDescription = script.getClass().getSimpleName() + "/" + method.getName(); } From 182a81c93cd26dc3784f642cda878b6a4feb0a50 Mon Sep 17 00:00:00 2001 From: clinique Date: Mon, 9 Oct 2023 10:02:28 +0200 Subject: [PATCH 6/6] Correcting errors Signed-off-by: clinique --- .../org/smarthomej/automation/javarule/annotation/Rule.java | 3 +-- .../automation/javarule/internal/script/RuleProcessor.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java index c14eda33ac..20599e8bfe 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java @@ -19,7 +19,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import java.util.Set; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -34,7 +33,7 @@ public @interface Rule { String name() default ANNOTATION_DEFAULT; - Set tags() default Set.of(); + String[] tags() default {}; boolean disabled() default false; } diff --git a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java index 04bc44a564..083e6061c5 100644 --- a/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java +++ b/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/RuleProcessor.java @@ -79,7 +79,7 @@ public static List getSimpleRules(String scriptIdentifier, JavaRule String ruleName = method.getName(); String ruleDescription = ruleAnnotation.name(); - Set ruleTags = ruleAnnotation.tags(); + Set ruleTags = Set.of(ruleAnnotation.tags()); if (ruleDescription.isBlank() || ANNOTATION_DEFAULT.equals(ruleDescription)) { ruleDescription = script.getClass().getSimpleName() + "/" + method.getName();