From 0ef0d871fb354928b9c9c7c571c3fcf7c958338e Mon Sep 17 00:00:00 2001 From: sinthuja Date: Thu, 10 Nov 2016 21:23:14 +0530 Subject: [PATCH] fixing the issues when reading the mqtt receiver configurations. --- .../android_sense_publisher.xml | 2 +- .../android_sense_receiver.xml | 2 +- .../arduino_receiver/arduino_receiver.xml | 2 +- .../raspberrypi_receiver.xml | 2 +- .../MQTTBrokerConnectionConfiguration.java | 4 +- .../adapter/mqtt/util/PropertyUtils.java | 43 ++++++++----------- 6 files changed, 24 insertions(+), 31 deletions(-) diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/android_sense_publisher.xml b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/android_sense_publisher.xml index 1e16ab1789..fcb3aadf18 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/android_sense_publisher.xml +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/android_sense_publisher.xml @@ -20,6 +20,6 @@ - + diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/android_sense_receiver.xml b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/android_sense_receiver.xml index 4ba6b5ff92..48bb1f9194 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/android_sense_receiver.xml +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/android_sense_receiver.xml @@ -23,7 +23,7 @@ admin org.wso2.carbon.device.mgt.input.adapter.mqtt.util.MQTTContentValidator default - https://localhost:${carbon.https.port}/dynamic-client-web/register + https://${iot.core.host}:${iot.core.https.port}/dynamic-client-web/register tcp://${mqtt.broker.host}:${mqtt.broker.port} true diff --git a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_receiver/arduino_receiver.xml b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_receiver/arduino_receiver.xml index 8edadbdf6f..a12cae6801 100644 --- a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_receiver/arduino_receiver.xml +++ b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_receiver/arduino_receiver.xml @@ -24,7 +24,7 @@ default all 100 - https://localhost:${carbon.https.port}/services/OAuth2TokenValidationService + https://localhost:${dcr.endpoint.port}/services/OAuth2TokenValidationService admin diff --git a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_receiver/raspberrypi_receiver.xml b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_receiver/raspberrypi_receiver.xml index 65846c0b43..60d130514e 100644 --- a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_receiver/raspberrypi_receiver.xml +++ b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_receiver/raspberrypi_receiver.xml @@ -22,7 +22,7 @@ admin org.wso2.carbon.device.mgt.input.adapter.mqtt.util.MQTTContentValidator default - https://localhost:${carbon.https.port}/dynamic-client-web/register + https://${iot.core.host}:${iot.core.https.port}/dynamic-client-web/register tcp://${mqtt.broker.host}:${mqtt.broker.port} true diff --git a/components/extensions/cdmf-transport-adapters/input/org.wso2.carbon.device.mgt.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/input/adapter/mqtt/util/MQTTBrokerConnectionConfiguration.java b/components/extensions/cdmf-transport-adapters/input/org.wso2.carbon.device.mgt.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/input/adapter/mqtt/util/MQTTBrokerConnectionConfiguration.java index 55a4bf0570..0724937799 100644 --- a/components/extensions/cdmf-transport-adapters/input/org.wso2.carbon.device.mgt.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/input/adapter/mqtt/util/MQTTBrokerConnectionConfiguration.java +++ b/components/extensions/cdmf-transport-adapters/input/org.wso2.carbon.device.mgt.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/input/adapter/mqtt/util/MQTTBrokerConnectionConfiguration.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.device.mgt.input.adapter.mqtt.util; +import org.wso2.carbon.event.input.adapter.core.exception.InputEventAdapterException; + /** * This holds the configurations related to MQTT Broker. */ @@ -65,7 +67,7 @@ public class MQTTBrokerConnectionConfiguration { public MQTTBrokerConnectionConfiguration(String brokerUrl, String brokerUsername, String brokerScopes, String dcrUrl, String cleanSession, int keepAlive, - String contentValidatorClassName, String contentTransformerClassName) { + String contentValidatorClassName, String contentTransformerClassName) throws InputEventAdapterException { this.brokerUsername = brokerUsername; this.brokerScopes = brokerScopes; if (brokerScopes == null) { diff --git a/components/extensions/cdmf-transport-adapters/input/org.wso2.carbon.device.mgt.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/input/adapter/mqtt/util/PropertyUtils.java b/components/extensions/cdmf-transport-adapters/input/org.wso2.carbon.device.mgt.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/input/adapter/mqtt/util/PropertyUtils.java index 5cede58f6f..91a512b79d 100644 --- a/components/extensions/cdmf-transport-adapters/input/org.wso2.carbon.device.mgt.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/input/adapter/mqtt/util/PropertyUtils.java +++ b/components/extensions/cdmf-transport-adapters/input/org.wso2.carbon.device.mgt.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/input/adapter/mqtt/util/PropertyUtils.java @@ -18,37 +18,28 @@ package org.wso2.carbon.device.mgt.input.adapter.mqtt.util; -import org.wso2.carbon.base.ServerConfiguration; -import org.wso2.carbon.core.util.Utils; +import org.wso2.carbon.event.input.adapter.core.exception.InputEventAdapterException; -public class PropertyUtils { - private static final String MQTT_PORT = "\\$\\{mqtt.broker.port\\}"; - private static final String MQTT_BROKER_HOST = "\\$\\{mqtt.broker.host\\}"; - private static final String CARBON_CONFIG_PORT_OFFSET = "Ports.Offset"; - private static final String DEFAULT_CARBON_LOCAL_IP_PROPERTY = "carbon.local.ip"; - private static final int CARBON_DEFAULT_PORT_OFFSET = 0; - private static final int DEFAULT_MQTT_PORT = 1886; +import java.util.regex.Matcher; +import java.util.regex.Pattern; - //This method is only used if the mb features are within DAS. - public static String replaceMqttProperty (String urlWithPlaceholders) { - urlWithPlaceholders = Utils.replaceSystemProperty(urlWithPlaceholders); - urlWithPlaceholders = urlWithPlaceholders.replaceAll(MQTT_PORT, "" + (DEFAULT_MQTT_PORT + getPortOffset())); - urlWithPlaceholders = urlWithPlaceholders.replaceAll(MQTT_BROKER_HOST, System.getProperty( - DEFAULT_CARBON_LOCAL_IP_PROPERTY, "localhost")); - return urlWithPlaceholders; - } +class PropertyUtils { - private static int getPortOffset() { - ServerConfiguration carbonConfig = ServerConfiguration.getInstance(); - String portOffset = System.getProperty("portOffset", carbonConfig.getFirstProperty(CARBON_CONFIG_PORT_OFFSET)); - try { - if (portOffset != null) { - return Integer.parseInt(portOffset.trim()); + //This method is only used if the mb features are within DAS. + static String replaceMqttProperty(String urlWithPlaceholders) throws InputEventAdapterException { + String regex = "\\$\\{(.*?)\\}"; + Pattern pattern = Pattern.compile(regex); + Matcher matchPattern = pattern.matcher(urlWithPlaceholders); + while (matchPattern.find()) { + String sysPropertyName = matchPattern.group(1); + String sysPropertyValue = System.getProperty(sysPropertyName); + if (sysPropertyValue != null && !sysPropertyName.isEmpty()) { + urlWithPlaceholders = urlWithPlaceholders.replaceAll("\\$\\{(" + sysPropertyName + ")\\}", sysPropertyValue); } else { - return CARBON_DEFAULT_PORT_OFFSET; + throw new InputEventAdapterException("System property - " + sysPropertyName + + " is not defined, hence cannot resolve : " + urlWithPlaceholders); } - } catch (NumberFormatException e) { - return CARBON_DEFAULT_PORT_OFFSET; } + return urlWithPlaceholders; } }