diff --git a/sensorhub-core/src/main/java/org/sensorhub/impl/comm/TCPCommProvider.java b/sensorhub-core/src/main/java/org/sensorhub/impl/comm/TCPCommProvider.java index 7526e124fa..d902d77229 100644 --- a/sensorhub-core/src/main/java/org/sensorhub/impl/comm/TCPCommProvider.java +++ b/sensorhub-core/src/main/java/org/sensorhub/impl/comm/TCPCommProvider.java @@ -73,7 +73,7 @@ protected void doStart() throws SensorHubException int count = 0; int retryAttempts = this.config.connection.reconnectAttempts; -// boolean isRetrying = retryAttempts >= 0; + while(true) { try { InetAddress addr = InetAddress.getByName(config.remoteHost); @@ -82,17 +82,15 @@ protected void doStart() throws SensorHubException SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault(); socket = factory.createSocket(addr, config.remotePort); ((SSLSocket) socket).startHandshake(); - is = socket.getInputStream(); - os = socket.getOutputStream(); } else { SocketAddress endpoint = new InetSocketAddress(addr, config.remotePort); socket = new Socket(); socket.connect(endpoint, this.config.connection.connectTimeout); - is = socket.getInputStream(); - os = socket.getOutputStream(); -// isRetrying = false; - break; } + + is = socket.getInputStream(); + os = socket.getOutputStream(); + break; } catch (IOException e) { if(++count >= retryAttempts) throw new SensorHubException("Cannot connect to remote host " diff --git a/sensorhub-webui-core/src/main/java/org/sensorhub/ui/SWECommonForm.java b/sensorhub-webui-core/src/main/java/org/sensorhub/ui/SWECommonForm.java index face5ac2b0..0e2027e956 100644 --- a/sensorhub-webui-core/src/main/java/org/sensorhub/ui/SWECommonForm.java +++ b/sensorhub-webui-core/src/main/java/org/sensorhub/ui/SWECommonForm.java @@ -15,7 +15,6 @@ package org.sensorhub.ui; import org.sensorhub.ui.api.UIConstants; -import org.vast.data.DataValue; import org.vast.swe.SWEDataTypeUtils; import net.opengis.swe.v20.DataArray; import net.opengis.swe.v20.DataChoice; @@ -168,7 +167,11 @@ protected String getCaption(DataComponent dataComponent, boolean showValues) if (showValues && dataComponent.hasData()) { - var str = sweUtils.getStringValue((DataValue)dataComponent); + // cast to SimpleComponent (not DataValue): range components + // (QuantityRange, etc.) are SimpleComponents but not DataValues. + // getStringValue(SimpleComponent) already renders both scalars + // and ranges, so this is the same call for scalars. + var str = sweUtils.getStringValue((SimpleComponent)dataComponent); if ("NaN".equals(str) || "null".equals(str)) str = "n/a";