diff --git a/eraser-base/src/main/jastadd/ExternalHost.jrag b/eraser-base/src/main/jastadd/ExternalHost.jrag index 892a7dfbc2a86e1b8967272c035202f7a9008184..2b8e5a0d9f5efc9d93c05bed3c72d01c3cc5661a 100644 --- a/eraser-base/src/main/jastadd/ExternalHost.jrag +++ b/eraser-base/src/main/jastadd/ExternalHost.jrag @@ -9,4 +9,15 @@ aspect ExternalHost { } return this; } + public ExternalHost ExternalHost.setHostFromAddress(String line) { + String host = line; + if (line.contains(":")) { + String[] parts = line.split(":"); + host = parts[0]; + this.setPort(Integer.parseInt(parts[1])); + } + setHostName(host); + + return this; + } } \ No newline at end of file diff --git a/eraser-base/src/main/jastadd/Util.jrag b/eraser-base/src/main/jastadd/Util.jrag index 5dec6c937eb459ea7a5abbc0b26d395a8dd7ce44..b0d5bf094bc4de78f3af55e988ca5268463f7a17 100644 --- a/eraser-base/src/main/jastadd/Util.jrag +++ b/eraser-base/src/main/jastadd/Util.jrag @@ -11,16 +11,10 @@ aspect Util { public static ExternalHost ExternalHost.of(String hostName, int defaultPort, String username, String password) { - String host = hostName; - int port = defaultPort; - if (hostName.contains(":")) { - String[] parts = hostName.split(":"); - host = parts[0]; - port = Integer.parseInt(parts[1]); - } ExternalHost eh = new ExternalHost(); - eh.setHostName(host); - eh.setPort(port); + eh.setPort(defaultPort); + eh.setHostFromAddress(hostName); + if (username!=null) eh.setUserName(username); if (password!=null) diff --git a/eraser-base/src/main/jastadd/eraser.parser b/eraser-base/src/main/jastadd/eraser.parser index 456027b12235de42421b539218f7d82fca904871..e4b4eedcb279288a7ea6db74d4e72e3ecc660a9c 100644 --- a/eraser-base/src/main/jastadd/eraser.parser +++ b/eraser-base/src/main/jastadd/eraser.parser @@ -326,7 +326,7 @@ MqttRoot mqtt_root = MqttRoot mqtt_root_body = INCOMING EQUALS TEXT.n mqtt_root_body.mrb {: mrb.setIncomingPrefix(ensureTrailingSlash(n)); return mrb; :} | OUTGOING EQUALS TEXT.n mqtt_root_body.mrb {: mrb.setOutgoingPrefix(ensureTrailingSlash(n)); return mrb; :} - | HOST EQUALS TEXT.n mqtt_root_body.mrb {: mrb.getHost().setHostName(n); return mrb; :} + | HOST EQUALS TEXT.n mqtt_root_body.mrb {: mrb.getHost().setHostFromAddress(n); return mrb; :} | USER EQUALS TEXT.n mqtt_root_body.mrb {: mrb.getHost().setUserName(n); return mrb; :} | PASSWORD EQUALS TEXT.n mqtt_root_body.mrb {: mrb.getHost().setPassword(n); return mrb; :} | {: return new MqttRoot(); :}