From abe8a70bf5ad35cfa4ca87813bd935b60c86bfcb Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Fri, 14 Aug 2020 14:05:33 +0200 Subject: [PATCH] Update to version 0.2.1 - optimize mqtt-send performance (resolve handler only once) --- new-version.sh | 7 +++++++ ragconnect.base/build.gradle | 4 +++- ragconnect.base/src/main/resources/MqttHandler.jadd | 2 +- .../src/main/resources/ragConnectVersion.properties | 4 ++-- .../src/main/resources/sendDefinition.mustache | 11 ++++------- .../src/main/resources/tokenComponent.mustache | 2 -- 6 files changed, 17 insertions(+), 13 deletions(-) create mode 100755 new-version.sh diff --git a/new-version.sh b/new-version.sh new file mode 100755 index 0000000..0f4eb43 --- /dev/null +++ b/new-version.sh @@ -0,0 +1,7 @@ +#!/bin/sh +echo "Old version: '$(./gradlew -q :ragconnect.base:run --args=--version)'" +if [ -z "$1" ]; then + echo "Missing parameter for version" + exit 1 +fi +./gradlew newVersion -Pvalue=$1 diff --git a/ragconnect.base/build.gradle b/ragconnect.base/build.gradle index f331878..953e9c5 100644 --- a/ragconnect.base/build.gradle +++ b/ragconnect.base/build.gradle @@ -61,8 +61,10 @@ jar { } from { - configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } + + archiveBaseName = 'ragconnect' } task relast(type: JavaExec) { diff --git a/ragconnect.base/src/main/resources/MqttHandler.jadd b/ragconnect.base/src/main/resources/MqttHandler.jadd index 6f40612..d9f99fb 100644 --- a/ragconnect.base/src/main/resources/MqttHandler.jadd +++ b/ragconnect.base/src/main/resources/MqttHandler.jadd @@ -53,7 +53,7 @@ public class MqttServerHandler { resolveHandler(uri).publish(extractTopic(uri), bytes, qos, retain); } - private String extractTopic(java.net.URI uri) { + public static String extractTopic(java.net.URI uri) { String path = uri.getPath(); if (path.charAt(0) == '/') { path = path.substring(1); diff --git a/ragconnect.base/src/main/resources/ragConnectVersion.properties b/ragconnect.base/src/main/resources/ragConnectVersion.properties index 8ec4416..768893e 100644 --- a/ragconnect.base/src/main/resources/ragConnectVersion.properties +++ b/ragconnect.base/src/main/resources/ragConnectVersion.properties @@ -1,2 +1,2 @@ -#Wed Jul 29 16:29:05 CEST 2020 -version=0.2.0 +#Fri Aug 14 13:28:32 CEST 2020 +version=0.2.1 diff --git a/ragconnect.base/src/main/resources/sendDefinition.mustache b/ragconnect.base/src/main/resources/sendDefinition.mustache index fac4ecd..d6601aa 100644 --- a/ragconnect.base/src/main/resources/sendDefinition.mustache +++ b/ragconnect.base/src/main/resources/sendDefinition.mustache @@ -1,21 +1,18 @@ private Runnable {{parentTypeName}}.{{sender}} = null; private byte[] {{parentTypeName}}.{{lastValue}} = null; -public boolean {{parentTypeName}}.{{connectMethod}}(String {{connectParameterName}}, boolean writeCurrentValue) { +public boolean {{parentTypeName}}.{{connectMethod}}(String {{connectParameterName}}, boolean writeCurrentValue) throws java.io.IOException { {{>handleUri}} switch (scheme) { {{#usesMqtt}} case "mqtt": - // MqttHandler handler = {{mqttHandlerAttribute}}().resolveHandler(uri);{{!optimize later}} + final MqttHandler handler = {{mqttHandlerAttribute}}().resolveHandler(uri); + final String topic = {{mqttHandlerAttribute}}().extractTopic(uri); {{sender}} = () -> { {{#loggingEnabledForWrites}} System.out.println("[Send] {{tokenName}} = " + get{{tokenName}}() + " -> " + {{connectParameterName}}); {{/loggingEnabledForWrites}} - try { - {{mqttHandlerAttribute}}().publish(uri, {{lastValue}}); - } catch (java.io.IOException e) { - e.printStackTrace(); - } + handler.publish(topic, {{lastValue}}); }; {{updateMethod}}(); if (writeCurrentValue) { diff --git a/ragconnect.base/src/main/resources/tokenComponent.mustache b/ragconnect.base/src/main/resources/tokenComponent.mustache index e78efb9..ec91e68 100644 --- a/ragconnect.base/src/main/resources/tokenComponent.mustache +++ b/ragconnect.base/src/main/resources/tokenComponent.mustache @@ -3,11 +3,9 @@ public {{parentTypeName}} {{parentTypeName}}.set{{name}}({{javaType}} value) { {{#DependencyDefinitions}} for ({{targetParentTypeName}} target : get{{internalRelationPrefix}}TargetList()) { {{#targetEndpointDefinition}} - {{!#isPush}} if (target.{{updateMethod}}()) { target.{{writeMethod}}(); } - {{!/isPush}} {{/targetEndpointDefinition}} } {{/DependencyDefinitions}} -- GitLab