diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/pom.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/pom.xml
index 89d2bcd711..aa867147d3 100644
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/pom.xml
+++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/pom.xml
@@ -44,24 +44,7 @@
cxf-rt-frontend-jaxrs
provided
-
-
- org.eclipse.paho
- org.eclipse.paho.client.mqttv3
- provided
-
-
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
- provided
-
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.androidsense.plugin
- provided
-
org.codehaus.jackson
@@ -82,12 +65,6 @@
provided
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.analytics.data.publisher
- provided
-
-
org.wso2.carbon
org.wso2.carbon.utils
@@ -171,6 +148,11 @@
org.wso2.carbon.apimgt.application.extension
provided
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.device.mgt.extensions
+ provided
+
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseServiceImpl.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseServiceImpl.java
index 1a987eb4f7..f99f2ed5c7 100644
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseServiceImpl.java
+++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseServiceImpl.java
@@ -30,12 +30,10 @@ import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants;
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants;
+import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.constants.AndroidSenseConstants;
import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.APIUtil;
import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.AndroidConfiguration;
-import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.Constants;
import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.SensorRecord;
-import org.wso2.carbon.device.mgt.iot.util.Utils;
import javax.ws.rs.*;
import javax.ws.rs.core.Response;
@@ -283,8 +281,8 @@ public class AndroidSenseServiceImpl implements AndroidSenseService {
AndroidConfiguration androidConfiguration = new AndroidConfiguration();
androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain());
String mqttEndpoint = DEFAULT_MQTT_ENDPOINT;
- if (mqttEndpoint.contains(Constants.LOCALHOST)) {
- mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getServerUrl());
+ if (mqttEndpoint.contains(AndroidSenseConstants.LOCALHOST)) {
+ mqttEndpoint = mqttEndpoint.replace(AndroidSenseConstants.LOCALHOST, APIUtil.getServerUrl());
}
androidConfiguration.setMqttEndpoint(mqttEndpoint);
return Response.ok(androidConfiguration.toString()).build();
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/constants/AndroidSenseConstants.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java
similarity index 81%
rename from components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/constants/AndroidSenseConstants.java
rename to components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java
index 8f43f24761..ea62644b93 100644
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/constants/AndroidSenseConstants.java
+++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java
@@ -14,17 +14,11 @@
* limitations under the License.
*/
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants;
-
-import org.wso2.carbon.utils.CarbonUtils;
-
-import java.io.File;
+package org.wso2.carbon.device.mgt.iot.androidsense.service.impl.constants;
public class AndroidSenseConstants {
public final static String DEVICE_TYPE = "android_sense";
- public final static String DEVICE_PLUGIN_DEVICE_NAME = "DEVICE_NAME";
- public final static String DEVICE_PLUGIN_DEVICE_ID = "ANDROID_DEVICE_ID";
//Android Sensor names
public static final String SENSOR_ACCELEROMETER = "accelerometer";
@@ -39,9 +33,13 @@ public class AndroidSenseConstants {
public static final String SENSOR_ROTATION = "rotation";
public static final String SENSOR_WORDCOUNT = "wordcounter";
//MQTT Subscribe topic
- public final static String DEVICE_TYPE_PROVIDER_DOMAIN = "carbon.super";
//mqtt tranport related constants
public static final String MQTT_ADAPTER_TOPIC_PROPERTY_NAME = "mqtt.adapter.topic";
+ public static final String HOST_NAME = "HostName";
+ public static final String LOCALHOST = "localhost";
+ public static final String CONFIG_TYPE = "general";
+ public static final String DEFAULT_ENDPOINT = "tcp://localhost:1883";
+
}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/util/APIUtil.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/util/APIUtil.java
index 43b2ce2c51..850b766c80 100644
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/util/APIUtil.java
+++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/util/APIUtil.java
@@ -10,6 +10,7 @@ import org.wso2.carbon.analytics.dataservice.commons.SortByField;
import org.wso2.carbon.analytics.datasource.commons.Record;
import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException;
import org.wso2.carbon.apimgt.application.extension.APIManagementProviderService;
+import org.wso2.carbon.base.ServerConfiguration;
import org.wso2.carbon.context.CarbonContext;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService;
@@ -18,13 +19,13 @@ import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManageme
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfigurationManagementService;
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
-import org.wso2.carbon.device.mgt.iot.util.Utils;
+import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.constants.AndroidSenseConstants;
import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterService;
import org.wso2.carbon.identity.jwt.client.extension.service.JWTClientManagerService;
-import org.wso2.carbon.utils.CarbonUtils;
+import org.wso2.carbon.utils.NetworkUtils;
+import java.net.SocketException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -204,10 +205,10 @@ public class APIUtil {
}
public static String getMqttEndpoint() throws ConfigurationManagementException {
- String iotServerIP = Constants.DEFAULT_ENDPOINT;
- iotServerIP = iotServerIP.replace(Constants.LOCALHOST, Utils.getServerUrl());;
+ String iotServerIP = AndroidSenseConstants.DEFAULT_ENDPOINT;
+ iotServerIP = iotServerIP.replace(AndroidSenseConstants.LOCALHOST, getServerUrl());;
PlatformConfiguration configuration = APIUtil.getTenantConfigurationManagementService().getConfiguration(
- Constants.CONFIG_TYPE);
+ AndroidSenseConstants.CONFIG_TYPE);
if (configuration != null && configuration.getConfiguration() != null && configuration
.getConfiguration().size() > 0) {
List configurations = configuration.getConfiguration();
@@ -221,4 +222,17 @@ public class APIUtil {
}
return iotServerIP;
}
+
+ public static String getServerUrl() {
+ String hostName = ServerConfiguration.getInstance().getFirstProperty(AndroidSenseConstants.HOST_NAME);
+ try {
+ if (hostName == null) {
+ hostName = NetworkUtils.getLocalHostname();
+ }
+ } catch (SocketException e) {
+ hostName = "localhost";
+ log.warn("Failed retrieving the hostname, therefore set to localhost", e);
+ }
+ return hostName;
+ }
}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/util/Constants.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/util/Constants.java
deleted file mode 100644
index 7d64d635d7..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/util/Constants.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util;
-
-import org.wso2.carbon.user.core.Permission;
-
-/**
- * This hold the constants related to the device type.
- */
-public class Constants {
- public static final String LOCALHOST = "localhost";
- public static final String CONFIG_TYPE = "general";
- public static final String DEFAULT_ENDPOINT = "tcp://localhost:1883";
-}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/pom.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/pom.xml
deleted file mode 100644
index 1ddfb9f887..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/pom.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
-
- androidsense-plugin
- org.wso2.carbon.devicemgt-plugins
- 2.2.6-SNAPSHOT
- ../pom.xml
-
-
- 4.0.0
- org.wso2.carbon.device.mgt.iot.androidsense.plugin
- bundle
- WSO2 Carbon - AndroidSense DeviceType Plugin
- WSO2 Carbon - AndroidSense DeviceType Plugin Implementation
- http://wso2.org
-
-
-
-
- org.apache.felix
- maven-scr-plugin
-
-
- maven-compiler-plugin
-
-
- 1.7
-
- 2.3.2
-
-
- org.apache.felix
- maven-bundle-plugin
- 1.4.0
- true
-
-
- ${project.artifactId}
- ${project.artifactId}
- ${carbon.devicemgt.plugins.version}
- IoT Server Impl Bundle
- org.wso2.carbon.device.mgt.iot.androidsense.plugin.internal
-
- org.osgi.framework,
- org.osgi.service.component,
- org.apache.commons.logging,
- javax.naming;resolution:=optional,
- javax.sql;resolution:=optional,
- org.wso2.carbon.device.mgt.common.*,
- org.wso2.carbon.device.mgt.common,
- org.wso2.carbon.device.mgt.iot.*,
- org.wso2.carbon.device.mgt.extensions.feature.mgt.*,
- org.wso2.carbon.utils.*,
- org.wso2.carbon.base,
- org.wso2.carbon.context,
- org.wso2.carbon.core,
- org.wso2.carbon.core.util,
- org.wso2.carbon.ndatasource.core,
- org.wso2.carbon.device.mgt.iot.devicetype.*
-
-
- !org.wso2.carbon.device.mgt.iot.androidsense.plugin.internal,
- org.wso2.carbon.device.mgt.iot.androidsense.plugin.*
-
-
-
-
-
-
-
-
-
- org.eclipse.osgi
- org.eclipse.osgi
-
-
- org.eclipse.osgi
- org.eclipse.osgi.services
-
-
- org.wso2.carbon
- org.wso2.carbon.logging
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.common
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.extensions
-
-
- org.wso2.carbon
- org.wso2.carbon.ndatasource.core
-
-
- org.wso2.carbon
- org.wso2.carbon.utils
-
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
-
-
-
\ No newline at end of file
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/exception/AndroidSenseDeviceMgtPluginException.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/exception/AndroidSenseDeviceMgtPluginException.java
deleted file mode 100644
index 88557cd9f5..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/exception/AndroidSenseDeviceMgtPluginException.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.exception;
-
-
-public class AndroidSenseDeviceMgtPluginException extends Exception{
-
- private String errorMessage;
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public AndroidSenseDeviceMgtPluginException(String msg, Exception nestedEx) {
- super(msg, nestedEx);
- setErrorMessage(msg);
- }
-
- public AndroidSenseDeviceMgtPluginException(String message, Throwable cause) {
- super(message, cause);
- setErrorMessage(message);
- }
-
- public AndroidSenseDeviceMgtPluginException(String msg) {
- super(msg);
- setErrorMessage(msg);
- }
-
- public AndroidSenseDeviceMgtPluginException() {
- super();
- }
-
- public AndroidSenseDeviceMgtPluginException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/AndroidSenseManager.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/AndroidSenseManager.java
deleted file mode 100644
index fff692b379..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/AndroidSenseManager.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl;
-
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.DeviceManager;
-import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
-import org.wso2.carbon.device.mgt.common.FeatureManager;
-import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
-import org.wso2.carbon.device.mgt.common.license.mgt.License;
-import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.exception.AndroidSenseDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.feature.AndroidSenseFeatureManager;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.dao.AndroidSenseDAOUtil;
-import java.util.List;
-
-
-/**
- * This represents the Android implementation of DeviceManagerService.
- */
-public class AndroidSenseManager implements DeviceManager {
-
- private static final AndroidSenseDAOUtil androidSenseDAO = new AndroidSenseDAOUtil();
- private static final Log log = LogFactory.getLog(AndroidSenseManager.class);
- private FeatureManager androidSenseFeatureManager = new AndroidSenseFeatureManager();
-
- @Override
- public FeatureManager getFeatureManager() {
- return androidSenseFeatureManager;
- }
-
- @Override
- public boolean saveConfiguration(PlatformConfiguration PlatformConfiguration)
- throws DeviceManagementException {
- //TODO implement this
- return false;
- }
-
- @Override
- public PlatformConfiguration getConfiguration() throws DeviceManagementException {
- //TODO implement this
- return null;
- }
-
- @Override
- public boolean enrollDevice(Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Enrolling a new Android device : " + device.getDeviceIdentifier());
- }
- AndroidSenseDAOUtil.beginTransaction();
- status = androidSenseDAO.getDeviceDAO().addDevice(device);
- AndroidSenseDAOUtil.commitTransaction();
- } catch (AndroidSenseDeviceMgtPluginException e) {
- try {
- AndroidSenseDAOUtil.rollbackTransaction();
- } catch (AndroidSenseDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the device enrol transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while enrolling the Android device : " + device.getDeviceIdentifier();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean modifyEnrollment(Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Modifying the Android device enrollment data");
- }
- AndroidSenseDAOUtil.beginTransaction();
- status = androidSenseDAO.getDeviceDAO().updateDevice(device);
- AndroidSenseDAOUtil.commitTransaction();
- } catch (AndroidSenseDeviceMgtPluginException e) {
- try {
- AndroidSenseDAOUtil.rollbackTransaction();
- } catch (AndroidSenseDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the update device transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while updating the enrollment of the Android device : " +
- device.getDeviceIdentifier();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Dis-enrolling Android device : " + deviceId);
- }
- AndroidSenseDAOUtil.beginTransaction();
- status = androidSenseDAO.getDeviceDAO().deleteDevice(deviceId.getId());
- AndroidSenseDAOUtil.commitTransaction();
- } catch (AndroidSenseDeviceMgtPluginException e) {
- try {
- AndroidSenseDAOUtil.rollbackTransaction();
- } catch (AndroidSenseDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the device dis enrol transaction :" + deviceId.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while removing the Android device : " + deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
- boolean isEnrolled = false;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Checking the enrollment of Android device : " + deviceId.getId());
- }
- Device iotDevice = androidSenseDAO.getDeviceDAO().getDevice(deviceId.getId());
- if (iotDevice != null) {
- isEnrolled = true;
- }
- } catch (AndroidSenseDeviceMgtPluginException e) {
- String msg = "Error while checking the enrollment status of Android device : " +
- deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return isEnrolled;
- }
-
- @Override
- public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
- return true;
- }
-
- @Override
- public boolean setActive(DeviceIdentifier deviceId, boolean status)
- throws DeviceManagementException {
- return true;
- }
-
- @Override
- public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- Device device;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Getting the details of Android device : " + deviceId.getId());
- }
- device = androidSenseDAO.getDeviceDAO().getDevice(deviceId.getId());
- } catch (AndroidSenseDeviceMgtPluginException e) {
- String msg = "Error while fetching the Android device : " + deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return device;
- }
-
- @Override
- public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
- throws DeviceManagementException {
- return true;
- }
-
- public boolean isClaimable(DeviceIdentifier deviceIdentifier) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean setStatus(DeviceIdentifier deviceId, String currentOwner,
- EnrolmentInfo.Status status) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public License getLicense(String s) throws LicenseManagementException {
- return null;
- }
-
- @Override
- public void addLicense(License license) throws LicenseManagementException {
-
- }
-
- @Override public boolean requireDeviceAuthorization() {
- return false;
- }
-
- @Override
- public boolean updateDeviceInfo(DeviceIdentifier deviceIdentifier, Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug(
- "updating the details of Android device : " + deviceIdentifier);
- }
- AndroidSenseDAOUtil.beginTransaction();
- status = androidSenseDAO.getDeviceDAO().updateDevice(device);
- AndroidSenseDAOUtil.commitTransaction();
- } catch (AndroidSenseDeviceMgtPluginException e) {
- try {
- AndroidSenseDAOUtil.rollbackTransaction();
- } catch (AndroidSenseDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the update device info transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg =
- "Error while updating the Android device : " + deviceIdentifier;
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public List getAllDevices() throws DeviceManagementException {
- List devices = null;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Fetching the details of all Android devices");
- }
- devices = androidSenseDAO.getDeviceDAO().getAllDevices();
- } catch (AndroidSenseDeviceMgtPluginException e) {
- String msg = "Error while fetching all Android devices.";
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return devices;
- }
-
-}
\ No newline at end of file
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/AndroidSenseManagerService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/AndroidSenseManagerService.java
deleted file mode 100644
index b1af7a2247..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/AndroidSenseManagerService.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl;
-
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.DeviceManager;
-import org.wso2.carbon.device.mgt.common.ProvisioningConfig;
-import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
-import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
-import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants;
-
-public class AndroidSenseManagerService implements DeviceManagementService {
-
- private DeviceManager deviceManager;
-
- @Override
- public String getType() {
- return AndroidSenseConstants.DEVICE_TYPE;
- }
-
- @Override
- public void init() throws DeviceManagementException {
- this.deviceManager=new AndroidSenseManager();
- }
-
- @Override
- public DeviceManager getDeviceManager() {
- return deviceManager;
- }
-
- @Override
- public ApplicationManager getApplicationManager() {
- return null;
- }
-
- @Override
- public ProvisioningConfig getProvisioningConfig() {
- return new ProvisioningConfig(AndroidSenseConstants.DEVICE_TYPE_PROVIDER_DOMAIN, false);
- }
-
- @Override
- public PushNotificationConfig getPushNotificationConfig() {
- return null;
- }
-
-}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/dao/AndroidSenseDAO.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/dao/AndroidSenseDAO.java
deleted file mode 100644
index dbd6aae643..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/dao/AndroidSenseDAO.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.dao;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.exception.AndroidSenseDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.util.AndroidSenseUtils;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Implements dao impl for android Devices.
- */
-public class AndroidSenseDAO {
-
-
- private static final Log log = LogFactory.getLog(AndroidSenseDAO.class);
-
- public Device getDevice(String deviceId) throws AndroidSenseDeviceMgtPluginException {
- Connection conn = null;
- PreparedStatement stmt = null;
- Device device = null;
- ResultSet resultSet = null;
- try {
- conn = AndroidSenseDAOUtil.getConnection();
- String selectDBQuery =
- "SELECT ANDROID_DEVICE_ID, DEVICE_NAME" +
- " FROM ANDROID_SENSE_DEVICE WHERE ANDROID_DEVICE_ID = ?";
- stmt = conn.prepareStatement(selectDBQuery);
- stmt.setString(1, deviceId);
- resultSet = stmt.executeQuery();
-
- if (resultSet.next()) {
- device = new Device();
- device.setName(resultSet.getString(AndroidSenseConstants.DEVICE_PLUGIN_DEVICE_NAME));
- if (log.isDebugEnabled()) {
- log.debug("Android device " + deviceId + " data has been fetched from " +
- "Android database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while fetching Android device : '" + deviceId + "'";
- log.error(msg, e);
- throw new AndroidSenseDeviceMgtPluginException(msg, e);
- } finally {
- AndroidSenseUtils.cleanupResources(stmt, resultSet);
- AndroidSenseDAOUtil.closeConnection();
- }
- return device;
- }
-
- public boolean addDevice(Device device)throws AndroidSenseDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = AndroidSenseDAOUtil.getConnection();
- String createDBQuery =
- "INSERT INTO ANDROID_SENSE_DEVICE(ANDROID_DEVICE_ID, DEVICE_NAME) VALUES (?, ?)";
-
- stmt = conn.prepareStatement(createDBQuery);
- stmt.setString(1, device.getDeviceIdentifier());
- stmt.setString(2, device.getName());
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Android device " + device.getDeviceIdentifier() + " data has been" +
- " added to the Android database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while adding the Android device '" + device.getDeviceIdentifier()
- + "' to the Android db.";
- log.error(msg, e);
- throw new AndroidSenseDeviceMgtPluginException(msg, e);
- } finally {
- AndroidSenseUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public boolean updateDevice(Device device) throws AndroidSenseDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = AndroidSenseDAOUtil.getConnection();
- String updateDBQuery =
- "UPDATE ANDROID_SENSE_DEVICE SET DEVICE_NAME = ? WHERE ANDROID_DEVICE_ID = ?";
-
- stmt = conn.prepareStatement(updateDBQuery);
- stmt.setString(1, device.getName());
- stmt.setString(2, device.getDeviceIdentifier());
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Android device " + device.getDeviceIdentifier() + " data has been modified.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while modifying the Android device '" +
- device.getDeviceIdentifier() + "' data.";
- log.error(msg, e);
- throw new AndroidSenseDeviceMgtPluginException(msg, e);
- } finally {
- AndroidSenseUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public boolean deleteDevice(String deviceId) throws AndroidSenseDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = AndroidSenseDAOUtil.getConnection();
- String deleteDBQuery =
- "DELETE FROM ANDROID_SENSE_DEVICE WHERE ANDROID_DEVICE_ID = ?";
- stmt = conn.prepareStatement(deleteDBQuery);
- stmt.setString(1, deviceId);
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Android device " + deviceId + " data has deleted from the Android database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while deleting Android device " + deviceId;
- log.error(msg, e);
- throw new AndroidSenseDeviceMgtPluginException(msg, e);
- } finally {
- AndroidSenseUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public List getAllDevices() throws AndroidSenseDeviceMgtPluginException {
-
- Connection conn = null;
- PreparedStatement stmt = null;
- ResultSet resultSet = null;
- Device device;
- List iotDevices = new ArrayList<>();
-
- try {
- conn = AndroidSenseDAOUtil.getConnection();
- String selectDBQuery =
- "SELECT ANDROID_DEVICE_ID, DEVICE_NAME FROM ANDROID_SENSE_DEVICE";
- stmt = conn.prepareStatement(selectDBQuery);
- resultSet = stmt.executeQuery();
- while (resultSet.next()) {
- device = new Device();
- device.setDeviceIdentifier(resultSet.getString(AndroidSenseConstants.DEVICE_PLUGIN_DEVICE_ID));
- device.setName(resultSet.getString(AndroidSenseConstants.DEVICE_PLUGIN_DEVICE_NAME));
- iotDevices.add(device);
- }
- if (log.isDebugEnabled()) {
- log.debug("All Android device details have fetched from Android database.");
- }
- return iotDevices;
- } catch (SQLException e) {
- String msg = "Error occurred while fetching all Android device data'";
- log.error(msg, e);
- throw new AndroidSenseDeviceMgtPluginException(msg, e);
- } finally {
- AndroidSenseUtils.cleanupResources(stmt, resultSet);
- AndroidSenseDAOUtil.closeConnection();
- }
-
- }
-
- }
\ No newline at end of file
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/dao/AndroidSenseDAOUtil.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/dao/AndroidSenseDAOUtil.java
deleted file mode 100644
index 1bb916ea01..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/dao/AndroidSenseDAOUtil.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.dao;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.exception.AndroidSenseDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.internal.AndroidSenseManagementDataHolder;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.SQLException;
-
-public class AndroidSenseDAOUtil {
-
- private static final Log log = LogFactory.getLog(AndroidSenseDAOUtil.class);
- static DataSource dataSource;
- private static ThreadLocal currentConnection = new ThreadLocal();
-
- public AndroidSenseDAOUtil() {
- initAndroidDAO();
- }
-
- public static void initAndroidDAO() {
- DeviceManagementConfiguration deviceManagementConfiguration = AndroidSenseManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(AndroidSenseConstants.DEVICE_TYPE,
- AndroidSenseConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- String datasource = deviceManagementConfiguration.getDeviceManagementConfigRepository().getDataSourceConfig()
- .getJndiLookupDefinition().getJndiName();
- try {
- Context ctx = new InitialContext();
- dataSource = (DataSource) ctx.lookup(datasource);
- } catch (NamingException e) {
- log.error("Error while looking up the data source: " + datasource, e);
- }
- }
-
- public AndroidSenseDAO getDeviceDAO() {
- return new AndroidSenseDAO();
- }
-
- public static void beginTransaction() throws AndroidSenseDeviceMgtPluginException {
- try {
- Connection conn = dataSource.getConnection();
- conn.setAutoCommit(false);
- currentConnection.set(conn);
- } catch (SQLException e) {
- throw new AndroidSenseDeviceMgtPluginException("Error occurred while retrieving datasource connection", e);
- }
- }
-
- public static Connection getConnection() throws AndroidSenseDeviceMgtPluginException {
- if (currentConnection.get() == null) {
- try {
- currentConnection.set(dataSource.getConnection());
- } catch (SQLException e) {
- throw new AndroidSenseDeviceMgtPluginException("Error occurred while retrieving data source connection", e);
- }
- }
- return currentConnection.get();
- }
-
- public static void commitTransaction() throws AndroidSenseDeviceMgtPluginException {
- try {
- Connection conn = currentConnection.get();
- if (conn != null) {
- conn.commit();
- } else {
- if (log.isDebugEnabled()) {
- log.debug("Datasource connection associated with the current thread is null, hence commit "
- + "has not been attempted");
- }
- }
- } catch (SQLException e) {
- throw new AndroidSenseDeviceMgtPluginException("Error occurred while committing the transaction", e);
- } finally {
- closeConnection();
- }
- }
-
- public static void closeConnection() throws AndroidSenseDeviceMgtPluginException {
-
- Connection con = currentConnection.get();
- if (con != null) {
- try {
- con.close();
- } catch (SQLException e) {
- log.error("Error occurred while close the connection");
- }
- }
- currentConnection.remove();
- }
-
- public static void rollbackTransaction() throws AndroidSenseDeviceMgtPluginException {
- try {
- Connection conn = currentConnection.get();
- if (conn != null) {
- conn.rollback();
- } else {
- if (log.isDebugEnabled()) {
- log.debug("Datasource connection associated with the current thread is null, hence rollback "
- + "has not been attempted");
- }
- }
- } catch (SQLException e) {
- throw new AndroidSenseDeviceMgtPluginException("Error occurred while rollback the transaction", e);
- } finally {
- closeConnection();
- }
- }
-}
\ No newline at end of file
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/feature/AndroidSenseFeatureManager.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/feature/AndroidSenseFeatureManager.java
deleted file mode 100644
index 1fb947ae65..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/feature/AndroidSenseFeatureManager.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.feature;
-
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.Feature;
-import org.wso2.carbon.device.mgt.common.FeatureManager;
-import org.wso2.carbon.device.mgt.extensions.feature.mgt.GenericFeatureManager;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants;
-
-import java.util.List;
-
-public class AndroidSenseFeatureManager implements FeatureManager {
- @Override
- public boolean addFeature(Feature feature) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean addFeatures(List features) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public Feature getFeature(String name) throws DeviceManagementException {
- GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance();
- return genericFeatureManager.getFeature(AndroidSenseConstants.DEVICE_TYPE, name);
- }
-
- @Override
- public List getFeatures() throws DeviceManagementException {
- GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance();
- return genericFeatureManager.getFeatures(AndroidSenseConstants.DEVICE_TYPE);
- }
-
- @Override
- public boolean removeFeature(String name) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean addSupportedFeaturesToDB() throws DeviceManagementException {
- return false;
- }
-}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/util/AndroidSenseUtils.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/util/AndroidSenseUtils.java
deleted file mode 100644
index e8851df8a1..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/util/AndroidSenseUtils.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.util;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.base.ServerConfiguration;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.wso2.carbon.core.util.Utils;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.exception.AndroidSenseDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.internal.AndroidSenseManagementDataHolder;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.event.output.adapter.core.MessageType;
-import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterConfiguration;
-import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterException;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * Contains utility methods used by plugin.
- */
-public class AndroidSenseUtils {
-
- private static Log log = LogFactory.getLog(AndroidSenseUtils.class);
-
- public static void cleanupResources(Connection conn, PreparedStatement stmt, ResultSet rs) {
- if (rs != null) {
- try {
- rs.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing result set", e);
- }
- }
- if (stmt != null) {
- try {
- stmt.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing prepared statement", e);
- }
- }
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing database connection", e);
- }
- }
- }
-
- public static void cleanupResources(PreparedStatement stmt, ResultSet rs) {
- cleanupResources(null, stmt, rs);
- }
-
- /**
- * Creates the device management schema.
- */
- public static void setupDeviceManagementSchema() throws AndroidSenseDeviceMgtPluginException {
- DeviceManagementConfiguration deviceManagementConfiguration = AndroidSenseManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(AndroidSenseConstants.DEVICE_TYPE,
- AndroidSenseConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- String datasource = deviceManagementConfiguration.getDeviceManagementConfigRepository().getDataSourceConfig()
- .getJndiLookupDefinition().getJndiName();
- try {
- Context ctx = new InitialContext();
- DataSource dataSource = (DataSource) ctx.lookup(datasource);
- DeviceSchemaInitializer initializer = new DeviceSchemaInitializer(dataSource);
- String checkSql = "select * from ANDROID_SENSE_DEVICE";
- if (!initializer.isDatabaseStructureCreated(checkSql)) {
- log.info("Initializing device management repository database schema");
- initializer.createRegistryDatabase();
- } else {
- log.info("Device management repository database already exists. Not creating a new database.");
- }
-
- } catch (NamingException e) {
- log.error("Error while looking up the data source: " + datasource, e);
- } catch (Exception e) {
- throw new AndroidSenseDeviceMgtPluginException("Error occurred while initializing Iot Device " +
- "Management database schema", e);
- }
- }
-
-}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/util/DeviceSchemaInitializer.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/util/DeviceSchemaInitializer.java
deleted file mode 100644
index 7b02de7e83..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/impl/util/DeviceSchemaInitializer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.util;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.carbon.utils.dbcreator.DatabaseCreator;
-
-import javax.sql.DataSource;
-import java.io.File;
-
-/**
- * Provides methods for initializing the database script.
- */
-public class DeviceSchemaInitializer extends DatabaseCreator{
-
- private static final Log log = LogFactory.getLog(DeviceSchemaInitializer.class);
- private static final String setupSQLScriptBaseLocation = CarbonUtils.getCarbonHome() + File.separator + "dbscripts"
- + File.separator + "cdm" + File.separator + "plugins" + File.separator + AndroidSenseConstants.DEVICE_TYPE
- + File.separator;
-
- public DeviceSchemaInitializer(DataSource dataSource) {
- super(dataSource);
- }
-
- @Override
- protected String getDbScriptLocation(String databaseType) {
- String scriptName = databaseType + ".sql";
- if (log.isDebugEnabled()) {
- log.debug("Loading database script from :" + scriptName);
- }
- return setupSQLScriptBaseLocation.replaceFirst("DBTYPE", databaseType) + scriptName;
- }
-}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/internal/AndroidSenseManagementDataHolder.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/internal/AndroidSenseManagementDataHolder.java
deleted file mode 100644
index 4f29fc05bb..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/internal/AndroidSenseManagementDataHolder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.internal;
-
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
-
-/**
- * DataHolder class of plugins component.
- */
-public class AndroidSenseManagementDataHolder {
-
- private DeviceTypeConfigService deviceTypeConfigService;
- private static AndroidSenseManagementDataHolder thisInstance = new AndroidSenseManagementDataHolder();
-
- private AndroidSenseManagementDataHolder() {
- }
-
- public static AndroidSenseManagementDataHolder getInstance() {
- return thisInstance;
- }
-
- public DeviceTypeConfigService getDeviceTypeConfigService() {
- return deviceTypeConfigService;
- }
-
- public void setDeviceTypeConfigService(
- DeviceTypeConfigService deviceTypeConfigService) {
- this.deviceTypeConfigService = deviceTypeConfigService;
- }
-
-}
diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/internal/AndroidSenseManagementServiceComponent.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/internal/AndroidSenseManagementServiceComponent.java
deleted file mode 100644
index 7058602da3..0000000000
--- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/plugin/internal/AndroidSenseManagementServiceComponent.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.androidsense.plugin.internal;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.exception.AndroidSenseDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.AndroidSenseManagerService;
-import org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl.util.AndroidSenseUtils;
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
-import org.wso2.carbon.ndatasource.core.DataSourceService;
-
-/**
- * @scr.component name="org.wso2.carbon.device.mgt.iot.android.internal.AndroidSenseManagementServiceComponent"
- * immediate="true"
- * @scr.reference name="org.wso2.carbon.ndatasource"
- * interface="org.wso2.carbon.ndatasource.core.DataSourceService"
- * cardinality="1..1"
- * policy="dynamic"
- * bind="setDataSourceService"
- * unbind="unsetDataSourceService"
- * @scr.reference name="devicetype.configuration.service"
- * interface="org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService"
- * cardinality="1..1"
- * policy="dynamic"
- * bind="setDeviceTypeConfigService"
- * unbind="unsetDeviceTypeConfigService"
- */
-public class AndroidSenseManagementServiceComponent {
-
-
- private ServiceRegistration androidServiceRegRef;
- private static final Log log = LogFactory.getLog(AndroidSenseManagementServiceComponent.class);
- protected void activate(ComponentContext ctx) {
- if (log.isDebugEnabled()) {
- log.debug("Activating Android Device Management Service Component");
- }
- try {
- BundleContext bundleContext = ctx.getBundleContext();
- androidServiceRegRef =
- bundleContext.registerService(DeviceManagementService.class.getName(), new AndroidSenseManagerService(), null);
- String setupOption = System.getProperty("setup");
- if (setupOption != null) {
- if (log.isDebugEnabled()) {
- log.debug("-Dsetup is enabled. Iot Device management repository schema initialization is about " +
- "to begin");
- }
- try {
- AndroidSenseUtils.setupDeviceManagementSchema();
- } catch (AndroidSenseDeviceMgtPluginException e) {
- log.error("Exception occurred while initializing device management database schema", e);
- }
- }
- if (log.isDebugEnabled()) {
- log.debug("Android Device Management Service Component has been successfully activated");
- }
- } catch (Throwable e) {
- log.error("Error occurred while activating Android Device Management Service Component", e);
- }
- }
-
- protected void deactivate(ComponentContext ctx) {
- if (log.isDebugEnabled()) {
- log.debug("De-activating Android Device Management Service Component");
- }
- try {
- if (androidServiceRegRef != null) {
- androidServiceRegRef.unregister();
- }
-
- if (log.isDebugEnabled()) {
- log.debug(
- "Android Device Management Service Component has been successfully de-activated");
- }
- } catch (Throwable e) {
- log.error("Error occurred while de-activating Android Device Management bundle", e);
- }
- }
-
- protected void setDataSourceService(DataSourceService dataSourceService) {
- /* This is to avoid mobile device management component getting initialized before the underlying datasources
- are registered */
- if (log.isDebugEnabled()) {
- log.debug("Data source service set to service component");
- }
- }
-
- protected void unsetDataSourceService(DataSourceService dataSourceService) {
- //do nothing
- }
-
- protected void setDeviceTypeConfigService(DeviceTypeConfigService deviceTypeConfigService) {
- AndroidSenseManagementDataHolder.getInstance().setDeviceTypeConfigService(deviceTypeConfigService);
- }
-
- protected void unsetDeviceTypeConfigService(DeviceTypeConfigService deviceTypeConfigService) {
- AndroidSenseManagementDataHolder.getInstance().setDeviceTypeConfigService(null);
- }
-}
diff --git a/components/iot-plugins/androidsense-plugin/pom.xml b/components/iot-plugins/androidsense-plugin/pom.xml
index 8a61f1d2b5..aab94be4af 100644
--- a/components/iot-plugins/androidsense-plugin/pom.xml
+++ b/components/iot-plugins/androidsense-plugin/pom.xml
@@ -35,7 +35,6 @@
org.wso2.carbon.device.mgt.iot.androidsense.analytics
org.wso2.carbon.device.mgt.iot.androidsense.api
- org.wso2.carbon.device.mgt.iot.androidsense.plugin
org.wso2.carbon.device.mgt.iot.androidsense.ui
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/pom.xml b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/pom.xml
index be7372dc2f..f837bd6d69 100644
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/pom.xml
+++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/pom.xml
@@ -109,13 +109,6 @@
provided
-
-
- org.eclipse.paho
- org.eclipse.paho.client.mqttv3
- provided
-
-
org.apache.httpcomponents
@@ -123,16 +116,6 @@
4.1
provided
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
- provided
-
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.arduino.plugin
- provided
-
@@ -154,18 +137,17 @@
provided
- org.wso2.carbon.devicemgt
- org.wso2.carbon.apimgt.webapp.publisher
+ org.wso2.carbon.analytics
+ org.wso2.carbon.analytics.api
provided
- org.wso2.carbon.analytics
- org.wso2.carbon.analytics.api
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.device.mgt.extensions
provided
-
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoServiceImpl.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoServiceImpl.java
index a2fae963b5..acc6adae68 100644
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoServiceImpl.java
+++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoServiceImpl.java
@@ -34,11 +34,11 @@ import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants;
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants;
+import org.wso2.carbon.device.mgt.iot.arduino.service.impl.constants.ArduinoConstants;
import org.wso2.carbon.device.mgt.iot.arduino.service.impl.dto.SensorRecord;
import org.wso2.carbon.device.mgt.iot.arduino.service.impl.util.APIUtil;
+import org.wso2.carbon.device.mgt.iot.arduino.service.impl.util.ZipArchive;
import org.wso2.carbon.device.mgt.iot.arduino.service.impl.util.ZipUtil;
-import org.wso2.carbon.device.mgt.iot.util.ZipArchive;
import org.wso2.carbon.identity.jwt.client.extension.JWTClient;
import org.wso2.carbon.identity.jwt.client.extension.dto.AccessTokenInfo;
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
@@ -54,7 +54,6 @@ import java.util.*;
public class ArduinoServiceImpl implements ArduinoService {
private static Log log = LogFactory.getLog(ArduinoServiceImpl.class);
- private static Map> internalControlsQueue = new HashMap<>();
private static final String KEY_TYPE = "PRODUCTION";
private static ApiApplicationKey apiApplicationKey;
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/constants/ArduinoConstants.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java
similarity index 76%
rename from components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/constants/ArduinoConstants.java
rename to components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java
index 1d916e136b..8a438574e8 100644
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/constants/ArduinoConstants.java
+++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java
@@ -16,13 +16,10 @@
* under the License.
*/
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.constants;
+package org.wso2.carbon.device.mgt.iot.arduino.service.impl.constants;
public class ArduinoConstants {
public final static String DEVICE_TYPE = "arduino";
- public final static String DEVICE_PLUGIN_DEVICE_NAME = "DEVICE_NAME";
- public final static String DEVICE_TYPE_PROVIDER_DOMAIN = "carbon.super";
- public final static String DEVICE_PLUGIN_DEVICE_ID = "ARDUINO_DEVICE_ID";
public static final String URL_PREFIX = "http://";
//sensor events summerized table name
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ArduinoServiceUtils.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ArduinoServiceUtils.java
index bf9f0dcc29..4d10873453 100644
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ArduinoServiceUtils.java
+++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ArduinoServiceUtils.java
@@ -25,11 +25,9 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.concurrent.FutureCallback;
import org.apache.http.impl.nio.client.CloseableHttpAsyncClient;
import org.apache.http.impl.nio.client.HttpAsyncClients;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.wso2.carbon.device.mgt.analytics.data.publisher.exception.DataPublisherConfigurationException;
-import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants;
+import org.wso2.carbon.device.mgt.iot.arduino.service.impl.constants.ArduinoConstants;
+
import javax.ws.rs.HttpMethod;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/ZipArchive.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipArchive.java
similarity index 94%
rename from components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/ZipArchive.java
rename to components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipArchive.java
index 31e5bf3cbd..1048e87699 100644
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/ZipArchive.java
+++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipArchive.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.carbon.device.mgt.iot.util;
+package org.wso2.carbon.device.mgt.iot.arduino.service.impl.util;
import java.io.File;
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java
index 99b381a278..414b24847b 100644
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java
+++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java
@@ -18,20 +18,38 @@
package org.wso2.carbon.device.mgt.iot.arduino.service.impl.util;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.base.MultitenantConstants;
+import org.wso2.carbon.base.ServerConfiguration;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
-import org.wso2.carbon.device.mgt.iot.util.Utils;
-import org.wso2.carbon.device.mgt.iot.util.ZipArchive;
import org.wso2.carbon.utils.CarbonUtils;
+import org.wso2.carbon.utils.NetworkUtils;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.SocketException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
/**
* This is used to create a zip file that includes the necessary configuration required for the agent.
@@ -40,6 +58,8 @@ public class ZipUtil {
private static final String HTTP_PORT_PROPERTY = "httpPort";
private static final String CONFIG_TYPE = "general";
+ private static final Log log = LogFactory.getLog(ZipUtil.class);
+ public static final String HOST_NAME = "HostName";
public ZipArchive createZipFile(String owner, String tenantDomain, String deviceType,
String deviceId, String deviceName, String token,
@@ -52,7 +72,7 @@ public class ZipUtil {
String iotServerIP;
try {
- iotServerIP = Utils.getServerUrl();
+ iotServerIP = getServerUrl();
String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY);
Map contextParams = new HashMap<>();
@@ -88,7 +108,7 @@ public class ZipUtil {
contextParams.put("DEVICE_REFRESH_TOKEN", refreshToken);
ZipArchive zipFile;
- zipFile = Utils.getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName);
+ zipFile = getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName);
return zipFile;
} catch (IOException e) {
throw new DeviceManagementException("Zip File Creation Failed", e);
@@ -96,4 +116,227 @@ public class ZipUtil {
throw new DeviceManagementException("Failed to retrieve configuration", e);
}
}
+
+ private static String getServerUrl() {
+ String hostName = ServerConfiguration.getInstance().getFirstProperty(HOST_NAME);
+ try {
+ if (hostName == null) {
+ hostName = NetworkUtils.getLocalHostname();
+ }
+ } catch (SocketException e) {
+ hostName = "localhost";
+ log.warn("Failed retrieving the hostname, therefore set to localhost", e);
+ }
+ return hostName;
+ }
+
+ private static ZipArchive getSketchArchive(String archivesPath, String templateSketchPath, Map contextParams
+ , String zipFileName)
+ throws DeviceManagementException, IOException {
+ String sketchPath = CarbonUtils.getCarbonHome() + File.separator + templateSketchPath;
+ FileUtils.deleteDirectory(new File(archivesPath));//clear directory
+ FileUtils.deleteDirectory(new File(archivesPath + ".zip"));//clear zip
+ if (!new File(archivesPath).mkdirs()) { //new dir
+ String message = "Could not create directory at path: " + archivesPath;
+ log.error(message);
+ throw new DeviceManagementException(message);
+ }
+ zipFileName = zipFileName + ".zip";
+ try {
+ Map> properties = getProperties(sketchPath + File.separator + "sketch" + ".properties");
+ List templateFiles = properties.get("templates");
+
+ for (String templateFile : templateFiles) {
+ parseTemplate(templateSketchPath + File.separator + templateFile, archivesPath + File.separator + templateFile,
+ contextParams);
+ }
+
+ templateFiles.add("sketch.properties"); // ommit copying the props file
+ copyFolder(new File(sketchPath), new File(archivesPath), templateFiles);
+ createZipArchive(archivesPath);
+ FileUtils.deleteDirectory(new File(archivesPath));
+ File zip = new File(archivesPath + ".zip");
+ return new ZipArchive(zipFileName, zip);
+ } catch (IOException ex) {
+ throw new DeviceManagementException(
+ "Error occurred when trying to read property " + "file sketch.properties", ex);
+ }
+ }
+
+ private static Map> getProperties(String propertyFilePath) throws IOException {
+ Properties prop = new Properties();
+ InputStream input = null;
+
+ try {
+ input = new FileInputStream(propertyFilePath);
+ // load a properties file
+ prop.load(input);
+ Map> properties = new HashMap>();
+
+ String templates = prop.getProperty("templates");
+ List list = new ArrayList(Arrays.asList(templates.split(",")));
+ properties.put("templates", list);
+
+ final String filename = prop.getProperty("zipfilename");
+ list = new ArrayList() {{
+ add(filename);
+ }};
+ properties.put("zipfilename", list);
+ return properties;
+
+ } finally {
+ if (input != null) {
+ try {
+ input.close();
+ } catch (IOException e) {
+ log.error("Failed closing connection", e);
+ }
+ }
+ }
+ }
+
+ private static void parseTemplate(String srcFile, String dstFile, Map contextParams) throws IOException {
+ //read from file
+ FileInputStream inputStream = null;
+ FileOutputStream outputStream = null;
+ try {
+ inputStream = new FileInputStream(srcFile);
+ outputStream = new FileOutputStream(dstFile);
+ String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8.toString());
+ Iterator iterator = contextParams.entrySet().iterator();
+ while (iterator.hasNext()) {
+ Map.Entry mapEntry = (Map.Entry) iterator.next();
+ content = content.replaceAll("\\$\\{" + mapEntry.getKey() + "\\}", mapEntry.getValue().toString());
+ }
+ IOUtils.write(content, outputStream, StandardCharsets.UTF_8.toString());
+ } finally {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ if (outputStream != null) {
+ outputStream.close();
+ }
+ }
+ }
+
+ private static void copyFolder(File src, File dest, List excludeFileNames) throws IOException {
+
+ if (src.isDirectory()) {
+ //if directory not exists, create it
+ if (!dest.exists() && !dest.mkdirs()) {
+ String message = "Could not create directory at path: " + dest;
+ log.error(message);
+ throw new IOException(message);
+ }
+ //list all the directory contents
+ String files[] = src.list();
+
+ if (files == null) {
+ log.warn("There are no files insides the directory " + src.getAbsolutePath());
+ return;
+ }
+
+ for (String file : files) {
+ //construct the src and dest file structure
+ File srcFile = new File(src, file);
+ File destFile = new File(dest, file);
+ //recursive copy
+ copyFolder(srcFile, destFile, excludeFileNames);
+ }
+
+ } else {
+ for (String fileName : excludeFileNames) {
+ if (src.getName().equals(fileName)) {
+ return;
+ }
+ }
+ //if file, then copy it
+ //Use bytes stream to support all file types
+ InputStream in = null;
+ OutputStream out = null;
+
+ try {
+ in = new FileInputStream(src);
+ out = new FileOutputStream(dest);
+
+ byte[] buffer = new byte[1024];
+
+ int length;
+ //copy the file content in bytes
+ while ((length = in.read(buffer)) > 0) {
+ out.write(buffer, 0, length);
+ }
+ } finally {
+ if (in != null) {
+ in.close();
+ }
+ if (out != null) {
+ out.close();
+ }
+ }
+ }
+ }
+
+ private static boolean createZipArchive(String srcFolder) throws IOException {
+ BufferedInputStream origin = null;
+ ZipOutputStream out = null;
+
+ try {
+ final int BUFFER = 2048;
+ FileOutputStream dest = new FileOutputStream(new File(srcFolder + ".zip"));
+ out = new ZipOutputStream(new BufferedOutputStream(dest));
+ byte data[] = new byte[BUFFER];
+ File subDir = new File(srcFolder);
+ String subdirList[] = subDir.list();
+ if (subdirList == null) {
+ log.warn("The sub directory " + subDir.getAbsolutePath() + " is empty");
+ return false;
+ }
+ for (String sd : subdirList) {
+ // get a list of files from current directory
+ File f = new File(srcFolder + "/" + sd);
+ if (f.isDirectory()) {
+ String files[] = f.list();
+
+ if (files == null) {
+ log.warn("The current directory " + f.getAbsolutePath() + " is empty. Has no files");
+ return false;
+ }
+
+ for (int i = 0; i < files.length; i++) {
+ FileInputStream fi = new FileInputStream(srcFolder + "/" + sd + "/" + files[i]);
+ origin = new BufferedInputStream(fi, BUFFER);
+ ZipEntry entry = new ZipEntry(sd + "/" + files[i]);
+ out.putNextEntry(entry);
+ int count;
+ while ((count = origin.read(data, 0, BUFFER)) != -1) {
+ out.write(data, 0, count);
+ out.flush();
+ }
+
+ }
+ } else //it is just a file
+ {
+ FileInputStream fi = new FileInputStream(f);
+ origin = new BufferedInputStream(fi, BUFFER);
+ ZipEntry entry = new ZipEntry(sd);
+ out.putNextEntry(entry);
+ int count;
+ while ((count = origin.read(data, 0, BUFFER)) != -1) {
+ out.write(data, 0, count);
+ out.flush();
+ }
+ }
+ }
+ out.flush();
+ } finally {
+ if (origin != null) {
+ origin.close();
+ }
+ if (out != null) {
+ out.close();
+ }
+ }
+ return true;
+ }
}
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/pom.xml b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/pom.xml
deleted file mode 100644
index 797d450c42..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/pom.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
- arduino-plugin
- org.wso2.carbon.devicemgt-plugins
- 2.2.6-SNAPSHOT
- ../pom.xml
-
-
- 4.0.0
- org.wso2.carbon.device.mgt.iot.arduino.plugin
- bundle
- WSO2 Carbon - IoT Server Arduino Management Plugin
- WSO2 Carbon - Arduino Management/Control Plugin Implementation
- http://wso2.org
-
-
-
-
- org.apache.felix
- maven-scr-plugin
-
-
- maven-compiler-plugin
-
-
- 1.7
-
- 2.3.2
-
-
- org.apache.felix
- maven-bundle-plugin
- 1.4.0
- true
-
-
- ${project.artifactId}
- ${project.artifactId}
- ${carbon.devicemgt.plugins.version}
- IoT Server Arduino Impl Bundle
- org.wso2.carbon.device.mgt.iot.arduino.plugin.internal
-
- org.osgi.framework,
- org.osgi.service.component,
- org.apache.commons.logging,
- javax.naming;resolution:=optional,
- javax.sql;resolution:=optional,
- org.wso2.carbon.device.mgt.common.*,
- org.wso2.carbon.device.mgt.common,
- org.wso2.carbon.device.mgt.iot.*,
- org.wso2.carbon.device.mgt.extensions.feature.mgt.*,
- org.wso2.carbon.utils.*,
- org.wso2.carbon.ndatasource.core,
- org.wso2.carbon.device.mgt.iot.devicetype.*
-
-
-
- !org.wso2.carbon.device.mgt.iot.arduino.plugin.internal,
- org.wso2.carbon.device.mgt.iot.arduino.plugin.*
-
-
-
-
-
-
-
-
-
- org.eclipse.osgi
- org.eclipse.osgi
-
-
- org.eclipse.osgi
- org.eclipse.osgi.services
-
-
- org.wso2.carbon
- org.wso2.carbon.logging
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.common
-
-
- org.wso2.carbon
- org.wso2.carbon.ndatasource.core
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.extensions
-
-
- org.wso2.carbon
- org.wso2.carbon.utils
-
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
-
-
-
\ No newline at end of file
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/exception/ArduinoDeviceMgtPluginException.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/exception/ArduinoDeviceMgtPluginException.java
deleted file mode 100644
index 93dc15683c..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/exception/ArduinoDeviceMgtPluginException.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.exception;
-
-
-public class ArduinoDeviceMgtPluginException extends Exception{
-
- private String errorMessage;
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public ArduinoDeviceMgtPluginException(String msg, Exception nestedEx) {
- super(msg, nestedEx);
- setErrorMessage(msg);
- }
-
- public ArduinoDeviceMgtPluginException(String message, Throwable cause) {
- super(message, cause);
- setErrorMessage(message);
- }
-
- public ArduinoDeviceMgtPluginException(String msg) {
- super(msg);
- setErrorMessage(msg);
- }
-
- public ArduinoDeviceMgtPluginException() {
- super();
- }
-
- public ArduinoDeviceMgtPluginException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/ArduinoManager.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/ArduinoManager.java
deleted file mode 100644
index c3d80d8d6f..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/ArduinoManager.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.impl;
-
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.DeviceManager;
-import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
-import org.wso2.carbon.device.mgt.common.FeatureManager;
-import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
-import org.wso2.carbon.device.mgt.common.license.mgt.License;
-import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.exception.ArduinoDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.dao.ArduinoDAOUtil;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.feature.ArduinoFeatureManager;
-import java.util.List;
-
-
-/**
- * This represents the Arduino implementation of DeviceManagerService.
- */
-public class ArduinoManager implements DeviceManager {
-
- private static final ArduinoDAOUtil arduinoDAO = new ArduinoDAOUtil();
- private static final Log log = LogFactory.getLog(ArduinoManager.class);
- private ArduinoFeatureManager arduinoFeatureManager = new ArduinoFeatureManager();
-
- @Override
- public FeatureManager getFeatureManager() {
- return arduinoFeatureManager;
- }
-
- @Override
- public boolean saveConfiguration(PlatformConfiguration PlatformConfiguration)
- throws DeviceManagementException {
- //TODO implement this
- return false;
- }
-
- @Override
- public PlatformConfiguration getConfiguration() throws DeviceManagementException {
- //TODO implement this
- return null;
- }
-
- @Override
- public boolean enrollDevice(Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Enrolling a new Arduino device : " + device.getDeviceIdentifier());
- }
- ArduinoDAOUtil.beginTransaction();
- status = arduinoDAO.getDeviceDAO().addDevice(device);
- ArduinoDAOUtil.commitTransaction();
- } catch (ArduinoDeviceMgtPluginException e) {
- try {
- ArduinoDAOUtil.rollbackTransaction();
- } catch (ArduinoDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the device enrol transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while enrolling the Arduino device : " + device.getDeviceIdentifier();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean modifyEnrollment(Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Modifying the Arduino device enrollment data");
- }
- ArduinoDAOUtil.beginTransaction();
- status = arduinoDAO.getDeviceDAO().updateDevice(device);
- ArduinoDAOUtil.commitTransaction();
- } catch (ArduinoDeviceMgtPluginException e) {
- try {
- ArduinoDAOUtil.rollbackTransaction();
- } catch (ArduinoDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the update device transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while updating the enrollment of the Arduino device : " +
- device.getDeviceIdentifier();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Dis-enrolling Arduino device : " + deviceId);
- }
- ArduinoDAOUtil.beginTransaction();
- status = arduinoDAO.getDeviceDAO().deleteDevice(deviceId.getId());
- ArduinoDAOUtil.commitTransaction();
- } catch (ArduinoDeviceMgtPluginException e) {
- try {
- ArduinoDAOUtil.rollbackTransaction();
- } catch (ArduinoDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the device dis enrol transaction :" + deviceId.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while removing the Arduino device : " + deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
- boolean isEnrolled = false;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Checking the enrollment of Arduino device : " + deviceId.getId());
- }
- Device iotDevice = arduinoDAO.getDeviceDAO().getDevice(deviceId.getId());
- if (iotDevice != null) {
- isEnrolled = true;
- }
- } catch (ArduinoDeviceMgtPluginException e) {
- String msg = "Error while checking the enrollment status of Arduino device : " +
- deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return isEnrolled;
- }
-
- @Override
- public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
- return true;
- }
-
- @Override
- public boolean setActive(DeviceIdentifier deviceId, boolean status)
- throws DeviceManagementException {
- return true;
- }
-
- @Override
- public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- Device device;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Getting the details of Arduino device : " + deviceId.getId());
- }
- device = arduinoDAO.getDeviceDAO().getDevice(deviceId.getId());
- } catch (ArduinoDeviceMgtPluginException e) {
- String msg = "Error while fetching the Arduino device : " + deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return device;
- }
-
- @Override
- public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
- throws DeviceManagementException {
- return true;
- }
-
- public boolean isClaimable(DeviceIdentifier deviceIdentifier) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean setStatus(DeviceIdentifier deviceId, String currentOwner,
- EnrolmentInfo.Status status) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public License getLicense(String s) throws LicenseManagementException {
- return null;
- }
-
- @Override
- public void addLicense(License license) throws LicenseManagementException {
-
- }
-
- @Override
- public boolean requireDeviceAuthorization() {
- return false;
- }
-
- @Override
- public boolean updateDeviceInfo(DeviceIdentifier deviceIdentifier, Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug(
- "updating the details of Arduino device : " + deviceIdentifier);
- }
- ArduinoDAOUtil.beginTransaction();
- status = arduinoDAO.getDeviceDAO().updateDevice(device);
- ArduinoDAOUtil.commitTransaction();
- } catch (ArduinoDeviceMgtPluginException e) {
- try {
- ArduinoDAOUtil.rollbackTransaction();
- } catch (ArduinoDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the update device info transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg =
- "Error while updating the Arduino device : " + deviceIdentifier;
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public List getAllDevices() throws DeviceManagementException {
- List devices;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Fetching the details of all Arduino devices");
- }
- devices = arduinoDAO.getDeviceDAO().getAllDevices();
- } catch (ArduinoDeviceMgtPluginException e) {
- String msg = "Error while fetching all Arduino devices.";
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return devices;
- }
-
-}
\ No newline at end of file
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/ArduinoManagerService.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/ArduinoManagerService.java
deleted file mode 100644
index 743e9fb48c..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/ArduinoManagerService.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.impl;
-
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.DeviceManager;
-import org.wso2.carbon.device.mgt.common.ProvisioningConfig;
-import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
-import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
-import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants;
-
-public class ArduinoManagerService implements DeviceManagementService {
-
- private DeviceManager deviceManager;
- private final static String DEVICE_TYPE_PROVIDER_DOMAIN = "carbon.super";
-
- @Override
- public String getType() {
- return ArduinoConstants.DEVICE_TYPE;
- }
-
- @Override
- public void init() throws DeviceManagementException {
- deviceManager=new ArduinoManager();
-
- }
-
- @Override
- public DeviceManager getDeviceManager() {
- return deviceManager;
- }
-
- @Override
- public ApplicationManager getApplicationManager() {
- return null;
- }
-
- @Override
- public ProvisioningConfig getProvisioningConfig() {
- return new ProvisioningConfig(DEVICE_TYPE_PROVIDER_DOMAIN, false);
- }
-
- @Override
- public PushNotificationConfig getPushNotificationConfig() {
- return null;
- }
-
-}
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/dao/ArduinoDAOUtil.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/dao/ArduinoDAOUtil.java
deleted file mode 100644
index 2d83b966b6..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/dao/ArduinoDAOUtil.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.dao;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.exception.ArduinoDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.internal.ArduinoManagementDataHolder;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.SQLException;
-
-public class ArduinoDAOUtil {
-
- private static final Log log = LogFactory.getLog(ArduinoDAOUtil.class);
- static DataSource dataSource;
- private static ThreadLocal currentConnection = new ThreadLocal();
-
- public ArduinoDAOUtil() {
- initArduinoDAO();
- }
-
- public static void initArduinoDAO() {
- DeviceManagementConfiguration deviceManagementConfiguration = ArduinoManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(ArduinoConstants.DEVICE_TYPE,
- ArduinoConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- String datasource = deviceManagementConfiguration.getDeviceManagementConfigRepository().getDataSourceConfig()
- .getJndiLookupDefinition().getJndiName();
- try {
- Context ctx = new InitialContext();
- dataSource = (DataSource) ctx.lookup(datasource);
- } catch (NamingException e) {
- log.error("Error while looking up the data source: " + datasource, e);
- }
- }
-
- public ArduinoDeviceDAO getDeviceDAO() {
- return new ArduinoDeviceDAO();
- }
-
- public static void beginTransaction() throws ArduinoDeviceMgtPluginException {
- try {
- Connection conn = dataSource.getConnection();
- conn.setAutoCommit(false);
- currentConnection.set(conn);
- } catch (SQLException e) {
- throw new ArduinoDeviceMgtPluginException("Error occurred while retrieving datasource connection", e);
- }
- }
-
- public static Connection getConnection() throws ArduinoDeviceMgtPluginException {
- if (currentConnection.get() == null) {
- try {
- currentConnection.set(dataSource.getConnection());
- } catch (SQLException e) {
- throw new ArduinoDeviceMgtPluginException("Error occurred while retrieving data source connection", e);
- }
- }
- return currentConnection.get();
- }
-
- public static void commitTransaction() throws ArduinoDeviceMgtPluginException {
- try {
- Connection conn = currentConnection.get();
- if (conn != null) {
- conn.commit();
- } else {
- if (log.isDebugEnabled()) {
- log.debug("Datasource connection associated with the current thread is null, hence commit "
- + "has not been attempted");
- }
- }
- } catch (SQLException e) {
- throw new ArduinoDeviceMgtPluginException("Error occurred while committing the transaction", e);
- } finally {
- closeConnection();
- }
- }
-
- public static void closeConnection() throws ArduinoDeviceMgtPluginException {
-
- Connection con = currentConnection.get();
- if (con != null) {
- try {
- con.close();
- } catch (SQLException e) {
- log.error("Error occurred while close the connection");
- }
- }
- currentConnection.remove();
- }
-
- public static void rollbackTransaction() throws ArduinoDeviceMgtPluginException {
- try {
- Connection conn = currentConnection.get();
- if (conn != null) {
- conn.rollback();
- } else {
- if (log.isDebugEnabled()) {
- log.debug("Datasource connection associated with the current thread is null, hence rollback "
- + "has not been attempted");
- }
- }
- } catch (SQLException e) {
- throw new ArduinoDeviceMgtPluginException("Error occurred while rollback the transaction", e);
- } finally {
- closeConnection();
- }
- }
-}
\ No newline at end of file
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/dao/ArduinoDeviceDAO.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/dao/ArduinoDeviceDAO.java
deleted file mode 100644
index 411f88e10f..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/dao/ArduinoDeviceDAO.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.dao;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.exception.ArduinoDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.util.ArduinoUtils;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Implements CRUD for arduino Devices.
- */
-public class ArduinoDeviceDAO {
-
-
- private static final Log log = LogFactory.getLog(ArduinoDeviceDAO.class);
-
- public Device getDevice(String deviceId) throws ArduinoDeviceMgtPluginException {
- Connection conn = null;
- PreparedStatement stmt = null;
- Device device = null;
- ResultSet resultSet = null;
- try {
- conn = ArduinoDAOUtil.getConnection();
- String selectDBQuery =
- "SELECT ARDUINO_DEVICE_ID, DEVICE_NAME FROM ARDUINO_DEVICE WHERE ARDUINO_DEVICE_ID = ?";
- stmt = conn.prepareStatement(selectDBQuery);
- stmt.setString(1, deviceId);
- resultSet = stmt.executeQuery();
-
- if (resultSet.next()) {
- device = new Device();
- device.setName(resultSet.getString(ArduinoConstants.DEVICE_PLUGIN_DEVICE_NAME));
- if (log.isDebugEnabled()) {
- log.debug("Arduino device " + deviceId + " data has been fetched from " +
- "Arduino database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while fetching Arduino device : '" + deviceId + "'";
- log.error(msg, e);
- throw new ArduinoDeviceMgtPluginException(msg, e);
- } finally {
- ArduinoUtils.cleanupResources(stmt, resultSet);
- ArduinoDAOUtil.closeConnection();
- }
- return device;
- }
-
- public boolean addDevice(Device iotDevice) throws ArduinoDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = ArduinoDAOUtil.getConnection();
- String createDBQuery =
- "INSERT INTO ARDUINO_DEVICE(ARDUINO_DEVICE_ID, DEVICE_NAME) VALUES (?, ?)";
-
- stmt = conn.prepareStatement(createDBQuery);
- stmt.setString(1, iotDevice.getDeviceIdentifier());
- stmt.setString(2,iotDevice.getName());
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Arduino device " + iotDevice.getDeviceIdentifier() + " data has been" +
- " added to the Arduino database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while adding the Arduino device '" +
- iotDevice.getDeviceIdentifier() + "' to the Arduino db.";
- log.error(msg, e);
- throw new ArduinoDeviceMgtPluginException(msg, e);
- } finally {
- ArduinoUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public boolean updateDevice(Device iotDevice) throws ArduinoDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = ArduinoDAOUtil.getConnection();
- String updateDBQuery =
- "UPDATE ARDUINO_DEVICE SET DEVICE_NAME = ? WHERE ARDUINO_DEVICE_ID = ?";
-
- stmt = conn.prepareStatement(updateDBQuery);
- stmt.setString(1, iotDevice.getName());
- stmt.setString(2, iotDevice.getDeviceIdentifier());
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Arduino device " + iotDevice.getDeviceIdentifier() + " data has been" +
- " modified.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while modifying the Arduino device '" + iotDevice.getDeviceIdentifier()
- + "' data.";
- log.error(msg, e);
- throw new ArduinoDeviceMgtPluginException(msg, e);
- } finally {
- ArduinoUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public boolean deleteDevice(String iotDeviceId) throws ArduinoDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = ArduinoDAOUtil.getConnection();
- String deleteDBQuery =
- "DELETE FROM ARDUINO_DEVICE WHERE ARDUINO_DEVICE_ID = ?";
- stmt = conn.prepareStatement(deleteDBQuery);
- stmt.setString(1, iotDeviceId);
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Arduino device " + iotDeviceId + " data has deleted" +
- " from the Arduino database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while deleting Arduino device " + iotDeviceId;
- log.error(msg, e);
- throw new ArduinoDeviceMgtPluginException(msg, e);
- } finally {
- ArduinoUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public List getAllDevices() throws ArduinoDeviceMgtPluginException {
-
- Connection conn = null;
- PreparedStatement stmt = null;
- ResultSet resultSet = null;
- Device device;
- List devices = new ArrayList();
- try {
- conn = ArduinoDAOUtil.getConnection();
- String selectDBQuery =
- "SELECT ARDUINO_DEVICE_ID, DEVICE_NAME FROM ARDUINO_DEVICE";
- stmt = conn.prepareStatement(selectDBQuery);
- resultSet = stmt.executeQuery();
- while (resultSet.next()) {
- device = new Device();
- device.setDeviceIdentifier(resultSet.getString(ArduinoConstants.DEVICE_PLUGIN_DEVICE_ID));
- device.setName(resultSet.getString(ArduinoConstants.DEVICE_PLUGIN_DEVICE_NAME));
- }
- if (log.isDebugEnabled()) {
- log.debug("All Arduino device details have fetched from Arduino database.");
- }
- return devices;
- } catch (SQLException e) {
- String msg = "Error occurred while fetching all Arduino device data'";
- log.error(msg, e);
- throw new ArduinoDeviceMgtPluginException(msg, e);
- } finally {
- ArduinoUtils.cleanupResources(stmt, resultSet);
- ArduinoDAOUtil.closeConnection();
- }
- }
- }
\ No newline at end of file
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/feature/ArduinoFeatureManager.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/feature/ArduinoFeatureManager.java
deleted file mode 100644
index d693f8e5bc..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/feature/ArduinoFeatureManager.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.feature;
-
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.Feature;
-import org.wso2.carbon.device.mgt.common.FeatureManager;
-import org.wso2.carbon.device.mgt.extensions.feature.mgt.GenericFeatureManager;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants;
-
-import java.util.List;
-
-public class ArduinoFeatureManager implements FeatureManager {
- @Override
- public boolean addFeature(Feature feature) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean addFeatures(List features) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public Feature getFeature(String name) throws DeviceManagementException {
- GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance();
- return genericFeatureManager.getFeature(ArduinoConstants.DEVICE_TYPE, name);
- }
-
- @Override
- public List getFeatures() throws DeviceManagementException {
- GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance();
- return genericFeatureManager.getFeatures(ArduinoConstants.DEVICE_TYPE);
- }
-
- @Override
- public boolean removeFeature(String name) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean addSupportedFeaturesToDB() throws DeviceManagementException {
- return false;
- }
-}
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/util/ArduinoUtils.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/util/ArduinoUtils.java
deleted file mode 100644
index f4207d72e0..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/util/ArduinoUtils.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.util;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.exception.ArduinoDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.internal.ArduinoManagementDataHolder;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Contains utility methods used by Arduino plugin.
- */
-public class ArduinoUtils {
-
- private static Log log = LogFactory.getLog(ArduinoUtils.class);
-
- public static String getDeviceProperty(List deviceProperties, String propertyKey) {
- String deviceProperty = "";
- for(Device.Property property :deviceProperties){
- if(propertyKey.equals(property.getName())){
- deviceProperty = property.getValue();
- }
- }
- return deviceProperty;
- }
-
- public static Device.Property getProperty(String property, String value) {
- if (property != null) {
- Device.Property prop = new Device.Property();
- prop.setName(property);
- prop.setValue(value);
- return prop;
- }
- return null;
- }
-
- public static void cleanupResources(Connection conn, PreparedStatement stmt, ResultSet rs) {
- if (rs != null) {
- try {
- rs.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing result set", e);
- }
- }
- if (stmt != null) {
- try {
- stmt.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing prepared statement", e);
- }
- }
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing database connection", e);
- }
- }
- }
-
- public static void cleanupResources(PreparedStatement stmt, ResultSet rs) {
- cleanupResources(null, stmt, rs);
- }
-
- /**
- * Creates the device management schema.
- */
- public static void setupDeviceManagementSchema() throws ArduinoDeviceMgtPluginException {
- DeviceManagementConfiguration deviceManagementConfiguration = ArduinoManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(ArduinoConstants.DEVICE_TYPE,
- ArduinoConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- String datasource = deviceManagementConfiguration.getDeviceManagementConfigRepository().getDataSourceConfig()
- .getJndiLookupDefinition().getJndiName();
- try {
- Context ctx = new InitialContext();
- DataSource dataSource = (DataSource) ctx.lookup(datasource);
- DeviceSchemaInitializer initializer = new DeviceSchemaInitializer(dataSource);
- String checkSql = "select * from ARDUINO_DEVICE";
- if (!initializer.isDatabaseStructureCreated(checkSql)) {
- log.info("Initializing device management repository database schema");
- initializer.createRegistryDatabase();
- } else {
- log.info("Device management repository database already exists. Not creating a new database.");
- }
-
- } catch (NamingException e) {
- log.error("Error while looking up the data source: " + datasource, e);
- } catch (Exception e) {
- throw new ArduinoDeviceMgtPluginException("Error occurred while initializing Iot Device " +
- "Management database schema", e);
- }
- }
-
-
-}
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/util/DeviceSchemaInitializer.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/util/DeviceSchemaInitializer.java
deleted file mode 100644
index eff15d20f3..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/impl/util/DeviceSchemaInitializer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.util;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.carbon.utils.dbcreator.DatabaseCreator;
-
-import javax.sql.DataSource;
-import java.io.File;
-
-/**
- * Provides methods for initializing the database script.
- */
-public class DeviceSchemaInitializer extends DatabaseCreator{
-
- private static final Log log = LogFactory.getLog(DeviceSchemaInitializer.class);
- private static final String setupSQLScriptBaseLocation = CarbonUtils.getCarbonHome() + File.separator + "dbscripts"
- + File.separator + "cdm" + File.separator + "plugins" + File.separator + ArduinoConstants.DEVICE_TYPE
- + File.separator;
-
- public DeviceSchemaInitializer(DataSource dataSource) {
- super(dataSource);
- }
-
- @Override
- protected String getDbScriptLocation(String databaseType) {
- String scriptName = databaseType + ".sql";
- if (log.isDebugEnabled()) {
- log.debug("Loading database script from :" + scriptName);
- }
- return setupSQLScriptBaseLocation.replaceFirst("DBTYPE", databaseType) + scriptName;
- }
-}
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/internal/ArduinoManagementDataHolder.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/internal/ArduinoManagementDataHolder.java
deleted file mode 100644
index 60a697f6cb..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/internal/ArduinoManagementDataHolder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.internal;
-
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
-
-/**
- * DataHolder class of plugins component.
- */
-public class ArduinoManagementDataHolder {
-
- private DeviceTypeConfigService deviceTypeConfigService;
- private static ArduinoManagementDataHolder thisInstance = new ArduinoManagementDataHolder();
-
- private ArduinoManagementDataHolder() {
- }
-
- public static ArduinoManagementDataHolder getInstance() {
- return thisInstance;
- }
-
- public DeviceTypeConfigService getDeviceTypeConfigService() {
- return deviceTypeConfigService;
- }
-
- public void setDeviceTypeConfigService(
- DeviceTypeConfigService deviceTypeConfigService) {
- this.deviceTypeConfigService = deviceTypeConfigService;
- }
-
-}
diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/internal/ArduinoManagementServiceComponent.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/internal/ArduinoManagementServiceComponent.java
deleted file mode 100644
index f78007edf4..0000000000
--- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/plugin/internal/ArduinoManagementServiceComponent.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.arduino.plugin.internal;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.exception.ArduinoDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.ArduinoManagerService;
-import org.wso2.carbon.device.mgt.iot.arduino.plugin.impl.util.ArduinoUtils;
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
-import org.wso2.carbon.ndatasource.core.DataSourceService;
-
-/**
- * @scr.component name="org.wso2.carbon.device.mgt.iot.arduino.internal.ArduinoManagementServiceComponent"
- * immediate="true"
- * @scr.reference name="org.wso2.carbon.ndatasource"
- * interface="org.wso2.carbon.ndatasource.core.DataSourceService"
- * cardinality="1..1"
- * policy="dynamic"
- * bind="setDataSourceService"
- * unbind="unsetDataSourceService"
- * @scr.reference name="devicetype.configuration.service"
- * interface="org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService"
- * cardinality="1..1"
- * policy="dynamic"
- * bind="setDeviceTypeConfigService"
- * unbind="unsetDeviceTypeConfigService"
- */
-public class ArduinoManagementServiceComponent {
-
- private static final Log log = LogFactory.getLog(ArduinoManagementServiceComponent.class);
- private ServiceRegistration arduinoServiceRegRef;
-
- protected void activate(ComponentContext ctx) {
- if (log.isDebugEnabled()) {
- log.debug("Activating Arduino Device Management Service Component");
- }
- try {
- BundleContext bundleContext = ctx.getBundleContext();
- arduinoServiceRegRef =
- bundleContext.registerService(DeviceManagementService.class.getName(),
- new ArduinoManagerService(), null);
- String setupOption = System.getProperty("setup");
- if (setupOption != null) {
- if (log.isDebugEnabled()) {
- log.debug(
- "-Dsetup is enabled. Iot Device management repository schema initialization is about " +
- "to begin");
- }
- try {
- ArduinoUtils.setupDeviceManagementSchema();
- } catch (ArduinoDeviceMgtPluginException e) {
- log.error("Exception occurred while initializing device management database schema", e);
- }
- }
- if (log.isDebugEnabled()) {
- log.debug("Arduino Device Management Service Component has been successfully activated");
- }
- } catch (Throwable e) {
- log.error("Error occurred while activating Arduino Device Management Service Component", e);
- }
- }
-
- protected void deactivate(ComponentContext ctx) {
- if (log.isDebugEnabled()) {
- log.debug("De-activating Arduino Device Management Service Component");
- }
- try {
- if (arduinoServiceRegRef != null) {
- arduinoServiceRegRef.unregister();
- }
-
- if (log.isDebugEnabled()) {
- log.debug(
- "Arduino Device Management Service Component has been successfully de-activated");
- }
- } catch (Throwable e) {
- log.error("Error occurred while de-activating Arduino Device Management bundle", e);
- }
- }
-
- protected void setDataSourceService(DataSourceService dataSourceService) {
- /* This is to avoid mobile device management component getting initialized before the underlying datasources
- are registered */
- if (log.isDebugEnabled()) {
- log.debug("Data source service set to service component");
- }
- }
-
- protected void unsetDataSourceService(DataSourceService dataSourceService) {
- //do nothing
- }
-
- protected void setDeviceTypeConfigService(DeviceTypeConfigService deviceTypeConfigService) {
- ArduinoManagementDataHolder.getInstance().setDeviceTypeConfigService(deviceTypeConfigService);
- }
-
- protected void unsetDeviceTypeConfigService(DeviceTypeConfigService deviceTypeConfigService) {
- ArduinoManagementDataHolder.getInstance().setDeviceTypeConfigService(null);
- }
-}
diff --git a/components/iot-plugins/arduino-plugin/pom.xml b/components/iot-plugins/arduino-plugin/pom.xml
index b9d22e6019..a0d11b44bd 100644
--- a/components/iot-plugins/arduino-plugin/pom.xml
+++ b/components/iot-plugins/arduino-plugin/pom.xml
@@ -35,7 +35,6 @@
org.wso2.carbon.device.mgt.iot.arduino.api
- org.wso2.carbon.device.mgt.iot.arduino.plugin
org.wso2.carbon.device.mgt.iot.arduino.ui
org.wso2.carbon.device.mgt.iot.arduino.analytics
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/pom.xml b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/pom.xml
new file mode 100644
index 0000000000..5cc24ac0e9
--- /dev/null
+++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/pom.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+ iot-base-plugin
+ org.wso2.carbon.devicemgt-plugins
+ 2.2.6-SNAPSHOT
+ ../pom.xml
+
+
+ 4.0.0
+ org.wso2.carbon.device.mgt.iot.url.printer
+ bundle
+ WSO2 Carbon - IoT url printer
+ WSO2 Carbon - IoT url printer
+ http://wso2.org
+
+
+
+
+ org.apache.felix
+ maven-scr-plugin
+
+
+ maven-compiler-plugin
+
+
+ 1.7
+
+ 2.3.2
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 1.4.0
+ true
+
+
+ ${project.artifactId}
+ ${project.artifactId}
+ ${carbon.devicemgt.plugins.version}
+ IoT Server Impl Bundle
+ org.wso2.carbon.device.mgt.iot.url.printer.internal
+
+ org.osgi.framework,
+ org.osgi.service.component,
+ org.apache.commons.logging,
+ org.apache.axis2.*;version="${axis2.osgi.version.range}",
+ org.wso2.carbon.core,
+ org.wso2.carbon.utils.*,
+
+
+ !org.wso2.carbon.device.mgt.iot.url.printer.internal,
+ org.wso2.carbon.device.mgt.iot.url.printer.*;version="${project.version}"
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.osgi
+ org.eclipse.osgi
+
+
+ org.eclipse.osgi
+ org.eclipse.osgi.services
+
+
+ org.wso2.carbon
+ org.wso2.carbon.core
+
+
+ org.wso2.carbon
+ org.wso2.carbon.logging
+
+
+ org.wso2.carbon
+ org.wso2.carbon.utils
+
+
+ org.apache.axis2.wso2
+ axis2
+
+
+
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/URLPrinterStartupHandler.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/URLPrinterStartupHandler.java
similarity index 88%
rename from components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/URLPrinterStartupHandler.java
rename to components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/URLPrinterStartupHandler.java
index d9cbc4ae72..28d1943cf9 100644
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/URLPrinterStartupHandler.java
+++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/URLPrinterStartupHandler.java
@@ -21,7 +21,7 @@ package org.wso2.carbon.device.mgt.iot.url.printer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.core.ServerStartupObserver;
-import org.wso2.carbon.device.mgt.iot.internal.IoTDeviceManagementDataHolder;
+import org.wso2.carbon.device.mgt.iot.url.printer.internal.UrlPrinterDataHolder;
import org.wso2.carbon.utils.CarbonUtils;
import org.wso2.carbon.utils.ConfigurationContextService;
import org.wso2.carbon.utils.NetworkUtils;
@@ -35,10 +35,10 @@ public class URLPrinterStartupHandler implements ServerStartupObserver {
@Override
public void completedServerStartup() {
- log.info("IoT Console URL : " + this.getIoTUrl());
+ log.info("IoT Console URL : " + this.getServerUrl());
}
- private String getIoTUrl() {
+ private String getServerUrl() {
// Hostname
String hostName = "localhost";
try {
@@ -48,7 +48,7 @@ public class URLPrinterStartupHandler implements ServerStartupObserver {
// HTTPS port
String mgtConsoleTransport = CarbonUtils.getManagementTransport();
ConfigurationContextService configContextService =
- IoTDeviceManagementDataHolder.getInstance().getConfigurationContextService();
+ UrlPrinterDataHolder.getInstance().getConfigurationContextService();
int port = CarbonUtils.getTransportPort(configContextService, mgtConsoleTransport);
int httpsProxyPort =
CarbonUtils.getTransportProxyPort(configContextService.getServerConfigContext(), mgtConsoleTransport);
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/internal/IoTDeviceManagementDataHolder.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/internal/UrlPrinterDataHolder.java
similarity index 79%
rename from components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/internal/IoTDeviceManagementDataHolder.java
rename to components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/internal/UrlPrinterDataHolder.java
index 76edfc41ce..cd74cbe24c 100644
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/internal/IoTDeviceManagementDataHolder.java
+++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/internal/UrlPrinterDataHolder.java
@@ -16,18 +16,18 @@
* under the License.
*
*/
-package org.wso2.carbon.device.mgt.iot.internal;
+package org.wso2.carbon.device.mgt.iot.url.printer.internal;
import org.wso2.carbon.utils.ConfigurationContextService;
-public class IoTDeviceManagementDataHolder {
+public class UrlPrinterDataHolder {
private ConfigurationContextService configurationContextService;
- private static IoTDeviceManagementDataHolder thisInstance = new IoTDeviceManagementDataHolder();
+ private static UrlPrinterDataHolder thisInstance = new UrlPrinterDataHolder();
- private IoTDeviceManagementDataHolder() {}
+ private UrlPrinterDataHolder() {}
- public static IoTDeviceManagementDataHolder getInstance() {
+ public static UrlPrinterDataHolder getInstance() {
return thisInstance;
}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/internal/IotDeviceManagementServiceComponent.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/internal/UrlPrinterServiceComponent.java
similarity index 62%
rename from components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/internal/IotDeviceManagementServiceComponent.java
rename to components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/internal/UrlPrinterServiceComponent.java
index 87483048a9..38fb001689 100644
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/internal/IotDeviceManagementServiceComponent.java
+++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/internal/UrlPrinterServiceComponent.java
@@ -16,20 +16,18 @@
* under the License.
*/
-package org.wso2.carbon.device.mgt.iot.internal;
+package org.wso2.carbon.device.mgt.iot.url.printer.internal;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.osgi.framework.BundleContext;
import org.osgi.service.component.ComponentContext;
import org.wso2.carbon.core.ServerStartupObserver;
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigServiceImpl;
import org.wso2.carbon.device.mgt.iot.url.printer.URLPrinterStartupHandler;
import org.wso2.carbon.utils.ConfigurationContextService;
/**
- * @scr.component name="org.wso2.carbon.device.mgt.iot.internal.IotDeviceManagementServiceComponent"
+ * @scr.component name="org.wso2.carbon.device.mgt.iot.url.printer.internal.UrlPrinterServiceComponent"
* immediate="true"
* @scr.reference name="config.context.service"
* interface="org.wso2.carbon.utils.ConfigurationContextService"
@@ -38,32 +36,28 @@ import org.wso2.carbon.utils.ConfigurationContextService;
* bind="setConfigurationContextService"
* unbind="unsetConfigurationContextService"
*/
-public class IotDeviceManagementServiceComponent {
+public class UrlPrinterServiceComponent {
- private static final Log log = LogFactory.getLog(IotDeviceManagementServiceComponent.class);
+ private static final Log log = LogFactory.getLog(UrlPrinterServiceComponent.class);
protected void activate(ComponentContext ctx) {
if (log.isDebugEnabled()) {
- log.debug("Activating Iot Device Management Service Component");
+ log.debug("Activating Url printer Service Component");
}
try {
BundleContext bundleContext = ctx.getBundleContext();
bundleContext.registerService(ServerStartupObserver.class.getName(), new URLPrinterStartupHandler(), null);
if (log.isDebugEnabled()) {
- log.debug("Iot Device Management Service Component has been successfully activated");
+ log.debug("Url printer Service Component has been successfully activated");
}
- DeviceTypeConfigServiceImpl deviceTypeConfigLoaderService = new DeviceTypeConfigServiceImpl();
- deviceTypeConfigLoaderService.initialize();
- bundleContext.registerService(DeviceTypeConfigService.class.getName(), deviceTypeConfigLoaderService,
- null);
} catch (Throwable e) {
- log.error("Error occurred while activating Iot Device Management Service Component", e);
+ log.error("Error occurred while activating Url printer Service Component", e);
}
}
protected void deactivate(ComponentContext ctx) {
if (log.isDebugEnabled()) {
- log.debug("De-activating Iot Device Management Service Component");
+ log.debug("De-activating Url printer Service Component");
}
}
@@ -72,7 +66,7 @@ public class IotDeviceManagementServiceComponent {
log.debug("Setting ConfigurationContextService");
}
- IoTDeviceManagementDataHolder.getInstance().setConfigurationContextService(configurationContextService);
+ UrlPrinterDataHolder.getInstance().setConfigurationContextService(configurationContextService);
}
@@ -80,6 +74,6 @@ public class IotDeviceManagementServiceComponent {
if (log.isDebugEnabled()) {
log.debug("Un-setting ConfigurationContextService");
}
- IoTDeviceManagementDataHolder.getInstance().setConfigurationContextService(null);
+ UrlPrinterDataHolder.getInstance().setConfigurationContextService(null);
}
}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/pom.xml b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/pom.xml
deleted file mode 100644
index 8389317b9b..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/pom.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-
-
-
-
-
-
-
- iot-base-plugin
- org.wso2.carbon.devicemgt-plugins
- 2.2.6-SNAPSHOT
- ../pom.xml
-
-
- 4.0.0
- org.wso2.carbon.device.mgt.iot
- bundle
- WSO2 Carbon - IoT Device Management Common Impl
- WSO2 Carbon - IoT Device Management and Control Implementation
- http://wso2.org
-
-
-
-
- org.apache.felix
- maven-scr-plugin
-
-
- maven-compiler-plugin
-
-
- 1.7
-
- 2.3.2
-
-
- org.apache.felix
- maven-bundle-plugin
- 1.4.0
- true
-
-
- ${project.artifactId}
- ${project.artifactId}
- ${carbon.devicemgt.plugins.version}
- IoT Server Impl Bundle
- org.wso2.carbon.device.mgt.iot.internal
-
- org.wso2.carbon.base.*,
- org.osgi.framework,
- org.osgi.service.component,
- org.apache.axis2.context,
- org.apache.commons.io,
- org.apache.commons.logging,
- org.wso2.carbon.core,
- org.wso2.carbon.device.mgt.common,
- org.wso2.carbon.utils,
- javax.xml.bind,
- javax.xml.bind.annotation,
- javax.xml.parsers; version="${javax.xml.parsers.import.pkg.version}",
- org.w3c.dom
-
-
- !org.wso2.carbon.device.mgt.iot.internal,
- org.wso2.carbon.device.mgt.iot.*;version="${project.version}"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- org.eclipse.osgi
- org.eclipse.osgi
-
-
- org.eclipse.osgi
- org.eclipse.osgi.services
-
-
- org.wso2.carbon
- org.wso2.carbon.logging
-
-
- org.wso2.carbon
- org.wso2.carbon.utils
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.common
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.core
-
-
- org.apache.httpcomponents.wso2
- httpclient
-
-
-
-
- org.wso2.carbon
- org.wso2.carbon.ndatasource.core
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.policy.mgt.core
- provided
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.policy.mgt.common
- provided
-
-
-
- org.json.wso2
- json
-
-
- org.wso2.carbon
- org.wso2.carbon.core
-
-
- commons-collections
- commons-collections
-
-
- commons-configuration
- commons-configuration
-
-
- org.wso2.carbon.analytics-common
- org.wso2.carbon.databridge.agent
-
-
- org.wso2.carbon.commons
- org.wso2.carbon.databridge.commons
-
-
- org.eclipse.paho
- org.eclipse.paho.client.mqttv3
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.analytics.data.publisher
-
-
-
- org.igniterealtime.smack.wso2
- smack
-
-
- org.igniterealtime.smack.wso2
- smackx
-
-
- commons-codec
- commons-codec
-
-
-
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigIdentifier.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigIdentifier.java
deleted file mode 100644
index 4d06cef39c..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigIdentifier.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.wso2.carbon.device.mgt.iot.devicetype;
-
-import java.io.Serializable;
-
-/**
- * This class holds key for the configuration of the device type and its provider tenant.
- */
-public class DeviceTypeConfigIdentifier implements Serializable {
-
- private String deviceType;
- private String tenantDomain;
-
- public DeviceTypeConfigIdentifier(String deviceType, String tenantDomain) {
- this.deviceType = deviceType;
- this.tenantDomain = tenantDomain;
- }
-
- @Override
- public int hashCode() {
- int result = this.deviceType.hashCode();
- result = 31 * result + ("@" + this.tenantDomain).hashCode();
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- return (obj instanceof DeviceTypeConfigIdentifier) && deviceType.equals(
- ((DeviceTypeConfigIdentifier) obj).deviceType) && tenantDomain.equals(
- ((DeviceTypeConfigIdentifier) obj).tenantDomain);
- }
-}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigService.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigService.java
deleted file mode 100644
index fc1bf27d63..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigService.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.wso2.carbon.device.mgt.iot.devicetype;
-
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-
-/**
- * Service to retrieve device type configs.
- */
-public interface DeviceTypeConfigService {
-
- /**
- * This service will read the device type configuration files from conf/etc/device-type-plugins
- *
- * @param deviceType retrive the device type configuration.
- * @param tenantDomain retrieve the device type of this tenant domain.
- * @return device management configuratio for the device type owned by the given tenant domain.
- */
- DeviceManagementConfiguration getConfiguration(String deviceType, String tenantDomain);
-}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigServiceImpl.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigServiceImpl.java
deleted file mode 100644
index fbdc9b37f3..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigServiceImpl.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.wso2.carbon.device.mgt.iot.devicetype;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.w3c.dom.Document;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.exception.DeviceTypeConfigurationException;
-import org.wso2.carbon.device.mgt.iot.devicetype.util.DeviceTypeConfigUtil;
-import org.wso2.carbon.utils.CarbonUtils;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-
-public class DeviceTypeConfigServiceImpl implements DeviceTypeConfigService {
-
- private static final Log log = LogFactory.getLog(DeviceTypeConfigServiceImpl.class);
- private static final String DEVICE_TYPE_CONFIG_PATH =
- CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugins";
- private Map deviceTypeConfigurationMap = new HashMap<>();
-
- public void initialize() {
- File configurationDirectory = new File(DEVICE_TYPE_CONFIG_PATH);
- File[] deviceTypeConfigurationFiles = configurationDirectory.listFiles();
- if (deviceTypeConfigurationFiles != null) {
- for (File file : deviceTypeConfigurationFiles) {
- String filename = file.getName();
- if (filename.endsWith(".xml") || filename.endsWith(".XML")) {
- try {
- DeviceManagementConfiguration deviceManagementConfiguration = getDeviceTypeConfiguration(file);
- String deviceType = deviceManagementConfiguration.getDeviceType();
- String tenantDomain = deviceManagementConfiguration.getDeviceManagementConfigRepository()
- .getProvisioningConfig().getTenantDomain();
- if (deviceType != null && !deviceType.isEmpty() && tenantDomain != null
- && !tenantDomain.isEmpty()) {
- deviceTypeConfigurationMap.put(new DeviceTypeConfigIdentifier(deviceType, tenantDomain),
- deviceManagementConfiguration);
- }
-
- } catch (DeviceTypeConfigurationException e) {
- //continue reading other files
- log.error(e.getMessage(), e);
- }
- }
- }
- }
- }
-
- private DeviceManagementConfiguration getDeviceTypeConfiguration(File configurationFile)
- throws DeviceTypeConfigurationException {
- try {
- Document doc = DeviceTypeConfigUtil.convertToDocument(configurationFile);
-
- /* Un-marshaling Webapp Authenticator configuration */
- JAXBContext ctx = JAXBContext.newInstance(DeviceManagementConfiguration.class);
- Unmarshaller unmarshaller = ctx.createUnmarshaller();
- //unmarshaller.setSchema(getSchema());
- return (DeviceManagementConfiguration) unmarshaller.unmarshal(doc);
- } catch (JAXBException e) {
- throw new DeviceTypeConfigurationException("Error occurred while un-marshalling the file " +
- configurationFile.getAbsolutePath(), e);
- }
- }
-
- @Override
- public DeviceManagementConfiguration getConfiguration(String deviceType, String tenantDomain) {
- return deviceTypeConfigurationMap.get(new DeviceTypeConfigIdentifier(deviceType, tenantDomain));
- }
-}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DataSourceConfig.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DataSourceConfig.java
deleted file mode 100644
index 1b8c33765a..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DataSourceConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.wso2.carbon.device.mgt.iot.devicetype.config;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-/**
- * Class for holding device type configuration and parsing with JAXB.
- */
-@XmlRootElement(name = "DataSourceConfiguration")
-public class DataSourceConfig {
-
- private JNDILookupDefinition jndiLookupDefinition;
-
- @XmlElement(name = "JndiLookupDefinition", required = true)
- public JNDILookupDefinition getJndiLookupDefinition() {
- return jndiLookupDefinition;
- }
-
- public void setJndiLookupDefinition(JNDILookupDefinition jndiLookupDefinition) {
- this.jndiLookupDefinition = jndiLookupDefinition;
- }
-
-}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DeviceManagementConfigRepository.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DeviceManagementConfigRepository.java
deleted file mode 100644
index 680935c7de..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DeviceManagementConfigRepository.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.wso2.carbon.device.mgt.iot.devicetype.config;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-/**
- * Class for holding management repository data.
- */
-@XmlRootElement(name = "ManagementRepository")
-public class DeviceManagementConfigRepository {
-
- private DataSourceConfig dataSourceConfig;
- private ProvisioningConfig provisioningConfig;
-
- @XmlElement(name = "DataSourceConfiguration", required = true)
- public DataSourceConfig getDataSourceConfig() {
- return dataSourceConfig;
- }
-
- public void setDataSourceConfig(DataSourceConfig dataSourceConfig) {
- this.dataSourceConfig = dataSourceConfig;
- }
-
- @XmlElement(name = "ProvisioningConfig", required = true)
- public ProvisioningConfig getProvisioningConfig() {
- return provisioningConfig;
- }
-
- public void setProvisioningConfig(
- ProvisioningConfig provisioningConfig) {
- this.provisioningConfig = provisioningConfig;
- }
-}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DeviceManagementConfiguration.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DeviceManagementConfiguration.java
deleted file mode 100644
index 369b9af675..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/DeviceManagementConfiguration.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.wso2.carbon.device.mgt.iot.devicetype.config;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-@XmlRootElement(name = "DeviceManagementConfiguration")
-public class DeviceManagementConfiguration {
-
- private DeviceManagementConfigRepository deviceManagementConfigRepository;
- private PushNotificationConfig pushNotificationConfig;
- private String deviceType;
-
- private static final Log log = LogFactory.getLog(DeviceManagementConfiguration.class);
-
- private DeviceManagementConfiguration() {
- }
-
- @XmlElement(name = "DeviceType", required = false)
- public String getDeviceType() {
- return deviceType;
- }
-
- public void setDeviceType(String deviceType) {
- this.deviceType = deviceType;
- }
-
- @XmlElement(name = "ManagementRepository", required = true)
- public DeviceManagementConfigRepository getDeviceManagementConfigRepository() {
- return deviceManagementConfigRepository;
- }
-
- public void setDeviceManagementConfigRepository(DeviceManagementConfigRepository deviceManagementConfigRepository) {
- this.deviceManagementConfigRepository = deviceManagementConfigRepository;
- }
-
- @XmlElement(name = "PushNotificationConfiguration", required = false)
- public PushNotificationConfig getPushNotificationConfig() {
- return pushNotificationConfig;
- }
-
- public void setPushNotificationConfig(PushNotificationConfig pushNotificationConfig) {
- this.pushNotificationConfig = pushNotificationConfig;
- }
-}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/JNDILookupDefinition.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/JNDILookupDefinition.java
deleted file mode 100644
index 370bb1c2da..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/JNDILookupDefinition.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.devicetype.config;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlValue;
-import java.util.List;
-
-/**
- * Class for hold JndiLookupDefinition parsing with JAXB.
- */
-@XmlRootElement(name = "JndiLookupDefinition")
-public class JNDILookupDefinition {
-
- private String jndiName;
- private List jndiProperties;
-
- @XmlElement(name = "Name", required = false)
- public String getJndiName() {
- return jndiName;
- }
-
- public void setJndiName(String jndiName) {
- this.jndiName = jndiName;
- }
-
- @XmlElementWrapper(name = "Environment", required = false)
- @XmlElement(name = "Property", nillable = false)
- public List getJndiProperties() {
- return jndiProperties;
- }
-
- public void setJndiProperties(List jndiProperties) {
- this.jndiProperties = jndiProperties;
- }
-
- @XmlRootElement(name = "Property")
- public static class JNDIProperty {
-
- private String name;
-
- private String value;
-
- @XmlAttribute(name = "Name")
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- @XmlValue
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
- }
-
-}
-
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/ProvisioningConfig.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/ProvisioningConfig.java
deleted file mode 100644
index 7185212d44..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/ProvisioningConfig.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.wso2.carbon.device.mgt.iot.devicetype.config;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-/**
- * Class for holding device type configuration and parsing with JAXB.
- */
-@XmlRootElement(name = "ProvisioningConfig")
-public class ProvisioningConfig {
-
- private String tenantDomain;
- private boolean sharedWithAllTenants;
-
- @XmlElement(name = "TenantDomain", required = true)
- public String getTenantDomain() {
- return tenantDomain;
- }
-
- public void setTenantDomain(String tenantDomain) {
- this.tenantDomain = tenantDomain;
- }
-
- @XmlElement(name = "SharedWithAllTenants", required = true)
- public boolean isSharedWithAllTenants() {
- return sharedWithAllTenants;
- }
-
- public void setSharedWithAllTenants(boolean sharedWithAllTenants) {
- this.sharedWithAllTenants = sharedWithAllTenants;
- }
-}
\ No newline at end of file
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/exception/InvalidConfigurationStateException.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/exception/InvalidConfigurationStateException.java
deleted file mode 100644
index fdbee792e1..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/exception/InvalidConfigurationStateException.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.wso2.carbon.device.mgt.iot.devicetype.config.exception;
-
-public class InvalidConfigurationStateException extends RuntimeException {
-
- private static final long serialVersionUID = -3151279411229070297L;
-
- public InvalidConfigurationStateException(int errorCode, String message) {
- super(message);
- }
-
- public InvalidConfigurationStateException(int errorCode, String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvalidConfigurationStateException(String msg, Exception nestedEx) {
- super(msg, nestedEx);
- }
-
- public InvalidConfigurationStateException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvalidConfigurationStateException(String msg) {
- super(msg);
- }
-
- public InvalidConfigurationStateException() {
- super();
- }
-
- public InvalidConfigurationStateException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/util/DeviceTypeConfigUtil.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/util/DeviceTypeConfigUtil.java
deleted file mode 100644
index a32a88bdfb..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/util/DeviceTypeConfigUtil.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.wso2.carbon.device.mgt.iot.devicetype.util;
-
-import org.w3c.dom.Document;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.exception.DeviceTypeConfigurationException;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import java.io.File;
-
-public class DeviceTypeConfigUtil {
-
- public static final String CARBON_HOME = "carbon.home";
- public static final String CARBON_HOME_ENTRY = "${carbon.home}";
-
- public static Document convertToDocument(File file) throws DeviceTypeConfigurationException {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- try {
- DocumentBuilder docBuilder = factory.newDocumentBuilder();
- return docBuilder.parse(file);
- } catch (Exception e) {
- throw new DeviceTypeConfigurationException("Error occurred while parsing file, while converting " +
- "to a org.w3c.dom.Document", e);
- }
- }
-
-
-
-
-}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java
deleted file mode 100644
index c111769837..0000000000
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.util;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.base.ServerConfiguration;
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.carbon.utils.NetworkUtils;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.SocketException;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-/**
- * Provides utility methods required by the device type plugins.
- */
-public class Utils {
-
- public static final String HOST_NAME = "HostName";
- private static final Log log = LogFactory.getLog(Utils.class);
-
- public static String getServerUrl() {
- String hostName = ServerConfiguration.getInstance().getFirstProperty(HOST_NAME);
- try {
- if (hostName == null) {
- hostName = NetworkUtils.getLocalHostname();
- }
- } catch (SocketException e) {
- hostName = "localhost";
- log.warn("Failed retrieving the hostname, therefore set to localhost", e);
- }
- return hostName;
- }
-
- public static ZipArchive getSketchArchive(String archivesPath, String templateSketchPath, Map contextParams,
- String zipFileName)
- throws DeviceManagementException, IOException {
- String sketchPath = CarbonUtils.getCarbonHome() + File.separator + templateSketchPath;
- FileUtils.deleteDirectory(new File(archivesPath));//clear directory
- FileUtils.deleteDirectory(new File(archivesPath + ".zip"));//clear zip
- if (!new File(archivesPath).mkdirs()) { //new dir
- String message = "Could not create directory at path: " + archivesPath;
- log.error(message);
- throw new DeviceManagementException(message);
- }
- zipFileName = zipFileName + ".zip";
- try {
- Map> properties = getProperties(sketchPath + File.separator + "sketch" + ".properties");
- List templateFiles = properties.get("templates");
-
- for (String templateFile : templateFiles) {
- parseTemplate(templateSketchPath + File.separator + templateFile, archivesPath + File.separator + templateFile,
- contextParams);
- }
-
- templateFiles.add("sketch.properties"); // ommit copying the props file
- copyFolder(new File(sketchPath), new File(archivesPath), templateFiles);
- createZipArchive(archivesPath);
- FileUtils.deleteDirectory(new File(archivesPath));
- File zip = new File(archivesPath + ".zip");
- return new ZipArchive(zipFileName, zip);
- } catch (IOException ex) {
- throw new DeviceManagementException(
- "Error occurred when trying to read property " + "file sketch.properties", ex);
- }
- }
-
- private static Map> getProperties(String propertyFilePath) throws IOException {
- Properties prop = new Properties();
- InputStream input = null;
-
- try {
-
- input = new FileInputStream(propertyFilePath);
-
- // load a properties file
- prop.load(input);
- Map> properties = new HashMap>();
-
- String templates = prop.getProperty("templates");
- List list = new ArrayList(Arrays.asList(templates.split(",")));
- properties.put("templates", list);
-
- final String filename = prop.getProperty("zipfilename");
- list = new ArrayList() {{
- add(filename);
- }};
- properties.put("zipfilename", list);
- return properties;
-
- } finally {
- if (input != null) {
- try {
- input.close();
- } catch (IOException e) {
- log.error("Failed closing connection", e);
- }
- }
- }
- }
-
- private static void parseTemplate(String srcFile, String dstFile, Map contextParams) throws IOException {
- //read from file
- FileInputStream inputStream = null;
- FileOutputStream outputStream = null;
- try {
- inputStream = new FileInputStream(srcFile);
- outputStream = new FileOutputStream(dstFile);
- String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8.toString());
- Iterator iterator = contextParams.entrySet().iterator();
- while (iterator.hasNext()) {
- Map.Entry mapEntry = (Map.Entry) iterator.next();
- content = content.replaceAll("\\$\\{" + mapEntry.getKey() + "\\}", mapEntry.getValue().toString());
- }
- IOUtils.write(content, outputStream, StandardCharsets.UTF_8.toString());
- } finally {
- if (inputStream != null) {
- inputStream.close();
- }
- if (outputStream != null) {
- outputStream.close();
- }
- }
- }
-
- private static void copyFolder(File src, File dest, List excludeFileNames) throws IOException {
-
- if (src.isDirectory()) {
- //if directory not exists, create it
- if (!dest.exists() && !dest.mkdirs()) {
- String message = "Could not create directory at path: " + dest;
- log.error(message);
- throw new IOException(message);
- }
- //list all the directory contents
- String files[] = src.list();
-
- if (files == null) {
- log.warn("There are no files insides the directory " + src.getAbsolutePath());
- return;
- }
-
- for (String file : files) {
- //construct the src and dest file structure
- File srcFile = new File(src, file);
- File destFile = new File(dest, file);
- //recursive copy
- copyFolder(srcFile, destFile, excludeFileNames);
- }
-
- } else {
- for (String fileName : excludeFileNames) {
- if (src.getName().equals(fileName)) {
- return;
- }
- }
- //if file, then copy it
- //Use bytes stream to support all file types
- InputStream in = null;
- OutputStream out = null;
-
- try {
- in = new FileInputStream(src);
- out = new FileOutputStream(dest);
-
- byte[] buffer = new byte[1024];
-
- int length;
- //copy the file content in bytes
- while ((length = in.read(buffer)) > 0) {
- out.write(buffer, 0, length);
- }
- } finally {
- if (in != null) {
- in.close();
- }
- if (out != null) {
- out.close();
- }
- }
- }
- }
-
- private static boolean createZipArchive(String srcFolder) throws IOException {
- BufferedInputStream origin = null;
- ZipOutputStream out = null;
-
- try {
- final int BUFFER = 2048;
- FileOutputStream dest = new FileOutputStream(new File(srcFolder + ".zip"));
- out = new ZipOutputStream(new BufferedOutputStream(dest));
- byte data[] = new byte[BUFFER];
- File subDir = new File(srcFolder);
- String subdirList[] = subDir.list();
- if (subdirList == null) {
- log.warn("The sub directory " + subDir.getAbsolutePath() + " is empty");
- return false;
- }
- for (String sd : subdirList) {
- // get a list of files from current directory
- File f = new File(srcFolder + "/" + sd);
- if (f.isDirectory()) {
- String files[] = f.list();
-
- if (files == null) {
- log.warn("The current directory " + f.getAbsolutePath() + " is empty. Has no files");
- return false;
- }
-
- for (int i = 0; i < files.length; i++) {
- FileInputStream fi = new FileInputStream(srcFolder + "/" + sd + "/" + files[i]);
- origin = new BufferedInputStream(fi, BUFFER);
- ZipEntry entry = new ZipEntry(sd + "/" + files[i]);
- out.putNextEntry(entry);
- int count;
- while ((count = origin.read(data, 0, BUFFER)) != -1) {
- out.write(data, 0, count);
- out.flush();
- }
-
- }
- } else //it is just a file
- {
- FileInputStream fi = new FileInputStream(f);
- origin = new BufferedInputStream(fi, BUFFER);
- ZipEntry entry = new ZipEntry(sd);
- out.putNextEntry(entry);
- int count;
- while ((count = origin.read(data, 0, BUFFER)) != -1) {
- out.write(data, 0, count);
- out.flush();
- }
- }
- }
- out.flush();
- } finally {
- if (origin != null) {
- origin.close();
- }
- if (out != null) {
- out.close();
- }
- }
- return true;
- }
-
-}
diff --git a/components/iot-plugins/iot-base-plugin/pom.xml b/components/iot-plugins/iot-base-plugin/pom.xml
index bb256b858b..c0f29c683b 100644
--- a/components/iot-plugins/iot-base-plugin/pom.xml
+++ b/components/iot-plugins/iot-base-plugin/pom.xml
@@ -33,7 +33,7 @@
http://wso2.org
- org.wso2.carbon.device.mgt.iot
+ org.wso2.carbon.device.mgt.iot.url.printer
org.wso2.carbon.device.mgt.iot.ui
org.wso2.carbon.device.mgt.iot.output.adapter.mqtt
org.wso2.carbon.device.mgt.iot.output.adapter.xmpp
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/pom.xml b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/pom.xml
index 23bc6f1518..8d08d8fdf3 100644
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/pom.xml
+++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/pom.xml
@@ -69,13 +69,6 @@
provided
-
-
- org.eclipse.paho
- org.eclipse.paho.client.mqttv3
- provided
-
-
org.apache.httpcomponents
@@ -83,16 +76,6 @@
4.1
provided
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
- provided
-
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.raspberrypi.plugin
- provided
-
@@ -113,22 +96,11 @@
jsr311-api
provided
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.analytics.data.publisher
- provided
-
org.wso2.carbon.devicemgt
org.wso2.carbon.apimgt.annotations
provided
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.apimgt.webapp.publisher
- provided
-
org.wso2.carbon.devicemgt
org.wso2.carbon.identity.jwt.client.extension
@@ -144,6 +116,11 @@
org.wso2.carbon.analytics.api
provided
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.device.mgt.extensions
+ provided
+
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiServiceImpl.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiServiceImpl.java
index 5b098a3e01..13b1310418 100644
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiServiceImpl.java
+++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiServiceImpl.java
@@ -34,11 +34,11 @@ import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants;
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants;
+import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.constants.RaspberrypiConstants;
import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.dto.SensorRecord;
import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util.APIUtil;
+import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util.ZipArchive;
import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util.ZipUtil;
-import org.wso2.carbon.device.mgt.iot.util.ZipArchive;
import org.wso2.carbon.identity.jwt.client.extension.JWTClient;
import org.wso2.carbon.identity.jwt.client.extension.dto.AccessTokenInfo;
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/constants/RaspberrypiConstants.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java
similarity index 76%
rename from components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/constants/RaspberrypiConstants.java
rename to components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java
index 9dae80462e..f77aabf808 100644
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/constants/RaspberrypiConstants.java
+++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java
@@ -16,24 +16,17 @@
* under the License.
*/
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants;
-
-import org.wso2.carbon.utils.CarbonUtils;
-
-import java.io.File;
+package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.constants;
public class RaspberrypiConstants {
public final static String DEVICE_TYPE = "raspberrypi";
- public final static String DEVICE_PLUGIN_DEVICE_NAME = "DEVICE_NAME";
- public final static String DEVICE_PLUGIN_DEVICE_ID = "RASPBERRYPI_DEVICE_ID";
public final static String STATE_ON = "ON";
public final static String STATE_OFF = "OFF";
public static final String BULB_CONTEXT = "BULB";
//sensor events summerized table name
public static final String TEMPERATURE_EVENT_TABLE = "DEVICE_TEMPERATURE_SUMMARY";
- public final static String DEVICE_TYPE_PROVIDER_DOMAIN = "carbon.super";
//mqtt tranport related constants
public static final String MQTT_ADAPTER_TOPIC_PROPERTY_NAME = "mqtt.adapter.topic";
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipArchive.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipArchive.java
new file mode 100644
index 0000000000..eb5ed95da3
--- /dev/null
+++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipArchive.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * WSO2 Inc. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util;
+
+import java.io.File;
+
+/**
+ * This is an utility class to hold zip files.
+ */
+public class ZipArchive {
+
+ private File zipFile = null;
+ private String fileName = null;
+
+ public ZipArchive(String fileName, File zipFile) {
+ this.fileName = fileName;
+ this.zipFile = zipFile;
+ }
+
+ public File getZipFile() {
+ return zipFile;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java
index 834d31138a..d12a2df048 100644
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java
+++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java
@@ -18,25 +18,45 @@
package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.base.ServerConfiguration;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
-import org.wso2.carbon.device.mgt.iot.util.Utils;
-import org.wso2.carbon.device.mgt.iot.util.ZipArchive;
import org.wso2.carbon.utils.CarbonUtils;
+import org.wso2.carbon.utils.NetworkUtils;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.SocketException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
/**
* This is used to create a zip file that includes the necessary configuration required for the agent.
*/
public class ZipUtil {
+ private static final Log log = LogFactory.getLog(ZipUtil.class);
+ public static final String HOST_NAME = "HostName";
private static final String HTTPS_PORT_PROPERTY = "httpsPort";
private static final String HTTP_PORT_PROPERTY = "httpPort";
@@ -57,7 +77,7 @@ public class ZipUtil {
String iotServerIP;
try {
- iotServerIP = Utils.getServerUrl();
+ iotServerIP = getServerUrl();
String httpsServerPort = System.getProperty(HTTPS_PORT_PROPERTY);
String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY);
String httpsServerEP = HTTPS_PROTOCOL_APPENDER + iotServerIP + ":" + httpsServerPort;
@@ -101,7 +121,7 @@ public class ZipUtil {
contextParams.put("DEVICE_REFRESH_TOKEN", refreshToken);
ZipArchive zipFile;
- zipFile = Utils.getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName);
+ zipFile = getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName);
return zipFile;
} catch (IOException e) {
throw new DeviceManagementException("Zip File Creation Failed", e);
@@ -109,4 +129,227 @@ public class ZipUtil {
throw new DeviceManagementException("Failed to retrieve configuration", e);
}
}
+
+ private static String getServerUrl() {
+ String hostName = ServerConfiguration.getInstance().getFirstProperty(HOST_NAME);
+ try {
+ if (hostName == null) {
+ hostName = NetworkUtils.getLocalHostname();
+ }
+ } catch (SocketException e) {
+ hostName = "localhost";
+ log.warn("Failed retrieving the hostname, therefore set to localhost", e);
+ }
+ return hostName;
+ }
+
+ private static ZipArchive getSketchArchive(String archivesPath, String templateSketchPath, Map contextParams
+ , String zipFileName)
+ throws DeviceManagementException, IOException {
+ String sketchPath = CarbonUtils.getCarbonHome() + File.separator + templateSketchPath;
+ FileUtils.deleteDirectory(new File(archivesPath));//clear directory
+ FileUtils.deleteDirectory(new File(archivesPath + ".zip"));//clear zip
+ if (!new File(archivesPath).mkdirs()) { //new dir
+ String message = "Could not create directory at path: " + archivesPath;
+ log.error(message);
+ throw new DeviceManagementException(message);
+ }
+ zipFileName = zipFileName + ".zip";
+ try {
+ Map> properties = getProperties(sketchPath + File.separator + "sketch" + ".properties");
+ List templateFiles = properties.get("templates");
+
+ for (String templateFile : templateFiles) {
+ parseTemplate(templateSketchPath + File.separator + templateFile, archivesPath + File.separator + templateFile,
+ contextParams);
+ }
+
+ templateFiles.add("sketch.properties"); // ommit copying the props file
+ copyFolder(new File(sketchPath), new File(archivesPath), templateFiles);
+ createZipArchive(archivesPath);
+ FileUtils.deleteDirectory(new File(archivesPath));
+ File zip = new File(archivesPath + ".zip");
+ return new ZipArchive(zipFileName, zip);
+ } catch (IOException ex) {
+ throw new DeviceManagementException(
+ "Error occurred when trying to read property " + "file sketch.properties", ex);
+ }
+ }
+
+ private static Map> getProperties(String propertyFilePath) throws IOException {
+ Properties prop = new Properties();
+ InputStream input = null;
+
+ try {
+ input = new FileInputStream(propertyFilePath);
+ // load a properties file
+ prop.load(input);
+ Map> properties = new HashMap>();
+
+ String templates = prop.getProperty("templates");
+ List list = new ArrayList(Arrays.asList(templates.split(",")));
+ properties.put("templates", list);
+
+ final String filename = prop.getProperty("zipfilename");
+ list = new ArrayList() {{
+ add(filename);
+ }};
+ properties.put("zipfilename", list);
+ return properties;
+
+ } finally {
+ if (input != null) {
+ try {
+ input.close();
+ } catch (IOException e) {
+ log.error("Failed closing connection", e);
+ }
+ }
+ }
+ }
+
+ private static void parseTemplate(String srcFile, String dstFile, Map contextParams) throws IOException {
+ //read from file
+ FileInputStream inputStream = null;
+ FileOutputStream outputStream = null;
+ try {
+ inputStream = new FileInputStream(srcFile);
+ outputStream = new FileOutputStream(dstFile);
+ String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8.toString());
+ Iterator iterator = contextParams.entrySet().iterator();
+ while (iterator.hasNext()) {
+ Map.Entry mapEntry = (Map.Entry) iterator.next();
+ content = content.replaceAll("\\$\\{" + mapEntry.getKey() + "\\}", mapEntry.getValue().toString());
+ }
+ IOUtils.write(content, outputStream, StandardCharsets.UTF_8.toString());
+ } finally {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ if (outputStream != null) {
+ outputStream.close();
+ }
+ }
+ }
+
+ private static void copyFolder(File src, File dest, List excludeFileNames) throws IOException {
+
+ if (src.isDirectory()) {
+ //if directory not exists, create it
+ if (!dest.exists() && !dest.mkdirs()) {
+ String message = "Could not create directory at path: " + dest;
+ log.error(message);
+ throw new IOException(message);
+ }
+ //list all the directory contents
+ String files[] = src.list();
+
+ if (files == null) {
+ log.warn("There are no files insides the directory " + src.getAbsolutePath());
+ return;
+ }
+
+ for (String file : files) {
+ //construct the src and dest file structure
+ File srcFile = new File(src, file);
+ File destFile = new File(dest, file);
+ //recursive copy
+ copyFolder(srcFile, destFile, excludeFileNames);
+ }
+
+ } else {
+ for (String fileName : excludeFileNames) {
+ if (src.getName().equals(fileName)) {
+ return;
+ }
+ }
+ //if file, then copy it
+ //Use bytes stream to support all file types
+ InputStream in = null;
+ OutputStream out = null;
+
+ try {
+ in = new FileInputStream(src);
+ out = new FileOutputStream(dest);
+
+ byte[] buffer = new byte[1024];
+
+ int length;
+ //copy the file content in bytes
+ while ((length = in.read(buffer)) > 0) {
+ out.write(buffer, 0, length);
+ }
+ } finally {
+ if (in != null) {
+ in.close();
+ }
+ if (out != null) {
+ out.close();
+ }
+ }
+ }
+ }
+
+ private static boolean createZipArchive(String srcFolder) throws IOException {
+ BufferedInputStream origin = null;
+ ZipOutputStream out = null;
+
+ try {
+ final int BUFFER = 2048;
+ FileOutputStream dest = new FileOutputStream(new File(srcFolder + ".zip"));
+ out = new ZipOutputStream(new BufferedOutputStream(dest));
+ byte data[] = new byte[BUFFER];
+ File subDir = new File(srcFolder);
+ String subdirList[] = subDir.list();
+ if (subdirList == null) {
+ log.warn("The sub directory " + subDir.getAbsolutePath() + " is empty");
+ return false;
+ }
+ for (String sd : subdirList) {
+ // get a list of files from current directory
+ File f = new File(srcFolder + "/" + sd);
+ if (f.isDirectory()) {
+ String files[] = f.list();
+
+ if (files == null) {
+ log.warn("The current directory " + f.getAbsolutePath() + " is empty. Has no files");
+ return false;
+ }
+
+ for (int i = 0; i < files.length; i++) {
+ FileInputStream fi = new FileInputStream(srcFolder + "/" + sd + "/" + files[i]);
+ origin = new BufferedInputStream(fi, BUFFER);
+ ZipEntry entry = new ZipEntry(sd + "/" + files[i]);
+ out.putNextEntry(entry);
+ int count;
+ while ((count = origin.read(data, 0, BUFFER)) != -1) {
+ out.write(data, 0, count);
+ out.flush();
+ }
+
+ }
+ } else //it is just a file
+ {
+ FileInputStream fi = new FileInputStream(f);
+ origin = new BufferedInputStream(fi, BUFFER);
+ ZipEntry entry = new ZipEntry(sd);
+ out.putNextEntry(entry);
+ int count;
+ while ((count = origin.read(data, 0, BUFFER)) != -1) {
+ out.write(data, 0, count);
+ out.flush();
+ }
+ }
+ }
+ out.flush();
+ } finally {
+ if (origin != null) {
+ origin.close();
+ }
+ if (out != null) {
+ out.close();
+ }
+ }
+ return true;
+ }
}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/pom.xml b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/pom.xml
deleted file mode 100644
index 18aad14c6a..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/pom.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-
-
-
-
-
-
-
- raspberrypi-plugin
- org.wso2.carbon.devicemgt-plugins
- 2.2.6-SNAPSHOT
- ../pom.xml
-
-
- 4.0.0
- org.wso2.carbon.device.mgt.iot.raspberrypi.plugin
- bundle
- WSO2 Carbon - IoT Server RaspberryPi Management Plugin
- WSO2 Carbon - RaspberryPi Management/Control Plugin Implementation
- http://wso2.org
-
-
-
-
- org.apache.felix
- maven-scr-plugin
-
-
- maven-compiler-plugin
-
-
- 1.7
-
- 2.3.2
-
-
- org.apache.felix
- maven-bundle-plugin
- 1.4.0
- true
-
-
- ${project.artifactId}
- ${project.artifactId}
- ${carbon.devicemgt.plugins.version}
- IoT Server Impl Bundle
- org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.internal
-
- org.osgi.framework,
- org.osgi.service.component,
- org.apache.commons.logging,
- javax.naming;resolution:=optional,
- javax.sql;resolution:=optional,
- org.wso2.carbon.device.mgt.common.*,
- org.wso2.carbon.device.mgt.common,
- org.wso2.carbon.device.mgt.iot.*,
- org.wso2.carbon.device.mgt.extensions.feature.mgt.*,
- org.wso2.carbon.utils.*,
- org.wso2.carbon.base,
- org.wso2.carbon.context,
- org.wso2.carbon.core,
- org.wso2.carbon.core.util,
- org.wso2.carbon.ndatasource.core,
- org.wso2.carbon.device.mgt.iot.devicetype.*
-
-
- !org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.internal,
- org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.*
-
-
-
-
-
-
-
-
-
- org.eclipse.osgi
- org.eclipse.osgi
-
-
- org.eclipse.osgi
- org.eclipse.osgi.services
-
-
- org.wso2.carbon
- org.wso2.carbon.logging
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.common
-
-
- org.wso2.carbon
- org.wso2.carbon.ndatasource.core
-
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.device.mgt.extensions
-
-
- org.wso2.carbon
- org.wso2.carbon.utils
-
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
-
-
-
\ No newline at end of file
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/exception/RaspberrypiDeviceMgtPluginException.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/exception/RaspberrypiDeviceMgtPluginException.java
deleted file mode 100644
index 805775195b..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/exception/RaspberrypiDeviceMgtPluginException.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.exception;
-
-
-public class RaspberrypiDeviceMgtPluginException extends Exception{
-
- private String errorMessage;
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public RaspberrypiDeviceMgtPluginException(String msg, Exception nestedEx) {
- super(msg, nestedEx);
- setErrorMessage(msg);
- }
-
- public RaspberrypiDeviceMgtPluginException(String message, Throwable cause) {
- super(message, cause);
- setErrorMessage(message);
- }
-
- public RaspberrypiDeviceMgtPluginException(String msg) {
- super(msg);
- setErrorMessage(msg);
- }
-
- public RaspberrypiDeviceMgtPluginException() {
- super();
- }
-
- public RaspberrypiDeviceMgtPluginException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/RaspberrypiManager.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/RaspberrypiManager.java
deleted file mode 100644
index 00370b8bf5..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/RaspberrypiManager.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.DeviceManager;
-import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
-import org.wso2.carbon.device.mgt.common.FeatureManager;
-import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
-import org.wso2.carbon.device.mgt.common.license.mgt.License;
-import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.exception.RaspberrypiDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.dao.RaspberrypiDAOUtil;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.feature.RaspberrypiFeatureManager;
-
-import java.util.List;
-
-/**
- * This represents the Raspberrypi implementation of DeviceManagerService.
- */
-public class RaspberrypiManager implements DeviceManager {
-
- private static final RaspberrypiDAOUtil raspberrypiDAO = new RaspberrypiDAOUtil();
- private static final Log log = LogFactory.getLog(RaspberrypiManager.class);
- private RaspberrypiFeatureManager raspberrypiFeatureManager = new RaspberrypiFeatureManager();
- @Override
- public FeatureManager getFeatureManager() {
- return raspberrypiFeatureManager;
- }
-
- @Override
- public boolean saveConfiguration(PlatformConfiguration tenantConfiguration)
- throws DeviceManagementException {
- return false;
- }
-
- @Override
- public PlatformConfiguration getConfiguration() throws DeviceManagementException {
- return null;
- }
-
- @Override
- public boolean enrollDevice(Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Enrolling a new Raspberrypi device : " + device.getDeviceIdentifier());
- }
- RaspberrypiDAOUtil.beginTransaction();
- status = raspberrypiDAO.getDeviceDAO().addDevice(device);
- RaspberrypiDAOUtil.commitTransaction();
- } catch (RaspberrypiDeviceMgtPluginException e) {
- try {
- RaspberrypiDAOUtil.rollbackTransaction();
- } catch (RaspberrypiDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the device enrol transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while enrolling the Raspberrypi device : " + device.getDeviceIdentifier();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean modifyEnrollment(Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Modifying the Raspberrypi device enrollment data");
- }
- RaspberrypiDAOUtil.beginTransaction();
- status = raspberrypiDAO.getDeviceDAO().updateDevice(device);
- RaspberrypiDAOUtil.commitTransaction();
- } catch (RaspberrypiDeviceMgtPluginException e) {
- try {
- RaspberrypiDAOUtil.rollbackTransaction();
- } catch (RaspberrypiDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the update device transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while updating the enrollment of the Raspberrypi device : " +
- device.getDeviceIdentifier();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Dis-enrolling Raspberrypi device : " + deviceId);
- }
- RaspberrypiDAOUtil.beginTransaction();
- status = raspberrypiDAO.getDeviceDAO().deleteDevice(deviceId.getId());
- RaspberrypiDAOUtil.commitTransaction();
- } catch (RaspberrypiDeviceMgtPluginException e) {
- try {
- RaspberrypiDAOUtil.rollbackTransaction();
- } catch (RaspberrypiDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the device dis enrol transaction :" + deviceId.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while removing the Raspberrypi device : " + deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
- boolean isEnrolled = false;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Checking the enrollment of Raspberrypi device : " + deviceId.getId());
- }
- Device iotDevice = raspberrypiDAO.getDeviceDAO().getDevice(deviceId.getId());
- if (iotDevice != null) {
- isEnrolled = true;
- }
- } catch (RaspberrypiDeviceMgtPluginException e) {
- String msg = "Error while checking the enrollment status of Raspberrypi device : " +
- deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return isEnrolled;
- }
-
- @Override
- public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
- return true;
- }
-
- @Override
- public boolean setActive(DeviceIdentifier deviceId, boolean status)
- throws DeviceManagementException {
- return true;
- }
-
- @Override
- public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- Device device;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Getting the details of Raspberrypi device : " + deviceId.getId());
- }
- device = raspberrypiDAO.getDeviceDAO().getDevice(deviceId.getId());
- } catch (RaspberrypiDeviceMgtPluginException e) {
- String msg = "Error while fetching the Raspberrypi device : " + deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return device;
- }
-
- @Override
- public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
- throws DeviceManagementException {
- return true;
- }
-
- public boolean isClaimable(DeviceIdentifier deviceIdentifier) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean setStatus(DeviceIdentifier deviceId, String currentOwner,
- EnrolmentInfo.Status status) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public License getLicense(String s) throws LicenseManagementException {
- return null;
- }
-
- @Override
- public void addLicense(License license) throws LicenseManagementException {
-
- }
-
- @Override
- public boolean requireDeviceAuthorization() {
- return false;
- }
-
- @Override
- public boolean updateDeviceInfo(DeviceIdentifier deviceIdentifier, Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug(
- "updating the details of Raspberrypi device : " + deviceIdentifier);
- }
- RaspberrypiDAOUtil.beginTransaction();
- status = raspberrypiDAO.getDeviceDAO().updateDevice(device);
- RaspberrypiDAOUtil.commitTransaction();
- } catch (RaspberrypiDeviceMgtPluginException e) {
- try {
- RaspberrypiDAOUtil.rollbackTransaction();
- } catch (RaspberrypiDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the update device info transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg =
- "Error while updating the Raspberrypi device : " + deviceIdentifier;
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public List getAllDevices() throws DeviceManagementException {
- List devices = null;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Fetching the details of all Raspberrypi devices");
- }
- List iotDevices = raspberrypiDAO.getDeviceDAO().getAllDevices();
- } catch (RaspberrypiDeviceMgtPluginException e) {
- String msg = "Error while fetching all Raspberrypi devices.";
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return devices;
- }
-}
\ No newline at end of file
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/RaspberrypiManagerService.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/RaspberrypiManagerService.java
deleted file mode 100644
index b0c3858c7b..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/RaspberrypiManagerService.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl;
-
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.DeviceManager;
-import org.wso2.carbon.device.mgt.common.ProvisioningConfig;
-import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
-import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
-import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.internal.RaspberrypiManagementDataHolder;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class RaspberrypiManagerService implements DeviceManagementService {
-
- private DeviceManager deviceManager;
- private PushNotificationConfig pushNotificationConfig;
-
- @Override
- public String getType() {
- return RaspberrypiConstants.DEVICE_TYPE;
- }
-
- @Override
- public void init() throws DeviceManagementException {
- deviceManager = new RaspberrypiManager();
- this.pushNotificationConfig = this.populatePushNotificationConfig();
- }
-
- private PushNotificationConfig populatePushNotificationConfig() {
- DeviceManagementConfiguration deviceManagementConfiguration = RaspberrypiManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(RaspberrypiConstants.DEVICE_TYPE,
- RaspberrypiConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- org.wso2.carbon.device.mgt.iot.devicetype.config.PushNotificationConfig sourceConfig =
- deviceManagementConfiguration.getPushNotificationConfig();
- Map staticProps = new HashMap<>();
- for (org.wso2.carbon.device.mgt.iot.devicetype.config.PushNotificationConfig.Property
- property : sourceConfig.getProperties()) {
- staticProps.put(property.getName(), property.getValue());
- }
- return new PushNotificationConfig(sourceConfig.getPushNotificationProvider(), staticProps);
- }
-
- @Override
- public DeviceManager getDeviceManager() {
- return deviceManager;
- }
-
- @Override
- public ApplicationManager getApplicationManager() {
- return null;
- }
-
- @Override
- public ProvisioningConfig getProvisioningConfig() {
- DeviceManagementConfiguration deviceManagementConfiguration = RaspberrypiManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(RaspberrypiConstants.DEVICE_TYPE,
- RaspberrypiConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- boolean sharedWithAllTenants = deviceManagementConfiguration.getDeviceManagementConfigRepository()
- .getProvisioningConfig().isSharedWithAllTenants();
- return new ProvisioningConfig(RaspberrypiConstants.DEVICE_TYPE_PROVIDER_DOMAIN, sharedWithAllTenants);
- }
-
- @Override
- public PushNotificationConfig getPushNotificationConfig() {
- return pushNotificationConfig;
- }
-
-
-}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/dao/RaspberrypiDAOUtil.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/dao/RaspberrypiDAOUtil.java
deleted file mode 100644
index fd1adbc4d0..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/dao/RaspberrypiDAOUtil.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.dao;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.exception.RaspberrypiDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.internal.RaspberrypiManagementDataHolder;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.SQLException;
-
-public class RaspberrypiDAOUtil {
-
- private static final Log log = LogFactory.getLog(RaspberrypiDAOUtil.class);
- static DataSource dataSource;
- private static ThreadLocal currentConnection = new ThreadLocal();
-
- public RaspberrypiDAOUtil() {
- initRaspberrypiDAO();
- }
-
- public RaspberrypiDeviceDAO getDeviceDAO() {
- return new RaspberrypiDeviceDAO();
- }
-
- public static void initRaspberrypiDAO() {
- DeviceManagementConfiguration deviceManagementConfiguration = RaspberrypiManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(RaspberrypiConstants.DEVICE_TYPE,
- RaspberrypiConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- String datasource = deviceManagementConfiguration.getDeviceManagementConfigRepository().getDataSourceConfig()
- .getJndiLookupDefinition().getJndiName();
- try {
- Context ctx = new InitialContext();
- dataSource = (DataSource) ctx.lookup(datasource);
- } catch (NamingException e) {
- log.error("Error while looking up the data source: " + datasource, e);
- }
- }
-
- public static void beginTransaction() throws RaspberrypiDeviceMgtPluginException {
- try {
- Connection conn = dataSource.getConnection();
- conn.setAutoCommit(false);
- currentConnection.set(conn);
- } catch (SQLException e) {
- throw new RaspberrypiDeviceMgtPluginException("Error occurred while retrieving datasource connection", e);
- }
- }
-
- public static Connection getConnection() throws RaspberrypiDeviceMgtPluginException {
- if (currentConnection.get() == null) {
- try {
- currentConnection.set(dataSource.getConnection());
- } catch (SQLException e) {
- throw new RaspberrypiDeviceMgtPluginException("Error occurred while retrieving data source connection", e);
- }
- }
- return currentConnection.get();
- }
-
- public static void commitTransaction() throws RaspberrypiDeviceMgtPluginException {
- try {
- Connection conn = currentConnection.get();
- if (conn != null) {
- conn.commit();
- } else {
- if (log.isDebugEnabled()) {
- log.debug("Datasource connection associated with the current thread is null, hence commit "
- + "has not been attempted");
- }
- }
- } catch (SQLException e) {
- throw new RaspberrypiDeviceMgtPluginException("Error occurred while committing the transaction", e);
- } finally {
- closeConnection();
- }
- }
-
- public static void closeConnection() throws RaspberrypiDeviceMgtPluginException {
- Connection con = currentConnection.get();
- if (con != null) {
- try {
- con.close();
- } catch (SQLException e) {
- log.error("Error occurred while close the connection");
- }
- }
- currentConnection.remove();
- }
-
- public static void rollbackTransaction() throws RaspberrypiDeviceMgtPluginException {
- try {
- Connection conn = currentConnection.get();
- if (conn != null) {
- conn.rollback();
- } else {
- if (log.isDebugEnabled()) {
- log.debug("Datasource connection associated with the current thread is null, hence rollback "
- + "has not been attempted");
- }
- }
- } catch (SQLException e) {
- throw new RaspberrypiDeviceMgtPluginException("Error occurred while rollback the transaction", e);
- } finally {
- closeConnection();
- }
- }
-}
\ No newline at end of file
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/dao/RaspberrypiDeviceDAO.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/dao/RaspberrypiDeviceDAO.java
deleted file mode 100644
index 83cb3f51cf..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/dao/RaspberrypiDeviceDAO.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.dao;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.exception.RaspberrypiDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.util.RaspberrypiUtils;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Implements CRUD for Raspberrypi Devices.
- */
-public class RaspberrypiDeviceDAO {
-
- private static final Log log = LogFactory.getLog(RaspberrypiDeviceDAO.class);
-
- public Device getDevice(String iotDeviceId) throws RaspberrypiDeviceMgtPluginException {
- Connection conn;
- PreparedStatement stmt = null;
- Device device = null;
- ResultSet resultSet = null;
- try {
- conn = RaspberrypiDAOUtil.getConnection();
- String selectDBQuery =
- "SELECT RASPBERRYPI_DEVICE_ID, DEVICE_NAME FROM RASPBERRYPI_DEVICE WHERE RASPBERRYPI_DEVICE_ID = ?";
- stmt = conn.prepareStatement(selectDBQuery);
- stmt.setString(1, iotDeviceId);
- resultSet = stmt.executeQuery();
-
- if (resultSet.next()) {
- device = new Device();
- device.setName(resultSet.getString(RaspberrypiConstants.DEVICE_PLUGIN_DEVICE_NAME));
- if (log.isDebugEnabled()) {
- log.debug("Raspberrypi device " + iotDeviceId + " data has been fetched from " +
- "Raspberrypi database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while fetching Raspberrypi device : '" + iotDeviceId + "'";
- log.error(msg, e);
- throw new RaspberrypiDeviceMgtPluginException(msg, e);
- } finally {
- RaspberrypiUtils.cleanupResources(stmt, resultSet);
- RaspberrypiDAOUtil.closeConnection();
- }
- return device;
- }
-
- public boolean addDevice(Device device) throws RaspberrypiDeviceMgtPluginException {
- boolean status = false;
- Connection conn;
- PreparedStatement stmt = null;
- try {
- conn = RaspberrypiDAOUtil.getConnection();
- String createDBQuery =
- "INSERT INTO RASPBERRYPI_DEVICE(RASPBERRYPI_DEVICE_ID, DEVICE_NAME) VALUES (?, ?)";
-
- stmt = conn.prepareStatement(createDBQuery);
- stmt.setString(1, device.getDeviceIdentifier());
- stmt.setString(2, device.getName());
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Raspberrypi device " + device.getDeviceIdentifier() + " data has been" +
- " added to the Raspberrypi database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while adding the Raspberrypi device '" +
- device.getDeviceIdentifier() + "' to the Raspberrypi db.";
- log.error(msg, e);
- throw new RaspberrypiDeviceMgtPluginException(msg, e);
- } finally {
- RaspberrypiUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public boolean updateDevice(Device device) throws RaspberrypiDeviceMgtPluginException {
- boolean status = false;
- Connection conn;
- PreparedStatement stmt = null;
- try {
- conn = RaspberrypiDAOUtil.getConnection();
- String updateDBQuery = "UPDATE RASPBERRYPI_DEVICE SET DEVICE_NAME = ? WHERE RASPBERRYPI_DEVICE_ID = ?";
- stmt = conn.prepareStatement(updateDBQuery);
- stmt.setString(1, device.getName());
- stmt.setString(2, device.getDeviceIdentifier());
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Raspberrypi device " + device.getDeviceIdentifier() + " data has been" +
- " modified.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while modifying the Raspberrypi device '" + device.getDeviceIdentifier()
- + "' data.";
- log.error(msg, e);
- throw new RaspberrypiDeviceMgtPluginException(msg, e);
- } finally {
- RaspberrypiUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public boolean deleteDevice(String iotDeviceId) throws RaspberrypiDeviceMgtPluginException {
- boolean status = false;
- Connection conn;
- PreparedStatement stmt = null;
- try {
- conn = RaspberrypiDAOUtil.getConnection();
- String deleteDBQuery = "DELETE FROM RASPBERRYPI_DEVICE WHERE RASPBERRYPI_DEVICE_ID = ?";
- stmt = conn.prepareStatement(deleteDBQuery);
- stmt.setString(1, iotDeviceId);
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Raspberrypi device " + iotDeviceId + " data has deleted" +
- " from the Raspberrypi database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while deleting Raspberrypi device " + iotDeviceId;
- log.error(msg, e);
- throw new RaspberrypiDeviceMgtPluginException(msg, e);
- } finally {
- RaspberrypiUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public List getAllDevices() throws RaspberrypiDeviceMgtPluginException {
- Connection conn;
- PreparedStatement stmt = null;
- ResultSet resultSet = null;
- Device device;
- List devices = new ArrayList<>();
- try {
- conn = RaspberrypiDAOUtil.getConnection();
- String selectDBQuery = "SELECT RASPBERRYPI_DEVICE_ID, DEVICE_NAME FROM RASPBERRYPI_DEVICE";
- stmt = conn.prepareStatement(selectDBQuery);
- resultSet = stmt.executeQuery();
- while (resultSet.next()) {
- device = new Device();
- device.setDeviceIdentifier(resultSet.getString(RaspberrypiConstants.DEVICE_PLUGIN_DEVICE_ID));
- device.setName(resultSet.getString(RaspberrypiConstants.DEVICE_PLUGIN_DEVICE_NAME));
- devices.add(device);
- }
- if (log.isDebugEnabled()) {
- log.debug("All Raspberrypi device details have fetched from Raspberrypi database.");
- }
- return devices;
- } catch (SQLException e) {
- String msg = "Error occurred while fetching all Raspberrypi device data'";
- log.error(msg, e);
- throw new RaspberrypiDeviceMgtPluginException(msg, e);
- } finally {
- RaspberrypiUtils.cleanupResources(stmt, resultSet);
- RaspberrypiDAOUtil.closeConnection();
- }
- }
-}
\ No newline at end of file
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/feature/RaspberrypiFeatureManager.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/feature/RaspberrypiFeatureManager.java
deleted file mode 100644
index 755b7ae0d5..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/feature/RaspberrypiFeatureManager.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.feature;
-
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.Feature;
-import org.wso2.carbon.device.mgt.common.FeatureManager;
-import org.wso2.carbon.device.mgt.extensions.feature.mgt.GenericFeatureManager;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants;
-
-import java.util.List;
-
-public class RaspberrypiFeatureManager implements FeatureManager {
- @Override
- public boolean addFeature(Feature feature) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean addFeatures(List features) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public Feature getFeature(String name) throws DeviceManagementException {
- GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance();
- return genericFeatureManager.getFeature(RaspberrypiConstants.DEVICE_TYPE, name);
- }
-
- @Override
- public List getFeatures() throws DeviceManagementException {
- GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance();
- return genericFeatureManager.getFeatures(RaspberrypiConstants.DEVICE_TYPE);
- }
-
- @Override
- public boolean removeFeature(String name) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean addSupportedFeaturesToDB() throws DeviceManagementException {
- return false;
- }
-}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/util/DeviceSchemaInitializer.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/util/DeviceSchemaInitializer.java
deleted file mode 100644
index ba790567af..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/util/DeviceSchemaInitializer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.util;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.carbon.utils.dbcreator.DatabaseCreator;
-
-import javax.sql.DataSource;
-import java.io.File;
-
-/**
- * Provides methods for initializing the database script.
- */
-public class DeviceSchemaInitializer extends DatabaseCreator{
-
- private static final Log log = LogFactory.getLog(DeviceSchemaInitializer.class);
- private static final String setupSQLScriptBaseLocation = CarbonUtils.getCarbonHome() + File.separator + "dbscripts"
- + File.separator + "cdm" + File.separator + "plugins" + File.separator + RaspberrypiConstants.DEVICE_TYPE
- + File.separator;
-
- public DeviceSchemaInitializer(DataSource dataSource) {
- super(dataSource);
- }
-
- @Override
- protected String getDbScriptLocation(String databaseType) {
- String scriptName = databaseType + ".sql";
- if (log.isDebugEnabled()) {
- log.debug("Loading database script from :" + scriptName);
- }
- return setupSQLScriptBaseLocation.replaceFirst("DBTYPE", databaseType) + scriptName;
- }
-}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/util/RaspberrypiUtils.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/util/RaspberrypiUtils.java
deleted file mode 100644
index 8bd1b6e2e9..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/impl/util/RaspberrypiUtils.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.util;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.base.ServerConfiguration;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.wso2.carbon.core.util.Utils;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.exception.RaspberrypiDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.internal.RaspberrypiManagementDataHolder;
-import org.wso2.carbon.event.output.adapter.core.MessageType;
-import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterConfiguration;
-import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterException;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * Contains utility methods used by Raspberrypi plugin.
- */
-public class RaspberrypiUtils {
-
- private static Log log = LogFactory.getLog(RaspberrypiUtils.class);
-
- public static void cleanupResources(Connection conn, PreparedStatement stmt, ResultSet rs) {
- if (rs != null) {
- try {
- rs.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing result set", e);
- }
- }
- if (stmt != null) {
- try {
- stmt.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing prepared statement", e);
- }
- }
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing database connection", e);
- }
- }
- }
-
- public static void cleanupResources(PreparedStatement stmt, ResultSet rs) {
- cleanupResources(null, stmt, rs);
- }
-
- /**
- * Creates the device management schema.
- */
- public static void setupDeviceManagementSchema() throws RaspberrypiDeviceMgtPluginException {
- DeviceManagementConfiguration deviceManagementConfiguration = RaspberrypiManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(RaspberrypiConstants.DEVICE_TYPE,
- RaspberrypiConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- String datasource = deviceManagementConfiguration.getDeviceManagementConfigRepository().getDataSourceConfig()
- .getJndiLookupDefinition().getJndiName();
- try {
- Context ctx = new InitialContext();
- DataSource dataSource = (DataSource) ctx.lookup(datasource);
- DeviceSchemaInitializer initializer = new DeviceSchemaInitializer(dataSource);
- String checkSql = "select * from RASPBERRYPI_DEVICE";
- if (!initializer.isDatabaseStructureCreated(checkSql)) {
- log.info("Initializing device management repository database schema");
- initializer.createRegistryDatabase();
- } else {
- log.info("Device management repository database already exists. Not creating a new database.");
- }
- } catch (NamingException e) {
- log.error("Error while looking up the data source: " + datasource, e);
- } catch (Exception e) {
- throw new RaspberrypiDeviceMgtPluginException("Error occurred while initializing Iot Device " +
- "Management database schema", e);
- }
- }
-
-}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/internal/RaspberrypiManagementDataHolder.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/internal/RaspberrypiManagementDataHolder.java
deleted file mode 100644
index a582b54edd..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/internal/RaspberrypiManagementDataHolder.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.internal;
-
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
-import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterService;
-
-/**
- * DataHolder class of plugins component.
- */
-public class RaspberrypiManagementDataHolder {
-
- private DeviceTypeConfigService deviceTypeConfigService;
-
- private static RaspberrypiManagementDataHolder thisInstance = new RaspberrypiManagementDataHolder();
-
- private RaspberrypiManagementDataHolder() {
- }
-
- public static RaspberrypiManagementDataHolder getInstance() {
- return thisInstance;
- }
-
- public DeviceTypeConfigService getDeviceTypeConfigService() {
- return deviceTypeConfigService;
- }
-
- public void setDeviceTypeConfigService(
- DeviceTypeConfigService deviceTypeConfigService) {
- this.deviceTypeConfigService = deviceTypeConfigService;
- }
-
-}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/internal/RaspberrypiManagementServiceComponent.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/internal/RaspberrypiManagementServiceComponent.java
deleted file mode 100644
index 9b4e3de029..0000000000
--- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/plugin/internal/RaspberrypiManagementServiceComponent.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.internal;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.exception.RaspberrypiDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.RaspberrypiManagerService;
-import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.impl.util.RaspberrypiUtils;
-import org.wso2.carbon.ndatasource.core.DataSourceService;
-
-/**
- * @scr.component name="org.wso2.carbon.device.mgt.iot.raspberrypi.internal.RaspberrypiManagementServiceComponent"
- * immediate="true"
- * @scr.reference name="org.wso2.carbon.ndatasource"
- * interface="org.wso2.carbon.ndatasource.core.DataSourceService"
- * cardinality="1..1"
- * policy="dynamic"
- * bind="setDataSourceService"
- * unbind="unsetDataSourceService"
- * @scr.reference name="devicetype.configuration.service"
- * interface="org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService"
- * cardinality="1..1"
- * policy="dynamic"
- * bind="setDeviceTypeConfigService"
- * unbind="unsetDeviceTypeConfigService"
- */
-public class RaspberrypiManagementServiceComponent {
-
- private ServiceRegistration raspberrypiServiceRegRef;
- private static final Log log = LogFactory.getLog(RaspberrypiManagementServiceComponent.class);
-
- protected void activate(ComponentContext ctx) {
- if (log.isDebugEnabled()) {
- log.debug("Activating Raspberrypi Device Management Service Component");
- }
- try {
- BundleContext bundleContext = ctx.getBundleContext();
- raspberrypiServiceRegRef = bundleContext.registerService(DeviceManagementService.class.getName(),
- new RaspberrypiManagerService(), null);
- String setupOption = System.getProperty("setup");
- if (setupOption != null) {
- if (log.isDebugEnabled()) {
- log.debug("-Dsetup is enabled. Iot Device management repository schema initialization is about " +
- "to begin");
- }
- try {
- RaspberrypiUtils.setupDeviceManagementSchema();
- } catch (RaspberrypiDeviceMgtPluginException e) {
- log.error("Exception occurred while initializing device management database schema", e);
- }
- }
- if (log.isDebugEnabled()) {
- log.debug("Raspberrypi Device Management Service Component has been successfully activated");
- }
- } catch (Throwable e) {
- log.error(
- "Error occurred while activating Raspberrypi Device Management Service Component", e);
- }
- }
-
- protected void deactivate(ComponentContext ctx) {
- if (log.isDebugEnabled()) {
- log.debug("De-activating Raspberrypi Device Management Service Component");
- }
- try {
- if (raspberrypiServiceRegRef != null) {
- raspberrypiServiceRegRef.unregister();
- }
- if (log.isDebugEnabled()) {
- log.debug("Raspberrypi Device Management Service Component has been successfully de-activated");
- }
- } catch (Throwable e) {
- log.error("Error occurred while de-activating Raspberrypi Device Management bundle", e);
- }
- }
-
- protected void setDataSourceService(DataSourceService dataSourceService) {
- /* This is to avoid mobile device management component getting initialized before the underlying datasources
- are registered */
- if (log.isDebugEnabled()) {
- log.debug("Data source service set to service component");
- }
- }
-
- protected void unsetDataSourceService(DataSourceService dataSourceService) {
- //do nothing
- }
-
- protected void setDeviceTypeConfigService(DeviceTypeConfigService deviceTypeConfigService) {
- RaspberrypiManagementDataHolder.getInstance().setDeviceTypeConfigService(deviceTypeConfigService);
- }
-
- protected void unsetDeviceTypeConfigService(DeviceTypeConfigService deviceTypeConfigService) {
- RaspberrypiManagementDataHolder.getInstance().setDeviceTypeConfigService(null);
- }
-
-}
diff --git a/components/iot-plugins/raspberrypi-plugin/pom.xml b/components/iot-plugins/raspberrypi-plugin/pom.xml
index cad2802a3c..1e0ad5f239 100644
--- a/components/iot-plugins/raspberrypi-plugin/pom.xml
+++ b/components/iot-plugins/raspberrypi-plugin/pom.xml
@@ -33,7 +33,6 @@
http://wso2.org
- org.wso2.carbon.device.mgt.iot.raspberrypi.plugin
org.wso2.carbon.device.mgt.iot.raspberrypi.ui
org.wso2.carbon.device.mgt.iot.raspberrypi.api
org.wso2.carbon.device.mgt.iot.raspberrypi.analytics
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/pom.xml b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/pom.xml
index f880d72488..0d8e5b5bfc 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/pom.xml
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/pom.xml
@@ -107,16 +107,6 @@
4.1
provided
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
- provided
-
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin
- provided
-
@@ -206,18 +196,15 @@
-
commons-codec
commons-codec
-
org.wso2.carbon.devicemgt
org.wso2.carbon.apimgt.annotations
provided
-
org.igniterealtime.smack.wso2
smack
@@ -228,11 +215,6 @@
smackx
provided
-
- org.wso2.carbon.devicemgt
- org.wso2.carbon.apimgt.webapp.publisher
- provided
-
org.wso2.carbon.devicemgt
org.wso2.carbon.identity.jwt.client.extension
@@ -248,9 +230,17 @@
org.wso2.carbon.analytics.api
provided
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.device.mgt.extensions
+ provided
+
+
+ org.wso2.carbon.devicemgt-plugins
+ org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin
+ provided
+
-
-
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java
index 486437ac99..ce54d95371 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java
@@ -35,10 +35,9 @@ import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants;
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
-import org.wso2.carbon.device.mgt.iot.util.ZipArchive;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFirealarmSecurityManager;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.VirtualFirealarmSecurityManager;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppAccount;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppConfig;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppServerClient;
@@ -46,6 +45,7 @@ import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.dto.SensorRe
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.exception.VirtualFireAlarmException;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.APIUtil;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.VirtualFireAlarmServiceUtils;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.ZipArchive;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.ZipUtil;
import org.wso2.carbon.identity.jwt.client.extension.JWTClient;
import org.wso2.carbon.identity.jwt.client.extension.dto.AccessTokenInfo;
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/VirtualFireAlarmServiceUtils.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/VirtualFireAlarmServiceUtils.java
index de76845d6d..277000e0f0 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/VirtualFireAlarmServiceUtils.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/VirtualFireAlarmServiceUtils.java
@@ -19,11 +19,9 @@
package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util;
import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.json.JSONObject;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFirealarmSecurityManager;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.VirtualFirealarmSecurityManager;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.exception.VirtualFireAlarmException;
import java.lang.*;
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipArchive.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipArchive.java
new file mode 100644
index 0000000000..22fda92b30
--- /dev/null
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipArchive.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * WSO2 Inc. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util;
+
+import java.io.File;
+
+/**
+ * This is an utility class to hold zip files.
+ */
+public class ZipArchive {
+
+ private File zipFile = null;
+ private String fileName = null;
+
+ public ZipArchive(String fileName, File zipFile) {
+ this.fileName = fileName;
+ this.zipFile = zipFile;
+ }
+
+ public File getZipFile() {
+ return zipFile;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java
index 01990fe512..feb8135db1 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java
@@ -19,24 +19,40 @@
package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util;
import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.JSONObject;
import org.wso2.carbon.apimgt.application.extension.constants.ApiApplicationConstants;
+import org.wso2.carbon.base.ServerConfiguration;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
-import org.wso2.carbon.device.mgt.iot.util.Utils;
-import org.wso2.carbon.device.mgt.iot.util.ZipArchive;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppConfig;
import org.wso2.carbon.utils.CarbonUtils;
+import org.wso2.carbon.utils.NetworkUtils;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.SocketException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
/**
* This is used to create a zip file that includes the necessary configuration required for the agent.
@@ -52,6 +68,7 @@ public class ZipUtil {
private static final String HTTP_PROTOCOL_APPENDER = "http://";
private static final String CONFIG_TYPE = "general";
private static final String DEFAULT_MQTT_ENDPOINT = "tcp://localhost:1883";
+ public static final String HOST_NAME = "HostName";
public ZipArchive createZipFile(String owner, String deviceType, String deviceId, String deviceName,
String apiApplicationKey, String token, String refreshToken)
@@ -65,7 +82,7 @@ public class ZipUtil {
String iotServerIP;
try {
- iotServerIP = Utils.getServerUrl();
+ iotServerIP = getServerUrl();
String httpsServerPort = System.getProperty(HTTPS_PORT_PROPERTY);
String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY);
String httpsServerEP = HTTPS_PROTOCOL_APPENDER + iotServerIP + ":" + httpsServerPort;
@@ -125,7 +142,7 @@ public class ZipUtil {
? "" : XmppConfig.getInstance().getJid());
ZipArchive zipFile;
- zipFile = Utils.getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName);
+ zipFile = getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName);
return zipFile;
} catch (IOException e) {
throw new DeviceManagementException("Zip File Creation Failed", e);
@@ -142,4 +159,229 @@ public class ZipUtil {
String stringToEncode = consumerKey + ":" + consumerSecret;
return Base64.encodeBase64String(stringToEncode.getBytes());
}
+
+ public static String getServerUrl() {
+ String hostName = ServerConfiguration.getInstance().getFirstProperty(HOST_NAME);
+ try {
+ if (hostName == null) {
+ hostName = NetworkUtils.getLocalHostname();
+ }
+ } catch (SocketException e) {
+ hostName = "localhost";
+ log.warn("Failed retrieving the hostname, therefore set to localhost", e);
+ }
+ return hostName;
+ }
+
+ public static ZipArchive getSketchArchive(String archivesPath, String templateSketchPath, Map contextParams
+ , String zipFileName)
+ throws DeviceManagementException, IOException {
+ String sketchPath = CarbonUtils.getCarbonHome() + File.separator + templateSketchPath;
+ FileUtils.deleteDirectory(new File(archivesPath));//clear directory
+ FileUtils.deleteDirectory(new File(archivesPath + ".zip"));//clear zip
+ if (!new File(archivesPath).mkdirs()) { //new dir
+ String message = "Could not create directory at path: " + archivesPath;
+ log.error(message);
+ throw new DeviceManagementException(message);
+ }
+ zipFileName = zipFileName + ".zip";
+ try {
+ Map> properties = getProperties(sketchPath + File.separator + "sketch" + ".properties");
+ List templateFiles = properties.get("templates");
+
+ for (String templateFile : templateFiles) {
+ parseTemplate(templateSketchPath + File.separator + templateFile, archivesPath + File.separator + templateFile,
+ contextParams);
+ }
+
+ templateFiles.add("sketch.properties"); // ommit copying the props file
+ copyFolder(new File(sketchPath), new File(archivesPath), templateFiles);
+ createZipArchive(archivesPath);
+ FileUtils.deleteDirectory(new File(archivesPath));
+ File zip = new File(archivesPath + ".zip");
+ return new org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.ZipArchive(zipFileName, zip);
+ } catch (IOException ex) {
+ throw new DeviceManagementException(
+ "Error occurred when trying to read property " + "file sketch.properties", ex);
+ }
+ }
+
+ private static Map> getProperties(String propertyFilePath) throws IOException {
+ Properties prop = new Properties();
+ InputStream input = null;
+
+ try {
+
+ input = new FileInputStream(propertyFilePath);
+
+ // load a properties file
+ prop.load(input);
+ Map> properties = new HashMap>();
+
+ String templates = prop.getProperty("templates");
+ List list = new ArrayList(Arrays.asList(templates.split(",")));
+ properties.put("templates", list);
+
+ final String filename = prop.getProperty("zipfilename");
+ list = new ArrayList() {{
+ add(filename);
+ }};
+ properties.put("zipfilename", list);
+ return properties;
+
+ } finally {
+ if (input != null) {
+ try {
+ input.close();
+ } catch (IOException e) {
+ log.error("Failed closing connection", e);
+ }
+ }
+ }
+ }
+
+ private static void parseTemplate(String srcFile, String dstFile, Map contextParams) throws IOException {
+ //read from file
+ FileInputStream inputStream = null;
+ FileOutputStream outputStream = null;
+ try {
+ inputStream = new FileInputStream(srcFile);
+ outputStream = new FileOutputStream(dstFile);
+ String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8.toString());
+ Iterator iterator = contextParams.entrySet().iterator();
+ while (iterator.hasNext()) {
+ Map.Entry mapEntry = (Map.Entry) iterator.next();
+ content = content.replaceAll("\\$\\{" + mapEntry.getKey() + "\\}", mapEntry.getValue().toString());
+ }
+ IOUtils.write(content, outputStream, StandardCharsets.UTF_8.toString());
+ } finally {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ if (outputStream != null) {
+ outputStream.close();
+ }
+ }
+ }
+
+ private static void copyFolder(File src, File dest, List excludeFileNames) throws IOException {
+
+ if (src.isDirectory()) {
+ //if directory not exists, create it
+ if (!dest.exists() && !dest.mkdirs()) {
+ String message = "Could not create directory at path: " + dest;
+ log.error(message);
+ throw new IOException(message);
+ }
+ //list all the directory contents
+ String files[] = src.list();
+
+ if (files == null) {
+ log.warn("There are no files insides the directory " + src.getAbsolutePath());
+ return;
+ }
+
+ for (String file : files) {
+ //construct the src and dest file structure
+ File srcFile = new File(src, file);
+ File destFile = new File(dest, file);
+ //recursive copy
+ copyFolder(srcFile, destFile, excludeFileNames);
+ }
+
+ } else {
+ for (String fileName : excludeFileNames) {
+ if (src.getName().equals(fileName)) {
+ return;
+ }
+ }
+ //if file, then copy it
+ //Use bytes stream to support all file types
+ InputStream in = null;
+ OutputStream out = null;
+
+ try {
+ in = new FileInputStream(src);
+ out = new FileOutputStream(dest);
+
+ byte[] buffer = new byte[1024];
+
+ int length;
+ //copy the file content in bytes
+ while ((length = in.read(buffer)) > 0) {
+ out.write(buffer, 0, length);
+ }
+ } finally {
+ if (in != null) {
+ in.close();
+ }
+ if (out != null) {
+ out.close();
+ }
+ }
+ }
+ }
+
+ private static boolean createZipArchive(String srcFolder) throws IOException {
+ BufferedInputStream origin = null;
+ ZipOutputStream out = null;
+
+ try {
+ final int BUFFER = 2048;
+ FileOutputStream dest = new FileOutputStream(new File(srcFolder + ".zip"));
+ out = new ZipOutputStream(new BufferedOutputStream(dest));
+ byte data[] = new byte[BUFFER];
+ File subDir = new File(srcFolder);
+ String subdirList[] = subDir.list();
+ if (subdirList == null) {
+ log.warn("The sub directory " + subDir.getAbsolutePath() + " is empty");
+ return false;
+ }
+ for (String sd : subdirList) {
+ // get a list of files from current directory
+ File f = new File(srcFolder + "/" + sd);
+ if (f.isDirectory()) {
+ String files[] = f.list();
+
+ if (files == null) {
+ log.warn("The current directory " + f.getAbsolutePath() + " is empty. Has no files");
+ return false;
+ }
+
+ for (int i = 0; i < files.length; i++) {
+ FileInputStream fi = new FileInputStream(srcFolder + "/" + sd + "/" + files[i]);
+ origin = new BufferedInputStream(fi, BUFFER);
+ ZipEntry entry = new ZipEntry(sd + "/" + files[i]);
+ out.putNextEntry(entry);
+ int count;
+ while ((count = origin.read(data, 0, BUFFER)) != -1) {
+ out.write(data, 0, count);
+ out.flush();
+ }
+
+ }
+ } else //it is just a file
+ {
+ FileInputStream fi = new FileInputStream(f);
+ origin = new BufferedInputStream(fi, BUFFER);
+ ZipEntry entry = new ZipEntry(sd);
+ out.putNextEntry(entry);
+ int count;
+ while ((count = origin.read(data, 0, BUFFER)) != -1) {
+ out.write(data, 0, count);
+ out.flush();
+ }
+ }
+ }
+ out.flush();
+ } finally {
+ if (origin != null) {
+ origin.close();
+ }
+ if (out != null) {
+ out.close();
+ }
+ }
+ return true;
+ }
}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/util/Utils.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/util/Utils.java
new file mode 100644
index 0000000000..586de223c9
--- /dev/null
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/util/Utils.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * WSO2 Inc. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.util;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.base.ServerConfiguration;
+import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.ZipArchive;
+import org.wso2.carbon.utils.CarbonUtils;
+import org.wso2.carbon.utils.NetworkUtils;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.SocketException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+/**
+ * Provides utility methods required by the device type plugins.
+ */
+public class Utils {
+
+ public static final String HOST_NAME = "HostName";
+ private static final Log log = LogFactory.getLog(Utils.class);
+
+
+
+}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/web.xml b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/web.xml
index 2f18393cf5..2d1c6e26b9 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/web.xml
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/web.xml
@@ -24,10 +24,6 @@
doAuthentication
true
-
- isSharedWithAllTenants
- true
-
providerTenantDomain
carbon.super
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/pom.xml b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/pom.xml
index 9e2d7e97ca..3bfbc0d113 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/pom.xml
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/pom.xml
@@ -83,7 +83,10 @@
org.wso2.carbon.event.input.adapter.core,
org.wso2.carbon.event.input.adapter.core.exception,
org.jivesoftware.smack.*,
- org.wso2.carbon.device.mgt.iot.devicetype.*
+ javax.xml.bind,
+ javax.xml.bind.annotation,
+ javax.xml.parsers; version="${javax.xml.parsers.import.pkg.version}",
+ org.w3c.dom
!org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.internal,
@@ -160,9 +163,5 @@
org.igniterealtime.smack.wso2
smackx
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
-
\ No newline at end of file
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/DeviceManagementConfiguration.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/DeviceManagementConfiguration.java
new file mode 100644
index 0000000000..f7721fdd23
--- /dev/null
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/DeviceManagementConfiguration.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * WSO2 Inc. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement(name = "DeviceManagementConfiguration")
+public class DeviceManagementConfiguration {
+
+ private EventListenerConfiguration eventListenerConfiguration;
+
+ private static final Log log = LogFactory.getLog(DeviceManagementConfiguration.class);
+
+ private DeviceManagementConfiguration() {
+ }
+
+ @XmlElement(name = "EventListenerConfiguration", required = false)
+ public EventListenerConfiguration getEventListenerConfiguration() {
+ return eventListenerConfiguration;
+ }
+
+ public void setEventListenerConfiguration(EventListenerConfiguration eventListenerConfiguration) {
+ this.eventListenerConfiguration = eventListenerConfiguration;
+ }
+}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/PushNotificationConfig.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/EventListenerConfiguration.java
similarity index 78%
rename from components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/PushNotificationConfig.java
rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/EventListenerConfiguration.java
index 71f8eb6870..c182b92189 100644
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/PushNotificationConfig.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/EventListenerConfiguration.java
@@ -16,7 +16,7 @@
* under the License.
*
*/
-package org.wso2.carbon.device.mgt.iot.devicetype.config;
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
@@ -25,10 +25,10 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlValue;
import java.util.List;
-@XmlRootElement(name = "PushNotificationConfiguration")
-public class PushNotificationConfig {
+@XmlRootElement(name = "EventListenerConfiguration")
+public class EventListenerConfiguration {
- private String pushNotificationProvider;
+ private String eventListenerProvider;
private List properties;
@XmlElementWrapper(name = "Properties", required = true)
@@ -41,13 +41,13 @@ public class PushNotificationConfig {
this.properties = properties;
}
- @XmlElement(name = "PushNotificationProvider", required = true)
- public String getPushNotificationProvider() {
- return pushNotificationProvider;
+ @XmlElement(name = "EventListenerProvider", required = true)
+ public String getEventListenerProvider() {
+ return eventListenerProvider;
}
- public void setPushNotificationProvider(String pushNotificationProvider) {
- this.pushNotificationProvider = pushNotificationProvider;
+ public void setEventListenerProvider(String eventListenerProvider) {
+ this.eventListenerProvider = eventListenerProvider;
}
@XmlRootElement(name = "Property")
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/VirtualFirealarmConfig.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/VirtualFirealarmConfig.java
new file mode 100644
index 0000000000..a5a75611ea
--- /dev/null
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/VirtualFirealarmConfig.java
@@ -0,0 +1,60 @@
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.w3c.dom.Document;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.exception.VirtualFirealarmConfigurationException;
+import org.wso2.carbon.utils.CarbonUtils;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import java.io.File;
+public class VirtualFirealarmConfig {
+
+ private static final Log log = LogFactory.getLog(VirtualFirealarmConfig.class);
+ private static final String DEVICE_TYPE_CONFIG_PATH =
+ CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugins" + File.separator
+ + "virtual_firealarm.xml";
+ private static VirtualFirealarmConfig virtualFirealarmConfig = new VirtualFirealarmConfig();
+ private static DeviceManagementConfiguration deviceManagementConfiguration;
+
+ public static VirtualFirealarmConfig getInstance() {
+ return virtualFirealarmConfig;
+ }
+
+ public static void initialize() throws VirtualFirealarmConfigurationException {
+ File configFile = new File(DEVICE_TYPE_CONFIG_PATH);
+ try {
+ Document doc = convertToDocument(configFile);
+
+ /* Un-marshaling Webapp Authenticator configuration */
+ JAXBContext ctx = JAXBContext.newInstance(DeviceManagementConfiguration.class);
+ Unmarshaller unmarshaller = ctx.createUnmarshaller();
+ //unmarshaller.setSchema(getSchema());
+ deviceManagementConfiguration = (DeviceManagementConfiguration) unmarshaller.unmarshal(doc);
+ } catch (JAXBException e) {
+ throw new VirtualFirealarmConfigurationException("Error occurred while un-marshalling the file " +
+ DEVICE_TYPE_CONFIG_PATH, e);
+ }
+
+ }
+
+ public DeviceManagementConfiguration getDeviceTypeConfiguration() {
+ return deviceManagementConfiguration;
+ }
+
+ public static Document convertToDocument(File file) throws VirtualFirealarmConfigurationException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ try {
+ DocumentBuilder docBuilder = factory.newDocumentBuilder();
+ return docBuilder.parse(file);
+ } catch (Exception e) {
+ throw new VirtualFirealarmConfigurationException("Error occurred while parsing file, while converting " +
+ "to a org.w3c.dom.Document", e);
+ }
+ }
+}
diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/exception/DeviceTypeConfigurationException.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/exception/VirtualFirealarmConfigurationException.java
similarity index 59%
rename from components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/exception/DeviceTypeConfigurationException.java
rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/exception/VirtualFirealarmConfigurationException.java
index aa0735c10d..0cba81bcca 100644
--- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/config/exception/DeviceTypeConfigurationException.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/config/exception/VirtualFirealarmConfigurationException.java
@@ -16,37 +16,37 @@
* under the License.
*
*/
-package org.wso2.carbon.device.mgt.iot.devicetype.config.exception;
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.exception;
-public class DeviceTypeConfigurationException extends Exception {
+public class VirtualFirealarmConfigurationException extends Exception {
private static final long serialVersionUID = -3151279431229070297L;
- public DeviceTypeConfigurationException(int errorCode, String message) {
+ public VirtualFirealarmConfigurationException(int errorCode, String message) {
super(message);
}
- public DeviceTypeConfigurationException(int errorCode, String message, Throwable cause) {
+ public VirtualFirealarmConfigurationException(int errorCode, String message, Throwable cause) {
super(message, cause);
}
- public DeviceTypeConfigurationException(String msg, Exception nestedEx) {
+ public VirtualFirealarmConfigurationException(String msg, Exception nestedEx) {
super(msg, nestedEx);
}
- public DeviceTypeConfigurationException(String message, Throwable cause) {
+ public VirtualFirealarmConfigurationException(String message, Throwable cause) {
super(message, cause);
}
- public DeviceTypeConfigurationException(String msg) {
+ public VirtualFirealarmConfigurationException(String msg) {
super(msg);
}
- public DeviceTypeConfigurationException() {
+ public VirtualFirealarmConfigurationException() {
super();
}
- public DeviceTypeConfigurationException(Throwable cause) {
+ public VirtualFirealarmConfigurationException(Throwable cause) {
super(cause);
}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmManager.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmManager.java
deleted file mode 100644
index 96617f47b4..0000000000
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmManager.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.DeviceManager;
-import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
-import org.wso2.carbon.device.mgt.common.FeatureManager;
-import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
-import org.wso2.carbon.device.mgt.common.license.mgt.License;
-import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.dao.VirtualFireAlarmDAOUtil;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.feature.VirtualFirealarmFeatureManager;
-import java.util.List;
-
-
-/**
- * This represents the FireAlarm implementation of DeviceManagerService.
- */
-public class VirtualFireAlarmManager implements DeviceManager {
-
- private static final VirtualFireAlarmDAOUtil virtualFireAlarmDAO = new VirtualFireAlarmDAOUtil();
- private static final Log log = LogFactory.getLog(VirtualFireAlarmManager.class);
- private FeatureManager virtualFirealarmFeatureManager = new VirtualFirealarmFeatureManager();
-
- @Override
- public FeatureManager getFeatureManager() {
- return virtualFirealarmFeatureManager;
- }
-
- @Override
- public boolean saveConfiguration(PlatformConfiguration PlatformConfiguration)
- throws DeviceManagementException {
- return false;
- }
-
- @Override
- public PlatformConfiguration getConfiguration() throws DeviceManagementException {
- return null;
- }
-
- @Override
- public boolean enrollDevice(Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Enrolling a new Virtual Firealarm device : " + device.getDeviceIdentifier());
- }
- VirtualFireAlarmDAOUtil.beginTransaction();
- status = virtualFireAlarmDAO.getDeviceDAO().addDevice(device);
- VirtualFireAlarmDAOUtil.commitTransaction();
- } catch (VirtualFirealarmDeviceMgtPluginException e) {
- try {
- VirtualFireAlarmDAOUtil.rollbackTransaction();
- } catch (VirtualFirealarmDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the device enrol transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while enrolling the Virtual Firealarm device : " + device.getDeviceIdentifier();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean modifyEnrollment(Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Modifying the Virtual Firealarm device enrollment data");
- }
- VirtualFireAlarmDAOUtil.beginTransaction();
- status = virtualFireAlarmDAO.getDeviceDAO().updateDevice(device);
- VirtualFireAlarmDAOUtil.commitTransaction();
- } catch (VirtualFirealarmDeviceMgtPluginException e) {
- try {
- VirtualFireAlarmDAOUtil.rollbackTransaction();
- } catch (VirtualFirealarmDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the update device transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while updating the enrollment of the Virtual Firealarm device : " +
- device.getDeviceIdentifier();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Dis-enrolling Virtual Firealarm device : " + deviceId);
- }
- VirtualFireAlarmDAOUtil.beginTransaction();
- status = virtualFireAlarmDAO.getDeviceDAO().deleteDevice(deviceId.getId());
- VirtualFireAlarmDAOUtil.commitTransaction();
- } catch (VirtualFirealarmDeviceMgtPluginException e) {
- try {
- VirtualFireAlarmDAOUtil.rollbackTransaction();
- } catch (VirtualFirealarmDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the device dis enrol transaction :" + deviceId.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg = "Error while removing the Virtual Firealarm device : " + deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
- boolean isEnrolled = false;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Checking the enrollment of Virtual Firealarm device : " + deviceId.getId());
- }
- Device device = virtualFireAlarmDAO.getDeviceDAO().getDevice(deviceId.getId());
- if (device != null) {
- isEnrolled = true;
- }
- } catch (VirtualFirealarmDeviceMgtPluginException e) {
- String msg = "Error while checking the enrollment status of Virtual Firealarm device : " +
- deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return isEnrolled;
- }
-
- @Override
- public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
- return true;
- }
-
- @Override
- public boolean setActive(DeviceIdentifier deviceId, boolean status)
- throws DeviceManagementException {
- return true;
- }
-
- @Override
- public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- Device device;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Getting the details of Virtual Firealarm device : " + deviceId.getId());
- }
- device = virtualFireAlarmDAO.getDeviceDAO().getDevice(deviceId.getId());
- } catch (VirtualFirealarmDeviceMgtPluginException e) {
- String msg = "Error while fetching the Virtual Firealarm device : " + deviceId.getId();
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return device;
- }
-
- @Override
- public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
- throws DeviceManagementException {
- return true;
- }
-
- public boolean isClaimable(DeviceIdentifier deviceIdentifier) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean setStatus(DeviceIdentifier deviceId, String currentOwner,
- EnrolmentInfo.Status status) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public License getLicense(String s) throws LicenseManagementException {
- return null;
- }
-
- @Override
- public void addLicense(License license) throws LicenseManagementException {
-
- }
-
- @Override
- public boolean requireDeviceAuthorization() {
- return false;
- }
-
- @Override
- public boolean updateDeviceInfo(DeviceIdentifier deviceIdentifier, Device device) throws DeviceManagementException {
- boolean status;
- try {
- if (log.isDebugEnabled()) {
- log.debug(
- "updating the details of Virtual Firealarm device : " + deviceIdentifier);
- }
- VirtualFireAlarmDAOUtil.beginTransaction();
- status = virtualFireAlarmDAO.getDeviceDAO().updateDevice(device);
- VirtualFireAlarmDAOUtil.commitTransaction();
- } catch (VirtualFirealarmDeviceMgtPluginException e) {
- try {
- VirtualFireAlarmDAOUtil.rollbackTransaction();
- } catch (VirtualFirealarmDeviceMgtPluginException iotDAOEx) {
- String msg = "Error occurred while roll back the update device info transaction :" + device.toString();
- log.warn(msg, iotDAOEx);
- }
- String msg =
- "Error while updating the Virtual Firealarm device : " + deviceIdentifier;
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return status;
- }
-
- @Override
- public List getAllDevices() throws DeviceManagementException {
- List devices;
- try {
- if (log.isDebugEnabled()) {
- log.debug("Fetching the details of all Virtual Firealarm devices");
- }
- devices = virtualFireAlarmDAO.getDeviceDAO().getAllDevices();
- } catch (VirtualFirealarmDeviceMgtPluginException e) {
- String msg = "Error while fetching all Virtual Firealarm devices.";
- log.error(msg, e);
- throw new DeviceManagementException(msg, e);
- }
- return devices;
- }
-
-}
\ No newline at end of file
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmManagerService.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmManagerService.java
deleted file mode 100644
index 6b93ecce8b..0000000000
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmManagerService.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl;
-
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.DeviceManager;
-import org.wso2.carbon.device.mgt.common.ProvisioningConfig;
-import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
-import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
-import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.internal.VirtualFirealarmManagementDataHolder;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class VirtualFireAlarmManagerService implements DeviceManagementService {
-
- private DeviceManager deviceManager;
- private PushNotificationConfig pushNotificationConfig;
-
- @Override
- public String getType() {
- return VirtualFireAlarmConstants.DEVICE_TYPE;
- }
-
- @Override
- public void init() throws DeviceManagementException {
- this.deviceManager = new VirtualFireAlarmManager();
- this.pushNotificationConfig = this.populatePushNotificationConfig();
- }
-
- private PushNotificationConfig populatePushNotificationConfig() {
- DeviceManagementConfiguration deviceManagementConfiguration = VirtualFirealarmManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(VirtualFireAlarmConstants.DEVICE_TYPE,
- VirtualFireAlarmConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- org.wso2.carbon.device.mgt.iot.devicetype.config.PushNotificationConfig sourceConfig =
- deviceManagementConfiguration.getPushNotificationConfig();
- Map staticProps = new HashMap<>();
- for (org.wso2.carbon.device.mgt.iot.devicetype.config.PushNotificationConfig.Property
- property : sourceConfig.getProperties()) {
- staticProps.put(property.getName(), property.getValue());
- }
- return new PushNotificationConfig(sourceConfig.getPushNotificationProvider(), staticProps);
- }
-
- @Override
- public DeviceManager getDeviceManager() {
- return deviceManager;
- }
-
- @Override
- public ApplicationManager getApplicationManager() {
- return null;
- }
-
- @Override
- public ProvisioningConfig getProvisioningConfig() {
- DeviceManagementConfiguration deviceManagementConfiguration = VirtualFirealarmManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(VirtualFireAlarmConstants.DEVICE_TYPE,
- VirtualFireAlarmConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- boolean sharedWithAllTenants = deviceManagementConfiguration.getDeviceManagementConfigRepository()
- .getProvisioningConfig().isSharedWithAllTenants();
- return new ProvisioningConfig(VirtualFireAlarmConstants.DEVICE_TYPE_PROVIDER_DOMAIN, sharedWithAllTenants);
- }
-
- @Override
- public PushNotificationConfig getPushNotificationConfig() {
- return pushNotificationConfig;
- }
-
-}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmUtils.java
similarity index 80%
rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java
rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmUtils.java
index 66d5d7747c..d9dbf99365 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFireAlarmUtils.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util;
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.logging.Log;
@@ -26,7 +26,6 @@ import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.device.mgt.analytics.data.publisher.exception.DataPublisherConfigurationException;
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.internal.VirtualFirealarmManagementDataHolder;
@@ -37,17 +36,9 @@ import org.wso2.carbon.event.input.adapter.core.MessageType;
import org.wso2.carbon.event.input.adapter.core.exception.InputEventAdapterException;
import org.json.JSONObject;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
import java.io.IOException;
import java.security.PublicKey;
import java.security.cert.X509Certificate;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
@@ -58,62 +49,6 @@ public class VirtualFireAlarmUtils {
private static Log log = LogFactory.getLog(VirtualFireAlarmUtils.class);
- public static void cleanupResources(Connection conn, PreparedStatement stmt, ResultSet rs) {
- if (rs != null) {
- try {
- rs.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing result set", e);
- }
- }
- if (stmt != null) {
- try {
- stmt.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing prepared statement", e);
- }
- }
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {
- log.warn("Error occurred while closing database connection", e);
- }
- }
- }
-
- public static void cleanupResources(PreparedStatement stmt, ResultSet rs) {
- cleanupResources(null, stmt, rs);
- }
-
- /**
- * Creates the device management schema.
- */
- public static void setupDeviceManagementSchema() throws VirtualFirealarmDeviceMgtPluginException {
- DeviceManagementConfiguration deviceManagementConfiguration = VirtualFirealarmManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(VirtualFireAlarmConstants.DEVICE_TYPE,
- VirtualFireAlarmConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- String datasourceName = deviceManagementConfiguration.getDeviceManagementConfigRepository()
- .getDataSourceConfig().getJndiLookupDefinition().getJndiName();
- try {
- Context ctx = new InitialContext();
- DataSource dataSource = (DataSource) ctx.lookup(datasourceName);
- DeviceSchemaInitializer initializer = new DeviceSchemaInitializer(dataSource);
- String checkSql = "select * from VIRTUAL_FIREALARM_DEVICE";
- if (!initializer.isDatabaseStructureCreated(checkSql)) {
- log.info("Initializing device management repository database schema");
- initializer.createRegistryDatabase();
- } else {
- log.info("Device management repository database already exists. Not creating a new database.");
- }
- } catch (NamingException e) {
- log.error("Error while looking up the data source: " + datasourceName, e);
- } catch (Exception e) {
- throw new VirtualFirealarmDeviceMgtPluginException("Error occurred while initializing Iot Device " +
- "Management database schema", e);
- }
- }
-
public static void setupMqttInputAdapter() throws IOException {
if (!MqttConfig.getInstance().isEnabled()) {
return;
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmEventAdapterSubscription.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmEventAdapterSubscription.java
similarity index 98%
rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmEventAdapterSubscription.java
rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmEventAdapterSubscription.java
index 25489d9b55..89c9772601 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmEventAdapterSubscription.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmEventAdapterSubscription.java
@@ -1,4 +1,4 @@
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util;
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl;
import org.wso2.carbon.event.input.adapter.core.InputEventAdapterSubscription;
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmMqttContentTransformer.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmMqttContentTransformer.java
similarity index 98%
rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmMqttContentTransformer.java
rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmMqttContentTransformer.java
index 65b55f9801..0cf2a6cfaf 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmMqttContentTransformer.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmMqttContentTransformer.java
@@ -1,4 +1,4 @@
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util;
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl;
import org.json.JSONObject;
import org.wso2.carbon.context.PrivilegedCarbonContext;
@@ -6,7 +6,6 @@ import org.wso2.carbon.device.mgt.iot.input.adapter.extension.ContentTransformer
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException;
-import java.math.BigInteger;
import java.security.PublicKey;
import java.util.Map;
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmSecurityManager.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmSecurityManager.java
similarity index 99%
rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmSecurityManager.java
rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmSecurityManager.java
index 9a8defc4b3..9ff12424ba 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmSecurityManager.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmSecurityManager.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util;
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.logging.Log;
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmStartupListener.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmStartupListener.java
similarity index 99%
rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmStartupListener.java
rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmStartupListener.java
index b9075fcf09..70dbcc7d95 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmStartupListener.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmStartupListener.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util;
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmXmppContentTransformer.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmXmppContentTransformer.java
similarity index 99%
rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmXmppContentTransformer.java
rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmXmppContentTransformer.java
index 9a7b7d5185..849091b749 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmXmppContentTransformer.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/VirtualFirealarmXmppContentTransformer.java
@@ -1,4 +1,4 @@
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util;
+package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl;
import org.json.JSONObject;
import org.wso2.carbon.context.PrivilegedCarbonContext;
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/dao/VirtualFireAlarmDAOUtil.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/dao/VirtualFireAlarmDAOUtil.java
deleted file mode 100644
index 7cde7981fb..0000000000
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/dao/VirtualFireAlarmDAOUtil.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.dao;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.internal.VirtualFirealarmManagementDataHolder;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.SQLException;
-
-public class VirtualFireAlarmDAOUtil {
-
- private static final Log log = LogFactory.getLog(VirtualFireAlarmDAOUtil.class);
- static DataSource dataSource;
- private static ThreadLocal currentConnection = new ThreadLocal();
-
- public VirtualFireAlarmDAOUtil() {
- initFireAlarmDAO();
- }
-
- public static void initFireAlarmDAO() {
- DeviceManagementConfiguration deviceManagementConfiguration = VirtualFirealarmManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(VirtualFireAlarmConstants.DEVICE_TYPE,
- VirtualFireAlarmConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- String datasourceName = deviceManagementConfiguration.getDeviceManagementConfigRepository()
- .getDataSourceConfig().getJndiLookupDefinition().getJndiName();
- try {
- Context ctx = new InitialContext();
- dataSource = (DataSource) ctx.lookup(datasourceName);
- } catch (NamingException e) {
- log.error("Error while looking up the data source: " + datasourceName, e);
- }
- }
-
- public VirtualFireAlarmDeviceDAO getDeviceDAO() {
- return new VirtualFireAlarmDeviceDAO();
- }
-
- public static void beginTransaction() throws VirtualFirealarmDeviceMgtPluginException {
- try {
- Connection conn = dataSource.getConnection();
- conn.setAutoCommit(false);
- currentConnection.set(conn);
- } catch (SQLException e) {
- throw new VirtualFirealarmDeviceMgtPluginException("Error occurred while retrieving datasource connection", e);
- }
- }
-
- public static Connection getConnection() throws VirtualFirealarmDeviceMgtPluginException {
- if (currentConnection.get() == null) {
- try {
- currentConnection.set(dataSource.getConnection());
- } catch (SQLException e) {
- throw new VirtualFirealarmDeviceMgtPluginException("Error occurred while retrieving data source connection", e);
- }
- }
- return currentConnection.get();
- }
-
- public static void commitTransaction() throws VirtualFirealarmDeviceMgtPluginException {
- try {
- Connection conn = currentConnection.get();
- if (conn != null) {
- conn.commit();
- } else {
- if (log.isDebugEnabled()) {
- log.debug("Datasource connection associated with the current thread is null, hence commit "
- + "has not been attempted");
- }
- }
- } catch (SQLException e) {
- throw new VirtualFirealarmDeviceMgtPluginException("Error occurred while committing the transaction", e);
- } finally {
- closeConnection();
- }
- }
-
- public static void closeConnection() throws VirtualFirealarmDeviceMgtPluginException {
-
- Connection con = currentConnection.get();
- if (con != null) {
- try {
- con.close();
- } catch (SQLException e) {
- log.error("Error occurred while close the connection");
- }
- }
- currentConnection.remove();
- }
-
- public static void rollbackTransaction() throws VirtualFirealarmDeviceMgtPluginException {
- try {
- Connection conn = currentConnection.get();
- if (conn != null) {
- conn.rollback();
- } else {
- if (log.isDebugEnabled()) {
- log.debug("Datasource connection associated with the current thread is null, hence rollback "
- + "has not been attempted");
- }
- }
- } catch (SQLException e) {
- throw new VirtualFirealarmDeviceMgtPluginException("Error occurred while rollback the transaction", e);
- } finally {
- closeConnection();
- }
- }
-}
\ No newline at end of file
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/dao/VirtualFireAlarmDeviceDAO.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/dao/VirtualFireAlarmDeviceDAO.java
deleted file mode 100644
index c20a833720..0000000000
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/dao/VirtualFireAlarmDeviceDAO.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.dao;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.common.Device;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFireAlarmUtils;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Implements CRUD for virtual firealarm Devices.
- */
-public class VirtualFireAlarmDeviceDAO {
-
- private static final Log log = LogFactory.getLog(VirtualFireAlarmDeviceDAO.class);
-
- public Device getDevice(String deviceId) throws VirtualFirealarmDeviceMgtPluginException {
- Connection conn = null;
- PreparedStatement stmt = null;
- Device device = null;
- ResultSet resultSet = null;
- try {
- conn = VirtualFireAlarmDAOUtil.getConnection();
- String selectDBQuery =
- "SELECT VIRTUAL_FIREALARM_DEVICE_ID, DEVICE_NAME" +
- " FROM VIRTUAL_FIREALARM_DEVICE WHERE VIRTUAL_FIREALARM_DEVICE_ID = ?";
- stmt = conn.prepareStatement(selectDBQuery);
- stmt.setString(1, deviceId);
- resultSet = stmt.executeQuery();
-
- if (resultSet.next()) {
- device = new Device();
- device.setName(resultSet.getString(VirtualFireAlarmConstants.DEVICE_PLUGIN_DEVICE_NAME));
- if (log.isDebugEnabled()) {
- log.debug("Virtual Firealarm device " + deviceId + " data has been fetched from " +
- "Virtual Firealarm database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while fetching Virtual Firealarm device : '" + deviceId + "'";
- log.error(msg, e);
- throw new VirtualFirealarmDeviceMgtPluginException(msg, e);
- } finally {
- VirtualFireAlarmUtils.cleanupResources(stmt, resultSet);
- VirtualFireAlarmDAOUtil.closeConnection();
- }
-
- return device;
- }
-
- public boolean addDevice(Device device) throws VirtualFirealarmDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = VirtualFireAlarmDAOUtil.getConnection();
- String createDBQuery =
- "INSERT INTO VIRTUAL_FIREALARM_DEVICE(VIRTUAL_FIREALARM_DEVICE_ID, DEVICE_NAME) VALUES (?, ?)";
-
- stmt = conn.prepareStatement(createDBQuery);
- stmt.setString(1, device.getDeviceIdentifier());
- stmt.setString(2, device.getName());
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Virtual Firealarm device " + device.getDeviceIdentifier() + " data has been" +
- " added to the Virtual Firealarm database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while adding the Virtual Firealarm device '" +
- device.getDeviceIdentifier() + "' to the Virtual Firealarm db.";
- log.error(msg, e);
- throw new VirtualFirealarmDeviceMgtPluginException(msg, e);
- } finally {
- VirtualFireAlarmUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public boolean updateDevice(Device device) throws VirtualFirealarmDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = VirtualFireAlarmDAOUtil.getConnection();
- String updateDBQuery =
- "UPDATE VIRTUAL_FIREALARM_DEVICE SET DEVICE_NAME = ? WHERE VIRTUAL_FIREALARM_DEVICE_ID = ?";
-
- stmt = conn.prepareStatement(updateDBQuery);
- stmt.setString(1, device.getName());
- stmt.setString(2, device.getDeviceIdentifier());
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Virtualm Firealarm device " + device.getDeviceIdentifier() + " data has been" +
- " modified.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while modifying the Virtual Firealarm device '" +
- device.getDeviceIdentifier() + "' data.";
- log.error(msg, e);
- throw new VirtualFirealarmDeviceMgtPluginException(msg, e);
- } finally {
- VirtualFireAlarmUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public boolean deleteDevice(String iotDeviceId) throws VirtualFirealarmDeviceMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = VirtualFireAlarmDAOUtil.getConnection();
- String deleteDBQuery = "DELETE FROM VIRTUAL_FIREALARM_DEVICE WHERE VIRTUAL_FIREALARM_DEVICE_ID = ?";
- stmt = conn.prepareStatement(deleteDBQuery);
- stmt.setString(1, iotDeviceId);
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("Virtual Firealarm device " + iotDeviceId + " data has deleted" +
- " from the Virtual Firealarm database.");
- }
- }
- } catch (SQLException e) {
- String msg = "Error occurred while deleting Virtual Firealarm device " + iotDeviceId;
- log.error(msg, e);
- throw new VirtualFirealarmDeviceMgtPluginException(msg, e);
- } finally {
- VirtualFireAlarmUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
- public List getAllDevices() throws VirtualFirealarmDeviceMgtPluginException {
- Connection conn;
- PreparedStatement stmt = null;
- ResultSet resultSet = null;
- Device device;
- List devices = new ArrayList<>();
- try {
- conn = VirtualFireAlarmDAOUtil.getConnection();
- String selectDBQuery =
- "SELECT VIRTUAL_FIREALARM_DEVICE_ID, DEVICE_NAME FROM VIRTUAL_FIREALARM_DEVICE";
- stmt = conn.prepareStatement(selectDBQuery);
- resultSet = stmt.executeQuery();
- while (resultSet.next()) {
- device = new Device();
- device.setDeviceIdentifier(resultSet.getString(VirtualFireAlarmConstants.DEVICE_PLUGIN_DEVICE_ID));
- device.setName(resultSet.getString(VirtualFireAlarmConstants.DEVICE_PLUGIN_DEVICE_NAME));
- devices.add(device);
- }
- if (log.isDebugEnabled()) {
- log.debug("All Virtual Firealarm device details have fetched from Firealarm database.");
- }
- return devices;
- } catch (SQLException e) {
- String msg = "Error occurred while fetching all Virtual Firealarm device data'";
- log.error(msg, e);
- throw new VirtualFirealarmDeviceMgtPluginException(msg, e);
- } finally {
- VirtualFireAlarmUtils.cleanupResources(stmt, resultSet);
- VirtualFireAlarmDAOUtil.closeConnection();
- }
- }
-}
\ No newline at end of file
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/feature/VirtualFirealarmFeatureManager.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/feature/VirtualFirealarmFeatureManager.java
deleted file mode 100644
index 7290b61794..0000000000
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/feature/VirtualFirealarmFeatureManager.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.feature;
-
-import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.Feature;
-import org.wso2.carbon.device.mgt.common.FeatureManager;
-import org.wso2.carbon.device.mgt.extensions.feature.mgt.GenericFeatureManager;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
-
-import java.util.List;
-
-public class VirtualFirealarmFeatureManager implements FeatureManager{
- @Override
- public boolean addFeature(Feature feature) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean addFeatures(List features) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public Feature getFeature(String name) throws DeviceManagementException {
- GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance();
- return genericFeatureManager.getFeature(VirtualFireAlarmConstants.DEVICE_TYPE, name);
- }
-
- @Override
- public List getFeatures() throws DeviceManagementException {
- GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance();
- return genericFeatureManager.getFeatures(VirtualFireAlarmConstants.DEVICE_TYPE);
- }
-
- @Override
- public boolean removeFeature(String name) throws DeviceManagementException {
- return false;
- }
-
- @Override
- public boolean addSupportedFeaturesToDB() throws DeviceManagementException {
- return false;
- }
-}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/DeviceSchemaInitializer.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/DeviceSchemaInitializer.java
deleted file mode 100644
index a738386afd..0000000000
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/DeviceSchemaInitializer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * WSO2 Inc. licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License.
- * you may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.carbon.utils.dbcreator.DatabaseCreator;
-
-import javax.sql.DataSource;
-import java.io.File;
-
-/**
- * Provides methods for initializing the database script.
- */
-public class DeviceSchemaInitializer extends DatabaseCreator{
-
- private static final Log log = LogFactory.getLog(DeviceSchemaInitializer.class);
- private static final String setupSQLScriptBaseLocation = CarbonUtils.getCarbonHome() + File.separator + "dbscripts"
- + File.separator + "cdm" + File.separator + "plugins" + File.separator
- + VirtualFireAlarmConstants.DEVICE_TYPE + File.separator;
-
- public DeviceSchemaInitializer(DataSource dataSource) {
- super(dataSource);
- }
-
- @Override
- protected String getDbScriptLocation(String databaseType) {
- String scriptName = databaseType + ".sql";
- if (log.isDebugEnabled()) {
- log.debug("Loading database script from :" + scriptName);
- }
- return setupSQLScriptBaseLocation.replaceFirst("DBTYPE", databaseType) + scriptName;
- }
-}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/internal/VirtualFirealarmManagementDataHolder.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/internal/VirtualFirealarmManagementDataHolder.java
index 7d0a96e747..9fc9111fb4 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/internal/VirtualFirealarmManagementDataHolder.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/internal/VirtualFirealarmManagementDataHolder.java
@@ -20,7 +20,6 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.internal;
import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
import org.wso2.carbon.event.input.adapter.core.InputEventAdapterService;
/**
@@ -31,7 +30,6 @@ public class VirtualFirealarmManagementDataHolder {
private InputEventAdapterService inputEventAdapterService;
private EventsPublisherService eventsPublisherService;
private CertificateManagementService certificateManagementService;
- private DeviceTypeConfigService deviceTypeConfigService;
private static VirtualFirealarmManagementDataHolder thisInstance = new VirtualFirealarmManagementDataHolder();
@@ -66,13 +64,4 @@ public class VirtualFirealarmManagementDataHolder {
public void setCertificateManagementService(CertificateManagementService certificateManagementService) {
this.certificateManagementService = certificateManagementService;
}
-
- public DeviceTypeConfigService getDeviceTypeConfigService() {
- return deviceTypeConfigService;
- }
-
- public void setDeviceTypeConfigService(
- DeviceTypeConfigService deviceTypeConfigService) {
- this.deviceTypeConfigService = deviceTypeConfigService;
- }
}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/internal/VirtualFirealarmManagementServiceComponent.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/internal/VirtualFirealarmManagementServiceComponent.java
index 47f3a7f27e..6a1e8c4bf8 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/internal/VirtualFirealarmManagementServiceComponent.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/internal/VirtualFirealarmManagementServiceComponent.java
@@ -26,13 +26,9 @@ import org.osgi.service.component.ComponentContext;
import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
import org.wso2.carbon.core.ServerStartupObserver;
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
-import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
-import org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.VirtualFireAlarmManagerService;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFireAlarmUtils;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFirealarmSecurityManager;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFirealarmStartupListener;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.VirtualFirealarmConfig;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.VirtualFirealarmSecurityManager;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.VirtualFirealarmStartupListener;
import org.wso2.carbon.event.input.adapter.core.InputEventAdapterService;
/**
@@ -57,12 +53,6 @@ import org.wso2.carbon.event.input.adapter.core.InputEventAdapterService;
* policy="dynamic"
* bind="setEventsPublisherService"
* unbind="unsetEventsPublisherService"
- * @scr.reference name="devicetype.configuration.service"
- * interface="org.wso2.carbon.device.mgt.iot.devicetype.DeviceTypeConfigService"
- * cardinality="1..1"
- * policy="dynamic"
- * bind="setDeviceTypeConfigService"
- * unbind="unsetDeviceTypeConfigService"
*/
public class VirtualFirealarmManagementServiceComponent {
@@ -74,25 +64,10 @@ public class VirtualFirealarmManagementServiceComponent {
log.debug("Activating Virtual Firealarm Device Management Service Component");
}
try {
-
- VirtualFireAlarmManagerService virtualFireAlarmManagerService = new VirtualFireAlarmManagerService();
+ VirtualFirealarmConfig.initialize();
BundleContext bundleContext = ctx.getBundleContext();
- firealarmServiceRegRef = bundleContext.registerService(DeviceManagementService.class.getName()
- ,virtualFireAlarmManagerService, null);
bundleContext.registerService(ServerStartupObserver.class.getName(), new VirtualFirealarmStartupListener(),
null);
- String setupOption = System.getProperty("setup");
- if (setupOption != null) {
- if (log.isDebugEnabled()) {
- log.debug("-Dsetup is enabled. Iot Device management repository schema initialization is about " +
- "to begin");
- }
- try {
- VirtualFireAlarmUtils.setupDeviceManagementSchema();
- } catch (VirtualFirealarmDeviceMgtPluginException e) {
- log.error("Exception occurred while initializing device management database schema", e);
- }
- }
if (log.isDebugEnabled()) {
log.debug("Virtual Firealarm Device Management Service Component has been successfully activated");
}
@@ -106,16 +81,6 @@ public class VirtualFirealarmManagementServiceComponent {
if (log.isDebugEnabled()) {
log.debug("De-activating Virtual Firealarm Device Management Service Component");
}
- try {
- if (firealarmServiceRegRef != null) {
- firealarmServiceRegRef.unregister();
- }
- if (log.isDebugEnabled()) {
- log.debug("Virtual Firealarm Device Management Service Component has been successfully de-activated");
- }
- } catch (Throwable e) {
- log.error("Error occurred while de-activating Virtual Firealarm Device Management bundle", e);
- }
}
/**
@@ -149,12 +114,4 @@ public class VirtualFirealarmManagementServiceComponent {
protected void unsetEventsPublisherService(EventsPublisherService eventsPublisherService) {
VirtualFirealarmManagementDataHolder.getInstance().setEventsPublisherService(null);
}
-
- protected void setDeviceTypeConfigService(DeviceTypeConfigService deviceTypeConfigService) {
- VirtualFirealarmManagementDataHolder.getInstance().setDeviceTypeConfigService(deviceTypeConfigService);
- }
-
- protected void unsetDeviceTypeConfigService(DeviceTypeConfigService deviceTypeConfigService) {
- VirtualFirealarmManagementDataHolder.getInstance().setDeviceTypeConfigService(null);
- }
}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/mqtt/MqttConfig.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/mqtt/MqttConfig.java
index 7a0c8f6889..e47ac11eaf 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/mqtt/MqttConfig.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/mqtt/MqttConfig.java
@@ -20,10 +20,9 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.mqtt;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.PushNotificationConfig;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.internal.VirtualFirealarmManagementDataHolder;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.DeviceManagementConfiguration;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.EventListenerConfiguration;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.VirtualFirealarmConfig;
import java.util.List;
@@ -41,17 +40,16 @@ public class MqttConfig {
private String clearSession;
private MqttConfig() {
- DeviceManagementConfiguration deviceManagementConfiguration = VirtualFirealarmManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(VirtualFireAlarmConstants.DEVICE_TYPE,
- VirtualFireAlarmConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- List properties = deviceManagementConfiguration
- .getPushNotificationConfig().getProperties();
- String provider = deviceManagementConfiguration.getPushNotificationConfig().getPushNotificationProvider();
+ DeviceManagementConfiguration deviceManagementConfiguration = VirtualFirealarmConfig.getInstance()
+ .getDeviceTypeConfiguration();
+ List properties = deviceManagementConfiguration
+ .getEventListenerConfiguration().getProperties();
+ String provider = deviceManagementConfiguration.getEventListenerConfiguration().getEventListenerProvider();
if (provider.equals("MQTT")) {
enabled = true;
}
if (enabled) {
- for (PushNotificationConfig.Property property : properties) {
+ for (EventListenerConfiguration.Property property : properties) {
switch (property.getName()) {
case "url":
url = property.getValue();
@@ -71,8 +69,6 @@ public class MqttConfig {
case "clearSession":
clearSession = property.getValue();
break;
-
-
}
}
}
diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java
index 2ac57e0b8f..d600b3a826 100644
--- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java
+++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java
@@ -20,10 +20,10 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.DeviceManagementConfiguration;
-import org.wso2.carbon.device.mgt.iot.devicetype.config.PushNotificationConfig;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants;
-import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.internal.VirtualFirealarmManagementDataHolder;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.DeviceManagementConfiguration;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.EventListenerConfiguration;
+import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.config.VirtualFirealarmConfig;
+
import java.util.List;
public class XmppConfig {
@@ -39,17 +39,16 @@ public class XmppConfig {
private static final Log log = LogFactory.getLog(XmppConfig.class);
private XmppConfig() {
- DeviceManagementConfiguration deviceManagementConfiguration = VirtualFirealarmManagementDataHolder.getInstance()
- .getDeviceTypeConfigService().getConfiguration(VirtualFireAlarmConstants.DEVICE_TYPE,
- VirtualFireAlarmConstants.DEVICE_TYPE_PROVIDER_DOMAIN);
- List properties = deviceManagementConfiguration.getPushNotificationConfig()
+ DeviceManagementConfiguration deviceManagementConfiguration = VirtualFirealarmConfig.getInstance()
+ .getDeviceTypeConfiguration();
+ List properties = deviceManagementConfiguration.getEventListenerConfiguration()
.getProperties();
- String provider = deviceManagementConfiguration.getPushNotificationConfig().getPushNotificationProvider();
+ String provider = deviceManagementConfiguration.getEventListenerConfiguration().getEventListenerProvider();
if ("XMPP".equals(provider)) {
enabled = true;
}
if (enabled) {
- for (PushNotificationConfig.Property property : properties) {
+ for (EventListenerConfiguration.Property property : properties) {
switch (property.getName()) {
case "host":
host = property.getValue();
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/private/config.json b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/private/config.json
index 3601ecb510..c71fcbc04b 100644
--- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/private/config.json
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android.type-view/private/config.json
@@ -1,6 +1,8 @@
{
- "deviceType": {
- "label": "Android",
- "category" : "mobile"
- }
+ "deviceType": {
+ "label": "Android",
+ "category": "mobile",
+ "analyticsEnabled": "false",
+ "groupingEnabled": "false"
+ }
}
diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.type-view/private/config.json b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.type-view/private/config.json
index 33823e6653..66364b5d1e 100644
--- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.type-view/private/config.json
+++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.windows.type-view/private/config.json
@@ -1,6 +1,8 @@
{
- "deviceType": {
- "label": "Windows",
- "category" : "mobile"
- }
+ "deviceType": {
+ "label": "Windows",
+ "category": "mobile",
+ "analyticsEnabled": "false",
+ "groupingEnabled": "false"
+ }
}
diff --git a/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/pom.xml b/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/pom.xml
index 969da2b993..8516d1574f 100644
--- a/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/pom.xml
+++ b/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/pom.xml
@@ -37,19 +37,11 @@
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.androidsense.plugin
-
org.wso2.carbon.devicemgt-plugins
org.wso2.carbon.device.mgt.iot.androidsense.api
war
-
- com.h2database.wso2
- h2-database-engine
-
@@ -195,11 +187,6 @@
org.eclipse.equinox.p2.type.group:true
-
-
- org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.androidsense.plugin:${carbon.devicemgt.plugins.version}
-
-
org.wso2.carbon.core.server:${carbon.kernel.version}
org.wso2.carbon.device.mgt.server:${carbon.devicemgt.version}
diff --git a/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/conf/android-sense-config.xml b/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml
similarity index 76%
rename from features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/conf/android-sense-config.xml
rename to features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml
index d4863f8f7b..6cd702fe4d 100644
--- a/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/conf/android-sense-config.xml
+++ b/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml
@@ -19,22 +19,29 @@
-->
android_sense
+
-
-
- jdbc/AndroidSenseDM_DB
-
-
+
+
+ en_US
+ 1.0.0
+ This is license text
+
+
+
+
+
- carbon.super
false
+
+
MQTT
- androidsense.mqtt.adapter
+ android_sense.mqtt.adapter
tcp://localhost:1883
admin
https://localhost:9443/dynamic-client-web/register
diff --git a/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/p2.inf b/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/p2.inf
index 19be463d0f..a14a4d13ea 100644
--- a/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/p2.inf
+++ b/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/p2.inf
@@ -9,7 +9,8 @@ org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../depl
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.androidsense_${feature.version}/jaggeryapps/,target:${installFolder}/../../deployment/server/jaggeryapps/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../database/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.androidsense_${feature.version}/database/,target:${installFolder}/../../database/,overwrite:true);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.androidsense_${feature.version}/conf/android-sense-config.xml,target:${installFolder}/../../conf/etc/device-mgt-plugins/android-sense-config.xml,overwrite:true);\
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/devicetypes/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.androidsense_${feature.version}/devicetypes/,target:${installFolder}/../../deployment/server/devicetypes/,overwrite:true);\
instructions.unconfigure = \
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/webapps/android_sense.war);\
@@ -24,4 +25,4 @@ org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../dep
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.platform.configuration);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/carbonapps/android_sense.car);\
-org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../conf/etc/device-mgt-plugins/android-sense-config.xml);\
\ No newline at end of file
+org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/devicetypes/android_sense.xml);\
\ No newline at end of file
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/pom.xml b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/pom.xml
index d24fc1641a..9a1bb1615d 100644
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/pom.xml
+++ b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/pom.xml
@@ -36,10 +36,6 @@
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.arduino.plugin
-
org.wso2.carbon.devicemgt-plugins
org.wso2.carbon.device.mgt.iot.arduino.api
@@ -140,42 +136,6 @@
-
-
- org.apache.maven.plugins
- maven-antrun-plugin
-
-
-
- create-arduino-plugin-mgt-schema
- package
-
- run
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
org.wso2.maven
carbon-p2-plugin
@@ -196,11 +156,6 @@
org.eclipse.equinox.p2.type.group:true
-
-
- org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.arduino.plugin:${carbon.devicemgt.plugins.version}
-
-
org.wso2.carbon.core.server:${carbon.kernel.version}
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/datasources/arduino-datasources.xml b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/datasources/arduino-datasources.xml
deleted file mode 100644
index 767bee7fbb..0000000000
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/datasources/arduino-datasources.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
- org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader
-
-
-
-
- Arduino_DB
- The datasource used for the Arduino database
-
- jdbc/ArduinoDM_DB
-
-
-
- jdbc:h2:repository/database/ArduinoDM_DB;DB_CLOSE_ON_EXIT=FALSE
-
- wso2carbon
- wso2carbon
- org.h2.Driver
- 50
- 60000
- true
- SELECT 1
- 30000
-
-
-
-
-
-
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/h2.sql b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/h2.sql
deleted file mode 100644
index 7d5b98b725..0000000000
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/h2.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
--- -----------------------------------------------------
--- Table for `ARDUINO_DEVICE`
--- -----------------------------------------------------
-CREATE TABLE IF NOT EXISTS `ARDUINO_DEVICE` (
- `ARDUINO_DEVICE_ID` VARCHAR(45) NOT NULL ,
- `DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
- PRIMARY KEY (`ARDUINO_DEVICE_ID`) );
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/mssql.sql b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/mssql.sql
deleted file mode 100644
index e966d462af..0000000000
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/mssql.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
--- -----------------------------------------------------
--- Table for `ARDUINO_DEVICE`
--- -----------------------------------------------------
-CREATE TABLE IF NOT EXISTS ARDUINO_DEVICE (
- ARDUINO_DEVICE_ID VARCHAR(45) NOT NULL ,
- DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
- PRIMARY KEY (ARDUINO_DEVICE_ID) );
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/mysql.sql b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/mysql.sql
deleted file mode 100644
index a9d5fd9224..0000000000
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/mysql.sql
+++ /dev/null
@@ -1,12 +0,0 @@
--- -----------------------------------------------------
--- Table for `ARDUINO_DEVICE`
--- -----------------------------------------------------
-CREATE TABLE IF NOT EXISTS `ARDUINO_DEVICE` (
- `ARDUINO_DEVICE_ID` VARCHAR(45) NOT NULL ,
- `DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
- PRIMARY KEY (`ARDUINO_DEVICE_ID`) )
-ENGINE = InnoDB;
-
-
-
-
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/oracle.sql b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/oracle.sql
deleted file mode 100644
index 27139c53f4..0000000000
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/oracle.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
--- -----------------------------------------------------
--- Table for `ARDUINO_DEVICE`
--- -----------------------------------------------------
-CREATE TABLE ARDUINO_DEVICE (
- ARDUINO_DEVICE_ID VARCHAR(45) NOT NULL ,
- DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
- PRIMARY KEY (ARDUINO_DEVICE_ID) );
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/postgresql.sql b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/postgresql.sql
deleted file mode 100644
index e966d462af..0000000000
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/postgresql.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
--- -----------------------------------------------------
--- Table for `ARDUINO_DEVICE`
--- -----------------------------------------------------
-CREATE TABLE IF NOT EXISTS ARDUINO_DEVICE (
- ARDUINO_DEVICE_ID VARCHAR(45) NOT NULL ,
- DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
- PRIMARY KEY (ARDUINO_DEVICE_ID) );
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/conf/arduino-config.xml b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml
similarity index 71%
rename from features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/conf/arduino-config.xml
rename to features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml
index 6cb535f801..4a016c2704 100644
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/conf/arduino-config.xml
+++ b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml
@@ -19,14 +19,19 @@
-->
arduino
+
-
-
- jdbc/ArduinoDM_DB
-
-
+
+
+ en_US
+ 1.0.0
+ This is license text
+
+
+
+
+
- carbon.super
false
diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/p2.inf b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/p2.inf
index c334bcfa88..5164aa76d3 100644
--- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/p2.inf
+++ b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/p2.inf
@@ -4,27 +4,21 @@ org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../featur
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../resources/sketches/);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../resources/sketches/arduino/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/agent/,target:${installFolder}/../../resources/sketches/arduino/,overwrite:true);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/dbscripts/,target:${installFolder}/../../../dbscripts/cdm/plugins/arduino,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/jaggeryapps/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/jaggeryapps/,target:${installFolder}/../../deployment/server/jaggeryapps/,overwrite:true);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/datasources/,target:${installFolder}/../../conf/datasources/,overwrite:true);\
-org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../database/);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/database/,target:${installFolder}/../../database/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/carbonapps/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/carbonapps/,target:${installFolder}/../../deployment/server/carbonapps/,overwrite:true);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/conf/arduino-config.xml,target:${installFolder}/../../conf/etc/device-mgt-plugins/arduino-config.xml,overwrite:true);\
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/devicetypes/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/devicetypes/,target:${installFolder}/../../deployment/server/devicetypes/,overwrite:true);\
instructions.unconfigure = \
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/webapps/arduino.war);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/webapps/arduino);\
-org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../../dbscripts/cdm/plugins/arduino);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../resources/sketches/arduino);\
-org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../conf/datasources/arduino-datasources.xml);\
-org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../database/ArduinoDM_DB.h2.db);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.device-view);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.platform.configuration);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/carbonapps/arduino.car);\
-org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../conf/etc/device-mgt-plugins/arduino-config.xml);\
\ No newline at end of file
+org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/devicetypes/arduino.xml);\
\ No newline at end of file
diff --git a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/pom.xml b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/pom.xml
similarity index 87%
rename from features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/pom.xml
rename to features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/pom.xml
index 83e8a19c9c..18fb85d38c 100644
--- a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/pom.xml
+++ b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/pom.xml
@@ -28,7 +28,7 @@
4.0.0
- org.wso2.carbon.device.mgt.iot.feature
+ org.wso2.carbon.device.mgt.iot.url.printer.feature
pom
2.2.6-SNAPSHOT
WSO2 Carbon - IoT Device Management Feature
@@ -38,20 +38,7 @@
org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
-
-
- org.json.wso2
- json
-
-
-
- org.igniterealtime.smack.wso2
- smack
-
-
- org.igniterealtime.smack.wso2
- smackx
+ org.wso2.carbon.device.mgt.iot.url.printer
@@ -122,7 +109,7 @@
p2-feature-gen
- org.wso2.carbon.device.mgt.iot
+ org.wso2.carbon.device.mgt.iot.url.printer
../../../features/etc/feature.properties
@@ -132,10 +119,7 @@
- org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot:${carbon.devicemgt.plugins.version}
-
-
- org.json.wso2:json:${commons-json.version}
+ org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.url.printer:${carbon.devicemgt.plugins.version}
diff --git a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/build.properties b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/build.properties
similarity index 100%
rename from features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/build.properties
rename to features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/build.properties
diff --git a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/email/templates/user-enrollment.vm b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/email/templates/user-enrollment.vm
similarity index 100%
rename from features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/email/templates/user-enrollment.vm
rename to features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/email/templates/user-enrollment.vm
diff --git a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/email/templates/user-registration.vm b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/email/templates/user-registration.vm
similarity index 100%
rename from features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/email/templates/user-registration.vm
rename to features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/email/templates/user-registration.vm
diff --git a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/p2.inf b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/p2.inf
similarity index 51%
rename from features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/p2.inf
rename to features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/p2.inf
index d15c90c3dd..c18cb2b6db 100644
--- a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/p2.inf
+++ b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/src/main/resources/p2.inf
@@ -1,5 +1,5 @@
instructions.configure = \
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/jaggeryapps/);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot_${feature.version}/jaggeryapps/,target:${installFolder}/../../deployment/server/jaggeryapps/,overwrite:true);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.url.printer_${feature.version}/jaggeryapps/,target:${installFolder}/../../deployment/server/jaggeryapps/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../../repository/resources/email-templates);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot_${feature.version}/email/templates,target:${installFolder}/../../../repository/resources/email-templates,overwrite:true);\
\ No newline at end of file
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.url.printer_${feature.version}/email/templates,target:${installFolder}/../../../repository/resources/email-templates,overwrite:true);\
\ No newline at end of file
diff --git a/features/iot-plugins-feature/iot-base-plugin-feature/pom.xml b/features/iot-plugins-feature/iot-base-plugin-feature/pom.xml
index 9e0e6a20f4..bb4e279032 100644
--- a/features/iot-plugins-feature/iot-base-plugin-feature/pom.xml
+++ b/features/iot-plugins-feature/iot-base-plugin-feature/pom.xml
@@ -34,7 +34,7 @@
http://wso2.org
- org.wso2.carbon.device.mgt.iot.feature
+ org.wso2.carbon.device.mgt.iot.url.printer.feature
org.wso2.carbon.device.mgt.iot.adapter.feature
diff --git a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/pom.xml b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/pom.xml
index 3c5c9bc535..149cddd066 100644
--- a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/pom.xml
+++ b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/pom.xml
@@ -36,10 +36,6 @@
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.raspberrypi.plugin
-
org.wso2.carbon.devicemgt-plugins
org.wso2.carbon.device.mgt.iot.raspberrypi.api
@@ -195,11 +191,6 @@
org.eclipse.equinox.p2.type.group:true
-
-
- org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.raspberrypi.plugin:${carbon.devicemgt.plugins.version}
-
-
org.wso2.carbon.core.server:${carbon.kernel.version}
diff --git a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/conf/raspberrypi-config.xml b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml
similarity index 80%
rename from features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/conf/raspberrypi-config.xml
rename to features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml
index a68818a732..1516d879fc 100644
--- a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/conf/raspberrypi-config.xml
+++ b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml
@@ -19,17 +19,24 @@
-->
raspberrypi
+
-
-
- jdbc/RaspberryPiDM_DB
-
-
+
+
+ en_US
+ 1.0.0
+ This is license text
+
+
+
+
+
- carbon.super
false
+
+
MQTT
diff --git a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/p2.inf b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/p2.inf
index f7c56317e9..a5582cdd14 100644
--- a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/p2.inf
+++ b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/p2.inf
@@ -12,7 +12,9 @@ org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../data
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.raspberrypi_${feature.version}/database/,target:${installFolder}/../../database/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/carbonapps/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.raspberrypi_${feature.version}/carbonapps/,target:${installFolder}/../../deployment/server/carbonapps/,overwrite:true);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.raspberrypi_${feature.version}/conf/raspberrypi-config.xml,target:${installFolder}/../../conf/etc/device-mgt-plugins/raspberrypi-config.xml,overwrite:true);\
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/devicetypes/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.raspberrypi_${feature.version}/devicetypes/,target:${installFolder}/../../deployment/server/devicetypes/,overwrite:true);\
+
instructions.unconfigure = \
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/webapps/raspberrypi.war);\
@@ -27,4 +29,4 @@ org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../dep
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.platform.configuration);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/carbonapps/raspberrypi.car);\
-org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../conf/etc/device-mgt-plugins/raspberrypi-config.xml);\
\ No newline at end of file
+org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/devicetypes/raspberrypi.xml);\
\ No newline at end of file
diff --git a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/conf/virtual_firealarm.xml b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/conf/virtual_firealarm.xml
new file mode 100644
index 0000000000..6481df82cd
--- /dev/null
+++ b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/conf/virtual_firealarm.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+ MQTT
+
+ virtualfirealarm.mqtt.adapter
+ tcp://localhost:1883
+ admin
+ https://localhost:9443/dynamic-client-web/register
+ 0
+
+ true
+
+
+
+
+
diff --git a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/conf/virtual-fire-alarm-config.xml b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/devicetypes/virtual_firealarm.xml
similarity index 84%
rename from features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/conf/virtual-fire-alarm-config.xml
rename to features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/devicetypes/virtual_firealarm.xml
index f2eb16ae57..fea9f37034 100644
--- a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/conf/virtual-fire-alarm-config.xml
+++ b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/devicetypes/virtual_firealarm.xml
@@ -19,17 +19,24 @@
-->
virtual_firealarm
+
-
-
- jdbc/VirtualFireAlarmDM_DB
-
-
+
+
+ en_US
+ 1.0.0
+ This is license text
+
+
+
+
+
- carbon.super
false
+
+
MQTT
diff --git a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/p2.inf b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/p2.inf
index c0b986f999..7a18d54a30 100644
--- a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/p2.inf
+++ b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/p2.inf
@@ -15,7 +15,10 @@ org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../featur
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../resources/security/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.virtualfirealarm_${feature.version}/certs/,target:${installFolder}/../../resources/security/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../resources/device-types/);\
-org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.virtualfirealarm_${feature.version}/conf/virtual-fire-alarm-config.xml,target:${installFolder}/../../conf/etc/device-mgt-plugins/virtual-fire-alarm-config.xml,overwrite:true);\
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/devicetypes/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.virtualfirealarm_${feature.version}/devicetypes/,target:${installFolder}/../../deployment/server/devicetypes/,overwrite:true);\
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../conf/etc/device-mgt-plugins/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.virtualfirealarm_${feature.version}/conf/virtual_firealarm.xml,target:${installFolder}/../../conf/etc/device-mgt-plugins/virtual_firealarm.xml,overwrite:true);\
instructions.unconfigure = \
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/webapps/virtual_firealarm.war);\
@@ -36,4 +39,5 @@ org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../dep
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.realtime.analytics-view);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.policy-wizard);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../resources/security/wso2certs.jks);\
-org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../conf/etc/device-mgt-plugins/virtual-fire-alarm-config.xml);\
+org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/devicetypes/virtual_firealarm.xml);\
+org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../conf/etc/device-mgt-plugins/virtual_firealarm.xml);\
diff --git a/pom.xml b/pom.xml
index 8ff78b1b25..c0ef912aa8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -362,7 +362,7 @@
org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot
+ org.wso2.carbon.device.mgt.iot.url.printer
${carbon.devicemgt.plugins.version}
@@ -413,11 +413,6 @@
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.androidsense.plugin
- ${carbon.devicemgt.plugins.version}
-
org.wso2.carbon.devicemgt-plugins
org.wso2.carbon.device.mgt.iot.androidsense.api
@@ -426,11 +421,6 @@
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.arduino.plugin
- ${carbon.devicemgt.plugins.version}
-
org.wso2.carbon.devicemgt-plugins
org.wso2.carbon.device.mgt.iot.arduino.api
@@ -439,11 +429,6 @@
-
- org.wso2.carbon.devicemgt-plugins
- org.wso2.carbon.device.mgt.iot.raspberrypi.plugin
- ${carbon.devicemgt.plugins.version}
-
org.wso2.carbon.devicemgt-plugins
org.wso2.carbon.device.mgt.iot.raspberrypi.api