diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index fdb98b9d..2de47da5 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -340,11 +340,11 @@
file="target/wso2carbon-core-${carbon.kernel.version}/repository/conf/iot/iot-config.xml"/>
+ toFile="target/wso2carbon-core-${carbon.kernel.version}/samples/arduino/build.xml"/>
+ toFile="target/wso2carbon-core-${carbon.kernel.version}/samples/raspberrypi/build.xml"/>
+ toFile="target/wso2carbon-core-${carbon.kernel.version}/samples/virtual_firealarm/build.xml"/>
diff --git a/modules/distribution/src/assembly/bin.xml b/modules/distribution/src/assembly/bin.xml
index c1ec4aeb..cb1fd111 100644
--- a/modules/distribution/src/assembly/bin.xml
+++ b/modules/distribution/src/assembly/bin.xml
@@ -581,15 +581,15 @@
-
-
- ../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/repository/deployment/server/jaggeryapps/portal
-
- ${pom.artifactId}-${pom.version}/repository/deployment/server/jaggeryapps/portal
-
- **/*
-
-
+
+
+
+
+
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/Eventreceiver_battery_1.0.0/EventReceiver_battery.xml b/modules/distribution/src/statistics/carbonapps/Battery/Eventreceiver_battery_1.0.0/EventReceiver_battery.xml
new file mode 100644
index 00000000..640da303
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/Eventreceiver_battery_1.0.0/EventReceiver_battery.xml
@@ -0,0 +1,8 @@
+
+
+
+ false
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/Eventreceiver_battery_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Battery/Eventreceiver_battery_1.0.0/artifact.xml
new file mode 100644
index 00000000..00f6cbca
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/Eventreceiver_battery_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ EventReceiver_battery.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/Eventstore_battery_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Battery/Eventstore_battery_1.0.0/artifact.xml
new file mode 100644
index 00000000..1ab97be0
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/Eventstore_battery_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ org_wso2_iot_devices_battery.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/Eventstore_battery_1.0.0/org_wso2_iot_devices_battery.xml b/modules/distribution/src/statistics/carbonapps/Battery/Eventstore_battery_1.0.0/org_wso2_iot_devices_battery.xml
new file mode 100644
index 00000000..6f40ebb5
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/Eventstore_battery_1.0.0/org_wso2_iot_devices_battery.xml
@@ -0,0 +1,44 @@
+
+
+
+ EVENT_STORE
+
+
+ meta_owner
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceType
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceId
+ true
+ true
+ false
+ STRING
+
+
+ meta_time
+ true
+ true
+ false
+ LONG
+
+
+ battery
+ false
+ false
+ false
+ FLOAT
+
+
+
\ No newline at end of file
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/Eventstream_battery_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Battery/Eventstream_battery_1.0.0/artifact.xml
new file mode 100644
index 00000000..f3451427
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/Eventstream_battery_1.0.0/artifact.xml
@@ -0,0 +1,5 @@
+
+
+ org.wso2.iot.devices.battery_1.0.0.json
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/Eventstream_battery_1.0.0/org.wso2.iot.devices.battery_1.0.0.json b/modules/distribution/src/statistics/carbonapps/Battery/Eventstream_battery_1.0.0/org.wso2.iot.devices.battery_1.0.0.json
new file mode 100644
index 00000000..c0a2106f
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/Eventstream_battery_1.0.0/org.wso2.iot.devices.battery_1.0.0.json
@@ -0,0 +1,20 @@
+{
+ "name": "org.wso2.iot.devices.battery",
+ "version": "1.0.0",
+ "nickName": "battery Data",
+ "description": "battery data received from the Device",
+ "metaData": [
+ {"name":"owner","type":"STRING"},
+ {"name":"deviceType","type":"STRING"},
+ {"name":"deviceId","type":"STRING"},
+ {"name":"time","type":"LONG"}
+ ],
+ "payloadData": [
+ {
+ "name": "battery","type": "FLOAT"
+ }
+ ]
+}
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/Sparkscripts_1.0.0/Battery_Sensor_Script.xml b/modules/distribution/src/statistics/carbonapps/Battery/Sparkscripts_1.0.0/Battery_Sensor_Script.xml
new file mode 100644
index 00000000..005ab010
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/Sparkscripts_1.0.0/Battery_Sensor_Script.xml
@@ -0,0 +1,13 @@
+
+
+ Battery_Sensor_Script
+
+ 0 * * * * ?
+
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/Sparkscripts_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Battery/Sparkscripts_1.0.0/artifact.xml
new file mode 100644
index 00000000..1a1ad956
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/Sparkscripts_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ Battery_Sensor_Script.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Battery/artifacts.xml b/modules/distribution/src/statistics/carbonapps/Battery/artifacts.xml
new file mode 100644
index 00000000..b5514bd6
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Battery/artifacts.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/Eventreceiver_gps_1.0.0/EventReceiver_gps.xml b/modules/distribution/src/statistics/carbonapps/GPS/Eventreceiver_gps_1.0.0/EventReceiver_gps.xml
new file mode 100644
index 00000000..acda8f1a
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/Eventreceiver_gps_1.0.0/EventReceiver_gps.xml
@@ -0,0 +1,8 @@
+
+
+
+ false
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/Eventreceiver_gps_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/GPS/Eventreceiver_gps_1.0.0/artifact.xml
new file mode 100644
index 00000000..da4b5802
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/Eventreceiver_gps_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ EventReceiver_gps.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/Eventstore_gps_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/GPS/Eventstore_gps_1.0.0/artifact.xml
new file mode 100644
index 00000000..04fe1f05
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/Eventstore_gps_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ org_wso2_iot_devices_gps.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/Eventstore_gps_1.0.0/org_wso2_iot_devices_gps.xml b/modules/distribution/src/statistics/carbonapps/GPS/Eventstore_gps_1.0.0/org_wso2_iot_devices_gps.xml
new file mode 100644
index 00000000..98de2ba9
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/Eventstore_gps_1.0.0/org_wso2_iot_devices_gps.xml
@@ -0,0 +1,51 @@
+
+
+
+ EVENT_STORE
+
+
+ meta_owner
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceType
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceId
+ true
+ true
+ false
+ STRING
+
+
+ meta_time
+ true
+ true
+ false
+ LONG
+
+
+ latitude
+ false
+ false
+ false
+ FLOAT
+
+
+ longitude
+ false
+ false
+ false
+ FLOAT
+
+
+
\ No newline at end of file
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/Eventstream_gps_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/GPS/Eventstream_gps_1.0.0/artifact.xml
new file mode 100644
index 00000000..5d0432ee
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/Eventstream_gps_1.0.0/artifact.xml
@@ -0,0 +1,5 @@
+
+
+ org.wso2.iot.devices.gps_1.0.0.json
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/Eventstream_gps_1.0.0/org.wso2.iot.devices.gps_1.0.0.json b/modules/distribution/src/statistics/carbonapps/GPS/Eventstream_gps_1.0.0/org.wso2.iot.devices.gps_1.0.0.json
new file mode 100644
index 00000000..04d2b106
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/Eventstream_gps_1.0.0/org.wso2.iot.devices.gps_1.0.0.json
@@ -0,0 +1,23 @@
+{
+ "name": "org.wso2.iot.devices.gps",
+ "version": "1.0.0",
+ "nickName": "GPS Data",
+ "description": "GPS data received from the Device",
+ "metaData": [
+ {"name":"owner","type":"STRING"},
+ {"name":"deviceType","type":"STRING"},
+ {"name":"deviceId","type":"STRING"},
+ {"name":"time","type":"LONG"}
+ ],
+ "payloadData": [
+ {
+ "name": "latitude","type": "FLOAT"
+ },
+ {
+ "name": "longitude","type": "FLOAT"
+ }
+ ]
+}
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/Sparkscripts_1.0.0/GPS_Sensor_Script.xml b/modules/distribution/src/statistics/carbonapps/GPS/Sparkscripts_1.0.0/GPS_Sensor_Script.xml
new file mode 100644
index 00000000..8d67f805
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/Sparkscripts_1.0.0/GPS_Sensor_Script.xml
@@ -0,0 +1,13 @@
+
+
+ IoTServer_Sensor_Script
+
+ 0 * * * * ?
+
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/Sparkscripts_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/GPS/Sparkscripts_1.0.0/artifact.xml
new file mode 100644
index 00000000..19a4f36d
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/Sparkscripts_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ GPS_Sensor_Script.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/GPS/artifacts.xml b/modules/distribution/src/statistics/carbonapps/GPS/artifacts.xml
new file mode 100644
index 00000000..8bf3d37c
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/GPS/artifacts.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Light/Eventreceiver_light_1.0.0/EventReceiver_light.xml b/modules/distribution/src/statistics/carbonapps/Light/Eventreceiver_light_1.0.0/EventReceiver_light.xml
new file mode 100644
index 00000000..ef4ec04d
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/Eventreceiver_light_1.0.0/EventReceiver_light.xml
@@ -0,0 +1,8 @@
+
+
+
+ false
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Light/Eventreceiver_light_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Light/Eventreceiver_light_1.0.0/artifact.xml
new file mode 100644
index 00000000..a7d13f8d
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/Eventreceiver_light_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ EventReceiver_light.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Light/Eventstore_light_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Light/Eventstore_light_1.0.0/artifact.xml
new file mode 100644
index 00000000..b424b32d
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/Eventstore_light_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ org_wso2_iot_devices_light.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Light/Eventstore_light_1.0.0/org_wso2_iot_devices_light.xml b/modules/distribution/src/statistics/carbonapps/Light/Eventstore_light_1.0.0/org_wso2_iot_devices_light.xml
new file mode 100644
index 00000000..4ccd871b
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/Eventstore_light_1.0.0/org_wso2_iot_devices_light.xml
@@ -0,0 +1,44 @@
+
+
+
+ EVENT_STORE
+
+
+ meta_owner
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceType
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceId
+ true
+ true
+ false
+ STRING
+
+
+ meta_time
+ true
+ true
+ false
+ LONG
+
+
+ light
+ false
+ false
+ false
+ FLOAT
+
+
+
\ No newline at end of file
diff --git a/modules/distribution/src/statistics/carbonapps/Light/Eventstream_light_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Light/Eventstream_light_1.0.0/artifact.xml
new file mode 100644
index 00000000..39d09aff
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/Eventstream_light_1.0.0/artifact.xml
@@ -0,0 +1,5 @@
+
+
+ org.wso2.iot.devices.light_1.0.0.json
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Light/Eventstream_light_1.0.0/org.wso2.iot.devices.light_1.0.0.json b/modules/distribution/src/statistics/carbonapps/Light/Eventstream_light_1.0.0/org.wso2.iot.devices.light_1.0.0.json
new file mode 100644
index 00000000..253f0b0c
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/Eventstream_light_1.0.0/org.wso2.iot.devices.light_1.0.0.json
@@ -0,0 +1,20 @@
+{
+ "name": "org.wso2.iot.devices.light",
+ "version": "1.0.0",
+ "nickName": "light Data",
+ "description": "light data received from the Device",
+ "metaData": [
+ {"name":"owner","type":"STRING"},
+ {"name":"deviceType","type":"STRING"},
+ {"name":"deviceId","type":"STRING"},
+ {"name":"time","type":"LONG"}
+ ],
+ "payloadData": [
+ {
+ "name": "light","type": "FLOAT"
+ }
+ ]
+}
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Light/Sparkscripts_1.0.0/Light_Sensor_Script.xml b/modules/distribution/src/statistics/carbonapps/Light/Sparkscripts_1.0.0/Light_Sensor_Script.xml
new file mode 100644
index 00000000..930fd26e
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/Sparkscripts_1.0.0/Light_Sensor_Script.xml
@@ -0,0 +1,13 @@
+
+
+ Light_Sensor_Script
+
+ 0 * * * * ?
+
diff --git a/modules/distribution/src/statistics/carbonapps/Light/Sparkscripts_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Light/Sparkscripts_1.0.0/artifact.xml
new file mode 100644
index 00000000..30953886
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/Sparkscripts_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ Light_Sensor_Script.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Light/artifacts.xml b/modules/distribution/src/statistics/carbonapps/Light/artifacts.xml
new file mode 100644
index 00000000..79bc08b5
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Light/artifacts.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/EventReceiver_magnetic.xml b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/EventReceiver_magnetic.xml
new file mode 100644
index 00000000..22e8e22f
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/EventReceiver_magnetic.xml
@@ -0,0 +1,8 @@
+
+
+
+ false
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/artifact.xml
new file mode 100644
index 00000000..2d595f4f
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ EventReceiver_magnetic.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstore_magnetic_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstore_magnetic_1.0.0/artifact.xml
new file mode 100644
index 00000000..d84e3fea
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstore_magnetic_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ org_wso2_iot_devices_magnetic.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstore_magnetic_1.0.0/org_wso2_iot_devices_magnetic.xml b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstore_magnetic_1.0.0/org_wso2_iot_devices_magnetic.xml
new file mode 100644
index 00000000..eefb1fb0
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstore_magnetic_1.0.0/org_wso2_iot_devices_magnetic.xml
@@ -0,0 +1,44 @@
+
+
+
+ EVENT_STORE
+
+
+ meta_owner
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceType
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceId
+ true
+ true
+ false
+ STRING
+
+
+ meta_time
+ true
+ true
+ false
+ LONG
+
+
+ magnetic
+ false
+ false
+ false
+ FLOAT
+
+
+
\ No newline at end of file
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstream_magnetic_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstream_magnetic_1.0.0/artifact.xml
new file mode 100644
index 00000000..2d071139
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstream_magnetic_1.0.0/artifact.xml
@@ -0,0 +1,5 @@
+
+
+ org.wso2.iot.devices.magnetic_1.0.0.json
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstream_magnetic_1.0.0/org.wso2.iot.devices.magnetic_1.0.0.json b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstream_magnetic_1.0.0/org.wso2.iot.devices.magnetic_1.0.0.json
new file mode 100644
index 00000000..5cbe22ba
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/Eventstream_magnetic_1.0.0/org.wso2.iot.devices.magnetic_1.0.0.json
@@ -0,0 +1,20 @@
+{
+ "name": "org.wso2.iot.devices.magnetic",
+ "version": "1.0.0",
+ "nickName": "magnetic Data",
+ "description": "magnetic data received from the Device",
+ "metaData": [
+ {"name":"owner","type":"STRING"},
+ {"name":"deviceType","type":"STRING"},
+ {"name":"deviceId","type":"STRING"},
+ {"name":"time","type":"LONG"}
+ ],
+ "payloadData": [
+ {
+ "name": "magnetic","type": "FLOAT"
+ }
+ ]
+}
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/Sparkscripts_1.0.0/Magnetic_Sensor_Script.xml b/modules/distribution/src/statistics/carbonapps/Magnetic/Sparkscripts_1.0.0/Magnetic_Sensor_Script.xml
new file mode 100644
index 00000000..6293f817
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/Sparkscripts_1.0.0/Magnetic_Sensor_Script.xml
@@ -0,0 +1,13 @@
+
+
+ IoTServer_Sensor_Script
+
+ 0 * * * * ?
+
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/Sparkscripts_1.0.0/artifact.xml b/modules/distribution/src/statistics/carbonapps/Magnetic/Sparkscripts_1.0.0/artifact.xml
new file mode 100644
index 00000000..20cc0bbe
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/Sparkscripts_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ magnetic_Sensor_Script.xml
+
diff --git a/modules/distribution/src/statistics/carbonapps/Magnetic/artifacts.xml b/modules/distribution/src/statistics/carbonapps/Magnetic/artifacts.xml
new file mode 100644
index 00000000..8c013b5d
--- /dev/null
+++ b/modules/distribution/src/statistics/carbonapps/Magnetic/artifacts.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/distribution/src/statistics/carbonapps/build.xml b/modules/distribution/src/statistics/carbonapps/build.xml
index c9107aef..9494cf93 100644
--- a/modules/distribution/src/statistics/carbonapps/build.xml
+++ b/modules/distribution/src/statistics/carbonapps/build.xml
@@ -5,6 +5,10 @@
+
+
+
+
@@ -13,6 +17,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/AndroidSenseControllerService.java b/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/AndroidSenseControllerService.java
index 828367f3..146a4051 100644
--- a/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/AndroidSenseControllerService.java
+++ b/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/AndroidSenseControllerService.java
@@ -43,7 +43,7 @@ public class AndroidSenseControllerService {
- String temperature = dataMsg.value; //TEMP
+ String temperature = dataMsg.owner; //TEMP
log.info("Recieved Sensor Data Values: " + temperature);
if (log.isDebugEnabled()) {
diff --git a/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/AndroidSenseManagerService.java b/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/AndroidSenseManagerService.java
index f1aaa122..986a067c 100644
--- a/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/AndroidSenseManagerService.java
+++ b/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/AndroidSenseManagerService.java
@@ -61,22 +61,24 @@ public class AndroidSenseManagerService {
deviceIdentifier.setType(AndroidSenseConstants.DEVICE_TYPE);
try {
if (deviceManagement.getDeviceManagementService().isEnrolled(deviceIdentifier)) {
+ response.setStatus(Response.Status.CONFLICT.getStatusCode());
return true;
}
-
Device device = new Device();
device.setDeviceIdentifier(deviceId);
EnrolmentInfo enrolmentInfo = new EnrolmentInfo();
+
enrolmentInfo.setDateOfEnrolment(new Date().getTime());
enrolmentInfo.setDateOfLastUpdate(new Date().getTime());
enrolmentInfo.setStatus(EnrolmentInfo.Status.ACTIVE);
enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.BYOD);
- device.setEnrolmentInfo(enrolmentInfo);
-
- String name = "android_sense" + deviceId;
+ String name = owner + " android " + deviceId;
device.setName(name);
device.setType(AndroidSenseConstants.DEVICE_TYPE);
+ enrolmentInfo.setOwner(owner);
+ device.setEnrolmentInfo(enrolmentInfo);
boolean added = deviceManagement.getDeviceManagementService().enrollDevice(device);
+
if (added) {
response.setStatus(Response.Status.OK.getStatusCode());
} else {
diff --git a/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/util/DeviceJSON.java b/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/util/DeviceJSON.java
index 3e99dfd0..2a489fcf 100644
--- a/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/util/DeviceJSON.java
+++ b/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/util/DeviceJSON.java
@@ -11,8 +11,5 @@ import javax.xml.bind.annotation.XmlRootElement;
public class DeviceJSON {
@XmlElement(required = true) public String owner;
@XmlElement(required = true) public String deviceId;
- @XmlElement(required = true) public String reply;
- @XmlElement public Long time;
- @XmlElement public String key;
- @XmlElement public String value;
+ @XmlElement public SensorJSON[] values;
}
diff --git a/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/util/SensorJSON.java b/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/util/SensorJSON.java
new file mode 100644
index 00000000..b3593f34
--- /dev/null
+++ b/modules/samples/android_sense/src/org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/android/sense/service/impl/util/SensorJSON.java
@@ -0,0 +1,16 @@
+package org.wso2.carbon.device.mgt.iot.sample.android.sense.service.impl.util;
+
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class SensorJSON {
+
+ @XmlElement public Long time;
+ @XmlElement public String key;
+ @XmlElement public String value;
+}
diff --git a/modules/samples/common.xml b/modules/samples/common.xml
index d47f03f5..a4132680 100644
--- a/modules/samples/common.xml
+++ b/modules/samples/common.xml
@@ -1,6 +1,7 @@
-
+
+
diff --git a/modules/samples/sample_pom.xml b/modules/samples/sample_pom.xml
index 63193c3d..f54b5526 100644
--- a/modules/samples/sample_pom.xml
+++ b/modules/samples/sample_pom.xml
@@ -400,7 +400,7 @@
system
- ${basedir}/../../../../repository/components/plugins/org.wso2.carbon.utils_4.4.1.jar
+ ${basedir}/../../../../repository/components/plugins/org.wso2.carbon.utils_4.4.2.jar
diff --git a/modules/samples/virtual_firealarm/build.xml b/modules/samples/virtual_firealarm/build.xml
index ccdf3838..2e23c9ac 100644
--- a/modules/samples/virtual_firealarm/build.xml
+++ b/modules/samples/virtual_firealarm/build.xml
@@ -75,7 +75,20 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -99,6 +112,10 @@
+
+
+
+
diff --git a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/pom.xml b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/pom.xml
index 3db470bd..dba89dc2 100644
--- a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/pom.xml
+++ b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/pom.xml
@@ -58,6 +58,16 @@
org.wso2.carbon.device.mgt.iot
org.wso2.carbon.device.mgt.iot.common
+
+
+ org.igniterealtime.smack.wso2
+ smack
+
+
+ org.igniterealtime.smack.wso2
+ smackx
+
+
org.wso2.carbon.device.mgt.iot.server.sample
@@ -92,11 +102,77 @@
org.wso2.carbon
org.wso2.carbon.utils
+
+
+ org.bouncycastle.wso2
+ bcprov-jdk15on
+
+
+ org.wso2.carbon
+ org.wso2.carbon.user.api
+
+
+ org.wso2.carbon
+ org.wso2.carbon.queuing
+
+
+ org.wso2.carbon
+ org.wso2.carbon.base
+
+
+ org.apache.axis2.wso2
+ axis2
+
+
+ org.igniterealtime.smack.wso2
+ smack
+
+
+ org.igniterealtime.smack.wso2
+ smackx
+
+
+ jaxen
+ jaxen
+
+
+ commons-fileupload.wso2
+ commons-fileupload
+
+
+ org.apache.ant.wso2
+ ant
+
+
+ org.apache.ant.wso2
+ ant
+
+
+ commons-httpclient.wso2
+ commons-httpclient
+
+
+ org.eclipse.equinox
+ javax.servlet
+
+
+ org.wso2.carbon
+ org.wso2.carbon.registry.api
+
+
org.wso2.carbon.devicemgt
org.wso2.carbon.device.mgt.analytics
+
+ org.igniterealtime.smack.wso2
+ smack
+
+
+ org.igniterealtime.smack.wso2
+ smackx
+
diff --git a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/VirtualFireAlarmService.java b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/VirtualFireAlarmService.java
index ed91411b..91626926 100644
--- a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/VirtualFireAlarmService.java
+++ b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/VirtualFireAlarmService.java
@@ -45,7 +45,8 @@ import org.wso2.carbon.device.mgt.iot.common.sensormgt.SensorRecord;
import org.wso2.carbon.device.mgt.iot.common.util.ZipArchive;
import org.wso2.carbon.device.mgt.iot.common.util.ZipUtil;
import org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.plugin.constants.VirtualFireAlarmConstants;
-import org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl.dao.DeviceJSON;
+
+import org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl.dto.DeviceJSON;
import org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl.util.VirtualFireAlarmMQTTSubscriber;
import org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl.util.VirtualFireAlarmXMPPConnector;
@@ -296,7 +297,7 @@ public class VirtualFireAlarmService {
}
}
- return userDevicesforFirealarm.toArray(new Device[] {});
+ return userDevicesforFirealarm.toArray(new Device[]{});
} catch (DeviceManagementException e) {
response.setStatus(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
return null;
@@ -630,7 +631,8 @@ public class VirtualFireAlarmService {
break;
case XMPP_PROTOCOL:
- sendCommandViaXMPP(owner, deviceId, VirtualFireAlarmConstants.TEMPERATURE_CONTEXT, "");
+ sendCommandViaXMPP(owner, deviceId, VirtualFireAlarmConstants
+ .TEMPERATURE_CONTEXT, "");
break;
default:
@@ -670,9 +672,10 @@ public class VirtualFireAlarmService {
return;
}
SensorDataManager.getInstance().setSensorRecord(deviceId,
- VirtualFireAlarmConstants.SENSOR_TEMPERATURE,
- String.valueOf(temperature),
- Calendar.getInstance().getTimeInMillis());
+ VirtualFireAlarmConstants.SENSOR_TEMPERATURE,
+ String.valueOf(temperature),
+ Calendar.getInstance().getTimeInMillis());
+
if (!publishToDAS(dataMsg.owner, dataMsg.deviceId, dataMsg.value)) {
response.setStatus(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
}
diff --git a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/dao/DeviceJSON.java b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/dto/DeviceJSON.java
similarity index 96%
rename from modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/dao/DeviceJSON.java
rename to modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/dto/DeviceJSON.java
index 34d6054c..ee43b320 100644
--- a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/dao/DeviceJSON.java
+++ b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/dto/DeviceJSON.java
@@ -1,4 +1,4 @@
-package org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl.dao;
+package org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl.dto;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
diff --git a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/dto/DeviceRecord.java b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/dto/DeviceRecord.java
new file mode 100644
index 00000000..e69de29b
diff --git a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/util/VirtualFireAlarmXMPPConnector.java b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/util/VirtualFireAlarmXMPPConnector.java
index a2a05df8..2bf2f2c2 100644
--- a/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/util/VirtualFireAlarmXMPPConnector.java
+++ b/modules/samples/virtual_firealarm/src/org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl/src/main/java/org/wso2/carbon/device/mgt/iot/sample/virtual/firealarm/service/impl/util/VirtualFireAlarmXMPPConnector.java
@@ -13,6 +13,8 @@ import org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.plugin.constants
.VirtualFireAlarmConstants;
import org.wso2.carbon.device.mgt.iot.sample.virtual.firealarm.service.impl.VirtualFireAlarmService;
+import java.util.Calendar;
+
public class VirtualFireAlarmXMPPConnector extends XmppConnector {
private static Log log = LogFactory.getLog(VirtualFireAlarmXMPPConnector.class);
@@ -71,6 +73,8 @@ public class VirtualFireAlarmXMPPConnector extends XmppConnector {
}
} else if(subject.equals("CONTROL-REPLY")) {
log.info("XMPP: Reply Message [" + message + "] from [" + from + "]");
+ float temperature = Float.parseFloat(message.split(":")[1]);
+ DataHolder.getThisInstance().setTemperature(deviceId, temperature, Calendar.getInstance().getTimeInMillis());
} else {
log.info("SOME XMPP Message [" + message + "] from " + from + "]");
}