diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-EventsFusionGenerateNotifications_1.0.0/Geo-ExecutionPlan-EventsFusionGenerateNotifications-1.0.0.siddhiql b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-EventsFusionGenerateNotifications_1.0.0/Geo-ExecutionPlan-EventsFusionGenerateNotifications-1.0.0.siddhiql
deleted file mode 100644
index 36bbd5233..000000000
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-EventsFusionGenerateNotifications_1.0.0/Geo-ExecutionPlan-EventsFusionGenerateNotifications-1.0.0.siddhiql
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Enter a unique ExecutionPlan */
-@Plan:name('Geo-ExecutionPlan-EventsFusionGenerateNotifications')
-
-/* Enter a unique description for ExecutionPlan */
--- @Plan:description('ExecutionPlan')
-
-/* define streams/tables and write queries here ... */
-
-@Plan:trace('false')
-
-@Import('org.wso2.geo.ProcessedSpatialEvents:1.0.0')
-define stream dataIn (id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string, state string, information string );
-
-@Export('iot.per.device.stream.geo.AlertNotifications:1.0.0')
-define stream alertsOut ( id string, state string, information string, timeStamp long, latitude double, longitude double, type string);
-
-@Export('iot.per.device.stream.geo.FusedSpatialEvent:1.0.0')
-define stream dataOut ( id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, state string, information string, notify bool );
-
-from dataIn
-select id, latitude, longitude, timeStamp, type, speed, heading, state , information, (str:strcmp("ALERTED", state) == 0) as notify
-insert into dataOut;
-
-from dataOut[notify == true]
-select id, state, information,timeStamp, latitude, longitude, type
-insert into alertsOut;
\ No newline at end of file
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-EventsFusionGenerateNotifications_1.0.0/artifact.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-EventsFusionGenerateNotifications_1.0.0/artifact.xml
deleted file mode 100755
index e7cb8f858..000000000
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-EventsFusionGenerateNotifications_1.0.0/artifact.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- Geo-ExecutionPlan-EventsFusionGenerateNotifications-1.0.0.siddhiql
-
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-Pass_through_1.0.0/Geo-ExecutionPlan-Pass_through-1.0.0.siddhiql b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-Pass_through_1.0.0/Geo-ExecutionPlan-Pass_through-1.0.0.siddhiql
index aec39ac5c..11e3894bc 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-Pass_through_1.0.0/Geo-ExecutionPlan-Pass_through-1.0.0.siddhiql
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/Geo-ExecutionPlan-Pass_through_1.0.0/Geo-ExecutionPlan-Pass_through-1.0.0.siddhiql
@@ -7,11 +7,11 @@
/* define streams/tables and write queries here ... */
@Import('org.wso2.geo.StandardSpatialEvents:1.0.0')
-define stream dataIn (id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string);
+define stream dataIn (id string, owner string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string);
-@Export('org.wso2.geo.ProcessedSpatialEvents:1.0.0')
-define stream dataOut (id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string, state string, information string);
+@Export('iot.per.device.stream.geo.FusedSpatialEvent:1.0.0')
+define stream dataOut (id string, owner string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, state string, information string, notify bool);
from dataIn
-select id , latitude, longitude,timeStamp, type ,speed, heading ,eventId , "NORMAL" as state, "Normal driving pattern" as information
+select id, owner, latitude, longitude,timeStamp, type ,speed, heading, "NORMAL" as state, "Normal driving pattern" as information, false as notify
insert into dataOut;
\ No newline at end of file
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-EventSink-FusedStream_1.0.0/iot_per_device_stream_geo_FusedSpatialEvent.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-EventSink-FusedStream_1.0.0/iot_per_device_stream_geo_FusedSpatialEvent.xml
index 23c3589b8..f14873f99 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-EventSink-FusedStream_1.0.0/iot_per_device_stream_geo_FusedSpatialEvent.xml
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-EventSink-FusedStream_1.0.0/iot_per_device_stream_geo_FusedSpatialEvent.xml
@@ -9,6 +9,14 @@
false
STRING
+
+ owner
+ false
+ true
+ false
+ false
+ STRING
+
latitude
false
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-Geo-AlertNotifications_1.0.0/iot_per_device_stream_geo_AlertNotifications.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-Geo-AlertNotifications_1.0.0/iot_per_device_stream_geo_AlertNotifications.xml
index ca3f795e1..04b2703a3 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-Geo-AlertNotifications_1.0.0/iot_per_device_stream_geo_AlertNotifications.xml
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-Geo-AlertNotifications_1.0.0/iot_per_device_stream_geo_AlertNotifications.xml
@@ -9,6 +9,14 @@
false
STRING
+
+ owner
+ false
+ true
+ false
+ false
+ STRING
+
state
false
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-Geo-ExecutionPlan_1.0.0/WSO2IoT-Geo-ExecutionPlan.siddhiql b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-Geo-ExecutionPlan_1.0.0/WSO2IoT-Geo-ExecutionPlan.siddhiql
index 1bfd0de60..e8418fe49 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-Geo-ExecutionPlan_1.0.0/WSO2IoT-Geo-ExecutionPlan.siddhiql
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/WSO2IoT-Geo-ExecutionPlan_1.0.0/WSO2IoT-Geo-ExecutionPlan.siddhiql
@@ -9,13 +9,13 @@
@Plan:trace('false')
@Import('org.wso2.iot.LocationStream:1.0.0')
-define stream dataIn (meta_deviceId string, meta_deviceType string, timeStamp long, latitude double, longitude double);
+define stream dataIn (meta_deviceId string, meta_owner string, meta_deviceType string, timeStamp long, latitude double, longitude double);
@Export('org.wso2.geo.StandardSpatialEvents:1.0.0')
-define stream dataOut (id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string);
+define stream dataOut (id string, owner string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string);
from every fs1=dataIn -> fs2=dataIn[fs2.timeStamp > fs1.timeStamp and fs1.meta_deviceId == fs2.meta_deviceId]
-select fs1.meta_deviceId as id, fs2.latitude, fs2.longitude, fs2.timeStamp, fs1.meta_deviceType as type,
+select fs1.meta_deviceId as id, fs1.meta_owner as owner, fs2.latitude, fs2.longitude, fs2.timeStamp, fs1.meta_deviceType as type,
convert(geo:distance(fs2.latitude, fs2.longitude, fs1.latitude, fs1.longitude) * 3600/(fs2.timeStamp - fs1.timeStamp), 'float') as speed,
0.0f as heading, UUID() as eventId
group by fs1.meta_deviceId
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/artifacts.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/artifacts.xml
index f0fdfa066..9c2354b2f 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/artifacts.xml
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/artifacts.xml
@@ -22,7 +22,6 @@
-
@@ -31,7 +30,6 @@
-
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/iot.per.device.stream.geo.AlertNotifications_1.0.0/iot.per.device.stream.geo.AlertNotifications-1.0.0.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/iot.per.device.stream.geo.AlertNotifications_1.0.0/iot.per.device.stream.geo.AlertNotifications-1.0.0.json
index b19d158ab..a10ec10ef 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/iot.per.device.stream.geo.AlertNotifications_1.0.0/iot.per.device.stream.geo.AlertNotifications-1.0.0.json
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/iot.per.device.stream.geo.AlertNotifications_1.0.0/iot.per.device.stream.geo.AlertNotifications-1.0.0.json
@@ -8,6 +8,10 @@
"name": "id",
"type": "STRING"
},
+ {
+ "name": "owner",
+ "type": "STRING"
+ },
{
"name": "state",
"type": "STRING"
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/iot.per.device.stream.geo.FusedSpatialEvent_1.0.0/iot.per.device.stream.geo.FusedSpatialEvent-1.0.0.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/iot.per.device.stream.geo.FusedSpatialEvent_1.0.0/iot.per.device.stream.geo.FusedSpatialEvent-1.0.0.json
index e8b866a34..e9f4601d6 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/iot.per.device.stream.geo.FusedSpatialEvent_1.0.0/iot.per.device.stream.geo.FusedSpatialEvent-1.0.0.json
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/iot.per.device.stream.geo.FusedSpatialEvent_1.0.0/iot.per.device.stream.geo.FusedSpatialEvent-1.0.0.json
@@ -8,6 +8,10 @@
"name": "id",
"type": "STRING"
},
+ {
+ "name": "owner",
+ "type": "STRING"
+ },
{
"name": "latitude",
"type": "DOUBLE"
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.ProcessedSpatialEvents_1.0.0/artifact.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.ProcessedSpatialEvents_1.0.0/artifact.xml
deleted file mode 100755
index a87870c31..000000000
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.ProcessedSpatialEvents_1.0.0/artifact.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- org.wso2.geo.ProcessedSpatialEvents-1.0.0.json
-
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.ProcessedSpatialEvents_1.0.0/org.wso2.geo.ProcessedSpatialEvents-1.0.0.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.ProcessedSpatialEvents_1.0.0/org.wso2.geo.ProcessedSpatialEvents-1.0.0.json
deleted file mode 100644
index 08adb6858..000000000
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.ProcessedSpatialEvents_1.0.0/org.wso2.geo.ProcessedSpatialEvents-1.0.0.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "org.wso2.geo.ProcessedSpatialEvents",
- "version": "1.0.0",
- "nickName": "",
- "description": "",
- "payloadData": [
- {
- "name": "id",
- "type": "STRING"
- },
- {
- "name": "latitude",
- "type": "DOUBLE"
- },
- {
- "name": "longitude",
- "type": "DOUBLE"
- },
- {
- "name": "timeStamp",
- "type": "LONG"
- },
- {
- "name": "type",
- "type": "STRING"
- },
- {
- "name": "speed",
- "type": "FLOAT"
- },
- {
- "name": "heading",
- "type": "FLOAT"
- },
- {
- "name": "eventId",
- "type": "STRING"
- },
- {
- "name": "state",
- "type": "STRING"
- },
- {
- "name": "information",
- "type": "STRING"
- }
- ]
-}
\ No newline at end of file
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.StandardSpatialEvents_1.0.0/org.wso2.geo.StandardSpatialEvents-1.0.0.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.StandardSpatialEvents_1.0.0/org.wso2.geo.StandardSpatialEvents-1.0.0.json
index 74a5670b9..3ffbef8e7 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.StandardSpatialEvents_1.0.0/org.wso2.geo.StandardSpatialEvents-1.0.0.json
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.geo.StandardSpatialEvents_1.0.0/org.wso2.geo.StandardSpatialEvents-1.0.0.json
@@ -8,6 +8,10 @@
"name": "id",
"type": "STRING"
},
+ {
+ "name": "owner",
+ "type": "STRING"
+ },
{
"name": "latitude",
"type": "DOUBLE"
diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.iot.LocationStream_1.0.0/org.wso2.iot.LocationStream-1.0.0.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.iot.LocationStream_1.0.0/org.wso2.iot.LocationStream-1.0.0.json
index d27509990..4211e7902 100644
--- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.iot.LocationStream_1.0.0/org.wso2.iot.LocationStream-1.0.0.json
+++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/org.wso2.iot.LocationStream_1.0.0/org.wso2.iot.LocationStream-1.0.0.json
@@ -8,6 +8,10 @@
"name": "deviceId",
"type": "STRING"
},
+ {
+ "name": "owner",
+ "type": "STRING"
+ },
{
"name": "deviceType",
"type": "STRING"
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/impl/EventReceiverServiceImpl.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/impl/EventReceiverServiceImpl.java
index c5e0c36ab..f42a9a8d2 100644
--- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/impl/EventReceiverServiceImpl.java
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/impl/EventReceiverServiceImpl.java
@@ -69,13 +69,14 @@ public class EventReceiverServiceImpl implements EventReceiverService {
if (log.isDebugEnabled()) {
log.debug("Invoking Android device event logging.");
}
+ Device device;
try {
if (!DeviceManagerUtil.isPublishLocationResponseEnabled()) {
return Response.status(Response.Status.ACCEPTED).entity("Event is publishing has not enabled.").build();
}
DeviceIdentifier deviceIdentifier = new DeviceIdentifier(eventBeanWrapper.getDeviceIdentifier(),
AndroidConstants.DEVICE_TYPE_ANDROID);
- Device device = AndroidAPIUtils.getDeviceManagementService().getDevice(deviceIdentifier);
+ device = AndroidAPIUtils.getDeviceManagementService().getDevice(deviceIdentifier);
if (device != null && EnrolmentInfo.Status.ACTIVE != device.getEnrolmentInfo().getStatus()){
return Response.status(Response.Status.ACCEPTED).entity("Device is not in Active state.").build();
} else if (device == null){
@@ -92,7 +93,8 @@ public class EventReceiverServiceImpl implements EventReceiverService {
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
}
Message message = new Message();
- Object[] metaData = {eventBeanWrapper.getDeviceIdentifier(), AndroidConstants.DEVICE_TYPE_ANDROID};
+ Object[] metaData = {eventBeanWrapper.getDeviceIdentifier(), device.getEnrolmentInfo().getOwner(),
+ AndroidConstants.DEVICE_TYPE_ANDROID};
String eventPayload = eventBeanWrapper.getPayload();
JsonObject jsonObject = gson.fromJson(eventPayload, JsonObject.class);
Object[] payload = {
diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.v09.api/src/main/java/org/wso2/carbon/mdm/services/android/services/impl/EventReceiverServiceImpl.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.v09.api/src/main/java/org/wso2/carbon/mdm/services/android/services/impl/EventReceiverServiceImpl.java
index 62c8a5625..308b78417 100644
--- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.v09.api/src/main/java/org/wso2/carbon/mdm/services/android/services/impl/EventReceiverServiceImpl.java
+++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.v09.api/src/main/java/org/wso2/carbon/mdm/services/android/services/impl/EventReceiverServiceImpl.java
@@ -70,13 +70,14 @@ public class EventReceiverServiceImpl implements EventReceiverService {
if (log.isDebugEnabled()) {
log.debug("Invoking Android device event logging.");
}
+ Device device;
try {
if (!DeviceManagerUtil.isPublishLocationResponseEnabled()) {
return Response.status(Response.Status.ACCEPTED).entity("Event is publishing has not enabled.").build();
}
DeviceIdentifier deviceIdentifier = new DeviceIdentifier(eventBeanWrapper.getDeviceIdentifier(),
AndroidConstants.DEVICE_TYPE_ANDROID);
- Device device = AndroidAPIUtils.getDeviceManagementService().getDevice(deviceIdentifier);
+ device = AndroidAPIUtils.getDeviceManagementService().getDevice(deviceIdentifier);
if (device != null && EnrolmentInfo.Status.ACTIVE != device.getEnrolmentInfo().getStatus()){
return Response.status(Response.Status.ACCEPTED).entity("Device is not in Active state.").build();
} else if (device == null){
@@ -93,7 +94,8 @@ public class EventReceiverServiceImpl implements EventReceiverService {
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
}
Message message = new Message();
- Object[] metaData = {eventBeanWrapper.getDeviceIdentifier(), AndroidConstants.DEVICE_TYPE_ANDROID};
+ Object[] metaData = {eventBeanWrapper.getDeviceIdentifier(), device.getEnrolmentInfo().getOwner(),
+ AndroidConstants.DEVICE_TYPE_ANDROID};
String eventPayload = eventBeanWrapper.getPayload();
JsonObject jsonObject = gson.fromJson(eventPayload, JsonObject.class);
Object[] payload = {