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 8c649c4fb47be4f7824f26b93758d4a7d58a1028..0c4900df464e839ab1ea3108cc82eecfc697549e 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 217ae63bce14a4cfe64e97aa3d5212fc82d783cb..60f43b8d0fe7c6a8692d8b33878f380b4c83ba85 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 86523f5c74a03f009c98ae5abb796af42e1823af..95340e5446baeab28564747076c4178b06d55ee6 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 a91371020903b8f146bb3453d39abec877855e6a..248ea2db939f1da946e62ce7ce2034457adaf4cb 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) {