diff --git a/pages/docs/changelog.md b/pages/docs/changelog.md index 79386ad968a22edb7c53c4dd0c5c253bdbf89280..138ad9b2fae4140e8d172635202a089d12d7e4b6 100644 --- a/pages/docs/changelog.md +++ b/pages/docs/changelog.md @@ -1,5 +1,13 @@ # Changelog +## 1.0.1 (dev) + +### Changes + +### Development Changes + +- Bugfix: "error: variable handler is already defined" when using multiple protocols [#58](https://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/58) + ## 1.0.0 ### Changes diff --git a/ragconnect.base/src/main/resources/sendDefinition.mustache b/ragconnect.base/src/main/resources/sendDefinition.mustache index 9c7dac4fc7a9bccc449fcdfced102c4ba865fbb2..d97618567dce78a10b56680aac09d31e5b06c74a 100644 --- a/ragconnect.base/src/main/resources/sendDefinition.mustache +++ b/ragconnect.base/src/main/resources/sendDefinition.mustache @@ -7,23 +7,24 @@ public boolean {{parentTypeName}}.{{connectMethodName}}(String {{connectParamete switch (scheme) { {{#javaHandler}} {{#InUse}} - case "java": - final JavaHandler handler = {{attributeName}}(); + case "java": { + final JavaHandler handler = {{attributeName}}(); - {{senderName}}.add(() -> { - handler.push(path, {{lastValueGetterCall}}); - }{{#IndexBasedListAccess}}, index{{/IndexBasedListAccess}}, connectToken); - {{updateMethodName}}(); - if (writeCurrentValue) { - {{writeMethodName}}({{#IndexBasedListAccess}}index, {{/IndexBasedListAccess}}connectToken); + {{senderName}}.add(() -> { + handler.push(path, {{lastValueGetterCall}}); + }{{#IndexBasedListAccess}}, index{{/IndexBasedListAccess}}, connectToken); + {{updateMethodName}}(); + if (writeCurrentValue) { + {{writeMethodName}}({{#IndexBasedListAccess}}index, {{/IndexBasedListAccess}}connectToken); + } + success = true; + break; } - success = true; - break; {{/InUse}} {{/javaHandler}} {{#mqttHandler}} {{#InUse}} - case "mqtt": + case "mqtt": { final MqttHandler handler = {{attributeName}}().resolveHandler(uri); final String topic = {{attributeName}}().extractTopic(uri); {{senderName}}.add(() -> { @@ -45,16 +46,18 @@ public boolean {{parentTypeName}}.{{connectMethodName}}(String {{connectParamete } success = true; break; + } {{/InUse}} {{/mqttHandler}} {{#restHandler}} {{#InUse}} - case "rest": + case "rest": { success = {{attributeName}}().newGETConnection(connectToken, () -> { {{updateMethodName}}({{#IndexBasedListAccess}}index{{/IndexBasedListAccess}}); return new String({{lastValueGetterCall}}); }); break; + } {{/InUse}} {{/restHandler}} default: diff --git a/ragconnect.tests/build.gradle b/ragconnect.tests/build.gradle index c5e6f13b574d6e93ee635a265c6f0cfe9b718793..fb5e710ae4d4873e37e4454c0adccccc26750838 100644 --- a/ragconnect.tests/build.gradle +++ b/ragconnect.tests/build.gradle @@ -244,7 +244,7 @@ task compileVia(type: RagConnectTest) { inputFiles = [file('src/test/01-input/via/Test.relast'), file('src/test/01-input/via/Test.connect')] rootNode = 'A' - protocols = ['mqtt', 'rest'] + protocols = ['mqtt', 'rest', 'java'] extraOptions = defaultRagConnectOptionsAnd() } relast { diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AttributeTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AttributeTest.java index 7073e6d4f05d35ab7d42d84b0d1d31072b92efc2..ee1b7e55a72e571b21c2d3a427455a53775efabd 100644 --- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AttributeTest.java +++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AttributeTest.java @@ -26,7 +26,6 @@ import static org.junit.jupiter.api.Assertions.*; * @author rschoene - Initial contribution */ @Tag("Incremental") -@Tag("New") public class AttributeTest extends AbstractMqttTest { private static final String TOPIC_WILDCARD = "attr/#"; diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/tree/AbstractTreeTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/tree/AbstractTreeTest.java index 9b2e18f5a5fd075843b4022386408c944506f0be..c8f87c184a555fc65006e30a023992812ee94295 100644 --- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/tree/AbstractTreeTest.java +++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/tree/AbstractTreeTest.java @@ -16,7 +16,6 @@ import static org.junit.jupiter.api.Assertions.*; * @author rschoene - Initial contribution */ @Tag("Tree") -@Tag("New") public abstract class AbstractTreeTest extends AbstractMqttTest { protected static final String TOPIC_ALFA = "alfa"; protected ReceiverData data;