From 38c4a6a2b3785a7a5d7841e3f8c3229030d42e90 Mon Sep 17 00:00:00 2001 From: SebastianEbert <sebastian.ebert@tu-dresden.de> Date: Tue, 26 Jan 2021 13:53:18 +0100 Subject: [PATCH] bugfix on java backend --- .../java/org/jastadd/ragconnect/compiler/Compiler.java | 1 + ragconnect.base/src/main/resources/JavaHandler.jadd | 6 +++++- .../src/main/resources/receiveDefinition.mustache | 4 ++-- .../src/main/resources/sendDefinition.mustache | 9 +++------ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/ragconnect.base/src/main/java/org/jastadd/ragconnect/compiler/Compiler.java b/ragconnect.base/src/main/java/org/jastadd/ragconnect/compiler/Compiler.java index 8c649c4..0c4900d 100644 --- a/ragconnect.base/src/main/java/org/jastadd/ragconnect/compiler/Compiler.java +++ b/ragconnect.base/src/main/java/org/jastadd/ragconnect/compiler/Compiler.java @@ -227,6 +227,7 @@ public class Compiler extends AbstractCompiler { ASTNode.loggingEnabledForReads = optionLogReads.value(); ASTNode.loggingEnabledForWrites = optionLogWrites.value(); ASTNode.usesMqtt = optionProtocols.hasValue(OPTION_PROTOCOL_MQTT); + ASTNode.usesJava = optionProtocols.hasValue(OPTION_PROTOCOL_JAVA); ASTNode.usesRest = optionProtocols.hasValue(OPTION_PROTOCOL_REST); return ragConnect; } diff --git a/ragconnect.base/src/main/resources/JavaHandler.jadd b/ragconnect.base/src/main/resources/JavaHandler.jadd index 217ae63..60f43b8 100644 --- a/ragconnect.base/src/main/resources/JavaHandler.jadd +++ b/ragconnect.base/src/main/resources/JavaHandler.jadd @@ -29,7 +29,7 @@ aspect JavaHandler { return JAVA_HANDLER_INSTANCE; } - public void registerCallback(String topic, Consumer<byte[]> callback) { + public boolean registerCallback(String topic, Consumer<byte[]> callback) { logger.debug("[JAVA_HANDLER] Registering new callback."); @@ -42,8 +42,12 @@ aspect JavaHandler { } else { registeredCallbacks.add(callback); } + + return true; } + public void close(){}; + public boolean push(String topic, byte[] data) { logger.debug("[JAVA_HANDLER] Pushing a message."); diff --git a/ragconnect.base/src/main/resources/receiveDefinition.mustache b/ragconnect.base/src/main/resources/receiveDefinition.mustache index 86523f5..95340e5 100644 --- a/ragconnect.base/src/main/resources/receiveDefinition.mustache +++ b/ragconnect.base/src/main/resources/receiveDefinition.mustache @@ -12,10 +12,10 @@ public boolean {{parentTypeName}}.{{connectMethod}}(String {{connectParameterNam case "mqtt": return {{mqttHandlerAttribute}}().newConnection(uri, consumer); {{/usesMqtt}} {{#usesJava}} - case "mqtt": return {{javaHandlerAttribute}}().registerCallback(uri, consumer); + case "java": return {{javaHandlerAttribute}}().registerCallback(path, consumer); {{/usesJava}} {{#usesRest}} - case "java": return {{restHandlerAttribute}}().newPUTConnection(uri, input -> { + case "rest": return {{restHandlerAttribute}}().newPUTConnection(uri, input -> { consumer.accept(input.getBytes()); }); {{/usesRest}} diff --git a/ragconnect.base/src/main/resources/sendDefinition.mustache b/ragconnect.base/src/main/resources/sendDefinition.mustache index a913710..248ea2d 100644 --- a/ragconnect.base/src/main/resources/sendDefinition.mustache +++ b/ragconnect.base/src/main/resources/sendDefinition.mustache @@ -22,13 +22,10 @@ public boolean {{parentTypeName}}.{{connectMethod}}(String {{connectParameterNam {{/usesMqtt}} {{#usesJava}} case "java": - final JavaHandler handler = {{javaHandlerAttribute}}().resolveHandler(uri); - final String topic = {{javaHandlerAttribute}}().extractTopic(uri); + final JavaHandler handler = {{javaHandlerAttribute}}().getInstance(); + {{sender}} = () -> { - {{#loggingEnabledForWrites}} - System.out.println("[Send] {{tokenName}} = " + get{{tokenName}}() + " -> " + {{connectParameterName}}); - {{/loggingEnabledForWrites}} - handler.publish(topic, {{lastValue}}); + handler.push(path, {{lastValue}}); }; {{updateMethod}}(); if (writeCurrentValue) { -- GitLab