From 24fe9307270ec93e76b94090535223337faba0c5 Mon Sep 17 00:00:00 2001 From: GPrathap Date: Sun, 13 Mar 2016 22:02:09 +0530 Subject: [PATCH] refactoring code --- .../doormanager/component/analytics/build.xml | 4 +- .../doormanager/component/analytics/pom.xml | 11 +- .../component/analytics/src/assembly/src.xml | 3 +- .../controller/api/dto/DeviceJSON.java | 12 +- .../controller}/api/dto/UserInfo.java | 12 +- .../api/exception/DoorManagerException.java | 25 ++-- .../DoorManagerMQTTConnector.java | 137 ++++++++++++------ .../src/main/webapp/WEB-INF/cxf-servlet.xml | 8 +- .../doormanager/component/manager/pom.xml | 10 +- modules/samples/doormanager/component/pom.xml | 21 +-- .../samples/doormanager/component/ui/pom.xml | 12 +- .../component/ui/src/assembly/src.xml | 2 +- .../doormanager/feature/feature/pom.xml | 54 +++---- .../src/main/resources/carbonapps/Sensor.car | Bin 6981 -> 0 bytes .../main/resources/configs/doormanager.json | 22 ++- .../main/resources/configs/doormanager.xml | 6 +- .../resources/database/doormanagerDM_DB.h2.db | Bin 18432 -> 18432 bytes .../datasources/doormanager-datasources.xml | 5 +- 18 files changed, 204 insertions(+), 140 deletions(-) rename modules/samples/doormanager/component/{manager/src/main/java/org.homeautomation/doormanager/manager => controller/src/main/java/org.homeautomation/doormanager/controller}/api/dto/UserInfo.java (75%) rename modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/{util => transport}/DoorManagerMQTTConnector.java (54%) delete mode 100644 modules/samples/doormanager/feature/feature/src/main/resources/carbonapps/Sensor.car diff --git a/modules/samples/doormanager/component/analytics/build.xml b/modules/samples/doormanager/component/analytics/build.xml index 8ae090c7..6a72f27e 100644 --- a/modules/samples/doormanager/component/analytics/build.xml +++ b/modules/samples/doormanager/component/analytics/build.xml @@ -20,9 +20,9 @@ - + - + diff --git a/modules/samples/doormanager/component/analytics/pom.xml b/modules/samples/doormanager/component/analytics/pom.xml index efa32fef..f2935ab4 100644 --- a/modules/samples/doormanager/component/analytics/pom.xml +++ b/modules/samples/doormanager/component/analytics/pom.xml @@ -1,3 +1,4 @@ + - org.homeautomation - component + doormanager-component 1.0.0-SNAPSHOT ../pom.xml 4.0.0 - ${groupId}.doormanager.analytics + org.homeautomation.doormanager.analytics 1.0.0-SNAPSHOT pom - ${groupId}.doormanager.analytics + org.homeautomation.doormanager.analytics http://wso2.org @@ -65,7 +66,7 @@ maven-assembly-plugin 2.5.5 - ${project.artifactId}-1.0.0-SNAPSHOT + org.homeautomation.doormanager.analytics-1.0.0-SNAPSHOT false src/assembly/src.xml diff --git a/modules/samples/doormanager/component/analytics/src/assembly/src.xml b/modules/samples/doormanager/component/analytics/src/assembly/src.xml index a5a37501..5469255f 100644 --- a/modules/samples/doormanager/component/analytics/src/assembly/src.xml +++ b/modules/samples/doormanager/component/analytics/src/assembly/src.xml @@ -1,3 +1,4 @@ + src diff --git a/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/dto/DeviceJSON.java b/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/dto/DeviceJSON.java index f812dade..4496b0b8 100644 --- a/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/dto/DeviceJSON.java +++ b/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/dto/DeviceJSON.java @@ -27,8 +27,12 @@ import javax.xml.bind.annotation.XmlRootElement; @JsonIgnoreProperties(ignoreUnknown = true) public class DeviceJSON { - @XmlElement(required = true) public String owner; - @XmlElement(required = true) public String deviceId; - @XmlElement(required = true) public String UIDofUser; - @XmlElement(required = true) public String serialNumber; + @XmlElement(required = true) + public String owner; + @XmlElement(required = true) + public String deviceId; + @XmlElement(required = true) + public String UIDofUser; + @XmlElement(required = true) + public String serialNumber; } diff --git a/modules/samples/doormanager/component/manager/src/main/java/org.homeautomation/doormanager/manager/api/dto/UserInfo.java b/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/dto/UserInfo.java similarity index 75% rename from modules/samples/doormanager/component/manager/src/main/java/org.homeautomation/doormanager/manager/api/dto/UserInfo.java rename to modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/dto/UserInfo.java index b7ef2c10..5d89ea2f 100644 --- a/modules/samples/doormanager/component/manager/src/main/java/org.homeautomation/doormanager/manager/api/dto/UserInfo.java +++ b/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/dto/UserInfo.java @@ -16,7 +16,7 @@ * under the License. */ -package org.homeautomation.doormanager.manager.api.dto; +package org.homeautomation.doormanager.controller.api.dto; import org.codehaus.jackson.annotate.JsonIgnoreProperties; @@ -27,8 +27,10 @@ import javax.xml.bind.annotation.XmlRootElement; @JsonIgnoreProperties(ignoreUnknown = true) public class UserInfo { - @XmlElement(required = true) public String serialNumber; - @XmlElement(required = true) public String deviceId; - @XmlElement(required = true) public String cardNumber; - @XmlElement(required = true) public String userName; + @XmlElement(required = true) + public String deviceId; + @XmlElement(required = true) + public String cardNumber; + @XmlElement(required = true) + public String userName; } diff --git a/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/exception/DoorManagerException.java b/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/exception/DoorManagerException.java index 63673efc..554967bc 100644 --- a/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/exception/DoorManagerException.java +++ b/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/exception/DoorManagerException.java @@ -1,4 +1,3 @@ -package org.homeautomation.doormanager.controller.api.exception; /* * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * @@ -16,20 +15,16 @@ package org.homeautomation.doormanager.controller.api.exception; * specific language governing permissions and limitations * under the License. */ + +package org.homeautomation.doormanager.controller.api.exception; + public class DoorManagerException extends Exception { private static final long serialVersionUID = 2736466230451105441L; private String errorMessage; - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - + @SuppressWarnings("unused") public DoorManagerException(String msg, DoorManagerException nestedEx) { super(msg, nestedEx); setErrorMessage(msg); @@ -40,18 +35,30 @@ public class DoorManagerException extends Exception { setErrorMessage(message); } + @SuppressWarnings("unused") public DoorManagerException(String msg) { super(msg); setErrorMessage(msg); } + @SuppressWarnings("unused") public DoorManagerException() { super(); } + @SuppressWarnings("unused") public DoorManagerException(Throwable cause) { super(cause); } + @SuppressWarnings("unused") + public String getErrorMessage() { + return errorMessage; + } + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + } diff --git a/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/util/DoorManagerMQTTConnector.java b/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/transport/DoorManagerMQTTConnector.java similarity index 54% rename from modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/util/DoorManagerMQTTConnector.java rename to modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/transport/DoorManagerMQTTConnector.java index bf61fdb8..6dc076ab 100644 --- a/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/util/DoorManagerMQTTConnector.java +++ b/modules/samples/doormanager/component/controller/src/main/java/org.homeautomation/doormanager/controller/api/transport/DoorManagerMQTTConnector.java @@ -1,37 +1,65 @@ -package org.homeautomation.doormanager.controller.api.util; +/* + * 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.homeautomation.doormanager.controller.api.transport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttMessage; import org.homeautomation.doormanager.controller.api.exception.DoorManagerException; +import org.homeautomation.doormanager.controller.api.util.DoorManagerServiceUtils; import org.homeautomation.doormanager.plugin.constants.DoorManagerConstants; +import org.wso2.carbon.device.mgt.analytics.exception.DataPublisherConfigurationException; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.iot.controlqueue.mqtt.MqttConfig; import org.wso2.carbon.device.mgt.iot.sensormgt.SensorDataManager; import org.wso2.carbon.device.mgt.iot.transport.TransportHandlerException; import org.wso2.carbon.device.mgt.iot.transport.mqtt.MQTTTransportHandler; -import javax.ws.rs.core.Response; import java.io.File; import java.util.Calendar; import java.util.UUID; +/** + * MQTT is used as transport protocol. So this will provide basic functional requirement in order to communicate over + * MQTT + */ @SuppressWarnings("no JAX-WS annotation") public class DoorManagerMQTTConnector extends MQTTTransportHandler { private static Log log = LogFactory.getLog(DoorManagerMQTTConnector.class); - private static final String subscribeTopic = - "wso2" + File.separator + "iot" + File.separator + "+" + File.separator + - DoorManagerConstants.DEVICE_TYPE + File.separator + "+" + File.separator + - "lockStatusPublisher"+ File.separator; - private static String iotServerSubscriber = UUID.randomUUID().toString().substring(0, 5); + private static String PUBLISHER_CONTEXT = "publisher"; + private static String SUBSCRIBER_CONTEXT = "subscriber"; + private static String SUBCRIBER_TOPIC = "wso2" + File.separator + "iot" + File.separator + "+" + File.separator + + DoorManagerConstants.DEVICE_TYPE + File.separator + "+" + File.separator + PUBLISHER_CONTEXT; + private static String PUBLISHER_TOPIC = "wso2/iot/%s/" + DoorManagerConstants.DEVICE_TYPE + "/%s/" + + SUBSCRIBER_CONTEXT; + private static String SUBSCRIBER = UUID.randomUUID().toString().substring(0, 5); private DoorManagerMQTTConnector() { - super(iotServerSubscriber, DoorManagerConstants.DEVICE_TYPE, - MqttConfig.getInstance().getMqttQueueEndpoint(), subscribeTopic); + super(SUBSCRIBER, DoorManagerConstants.DEVICE_TYPE, + MqttConfig.getInstance().getMqttQueueEndpoint(), SUBCRIBER_TOPIC); } + /** + * This method will initialize connection with message broker + */ @Override public void connect() { Runnable connector = new Runnable() { @@ -63,79 +91,103 @@ public class DoorManagerMQTTConnector extends MQTTTransportHandler { connectorThread.start(); } + /** + * This callback function will be called by message broker when some messages available to subscribed topic + * + * @param message mqtt message which is coming form agent side + * @param messageParams metadata of mqtt message + */ @Override public void processIncomingMessage(MqttMessage message, String... messageParams) { String topic = messageParams[0]; String ownerAndId = topic.replace("wso2" + File.separator + "iot" + File.separator, ""); ownerAndId = ownerAndId.replace(File.separator + DoorManagerConstants.DEVICE_TYPE + File.separator, ":"); - ownerAndId = ownerAndId.replace(File.separator + "lockStatusPublisher", ""); + ownerAndId = ownerAndId.replace(File.separator + PUBLISHER_CONTEXT, ""); String owner = ownerAndId.split(":")[0]; String deviceId = ownerAndId.split(":")[1]; log.warn(deviceId); - String[] messageData = message.toString().split(":"); - - if (log.isDebugEnabled()){ + if (log.isDebugEnabled()) { log.debug("Received MQTT message for: [OWNER-" + owner + "] & [DEVICE.ID-" + deviceId + "]"); } if (messageData.length == 2) { - log.warn("-------------------------------------------"); - log.warn(messageData[0]); - log.warn(messageData[1]); String lockerCurrentState = messageData[1]; + float lockerStatus; + if (lockerCurrentState.equals("LOCKED")) { + lockerStatus = 0; + } else { + lockerStatus = 1; + } try { - SensorDataManager.getInstance().setSensorRecord(deviceId, "door_locker_state", - String.valueOf(1), Calendar.getInstance().getTimeInMillis()); - if (!DoorManagerServiceUtils.publishToDASCurrent(owner, deviceId, 1)) { - log.warn("An error occured whilst trying to publish with ID [" + deviceId + - "] of owner [" + owner + "]"); + SensorDataManager.getInstance().setSensorRecord(deviceId, "doorLockerCurrentStatus", + String.valueOf(lockerStatus), Calendar.getInstance().getTimeInMillis()); + if (!DoorManagerServiceUtils.publishToDASLockerStatus(owner, deviceId, lockerStatus)) { + log.warn("An error occurred while trying to publish with ID [" + deviceId + "] of owner [" + + owner + "]"); } - } catch(Exception e){ - log.error(e); - } - if(log.isDebugEnabled()){ - //log.debug("Return result " + result + " for Request " + requestMessage); + } catch (Exception e) { + log.error(e); } } } + /** + * Publish a MQTT message to device through message broker + * + * @param topic mqtt topic which will be used to uniquely identify who are the subscribers to this topic + * @param payLoad message is to be published + * @param qos level of qos(quality of service):1,2,3 + * @param retained klkkl + * @throws TransportHandlerException + */ private void publishToAutomaticDoorLocker(String topic, String payLoad, int qos, boolean retained) throws TransportHandlerException { - if(log.isDebugEnabled()){ + if (log.isDebugEnabled()) { log.debug("Publishing message [" + payLoad + "to topic [" + topic + "]."); } publishToQueue(topic, payLoad, qos, retained); } + /** + * Publish a MQTT message to device through message broker + * + * @param deviceOwner person who own the device + * @param deviceId unique identifier for each device + * @param operation command is to executed at agent side e.g: off, on + * @param param additional payload + * @throws DeviceManagementException + * @throws DoorManagerException + */ public void sendCommandViaMQTT(String deviceOwner, String deviceId, String operation, String param) throws DeviceManagementException, DoorManagerException { - String PUBLISH_TOPIC = "wso2/iot/%s/doormanager/%s/lockController"; - String topic = String.format(PUBLISH_TOPIC, deviceOwner, deviceId); + String topic = String.format(PUBLISHER_TOPIC, deviceOwner, deviceId); String payload = operation + param; try { publishToAutomaticDoorLocker(topic, payload, 2, false); - if(param.equals("LOCK")){ - if (!DoorManagerServiceUtils.publishToDASCurrent(deviceOwner, deviceId, 0)) { - log.warn("An error occured whilst trying to publish with ID [" + deviceId + - "] of owner [" + deviceOwner + "]"); + if (param.equals("LOCK")) { + if (!DoorManagerServiceUtils.publishToDASLockerStatus(deviceOwner, deviceId, 0)) { + log.warn("An error occurred whilst trying to publish with ID [" + deviceId + "] of owner [" + + deviceOwner + "]"); } - }else{ - if (!DoorManagerServiceUtils.publishToDASCurrent(deviceOwner, deviceId, 1)) { - log.warn("An error occured whilst trying to publish with ID [" + deviceId + - "] of owner [" + deviceOwner + "]"); + } else { + if (!DoorManagerServiceUtils.publishToDASLockerStatus(deviceOwner, deviceId, 1)) { + log.warn("An error occurred whilst trying to publish with ID [" + deviceId + "] of owner [" + + deviceOwner + "]"); } } - if (!DoorManagerServiceUtils.publishToDASCurrent(deviceOwner, deviceId, 1)) { - log.warn("An error occured whilst trying to publish with ID [" + deviceId + - "] of owner [" + deviceOwner + "]"); - } } catch (TransportHandlerException e) { String errorMessage = "Error publishing data to device with ID " + deviceId; throw new DoorManagerException(errorMessage, e); + } catch (DataPublisherConfigurationException e) { + String errorMessage = "Error publishing data to DAS with ID " + deviceId; + throw new DoorManagerException(errorMessage, e); } } + /** + * Connection with message broker can be terminated + */ @Override public void disconnect() { Runnable stopConnection = new Runnable() { @@ -143,8 +195,7 @@ public class DoorManagerMQTTConnector extends MQTTTransportHandler { while (isConnected()) { try { closeConnection(); - } - catch (MqttException e) { + } catch (MqttException e) { if (log.isDebugEnabled()) { log.warn("Unable to 'STOP' MQTT connection at broker at: " + mqttBrokerEndPoint); } diff --git a/modules/samples/doormanager/component/controller/src/main/webapp/WEB-INF/cxf-servlet.xml b/modules/samples/doormanager/component/controller/src/main/webapp/WEB-INF/cxf-servlet.xml index 1d024638..1a62e429 100644 --- a/modules/samples/doormanager/component/controller/src/main/webapp/WEB-INF/cxf-servlet.xml +++ b/modules/samples/doormanager/component/controller/src/main/webapp/WEB-INF/cxf-servlet.xml @@ -16,9 +16,9 @@ ~ limitations under the License. --> - @@ -30,12 +30,12 @@ - + + class="org.homeautomation.doormanager.controller.api.transport.DoorManagerMQTTConnector"> diff --git a/modules/samples/doormanager/component/manager/pom.xml b/modules/samples/doormanager/component/manager/pom.xml index 130acacd..469db75c 100644 --- a/modules/samples/doormanager/component/manager/pom.xml +++ b/modules/samples/doormanager/component/manager/pom.xml @@ -19,15 +19,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> org.homeautomation - component + doormanager-component 1.0.0-SNAPSHOT ../pom.xml 4.0.0 - ${groupId}.doormanager.manager + org.homeautomation.doormanager.manager war 1.0.0-SNAPSHOT - ${groupId}.doormanager.manager + org.homeautomation.doormanager.manager http://wso2.org ${basedir}/src/main/java @@ -46,7 +46,7 @@ maven-war-plugin ${maven-war-plugin.version} - ${groupId}.doormanager.manager_mgt + org.homeautomation.doormanager.manager_mgt @@ -54,7 +54,7 @@ org.homeautomation - ${project-base-package}.plugin + org.homeautomation.doormanager.plugin org.wso2.carbon.devicemgt diff --git a/modules/samples/doormanager/component/pom.xml b/modules/samples/doormanager/component/pom.xml index dd9ea9aa..5be5a50d 100644 --- a/modules/samples/doormanager/component/pom.xml +++ b/modules/samples/doormanager/component/pom.xml @@ -15,7 +15,9 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. -*/--> +*/--> + org.homeautomation doormanager @@ -24,7 +26,7 @@ 4.0.0 1.0.0-SNAPSHOT - component + doormanager-component pom @@ -271,12 +273,11 @@ - - plugin - controller - manager - agent - analytics - ui - + + plugin + controller + manager + analytics + ui + \ No newline at end of file diff --git a/modules/samples/doormanager/component/ui/pom.xml b/modules/samples/doormanager/component/ui/pom.xml index bbfca272..d618b978 100644 --- a/modules/samples/doormanager/component/ui/pom.xml +++ b/modules/samples/doormanager/component/ui/pom.xml @@ -16,18 +16,18 @@ ~ specific language governing permissions and limitations ~ under the License. --> - org.homeautomation - component + doormanager-component 1.0.0-SNAPSHOT ../pom.xml 4.0.0 - ${groupId}.doormanager.ui - ${groupId}.doormanager.ui + org.homeautomation.doormanager.ui + org.homeautomation.doormanager.ui pom @@ -35,7 +35,7 @@ maven-assembly-plugin 2.5.5 - ${project.artifactId}-1.0.0-SNAPSHOT + org.homeautomation.doormanager.ui-1.0.0-SNAPSHOT false src/assembly/src.xml diff --git a/modules/samples/doormanager/component/ui/src/assembly/src.xml b/modules/samples/doormanager/component/ui/src/assembly/src.xml index 8e784014..5e2e656a 100644 --- a/modules/samples/doormanager/component/ui/src/assembly/src.xml +++ b/modules/samples/doormanager/component/ui/src/assembly/src.xml @@ -17,8 +17,8 @@ --> src diff --git a/modules/samples/doormanager/feature/feature/pom.xml b/modules/samples/doormanager/feature/feature/pom.xml index 1a76d94c..4e499c6d 100644 --- a/modules/samples/doormanager/feature/feature/pom.xml +++ b/modules/samples/doormanager/feature/feature/pom.xml @@ -1,3 +1,4 @@ + - org.homeautomation - feature + doormanager-feature 1.0.0-SNAPSHOT ../pom.xml 4.0.0 1.0.0-SNAPSHOT - ${groupId}.doormanager.feature + org.homeautomation.doormanager.feature pom - ${project.artifactId} - http://wso2.org + ${project.artifactId} + http://wso2.org org.homeautomation @@ -47,12 +48,6 @@ 1.0.0-SNAPSHOT war - - org.homeautomation - ${project-base-package}.agent - 1.0.0-SNAPSHOT - war - com.h2database.wso2 h2-database-engine @@ -63,6 +58,7 @@ maven-resources-plugin + 2.7 copy-resources @@ -104,7 +100,7 @@ zip true - ${basedir}/src/main/resources/carbonapps + ${project.build.directory}/maven-shared-archive-resources/carbonapps **/* @@ -115,7 +111,9 @@ ${project.version} zip true - ${basedir}/src/main/resources/jaggeryapps/ + + ${project.build.directory}/maven-shared-archive-resources/jaggeryapps + **/* @@ -134,7 +132,9 @@ ${project-base-package}.manager war true - ${basedir}/src/main/resources/webapps/ + + ${project.build.directory}/maven-shared-archive-resources/webapps/ + doormanager_mgt.war @@ -153,31 +153,14 @@ ${project-base-package}.controller war true - ${basedir}/src/main/resources/webapps/ + + ${project.build.directory}/maven-shared-archive-resources/webapps/ + doormanager.war - - copy-jaxrs-agent-war - package - - copy - - - - - org.homeautomation - ${project-base-package}.agent - war - true - ${basedir}/src/main/resources/webapps/ - doormanager_agent.war - - - - @@ -198,7 +181,7 @@ + value="jdbc:h2:file:${basedir}/${db.dir}/doormanagerDM_DB;DB_CLOSE_ON_EXIT=FALSE"/> org.wso2.maven carbon-p2-plugin + ${carbon-p2-plugin.version} p2-feature-generation diff --git a/modules/samples/doormanager/feature/feature/src/main/resources/carbonapps/Sensor.car b/modules/samples/doormanager/feature/feature/src/main/resources/carbonapps/Sensor.car deleted file mode 100644 index af22e266b8cbf26096ce4b9e96c63d1e6a597ded..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6981 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 - - jdbc/doormanagerDM_DB - + + jdbc/doormanagerDM_DB + diff --git a/modules/samples/doormanager/feature/feature/src/main/resources/database/doormanagerDM_DB.h2.db b/modules/samples/doormanager/feature/feature/src/main/resources/database/doormanagerDM_DB.h2.db index 6be5a907534d078f7586a0462b3b9c44c108f12c..e3cd583dfe592cd1d9cecb569b791ea8d3586e9d 100644 GIT binary patch delta 53 ocmZpez}PT>aRCR<&*=|-GJpVMb>L<}j`!>n16Z*NE|M?+0P?pHi2wiq delta 53 mcmZpez}PT>aRCQUq - + org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader doormanagerDM_DB - The datasource used for the this device type + The datasource used for the this device type jdbc/doormanagerDM_DB