diff --git a/eraser-base/src/main/jastadd/ExternalHost.jrag b/eraser-base/src/main/jastadd/ExternalHost.jrag index a72b775358368e67cebe1587e1b5b5c1bb28aae6..892a7dfbc2a86e1b8967272c035202f7a9008184 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 0000000000000000000000000000000000000000..a71524091616c74dc4a8da6f56b73808e6f26ba7 --- /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 cfd9f6eca7d5f9f8f0faa5a3d10e8c93df313c3e..25cc90f21bf926cc60155e9a57c3675685af9e20 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 82e263212b31c7240f3285547777b201a4c44979..bce6e608631d4fa57e670cb77167b899a7c5970e 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());