Rule and RuleTemplate file format conversion (#5572)

* Create ObjectParser and ObjectSerializer interfaces for rules and rule templates

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Embed DSL rule source with the Rule

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Detect shared context DSL rules

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Update YAML DTOs to support serialization

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Create rule converters

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Create rule template YAML converter

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Implement rule and rule template conversion in the REST API

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Handle DSL conditions

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Create check serializability endpoint

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Don't deserialize TemplateState - deduce it from templateUID

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Add GenericEventTrigger to ModuleTypeAliases

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Fix JavaDoc errors

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Allow triggerless DSL rules

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Fix negative indentation issue during DSL formatting

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Add rule configuration to "rule summary"

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Fix rule template REST API schema

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Address review feedback

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Address review feedback

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Handle single digit hour specification during DSL serialization

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Address review comments

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Address review comments

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Apply review suggestion

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Remove seemingly needless import

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Apply review derived fixes

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Review fixes

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Address review formatter feedback

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Fix YAML bundle feature dependency

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

---------

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>
Co-authored-by: Ravi Nadahar <nadahar@rediffmail.com>
This commit is contained in:
Nadahar
2026-06-12 19:49:35 +02:00
committed by GitHub
co-authored by Ravi Nadahar
parent 7b01cb57da
commit 6ad0192975
39 changed files with 2651 additions and 163 deletions
@@ -429,6 +429,7 @@
<feature name="openhab-core-model-yaml" version="${project.version}">
<feature>openhab-core-base</feature>
<feature>openhab-core-automation-module-script-rulesupport</feature>
<feature>openhab-core-ui</feature>
<bundle>mvn:org.openhab.core.bundles/org.openhab.core.model.yaml/${project.version}</bundle>
<requirement>openhab.tp;filter:="(feature=jackson)"</requirement>