From 23138855a77799c489b8b3ce69e7285f929ea819 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sun, 23 Oct 2016 01:24:58 +0530 Subject: [PATCH 01/32] added changes in feature extraction for device types --- .../plugin/impl/feature/AndroidSenseFeatureManager.java | 5 +++-- .../arduino/plugin/impl/feature/ArduinoFeatureManager.java | 5 +++-- .../plugin/impl/feature/RaspberrypiFeatureManager.java | 5 +++-- .../plugin/impl/feature/VirtualFirealarmFeatureManager.java | 5 +++-- 4 files changed, 12 insertions(+), 8 deletions(-) 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 index 1fb947ae6..2545e8159 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/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 @@ -17,6 +17,7 @@ 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.DeviceTypeIdentifier; 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; @@ -38,13 +39,13 @@ public class AndroidSenseFeatureManager implements FeatureManager { @Override public Feature getFeature(String name) throws DeviceManagementException { GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeature(AndroidSenseConstants.DEVICE_TYPE, name); + return genericFeatureManager.getFeature(new DeviceTypeIdentifier(AndroidSenseConstants.DEVICE_TYPE), name); } @Override public List getFeatures() throws DeviceManagementException { GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeatures(AndroidSenseConstants.DEVICE_TYPE); + return genericFeatureManager.getFeatures(new DeviceTypeIdentifier(AndroidSenseConstants.DEVICE_TYPE)); } @Override 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 index d693f8e5b..5ffdbcfe1 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/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 @@ -17,6 +17,7 @@ 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.DeviceTypeIdentifier; 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; @@ -38,13 +39,13 @@ public class ArduinoFeatureManager implements FeatureManager { @Override public Feature getFeature(String name) throws DeviceManagementException { GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeature(ArduinoConstants.DEVICE_TYPE, name); + return genericFeatureManager.getFeature(new DeviceTypeIdentifier(ArduinoConstants.DEVICE_TYPE), name); } @Override public List getFeatures() throws DeviceManagementException { GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeatures(ArduinoConstants.DEVICE_TYPE); + return genericFeatureManager.getFeatures(new DeviceTypeIdentifier(ArduinoConstants.DEVICE_TYPE)); } @Override 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 index 755b7ae0d..5cbe715e3 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/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 @@ -16,6 +16,7 @@ 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.DeviceTypeIdentifier; 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; @@ -37,13 +38,13 @@ public class RaspberrypiFeatureManager implements FeatureManager { @Override public Feature getFeature(String name) throws DeviceManagementException { GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeature(RaspberrypiConstants.DEVICE_TYPE, name); + return genericFeatureManager.getFeature(new DeviceTypeIdentifier(RaspberrypiConstants.DEVICE_TYPE), name); } @Override public List getFeatures() throws DeviceManagementException { GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeatures(RaspberrypiConstants.DEVICE_TYPE); + return genericFeatureManager.getFeatures(new DeviceTypeIdentifier(RaspberrypiConstants.DEVICE_TYPE)); } @Override 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 index 7290b6179..23159ebfd 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/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 @@ -16,6 +16,7 @@ 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.DeviceTypeIdentifier; 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; @@ -37,13 +38,13 @@ public class VirtualFirealarmFeatureManager implements FeatureManager{ @Override public Feature getFeature(String name) throws DeviceManagementException { GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeature(VirtualFireAlarmConstants.DEVICE_TYPE, name); + return genericFeatureManager.getFeature(new DeviceTypeIdentifier(VirtualFireAlarmConstants.DEVICE_TYPE), name); } @Override public List getFeatures() throws DeviceManagementException { GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeatures(VirtualFireAlarmConstants.DEVICE_TYPE); + return genericFeatureManager.getFeatures(new DeviceTypeIdentifier(VirtualFireAlarmConstants.DEVICE_TYPE)); } @Override From aa518e6b6c0237ad9e0976703b690175316fafd7 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sun, 23 Oct 2016 14:24:15 +0530 Subject: [PATCH 02/32] few changes to support the deployer --- .../src/main/webapp/WEB-INF/web.xml | 4 -- ...alFirealarmManagementServiceComponent.java | 32 ++++----- .../devicetypes/virtual_firealarm.xml | 68 +++++++++++++++++++ .../src/main/resources/p2.inf | 4 ++ 4 files changed, 88 insertions(+), 20 deletions(-) create mode 100644 features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/devicetypes/virtual_firealarm.xml 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 2f18393cf..2d1c6e26b 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/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 47f3a7f27..494b8547a 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 @@ -75,10 +75,10 @@ public class VirtualFirealarmManagementServiceComponent { } try { - VirtualFireAlarmManagerService virtualFireAlarmManagerService = new VirtualFireAlarmManagerService(); + // VirtualFireAlarmManagerService virtualFireAlarmManagerService = new VirtualFireAlarmManagerService(); BundleContext bundleContext = ctx.getBundleContext(); - firealarmServiceRegRef = bundleContext.registerService(DeviceManagementService.class.getName() - ,virtualFireAlarmManagerService, null); +// firealarmServiceRegRef = bundleContext.registerService(DeviceManagementService.class.getName() +// ,virtualFireAlarmManagerService, null); bundleContext.registerService(ServerStartupObserver.class.getName(), new VirtualFirealarmStartupListener(), null); String setupOption = System.getProperty("setup"); @@ -103,19 +103,19 @@ public class VirtualFirealarmManagementServiceComponent { } protected void deactivate(ComponentContext ctx) { - 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); - } +// 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); +// } } /** diff --git a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/devicetypes/virtual_firealarm.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 new file mode 100644 index 000000000..11ff166ed --- /dev/null +++ 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 @@ -0,0 +1,68 @@ + + + + + virtual_firealarm + + + + + + + + + + + + + + + + + + en_US + 1.0.0 + This is license text + + + + + + + false + + + + + + + MQTT + true + + + sample.mqtt.adapter.sample + 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/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 c0b986f99..01279ba1f 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 @@ -16,6 +16,9 @@ org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../reso 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);\ + instructions.unconfigure = \ org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/../../deployment/server/webapps/virtual_firealarm.war);\ @@ -37,3 +40,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.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);\ \ No newline at end of file From 8906d964b03f1b0d7a67f228f83b0d87430fec23 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Mon, 24 Oct 2016 09:40:53 +0530 Subject: [PATCH 03/32] refactored device type after changes done for the deployer --- .../constants/AndroidSenseConstants.java | 6 +- .../service/impl/util/Constants.java | 30 -- .../pom.xml | 116 -------- .../AndroidSenseDeviceMgtPluginException.java | 56 ---- .../plugin/impl/AndroidSenseManager.java | 256 ----------------- .../impl/AndroidSenseManagerService.java | 61 ----- .../plugin/impl/dao/AndroidSenseDAO.java | 197 ------------- .../plugin/impl/dao/AndroidSenseDAOUtil.java | 130 --------- .../feature/AndroidSenseFeatureManager.java | 60 ---- .../plugin/impl/util/AndroidSenseUtils.java | 111 -------- .../impl/util/DeviceSchemaInitializer.java | 52 ---- .../AndroidSenseManagementDataHolder.java | 47 ---- ...ndroidSenseManagementServiceComponent.java | 117 -------- .../impl}/constants/ArduinoConstants.java | 2 +- .../service/impl}/util/ZipArchive.java | 2 +- .../pom.xml | 121 -------- .../ArduinoDeviceMgtPluginException.java | 56 ---- .../arduino/plugin/impl/ArduinoManager.java | 259 ------------------ .../plugin/impl/ArduinoManagerService.java | 65 ----- .../plugin/impl/dao/ArduinoDAOUtil.java | 132 --------- .../plugin/impl/dao/ArduinoDeviceDAO.java | 196 ------------- .../impl/feature/ArduinoFeatureManager.java | 60 ---- .../plugin/impl/util/ArduinoUtils.java | 125 --------- .../impl/util/DeviceSchemaInitializer.java | 52 ---- .../internal/ArduinoManagementDataHolder.java | 47 ---- .../ArduinoManagementServiceComponent.java | 121 -------- .../pom.xml | 0 .../mgt/iot}/URLPrinterStartupHandler.java | 2 +- .../iot/internal/UrlPrinterDataHolder.java | 34 +++ .../internal/UrlPrinterServiceComponent.java} | 8 +- .../url/printer/URLPrinterStartupHandler.java | 60 ++++ .../internal/UrlPrinterDataHolder.java} | 10 +- .../internal/UrlPrinterServiceComponent.java | 79 ++++++ .../DeviceTypeConfigIdentifier.java | 48 ---- .../devicetype/DeviceTypeConfigService.java | 18 -- .../DeviceTypeConfigServiceImpl.java | 72 ----- .../devicetype/config/DataSourceConfig.java | 40 --- .../DeviceManagementConfigRepository.java | 50 ---- .../config/JNDILookupDefinition.java | 83 ------ .../devicetype/config/ProvisioningConfig.java | 49 ---- .../InvalidConfigurationStateException.java | 53 ---- .../devicetype/util/DeviceTypeConfigUtil.java | 52 ---- .../impl}/constants/RaspberrypiConstants.java | 6 +- .../service/impl/util/ZipArchive.java | 43 +++ .../pom.xml | 125 --------- .../RaspberrypiDeviceMgtPluginException.java | 56 ---- .../plugin/impl/RaspberrypiManager.java | 254 ----------------- .../impl/RaspberrypiManagerService.java | 90 ------ .../plugin/impl/dao/RaspberrypiDAOUtil.java | 131 --------- .../plugin/impl/dao/RaspberrypiDeviceDAO.java | 190 ------------- .../feature/RaspberrypiFeatureManager.java | 59 ---- .../impl/util/DeviceSchemaInitializer.java | 52 ---- .../plugin/impl/util/RaspberrypiUtils.java | 112 -------- .../RaspberrypiManagementDataHolder.java | 49 ---- ...RaspberrypiManagementServiceComponent.java | 119 -------- .../service/impl/util/ZipArchive.java | 43 +++ .../service/impl/util}/util/Utils.java | 2 +- .../config/DeviceManagementConfiguration.java | 2 +- .../config/EventListenerConfiguration.java} | 4 +- .../plugin/config/VirtualFirealarmConfig.java | 55 ++++ ...rtualFirealarmConfigurationException.java} | 18 +- .../plugin/impl/VirtualFireAlarmManager.java | 256 ----------------- .../impl/VirtualFireAlarmManagerService.java | 89 ------ .../{util => }/VirtualFireAlarmUtils.java | 2 +- ...tualFirealarmEventAdapterSubscription.java | 2 +- ...irtualFirealarmMqttContentTransformer.java | 3 +- .../VirtualFirealarmSecurityManager.java | 2 +- .../VirtualFirealarmStartupListener.java | 2 +- ...irtualFirealarmXmppContentTransformer.java | 2 +- .../impl/dao/VirtualFireAlarmDAOUtil.java | 132 --------- .../impl/dao/VirtualFireAlarmDeviceDAO.java | 195 ------------- .../VirtualFirealarmFeatureManager.java | 59 ---- .../impl/util/DeviceSchemaInitializer.java | 52 ---- .../resources/devicetypes/android_sense.xml} | 30 +- .../main/resources/conf/arduino-config.xml | 33 --- .../datasources/arduino-datasources.xml | 48 ---- .../src/main/resources/dbscripts/h2.sql | 8 - .../src/main/resources/dbscripts/mssql.sql | 8 - .../src/main/resources/dbscripts/mysql.sql | 12 - .../src/main/resources/dbscripts/oracle.sql | 8 - .../main/resources/dbscripts/postgresql.sql | 8 - .../main/resources/devicetypes/arduino.xml} | 34 ++- .../pom.xml | 0 .../src/main/resources/build.properties | 0 .../email/templates/user-enrollment.vm | 0 .../email/templates/user-registration.vm | 0 .../src/main/resources/p2.inf | 0 .../resources/devicetypes/raspberrypi.xml | 64 +++++ ...alarm-config.xml => virtual_firealarm.xml} | 0 89 files changed, 461 insertions(+), 5133 deletions(-) rename components/iot-plugins/androidsense-plugin/{org.wso2.carbon.device.mgt.iot.androidsense.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/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 (93%) delete mode 100644 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 delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.plugin/pom.xml delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 rename components/iot-plugins/arduino-plugin/{org.wso2.carbon.device.mgt.iot.arduino.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/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 (94%) rename components/iot-plugins/{iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot => 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 (94%) delete mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/pom.xml delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 rename components/iot-plugins/iot-base-plugin/{org.wso2.carbon.device.mgt.iot => org.wso2.carbon.device.mgt.iot.url.printer}/pom.xml (100%) rename components/iot-plugins/iot-base-plugin/{org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer => org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot}/URLPrinterStartupHandler.java (97%) create mode 100644 components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterDataHolder.java rename components/iot-plugins/iot-base-plugin/{org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/internal/IotDeviceManagementServiceComponent.java => org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterServiceComponent.java} (90%) create mode 100644 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 rename components/iot-plugins/iot-base-plugin/{org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/internal/IoTDeviceManagementDataHolder.java => org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/internal/UrlPrinterDataHolder.java} (79%) create mode 100644 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 delete mode 100644 components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigIdentifier.java delete mode 100644 components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigService.java delete mode 100644 components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype/DeviceTypeConfigServiceImpl.java delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 rename components/iot-plugins/raspberrypi-plugin/{org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/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 (91%) create mode 100644 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 delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/pom.xml delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 create mode 100644 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 rename components/iot-plugins/{iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot => 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 (99%) rename components/iot-plugins/{iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/devicetype => 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 (96%) rename 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 => 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} (95%) create mode 100644 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 rename 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 => 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} (59%) delete mode 100644 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 delete mode 100644 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 rename 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 (99%) rename 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 (98%) rename 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 (98%) rename 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 (99%) rename 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 (99%) rename 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 (99%) delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 rename features/iot-plugins-feature/{raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/conf/raspberrypi-config.xml => androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml} (63%) delete mode 100644 features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/conf/arduino-config.xml delete mode 100644 features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/datasources/arduino-datasources.xml delete mode 100644 features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/h2.sql delete mode 100644 features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/mssql.sql delete mode 100644 features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/mysql.sql delete mode 100644 features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/oracle.sql delete mode 100644 features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/dbscripts/postgresql.sql rename features/iot-plugins-feature/{androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/conf/android-sense-config.xml => arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml} (58%) rename features/iot-plugins-feature/iot-base-plugin-feature/{org.wso2.carbon.device.mgt.iot.feature => org.wso2.carbon.device.mgt.iot.url.printer.feature}/pom.xml (100%) rename features/iot-plugins-feature/iot-base-plugin-feature/{org.wso2.carbon.device.mgt.iot.feature => org.wso2.carbon.device.mgt.iot.url.printer.feature}/src/main/resources/build.properties (100%) rename features/iot-plugins-feature/iot-base-plugin-feature/{org.wso2.carbon.device.mgt.iot.feature => org.wso2.carbon.device.mgt.iot.url.printer.feature}/src/main/resources/email/templates/user-enrollment.vm (100%) rename features/iot-plugins-feature/iot-base-plugin-feature/{org.wso2.carbon.device.mgt.iot.feature => org.wso2.carbon.device.mgt.iot.url.printer.feature}/src/main/resources/email/templates/user-registration.vm (100%) rename features/iot-plugins-feature/iot-base-plugin-feature/{org.wso2.carbon.device.mgt.iot.feature => org.wso2.carbon.device.mgt.iot.url.printer.feature}/src/main/resources/p2.inf (100%) create mode 100644 features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml rename 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 => virtual_firealarm.xml} (100%) 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 93% 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 8f43f2476..26e7691d2 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,11 +14,7 @@ * 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 { 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 7d64d635d..000000000 --- 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 0c5b804a4..000000000 --- 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.5-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 - 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 88557cd9f..000000000 --- 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 fff692b37..000000000 --- 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 b1af7a224..000000000 --- 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 dbd6aae64..000000000 --- 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 1bb916ea0..000000000 --- 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 2545e8159..000000000 --- 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,60 +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.DeviceTypeIdentifier; -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(new DeviceTypeIdentifier(AndroidSenseConstants.DEVICE_TYPE), name); - } - - @Override - public List getFeatures() throws DeviceManagementException { - GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeatures(new DeviceTypeIdentifier(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 e8851df8a..000000000 --- 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 7b02de7e8..000000000 --- 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 4f29fc05b..000000000 --- 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 7058602da..000000000 --- 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/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 94% 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 1d916e136..ae2721e5d 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,7 +16,7 @@ * 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"; 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 31e5bf3cb..1048e8769 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.plugin/pom.xml b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.plugin/pom.xml deleted file mode 100644 index 9ae3274b3..000000000 --- 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.5-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 - 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 93dc15683..000000000 --- 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 c3d80d8d6..000000000 --- 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 743e9fb48..000000000 --- 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 2d83b966b..000000000 --- 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 411f88e10..000000000 --- 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 5ffdbcfe1..000000000 --- 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,60 +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.DeviceTypeIdentifier; -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(new DeviceTypeIdentifier(ArduinoConstants.DEVICE_TYPE), name); - } - - @Override - public List getFeatures() throws DeviceManagementException { - GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeatures(new DeviceTypeIdentifier(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 f4207d72e..000000000 --- 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 eff15d20f..000000000 --- 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 60a697f6c..000000000 --- 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 f78007edf..000000000 --- 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/iot-base-plugin/org.wso2.carbon.device.mgt.iot/pom.xml b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/pom.xml similarity index 100% rename from components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/pom.xml rename to components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/pom.xml 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/URLPrinterStartupHandler.java similarity index 97% 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/URLPrinterStartupHandler.java index d9cbc4ae7..39adfd9ae 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/URLPrinterStartupHandler.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.device.mgt.iot.url.printer; +package org.wso2.carbon.device.mgt.iot; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterDataHolder.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/internal/UrlPrinterDataHolder.java new file mode 100644 index 000000000..41c39fd2d --- /dev/null +++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterDataHolder.java @@ -0,0 +1,34 @@ +/* + * 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.internal; + +import org.wso2.carbon.utils.ConfigurationContextService; + +public class UrlPrinterDataHolder { + + private static UrlPrinterDataHolder thisInstance = new UrlPrinterDataHolder(); + + private UrlPrinterDataHolder() {} + + 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/internal/UrlPrinterServiceComponent.java similarity index 90% 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/internal/UrlPrinterServiceComponent.java index 87483048a..3cd734802 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/internal/UrlPrinterServiceComponent.java @@ -25,11 +25,11 @@ 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.device.mgt.iot.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,9 +38,9 @@ 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()) { diff --git a/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 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 new file mode 100644 index 000000000..28d1943cf --- /dev/null +++ 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 @@ -0,0 +1,60 @@ +/* + * 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.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.url.printer.internal.UrlPrinterDataHolder; +import org.wso2.carbon.utils.CarbonUtils; +import org.wso2.carbon.utils.ConfigurationContextService; +import org.wso2.carbon.utils.NetworkUtils; + +public class URLPrinterStartupHandler implements ServerStartupObserver { + private static final Log log = LogFactory.getLog(URLPrinterStartupHandler.class); + + @Override + public void completingServerStartup() { + } + + @Override + public void completedServerStartup() { + log.info("IoT Console URL : " + this.getServerUrl()); + } + + private String getServerUrl() { + // Hostname + String hostName = "localhost"; + try { + hostName = NetworkUtils.getMgtHostName(); + } catch (Exception ignored) { + } + // HTTPS port + String mgtConsoleTransport = CarbonUtils.getManagementTransport(); + ConfigurationContextService configContextService = + UrlPrinterDataHolder.getInstance().getConfigurationContextService(); + int port = CarbonUtils.getTransportPort(configContextService, mgtConsoleTransport); + int httpsProxyPort = + CarbonUtils.getTransportProxyPort(configContextService.getServerConfigContext(), mgtConsoleTransport); + if (httpsProxyPort > 0) { + port = httpsProxyPort; + } + return "https://" + hostName + ":" + port + "/devicemgt"; + } +} 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 76edfc41c..cd74cbe24 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.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/url/printer/internal/UrlPrinterServiceComponent.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 new file mode 100644 index 000000000..e2dd93ab9 --- /dev/null +++ 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 @@ -0,0 +1,79 @@ +/* + * 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.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.URLPrinterStartupHandler; +import org.wso2.carbon.utils.ConfigurationContextService; + +/** + * @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" + * cardinality="0..1" + * policy="dynamic" + * bind="setConfigurationContextService" + * unbind="unsetConfigurationContextService" + */ +public class UrlPrinterServiceComponent { + + private static final Log log = LogFactory.getLog(UrlPrinterServiceComponent.class); + + protected void activate(ComponentContext ctx) { + if (log.isDebugEnabled()) { + 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("Url printer Service Component has been successfully activated"); + } + } catch (Throwable e) { + log.error("Error occurred while activating Url printer Service Component", e); + } + } + + protected void deactivate(ComponentContext ctx) { + if (log.isDebugEnabled()) { + log.debug("De-activating Url printer Service Component"); + } + } + + protected void setConfigurationContextService(ConfigurationContextService configurationContextService) { + if (log.isDebugEnabled()) { + log.debug("Setting ConfigurationContextService"); + } + + UrlPrinterDataHolder.getInstance().setConfigurationContextService(configurationContextService); + + } + + protected void unsetConfigurationContextService(ConfigurationContextService configurationContextService) { + if (log.isDebugEnabled()) { + log.debug("Un-setting ConfigurationContextService"); + } + UrlPrinterDataHolder.getInstance().setConfigurationContextService(null); + } +} 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 4d06cef39..000000000 --- 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 fc1bf27d6..000000000 --- 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 fbdc9b37f..000000000 --- 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 1b8c33765..000000000 --- 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 680935c7d..000000000 --- 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/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 370bb1c2d..000000000 --- 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 7185212d4..000000000 --- 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 fdbee792e..000000000 --- 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 a32a88bdf..000000000 --- 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/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 91% 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 9dae80462..7bcdadccc 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,11 +16,7 @@ * 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 { 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 000000000..eb5ed95da --- /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.plugin/pom.xml b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.plugin/pom.xml deleted file mode 100644 index 189e2de7d..000000000 --- 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.5-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 - 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 805775195..000000000 --- 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 00370b8bf..000000000 --- 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 b0c3858c7..000000000 --- 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 fd1adbc4d..000000000 --- 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 83cb3f51c..000000000 --- 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 5cbe715e3..000000000 --- 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,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.raspberrypi.plugin.impl.feature; - -import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.device.mgt.common.DeviceTypeIdentifier; -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(new DeviceTypeIdentifier(RaspberrypiConstants.DEVICE_TYPE), name); - } - - @Override - public List getFeatures() throws DeviceManagementException { - GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeatures(new DeviceTypeIdentifier(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 ba790567a..000000000 --- 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 8bd1b6e2e..000000000 --- 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 a582b54ed..000000000 --- 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 9b4e3de02..000000000 --- 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/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 000000000..22fda92b3 --- /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/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/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 similarity index 99% rename from components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java rename to 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 index c11176983..18dea23f5 100644 --- 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/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 @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.device.mgt.iot.util; +package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.util; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; 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/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 similarity index 96% 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/DeviceManagementConfiguration.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/DeviceManagementConfiguration.java index 369b9af67..18ee2a386 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/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 @@ -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 org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 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 95% 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 71f8eb687..59156897e 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; @@ -26,7 +26,7 @@ import javax.xml.bind.annotation.XmlValue; import java.util.List; @XmlRootElement(name = "PushNotificationConfiguration") -public class PushNotificationConfig { +public class EventListenerConfiguration { private String pushNotificationProvider; private List properties; 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 000000000..49f08d16d --- /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,55 @@ +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 DeviceManagementConfiguration deviceManagementConfiguration; + + 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); + } + + } + + private DeviceManagementConfiguration getDeviceTypeConfiguration(File configurationFile) { + 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 aa0735c10..0cba81bcc 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 96617f47b..000000000 --- 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 6b93ecce8..000000000 --- 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 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/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 66d5d7747..471dce671 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; 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 25489d9b5..89c977260 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 65b55f980..0cf2a6cfa 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 9a8defc4b..9ff12424b 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 b9075fcf0..70dbcc7d9 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 9a7b7d518..849091b74 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 7cde7981f..000000000 --- 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 c20a83372..000000000 --- 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 23159ebfd..000000000 --- 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,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.virtualfirealarm.plugin.impl.feature; - -import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.device.mgt.common.DeviceTypeIdentifier; -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(new DeviceTypeIdentifier(VirtualFireAlarmConstants.DEVICE_TYPE), name); - } - - @Override - public List getFeatures() throws DeviceManagementException { - GenericFeatureManager genericFeatureManager = GenericFeatureManager.getInstance(); - return genericFeatureManager.getFeatures(new DeviceTypeIdentifier(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 a738386af..000000000 --- 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/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/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml similarity index 63% 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/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml index a68818a73..14434b2d3 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/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml @@ -19,17 +19,24 @@ --> raspberrypi + - - - jdbc/RaspberryPiDM_DB - - + + + en_US + 1.0.0 + This is license text + + + + + - carbon.super false + + MQTT @@ -42,5 +49,16 @@ true + + 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/conf/arduino-config.xml deleted file mode 100644 index 6cb535f80..000000000 --- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/conf/arduino-config.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - arduino - - - - jdbc/ArduinoDM_DB - - - - carbon.super - false - - - 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 767bee7fb..000000000 --- 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 7d5b98b72..000000000 --- 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 e966d462a..000000000 --- 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 a9d5fd922..000000000 --- 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 27139c53f..000000000 --- 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 e966d462a..000000000 --- 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/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/conf/android-sense-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 58% 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/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml index d4863f8f7..14434b2d3 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/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml @@ -18,23 +18,30 @@ ~ under the License. --> - android_sense + raspberrypi + - - - jdbc/AndroidSenseDM_DB - - + + + en_US + 1.0.0 + This is license text + + + + + - carbon.super false + + MQTT - androidsense.mqtt.adapter + raspberrypi.mqtt.adapter tcp://localhost:1883 admin https://localhost:9443/dynamic-client-web/register @@ -42,5 +49,16 @@ true + + 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 100% 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 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 100% 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 diff --git a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml new file mode 100644 index 000000000..fea9f3703 --- /dev/null +++ b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml @@ -0,0 +1,64 @@ + + + + + virtual_firealarm + + + + + en_US + 1.0.0 + This is license text + + + + + + + false + + + + + + + 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/conf/virtual_firealarm.xml similarity index 100% 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/conf/virtual_firealarm.xml From b195759dcf31840d242ae41d6ecf08f50754d847 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Mon, 24 Oct 2016 09:41:31 +0530 Subject: [PATCH 04/32] refactored device type after changes done for the deployer --- .../pom.xml | 28 +- .../service/impl/AndroidSenseServiceImpl.java | 8 +- .../impl/constants/AndroidSenseConstants.java | 8 +- .../service/impl/util/APIUtil.java | 26 +- .../iot-plugins/androidsense-plugin/pom.xml | 1 - .../pom.xml | 26 +- .../service/impl/ArduinoServiceImpl.java | 5 +- .../impl/constants/ArduinoConstants.java | 3 - .../impl/util/ArduinoServiceUtils.java | 6 +- .../arduino/service/impl/util/ZipUtil.java | 251 +++++++++++++++++- components/iot-plugins/arduino-plugin/pom.xml | 1 - .../pom.xml | 117 +------- .../mgt/iot/URLPrinterStartupHandler.java | 60 ----- .../iot/internal/UrlPrinterDataHolder.java | 34 --- .../internal/UrlPrinterServiceComponent.java | 85 ------ .../internal/UrlPrinterServiceComponent.java | 2 +- .../iot-plugins/iot-base-plugin/pom.xml | 2 +- .../pom.xml | 33 +-- .../service/impl/RaspberryPiServiceImpl.java | 4 +- .../impl/constants/RaspberrypiConstants.java | 3 - .../service/impl/util/ZipUtil.java | 251 +++++++++++++++++- .../iot-plugins/raspberrypi-plugin/pom.xml | 1 - .../pom.xml | 30 +-- .../impl/VirtualFireAlarmServiceImpl.java | 4 +- .../util/VirtualFireAlarmServiceUtils.java | 4 +- .../service/impl/util/ZipUtil.java | 250 ++++++++++++++++- .../service/impl/util/util/Utils.java | 224 +--------------- .../pom.xml | 9 +- .../config/DeviceManagementConfiguration.java | 30 +-- .../config/EventListenerConfiguration.java | 14 +- .../plugin/config/VirtualFirealarmConfig.java | 7 +- .../plugin/impl/VirtualFireAlarmUtils.java | 65 ----- .../VirtualFirealarmManagementDataHolder.java | 11 - ...alFirealarmManagementServiceComponent.java | 57 +--- .../plugin/mqtt/MqttConfig.java | 22 +- .../plugin/xmpp/XmppConfig.java | 19 +- .../pom.xml | 13 - .../resources/devicetypes/android_sense.xml | 15 +- .../src/main/resources/p2.inf | 5 +- .../pom.xml | 45 ---- .../main/resources/devicetypes/arduino.xml | 28 +- .../src/main/resources/p2.inf | 12 +- .../pom.xml | 24 +- .../src/main/resources/p2.inf | 4 +- .../iot-base-plugin-feature/pom.xml | 2 +- .../pom.xml | 9 - .../resources/devicetypes/raspberrypi.xml | 15 +- .../src/main/resources/p2.inf | 6 +- .../main/resources/conf/virtual_firealarm.xml | 18 +- .../devicetypes/virtual_firealarm.xml | 30 +-- .../src/main/resources/p2.inf | 8 +- pom.xml | 17 +- 52 files changed, 907 insertions(+), 1045 deletions(-) delete mode 100644 components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/URLPrinterStartupHandler.java delete mode 100644 components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterDataHolder.java delete mode 100644 components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterServiceComponent.java 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 a5834da96..2e250eb6d 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 f1483e417..02643410f 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; @@ -286,8 +284,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.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/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 index 26e7691d2..ea62644b9 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/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 @@ -19,8 +19,6 @@ 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"; @@ -35,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 2dbe9d7e0..b07ca4b1a 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.core.AnalyticsDataServiceUtils; 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/pom.xml b/components/iot-plugins/androidsense-plugin/pom.xml index 4438378f0..bada159fe 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 3186c36b6..53906c427 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 a2fae963b..acc6adae6 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.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/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 index ae2721e5d..8a438574e 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/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 @@ -20,9 +20,6 @@ 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 bf9f0dcc2..4d1087345 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/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 99b381a27..414b24847 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/pom.xml b/components/iot-plugins/arduino-plugin/pom.xml index 1c202c5c4..a182484ca 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 index 3e2a8cc02..8aba9cf0f 100644 --- 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 @@ -28,10 +28,10 @@ 4.0.0 - org.wso2.carbon.device.mgt.iot + org.wso2.carbon.device.mgt.iot.url.printer bundle - WSO2 Carbon - IoT Device Management Common Impl - WSO2 Carbon - IoT Device Management and Control Implementation + WSO2 Carbon - IoT url printer + WSO2 Carbon - IoT url printer http://wso2.org @@ -59,44 +59,23 @@ ${project.artifactId} ${carbon.devicemgt.plugins.version} IoT Server Impl Bundle - org.wso2.carbon.device.mgt.iot.internal + org.wso2.carbon.device.mgt.iot.url.printer.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.apache.axis2.*;version="${axis2.osgi.version.range}", 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.utils.*, - !org.wso2.carbon.device.mgt.iot.internal, - org.wso2.carbon.device.mgt.iot.*;version="${project.version}" + !org.wso2.carbon.device.mgt.iot.url.printer.internal, + org.wso2.carbon.device.mgt.iot.url.printer.*;version="${project.version}" - - - - - - - - - - - - - - @@ -111,89 +90,19 @@ 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.core 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.logging 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.analytics-common - org.wso2.carbon.databridge.core - - - 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 + org.wso2.carbon.utils - commons-codec - commons-codec + org.apache.axis2.wso2 + axis2 diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/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/URLPrinterStartupHandler.java deleted file mode 100644 index 39adfd9ae..000000000 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/URLPrinterStartupHandler.java +++ /dev/null @@ -1,60 +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; - -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.utils.CarbonUtils; -import org.wso2.carbon.utils.ConfigurationContextService; -import org.wso2.carbon.utils.NetworkUtils; - -public class URLPrinterStartupHandler implements ServerStartupObserver { - private static final Log log = LogFactory.getLog(URLPrinterStartupHandler.class); - - @Override - public void completingServerStartup() { - } - - @Override - public void completedServerStartup() { - log.info("IoT Console URL : " + this.getIoTUrl()); - } - - private String getIoTUrl() { - // Hostname - String hostName = "localhost"; - try { - hostName = NetworkUtils.getMgtHostName(); - } catch (Exception ignored) { - } - // HTTPS port - String mgtConsoleTransport = CarbonUtils.getManagementTransport(); - ConfigurationContextService configContextService = - IoTDeviceManagementDataHolder.getInstance().getConfigurationContextService(); - int port = CarbonUtils.getTransportPort(configContextService, mgtConsoleTransport); - int httpsProxyPort = - CarbonUtils.getTransportProxyPort(configContextService.getServerConfigContext(), mgtConsoleTransport); - if (httpsProxyPort > 0) { - port = httpsProxyPort; - } - return "https://" + hostName + ":" + port + "/devicemgt"; - } -} diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterDataHolder.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/internal/UrlPrinterDataHolder.java deleted file mode 100644 index 41c39fd2d..000000000 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterDataHolder.java +++ /dev/null @@ -1,34 +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.internal; - -import org.wso2.carbon.utils.ConfigurationContextService; - -public class UrlPrinterDataHolder { - - private static UrlPrinterDataHolder thisInstance = new UrlPrinterDataHolder(); - - private UrlPrinterDataHolder() {} - - public static UrlPrinterDataHolder getInstance() { - return thisInstance; - } - - -} diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterServiceComponent.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/internal/UrlPrinterServiceComponent.java deleted file mode 100644 index 3cd734802..000000000 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.url.printer/src/main/java/org/wso2/carbon/device/mgt/iot/internal/UrlPrinterServiceComponent.java +++ /dev/null @@ -1,85 +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.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.URLPrinterStartupHandler; -import org.wso2.carbon.utils.ConfigurationContextService; - -/** - * @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" - * cardinality="0..1" - * policy="dynamic" - * bind="setConfigurationContextService" - * unbind="unsetConfigurationContextService" - */ -public class UrlPrinterServiceComponent { - - 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"); - } - 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"); - } - 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); - } - } - - protected void deactivate(ComponentContext ctx) { - if (log.isDebugEnabled()) { - log.debug("De-activating Iot Device Management Service Component"); - } - } - - protected void setConfigurationContextService(ConfigurationContextService configurationContextService) { - if (log.isDebugEnabled()) { - log.debug("Setting ConfigurationContextService"); - } - - IoTDeviceManagementDataHolder.getInstance().setConfigurationContextService(configurationContextService); - - } - - protected void unsetConfigurationContextService(ConfigurationContextService configurationContextService) { - if (log.isDebugEnabled()) { - log.debug("Un-setting ConfigurationContextService"); - } - IoTDeviceManagementDataHolder.getInstance().setConfigurationContextService(null); - } -} diff --git a/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 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 index e2dd93ab9..38fb00168 100644 --- a/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 +++ 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 @@ -23,7 +23,7 @@ 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.URLPrinterStartupHandler; +import org.wso2.carbon.device.mgt.iot.url.printer.URLPrinterStartupHandler; import org.wso2.carbon.utils.ConfigurationContextService; /** diff --git a/components/iot-plugins/iot-base-plugin/pom.xml b/components/iot-plugins/iot-base-plugin/pom.xml index 31ae28209..46c906fc9 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 e0cfde124..f811916a7 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 5b098a3e0..13b131041 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.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/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 index 7bcdadccc..f77aabf80 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/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 @@ -21,15 +21,12 @@ 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/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 834d31138..d12a2df04 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/pom.xml b/components/iot-plugins/raspberrypi-plugin/pom.xml index 468a3f157..acff7e3ac 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 da6ec336b..83eefe902 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 486437ac9..ce54d9537 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 de76845d6..277000e0f 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/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 01990fe51..feb8135db 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 index 18dea23f5..586de223c 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/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 @@ -24,6 +24,7 @@ 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; @@ -55,229 +56,6 @@ 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/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 586307aad..8877ec531 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 index 18ee2a386..7c470b59c 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/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 @@ -27,39 +27,19 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "DeviceManagementConfiguration") public class DeviceManagementConfiguration { - private DeviceManagementConfigRepository deviceManagementConfigRepository; - private PushNotificationConfig pushNotificationConfig; - private String deviceType; + private EventListenerConfiguration eventListenerConfiguration; 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 EventListenerConfiguration getEventListenerConfiguration() { + return eventListenerConfiguration; } - public void setPushNotificationConfig(PushNotificationConfig pushNotificationConfig) { - this.pushNotificationConfig = pushNotificationConfig; + public void setEventListenerConfiguration(EventListenerConfiguration eventListenerConfiguration) { + this.eventListenerConfiguration = eventListenerConfiguration; } } 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/EventListenerConfiguration.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 index 59156897e..c182b9218 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/config/EventListenerConfiguration.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 @@ -25,10 +25,10 @@ import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlValue; import java.util.List; -@XmlRootElement(name = "PushNotificationConfiguration") +@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 EventListenerConfiguration { 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 index 49f08d16d..a5a75611e 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/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 @@ -18,8 +18,13 @@ public class VirtualFirealarmConfig { 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 { @@ -37,7 +42,7 @@ public class VirtualFirealarmConfig { } - private DeviceManagementConfiguration getDeviceTypeConfiguration(File configurationFile) { + public DeviceManagementConfiguration getDeviceTypeConfiguration() { return deviceManagementConfiguration; } 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/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 index 471dce671..d9dbf9936 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/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 @@ -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/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 7d0a96e74..9fc9111fb 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 494b8547a..6a1e8c4bf 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"); } @@ -103,19 +78,9 @@ public class VirtualFirealarmManagementServiceComponent { } protected void deactivate(ComponentContext ctx) { -// 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); -// } + if (log.isDebugEnabled()) { + log.debug("De-activating Virtual Firealarm Device Management Service Component"); + } } /** @@ -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 7a0c8f688..e47ac11ea 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 2ac57e0b8..d600b3a82 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/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 818ac6c2a..27e7384a0 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/devicetypes/android_sense.xml b/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml index 14434b2d3..6cd702fe4 100644 --- a/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml +++ b/features/iot-plugins-feature/androidsense-plugin-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/devicetypes/android_sense.xml @@ -18,7 +18,7 @@ ~ under the License. --> - raspberrypi + android_sense @@ -41,7 +41,7 @@ MQTT - raspberrypi.mqtt.adapter + android_sense.mqtt.adapter tcp://localhost:1883 admin https://localhost:9443/dynamic-client-web/register @@ -49,16 +49,5 @@ true - - 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 19be463d0..a14a4d13e 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 23acbeff7..dc9266ec3 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/devicetypes/arduino.xml b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml index 14434b2d3..4a016c270 100644 --- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml +++ b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/devicetypes/arduino.xml @@ -18,7 +18,7 @@ ~ under the License. --> - raspberrypi + arduino @@ -35,30 +35,4 @@ false - - - - - MQTT - - raspberrypi.mqtt.adapter - tcp://localhost:1883 - admin - https://localhost:9443/dynamic-client-web/register - 0 - - true - - - - 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 c334bcfa8..5164aa76d 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.url.printer.feature/pom.xml b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.feature/pom.xml index 88c0f19e8..c5b7ede08 100644 --- a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.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.5-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.url.printer.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 index d15c90c3d..c18cb2b6d 100644 --- a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.url.printer.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 868da237a..2373f6c0b 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 7bcaf83b8..e4f182516 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/devicetypes/raspberrypi.xml b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml index fea9f3703..1516d879f 100644 --- a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml +++ b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/devicetypes/raspberrypi.xml @@ -18,7 +18,7 @@ ~ under the License. --> - virtual_firealarm + raspberrypi @@ -41,7 +41,7 @@ MQTT - virtualfirealarm.mqtt.adapter + raspberrypi.mqtt.adapter tcp://localhost:1883 admin https://localhost:9443/dynamic-client-web/register @@ -49,16 +49,5 @@ true - - 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 f7c56317e..a5582cdd1 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 index f2eb16ae5..6481df82c 100644 --- 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 @@ -18,21 +18,9 @@ ~ under the License. --> - virtual_firealarm - - - - jdbc/VirtualFireAlarmDM_DB - - - - carbon.super - false - - - + - MQTT + MQTT virtualfirealarm.mqtt.adapter tcp://localhost:1883 @@ -53,5 +41,5 @@ admin@localhost localhost - + diff --git a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/devicetypes/virtual_firealarm.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 index 11ff166ed..fea9f3703 100644 --- a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/devicetypes/virtual_firealarm.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 @@ -21,27 +21,14 @@ virtual_firealarm - - - - - - - - - - - - - en_US 1.0.0 This is license text - + @@ -53,10 +40,8 @@ MQTT - true - - sample.mqtt.adapter.sample + virtualfirealarm.mqtt.adapter tcp://localhost:1883 admin https://localhost:9443/dynamic-client-web/register @@ -64,5 +49,16 @@ true + + 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 01279ba1f..7a18d54a3 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,10 +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);\ @@ -39,5 +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);\ \ No newline at end of file +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 38b98cb77..25df92552 100644 --- a/pom.xml +++ b/pom.xml @@ -367,7 +367,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 From a31940e9d91c325f0bb57d010c1df1084f12c73d Mon Sep 17 00:00:00 2001 From: Madawa Soysa Date: Thu, 13 Oct 2016 19:05:14 +0530 Subject: [PATCH 05/32] Refactoring pages to use new modal unit --- .../app/pages/mdm.page.policies/policies.hbs | 388 +----------------- .../public/js/policy-list.js | 132 ++++-- 2 files changed, 93 insertions(+), 427 deletions(-) diff --git a/components/mobile-plugins/mobile-base-plugin/org.wso2.carbon.device.mgt.mobile.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/mdm.page.policies/policies.hbs b/components/mobile-plugins/mobile-base-plugin/org.wso2.carbon.device.mgt.mobile.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/mdm.page.policies/policies.hbs index e5d83caef..03cca30a0 100644 --- a/components/mobile-plugins/mobile-base-plugin/org.wso2.carbon.device.mgt.mobile.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/mdm.page.policies/policies.hbs +++ b/components/mobile-plugins/mobile-base-plugin/org.wso2.carbon.device.mgt.mobile.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/mdm.page.policies/policies.hbs @@ -17,6 +17,7 @@ }} {{unit "cdmf.unit.ui.title" pageTitle="Policy Management"}} {{unit "cdmf.unit.data-tables-extended"}} +{{unit "cdmf.unit.ui.modal"}} {{#zone "topCss"}}