diff --git a/components/device-mgt-iot-arduino/org.wso2.carbon.device.mgt.iot.arduino.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/ArduinoService.java b/components/device-mgt-iot-arduino/org.wso2.carbon.device.mgt.iot.arduino.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/ArduinoService.java index ea8484fb7b..d9516ab2d6 100644 --- a/components/device-mgt-iot-arduino/org.wso2.carbon.device.mgt.iot.arduino.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/ArduinoService.java +++ b/components/device-mgt-iot-arduino/org.wso2.carbon.device.mgt.iot.arduino.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/ArduinoService.java @@ -37,6 +37,7 @@ import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants; import org.wso2.carbon.device.mgt.iot.arduino.service.dto.DeviceJSON; import org.wso2.carbon.device.mgt.iot.arduino.service.transport.ArduinoMQTTSubscriber; import org.wso2.carbon.device.mgt.iot.arduino.service.util.ArduinoServiceUtils; +import org.wso2.carbon.device.mgt.iot.controlqueue.mqtt.MqttConfig; import org.wso2.carbon.device.mgt.iot.exception.AccessTokenException; import org.wso2.carbon.device.mgt.iot.exception.DeviceControllerException; import org.wso2.carbon.device.mgt.iot.sensormgt.SensorDataManager; @@ -99,17 +100,21 @@ public class ArduinoService { final ArduinoMQTTSubscriber arduinoMQTTSubscriber) { this.arduinoMQTTSubscriber = arduinoMQTTSubscriber; - Runnable xmppStarter = new Runnable() { - @Override - public void run() { - arduinoMQTTSubscriber.initConnector(); - arduinoMQTTSubscriber.connectAndSubscribe(); - } - }; + if (MqttConfig.getInstance().isEnabled()) { + Runnable xmppStarter = new Runnable() { + @Override + public void run() { + arduinoMQTTSubscriber.initConnector(); + arduinoMQTTSubscriber.connectAndSubscribe(); + } + }; - Thread xmppStarterThread = new Thread(xmppStarter); - xmppStarterThread.setDaemon(true); - xmppStarterThread.start(); + Thread xmppStarterThread = new Thread(xmppStarter); + xmppStarterThread.setDaemon(true); + xmppStarterThread.start(); + } else { + log.warn("MQTT disabled in 'devicemgt-config.xml'. Hence, ArduinoMQTTSubscriber not started."); + } } /** diff --git a/components/device-mgt-iot-digitaldisplay/org.wso2.carbon.device.mgt.iot.digitaldisplay.api/src/main/java/org/wso2/carbon/device/mgt/iot/digitaldisplay/api/DigitalDisplayControllerService.java b/components/device-mgt-iot-digitaldisplay/org.wso2.carbon.device.mgt.iot.digitaldisplay.api/src/main/java/org/wso2/carbon/device/mgt/iot/digitaldisplay/api/DigitalDisplayControllerService.java index d9fcf4d23e..2623cdc26c 100644 --- a/components/device-mgt-iot-digitaldisplay/org.wso2.carbon.device.mgt.iot.digitaldisplay.api/src/main/java/org/wso2/carbon/device/mgt/iot/digitaldisplay/api/DigitalDisplayControllerService.java +++ b/components/device-mgt-iot-digitaldisplay/org.wso2.carbon.device.mgt.iot.digitaldisplay.api/src/main/java/org/wso2/carbon/device/mgt/iot/digitaldisplay/api/DigitalDisplayControllerService.java @@ -24,6 +24,7 @@ import org.wso2.carbon.apimgt.annotations.api.API; import org.wso2.carbon.apimgt.annotations.device.DeviceType; import org.wso2.carbon.apimgt.annotations.device.feature.Feature; import org.wso2.carbon.device.mgt.common.DeviceManagementException; +import org.wso2.carbon.device.mgt.iot.controlqueue.mqtt.MqttConfig; import org.wso2.carbon.device.mgt.iot.digitaldisplay.api.exception.DigitalDisplayException; import org.wso2.carbon.device.mgt.iot.digitaldisplay.api.transport.CommunicationHandlerException; import org.wso2.carbon.device.mgt.iot.digitaldisplay.api.util.DigitalDisplayMqttCommunicationHandler; @@ -54,9 +55,12 @@ public class DigitalDisplayControllerService { public void setDigitalDisplayMqttCommunicationHandler( DigitalDisplayMqttCommunicationHandler digitalDisplayMqttCommunicationHandler) { DigitalDisplayControllerService.digitalDisplayMqttCommunicationHandler = digitalDisplayMqttCommunicationHandler; - - digitalDisplayMqttCommunicationHandler.connect(); - + if (MqttConfig.getInstance().isEnabled()) { + digitalDisplayMqttCommunicationHandler.connect(); + } else { + log.warn("MQTT disabled in 'devicemgt-config.xml'. " + + "Hence, DigitalDisplayMqttCommunicationHandler not started."); + } } /** diff --git a/components/device-mgt-iot-digitaldisplay/org.wso2.carbon.device.mgt.iot.digitaldisplay.api/src/main/java/org/wso2/carbon/device/mgt/iot/digitaldisplay/api/util/DigitalDisplayMqttCommunicationHandler.java b/components/device-mgt-iot-digitaldisplay/org.wso2.carbon.device.mgt.iot.digitaldisplay.api/src/main/java/org/wso2/carbon/device/mgt/iot/digitaldisplay/api/util/DigitalDisplayMqttCommunicationHandler.java index 3c545a58fb..66529a9e0d 100644 --- a/components/device-mgt-iot-digitaldisplay/org.wso2.carbon.device.mgt.iot.digitaldisplay.api/src/main/java/org/wso2/carbon/device/mgt/iot/digitaldisplay/api/util/DigitalDisplayMqttCommunicationHandler.java +++ b/components/device-mgt-iot-digitaldisplay/org.wso2.carbon.device.mgt.iot.digitaldisplay.api/src/main/java/org/wso2/carbon/device/mgt/iot/digitaldisplay/api/util/DigitalDisplayMqttCommunicationHandler.java @@ -15,10 +15,6 @@ import java.util.UUID; import java.util.concurrent.ScheduledFuture; -/** - * Created by nuwan on 11/16/15. - */ - public class DigitalDisplayMqttCommunicationHandler extends MQTTCommunicationHandler { private static Log log = LogFactory.getLog(DigitalDisplayMqttCommunicationHandler.class); diff --git a/components/device-mgt-iot-droneanalyzer/org.wso2.carbon.device.mgt.iot.droneanalyzer.api/src/main/java/org/wso2/carbon/device/mgt/iot/droneanalyzer/service/DroneRealTimeService.java b/components/device-mgt-iot-droneanalyzer/org.wso2.carbon.device.mgt.iot.droneanalyzer.api/src/main/java/org/wso2/carbon/device/mgt/iot/droneanalyzer/service/DroneRealTimeService.java index c70649511d..5c39364b0e 100644 --- a/components/device-mgt-iot-droneanalyzer/org.wso2.carbon.device.mgt.iot.droneanalyzer.api/src/main/java/org/wso2/carbon/device/mgt/iot/droneanalyzer/service/DroneRealTimeService.java +++ b/components/device-mgt-iot-droneanalyzer/org.wso2.carbon.device.mgt.iot.droneanalyzer.api/src/main/java/org/wso2/carbon/device/mgt/iot/droneanalyzer/service/DroneRealTimeService.java @@ -19,6 +19,8 @@ package org.wso2.carbon.device.mgt.iot.droneanalyzer.service; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.iot.controlqueue.mqtt.MqttConfig; +import org.wso2.carbon.device.mgt.iot.controlqueue.xmpp.XmppConfig; import org.wso2.carbon.device.mgt.iot.droneanalyzer.plugin.constants.DroneConstants; import org.wso2.carbon.device.mgt.iot.droneanalyzer.service.transport.DroneAnalyzerXMPPConnector; import org.wso2.carbon.device.mgt.iot.droneanalyzer.service.trasformer.MessageTransformer; @@ -34,10 +36,15 @@ public class DroneRealTimeService { private MessageTransformer messageController; private DroneAnalyzerXMPPConnector xmppConnector; - public DroneRealTimeService(){ + public DroneRealTimeService() { messageController = new MessageTransformer(); xmppConnector = new DroneAnalyzerXMPPConnector(messageController); - xmppConnector.connectLoginAndSetFilterOnReceiver(); + + if (XmppConfig.getInstance().isEnabled()){ + xmppConnector.connectLoginAndSetFilterOnReceiver(); + } else { + log.warn("XMPP disabled in 'devicemgt-config.xml'. Hence, VirtualFireAlarmXMPPConnector not started."); + } } diff --git a/components/device-mgt-iot-raspberrypi/org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/RaspberryPiService.java b/components/device-mgt-iot-raspberrypi/org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/RaspberryPiService.java index c9643e851a..6bb8322aa6 100644 --- a/components/device-mgt-iot-raspberrypi/org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/RaspberryPiService.java +++ b/components/device-mgt-iot-raspberrypi/org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/RaspberryPiService.java @@ -32,6 +32,7 @@ import org.wso2.carbon.device.mgt.iot.DeviceManagement; import org.wso2.carbon.device.mgt.iot.DeviceValidator; import org.wso2.carbon.device.mgt.iot.apimgt.AccessTokenInfo; import org.wso2.carbon.device.mgt.iot.apimgt.TokenClient; +import org.wso2.carbon.device.mgt.iot.controlqueue.mqtt.MqttConfig; import org.wso2.carbon.device.mgt.iot.controlqueue.xmpp.XmppAccount; import org.wso2.carbon.device.mgt.iot.controlqueue.xmpp.XmppConfig; import org.wso2.carbon.device.mgt.iot.controlqueue.xmpp.XmppServerClient; @@ -71,8 +72,8 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; -@API( name="raspberrypi", version="1.0.0", context="/raspberrypi") -@DeviceType( value = "raspberrypi") +@API(name = "raspberrypi", version = "1.0.0", context = "/raspberrypi") +@DeviceType(value = "raspberrypi") public class RaspberryPiService { private static Log log = LogFactory.getLog(RaspberryPiService.class); @@ -96,17 +97,21 @@ public class RaspberryPiService { final RaspberryPiMQTTSubscriber raspberryPiMQTTSubscriber) { this.raspberryPiMQTTSubscriber = raspberryPiMQTTSubscriber; - Runnable xmppStarter = new Runnable() { - @Override - public void run() { - raspberryPiMQTTSubscriber.initConnector(); - raspberryPiMQTTSubscriber.connectAndSubscribe(); - } - }; + if (MqttConfig.getInstance().isEnabled()) { + Runnable xmppStarter = new Runnable() { + @Override + public void run() { + raspberryPiMQTTSubscriber.initConnector(); + raspberryPiMQTTSubscriber.connectAndSubscribe(); + } + }; - Thread xmppStarterThread = new Thread(xmppStarter); - xmppStarterThread.setDaemon(true); - xmppStarterThread.start(); + Thread xmppStarterThread = new Thread(xmppStarter); + xmppStarterThread.setDaemon(true); + xmppStarterThread.start(); + } else { + log.warn("MQTT disabled in 'devicemgt-config.xml'. Hence, VirtualFireAlarmMQTTConnector not started."); + } } /** diff --git a/components/device-mgt-iot-virtualfirealarm/org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/VirtualFireAlarmService.java b/components/device-mgt-iot-virtualfirealarm/org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/VirtualFireAlarmService.java index 06207be3d6..d5f8262a61 100644 --- a/components/device-mgt-iot-virtualfirealarm/org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/VirtualFireAlarmService.java +++ b/components/device-mgt-iot-virtualfirealarm/org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/VirtualFireAlarmService.java @@ -36,6 +36,7 @@ import org.wso2.carbon.device.mgt.iot.DeviceManagement; import org.wso2.carbon.device.mgt.iot.DeviceValidator; import org.wso2.carbon.device.mgt.iot.apimgt.AccessTokenInfo; import org.wso2.carbon.device.mgt.iot.apimgt.TokenClient; +import org.wso2.carbon.device.mgt.iot.controlqueue.mqtt.MqttConfig; import org.wso2.carbon.device.mgt.iot.controlqueue.xmpp.XmppAccount; import org.wso2.carbon.device.mgt.iot.controlqueue.xmpp.XmppConfig; import org.wso2.carbon.device.mgt.iot.controlqueue.xmpp.XmppServerClient; @@ -83,8 +84,8 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; -@API( name="virtual_firealarm", version="1.0.0", context="/virtual_firealarm") -@DeviceType( value = "virtual_firealarm") +@API(name = "virtual_firealarm", version = "1.0.0", context = "/virtual_firealarm") +@DeviceType(value = "virtual_firealarm") public class VirtualFireAlarmService { private static Log log = LogFactory.getLog(VirtualFireAlarmService.class); @@ -104,9 +105,7 @@ public class VirtualFireAlarmService { private VirtualFireAlarmXMPPConnector virtualFireAlarmXMPPConnector; private ConcurrentHashMap deviceToIpMap = new ConcurrentHashMap<>(); - /** - * * @param verificationManager */ public void setVerificationManager( @@ -116,48 +115,43 @@ public class VirtualFireAlarmService { } /** - * * @param virtualFireAlarmXMPPConnector */ public void setVirtualFireAlarmXMPPConnector( final VirtualFireAlarmXMPPConnector virtualFireAlarmXMPPConnector) { this.virtualFireAlarmXMPPConnector = virtualFireAlarmXMPPConnector; - Runnable mqttStarter = new Runnable() { - @Override - public void run() { - virtualFireAlarmXMPPConnector.initConnector(); - virtualFireAlarmXMPPConnector.connect(); - } - }; + if (MqttConfig.getInstance().isEnabled()) { + Runnable mqttStarter = new Runnable() { + @Override + public void run() { + virtualFireAlarmXMPPConnector.initConnector(); + virtualFireAlarmXMPPConnector.connect(); + } + }; - Thread mqttStarterThread = new Thread(mqttStarter); - mqttStarterThread.setDaemon(true); - mqttStarterThread.start(); + Thread mqttStarterThread = new Thread(mqttStarter); + mqttStarterThread.setDaemon(true); + mqttStarterThread.start(); + } else { + log.warn("MQTT disabled in 'devicemgt-config.xml'. Hence, VirtualFireAlarmMQTTConnector not started."); + } } /** - * * @param virtualFireAlarmMQTTConnector */ public void setVirtualFireAlarmMQTTConnector( final VirtualFireAlarmMQTTConnector virtualFireAlarmMQTTConnector) { this.virtualFireAlarmMQTTConnector = virtualFireAlarmMQTTConnector; - -// Runnable xmppStarter = new Runnable() { -// @Override -// public void run() { - virtualFireAlarmMQTTConnector.connect(); -// } -// }; -// -// Thread xmppStarterThread = new Thread(xmppStarter); -// xmppStarterThread.setDaemon(true); -// xmppStarterThread.start(); + if (XmppConfig.getInstance().isEnabled()) { + virtualFireAlarmMQTTConnector.connect(); + } else { + log.warn("XMPP disabled in 'devicemgt-config.xml'. Hence, VirtualFireAlarmXMPPConnector not started."); + } } /** - * * @return */ public VerificationManager getVerificationManager() { @@ -165,7 +159,6 @@ public class VirtualFireAlarmService { } /** - * * @return */ public VirtualFireAlarmXMPPConnector getVirtualFireAlarmXMPPConnector() { @@ -173,7 +166,6 @@ public class VirtualFireAlarmService { } /** - * * @return */ public VirtualFireAlarmMQTTConnector getVirtualFireAlarmMQTTConnector() { @@ -186,7 +178,6 @@ public class VirtualFireAlarmService { --------------------------------------------------------------------------------------- */ /** - * * @param deviceId * @param name * @param owner @@ -238,7 +229,6 @@ public class VirtualFireAlarmService { } /** - * * @param deviceId * @param response */ @@ -267,7 +257,6 @@ public class VirtualFireAlarmService { } /** - * * @param deviceId * @param name * @param response @@ -312,7 +301,6 @@ public class VirtualFireAlarmService { } /** - * * @param deviceId * @return */ @@ -340,7 +328,6 @@ public class VirtualFireAlarmService { } /** - * * @param username * @return */ @@ -377,7 +364,6 @@ public class VirtualFireAlarmService { } /** - * * @param owner * @param customDeviceName * @param sketchType @@ -411,7 +397,6 @@ public class VirtualFireAlarmService { } /** - * * @param owner * @param customDeviceName * @param sketchType @@ -439,7 +424,6 @@ public class VirtualFireAlarmService { } /** - * * @param owner * @param customDeviceName * @param sketchType @@ -507,7 +491,6 @@ public class VirtualFireAlarmService { } /** - * * @return */ private static String shortUUID() { @@ -522,7 +505,6 @@ public class VirtualFireAlarmService { --------------------------------------------------------------------------------------- */ /** - * * @param owner * @param deviceId * @param deviceIP @@ -563,7 +545,6 @@ public class VirtualFireAlarmService { Called by an external client intended to control the Virtual FireAlarm bulb */ /** - * * @param owner * @param deviceId * @param protocol @@ -648,7 +629,6 @@ public class VirtualFireAlarmService { /** - * * @param owner * @param deviceId * @param protocol @@ -657,8 +637,8 @@ public class VirtualFireAlarmService { */ @Path("controller/readhumidity") @GET - @Feature( code="VIRTUALFIREALARM_READHUMIDITY", name="Read Humidity", type = "monitor", - description="Read Humidity Readings from Virtual Fire Alarm") + @Feature(code = "VIRTUALFIREALARM_READHUMIDITY", name = "Read Humidity", type = "monitor", + description = "Read Humidity Readings from Virtual Fire Alarm") public String requestHumidity(@HeaderParam("owner") String owner, @HeaderParam("deviceId") String deviceId, @HeaderParam("protocol") String protocol, @@ -695,7 +675,8 @@ public class VirtualFireAlarmService { } replyMsg = VirtualFireAlarmServiceUtils.sendCommandViaHTTP(deviceHTTPEndpoint, - VirtualFireAlarmConstants.HUMIDITY_CONTEXT, + VirtualFireAlarmConstants + .HUMIDITY_CONTEXT, false); break; @@ -727,7 +708,6 @@ public class VirtualFireAlarmService { /** - * * @param owner * @param deviceId * @param protocol @@ -738,8 +718,8 @@ public class VirtualFireAlarmService { @GET @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) - @Feature( code="VIRTUALFIREALARM_REQTEMP", name="Request Tempreature", type = "monitor", - description="Request Tempreature reading from Virtual Fire Alarm") + @Feature(code = "VIRTUALFIREALARM_REQTEMP", name = "Request Tempreature", type = "monitor", + description = "Request Tempreature reading from Virtual Fire Alarm") public SensorRecord requestTemperature(@HeaderParam("owner") String owner, @HeaderParam("deviceId") String deviceId, @HeaderParam("protocol") String protocol, @@ -760,7 +740,7 @@ public class VirtualFireAlarmService { if (log.isDebugEnabled()) { log.debug("Sending request to read virtual-firealarm-temperature of device " + - "[" + deviceId + "] via " + protocolString); + "[" + deviceId + "] via " + protocolString); } try { @@ -772,9 +752,9 @@ public class VirtualFireAlarmService { } String temperatureValue = VirtualFireAlarmServiceUtils.sendCommandViaHTTP( - deviceHTTPEndpoint, - VirtualFireAlarmConstants.TEMPERATURE_CONTEXT, - false); + deviceHTTPEndpoint, + VirtualFireAlarmConstants.TEMPERATURE_CONTEXT, + false); SensorDataManager.getInstance().setSensorRecord(deviceId, VirtualFireAlarmConstants.SENSOR_TEMP, @@ -806,7 +786,6 @@ public class VirtualFireAlarmService { } /** - * * @param dataMsg * @param response */ @@ -823,12 +802,12 @@ public class VirtualFireAlarmService { if (registeredIp == null) { log.warn("Unregistered IP: Temperature Data Received from an un-registered IP " + - deviceIp + " for device ID - " + deviceId); + deviceIp + " for device ID - " + deviceId); response.setStatus(Response.Status.PRECONDITION_FAILED.getStatusCode()); return; } else if (!registeredIp.equals(deviceIp)) { log.warn("Conflicting IP: Received IP is " + deviceIp + ". Device with ID " + deviceId + - " is already registered under some other IP. Re-registration required"); + " is already registered under some other IP. Re-registration required"); response.setStatus(Response.Status.CONFLICT.getStatusCode()); return; } @@ -844,7 +823,6 @@ public class VirtualFireAlarmService { /** - * * @param operation * @param message * @return @@ -927,7 +905,6 @@ public class VirtualFireAlarmService { } /** - * * @param operation * @param inputStream * @return diff --git a/components/device-mgt-iot/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/transport/mqtt/MQTTTransportHandler.java b/components/device-mgt-iot/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/transport/mqtt/MQTTTransportHandler.java index 1e58e68120..733a0aba1f 100644 --- a/components/device-mgt-iot/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/transport/mqtt/MQTTTransportHandler.java +++ b/components/device-mgt-iot/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/transport/mqtt/MQTTTransportHandler.java @@ -285,9 +285,10 @@ public abstract class MQTTTransportHandler */ @Override public void connectionLost(Throwable throwable) { - log.warn("Lost Connection for client: " + this.clientId + - " to " + this.mqttBrokerEndPoint + ".\nThis was due to - " + - throwable.getMessage()); + if (log.isDebugEnabled()) { + log.warn("Lost Connection for client: " + this.clientId + " to " + this.mqttBrokerEndPoint + "." + + "\nThis was due to - " + throwable.getMessage()); + } Thread reconnectThread = new Thread() { public void run() {