From 87104a7d63f8ac0f30fd8e1f560b7a08afefba36 Mon Sep 17 00:00:00 2001 From: Manuel Krombholz <s3866577@msx.tu-dresden.de> Date: Sun, 1 Aug 2021 22:37:56 +0200 Subject: [PATCH] MQTT default port as constant var --- eraser-base/src/main/jastadd/ExternalHost.jrag | 6 ++++++ .../inf/st/eraser/jastadd/model/MQTTConstants.java | 5 +++++ .../inf/st/eraser/jastadd/model/MQTTSenderImpl.java | 6 ++++-- .../java/de/tudresden/inf/st/eraser/util/MqttReceiver.java | 6 ++++-- 4 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MQTTConstants.java diff --git a/eraser-base/src/main/jastadd/ExternalHost.jrag b/eraser-base/src/main/jastadd/ExternalHost.jrag index a72b7753..892a7dfb 100644 --- a/eraser-base/src/main/jastadd/ExternalHost.jrag +++ b/eraser-base/src/main/jastadd/ExternalHost.jrag @@ -3,4 +3,10 @@ aspect ExternalHost { public ExternalHost ExternalHost.copyFrom(ExternalHost host) { return setHostName(host.getHostName()).setPort(host.getPort()).setUserName(host.getUserName()).setPassword(host.getPassword()); } + public ExternalHost ExternalHost.setDefaultPort(int defaultPort) { + if (this.getPort()==0) { + this.setPort(defaultPort); + } + return this; + } } \ No newline at end of file diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MQTTConstants.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MQTTConstants.java new file mode 100644 index 00000000..a7152409 --- /dev/null +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MQTTConstants.java @@ -0,0 +1,5 @@ +package de.tudresden.inf.st.eraser.jastadd.model; + +public class MQTTConstants { + public static final int MQTT_DEFAULT_PORT = 1883; +} diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MQTTSenderImpl.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MQTTSenderImpl.java index cfd9f6ec..25cc90f2 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MQTTSenderImpl.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/jastadd/model/MQTTSenderImpl.java @@ -7,6 +7,8 @@ import org.fusesource.mqtt.client.*; import java.net.URI; import java.util.concurrent.TimeUnit; +import static de.tudresden.inf.st.eraser.jastadd.model.MQTTConstants.MQTT_DEFAULT_PORT; + /** * Implementation of a MQTT sender using <code>org.fusesource.mqtt.client</code>. * @@ -30,9 +32,9 @@ public class MQTTSenderImpl implements MQTTSender { @Override public MQTTSender setHost(ExternalHost host) { - int port = host.getPort()!=0 ? host.getPort() : 1883; + host.setDefaultPort(MQTT_DEFAULT_PORT); /* The host running the MQTT broker. */ - URI hostUri = URI.create("tcp://" + host.getHostName() + ":" + port); + URI hostUri = URI.create("tcp://" + host.getHostName() + ":" + host.getPort()); logger.debug("Host is {}", hostUri); MQTT mqtt = new MQTT(); String username = host.getUserName(); diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/MqttReceiver.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/MqttReceiver.java index 82e26321..bce6e608 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/MqttReceiver.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/MqttReceiver.java @@ -18,6 +18,8 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import java.util.function.BiConsumer; +import static de.tudresden.inf.st.eraser.jastadd.model.MQTTConstants.MQTT_DEFAULT_PORT; + /** * Subscribe to topics, receive and store messages. * @@ -53,8 +55,8 @@ public class MqttReceiver implements AutoCloseable { * Sets the host to receive messages from */ public void setHost(ExternalHost externalHost) { - int port = externalHost.getPort()!=0 ? externalHost.getPort() : 1883; - this.host = URI.create("tcp://" + externalHost.getHostName() + ":" + port); + externalHost.setDefaultPort(MQTT_DEFAULT_PORT); + this.host = URI.create("tcp://" + externalHost.getHostName() + ":" + externalHost.getPort()); this.username = externalHost.getUserName(); this.password = externalHost.getPassword(); logger.debug("Host is {}", externalHost.getHostName()); -- GitLab