From d0183deb2ad2dffa861dff45284b51fe8e210252 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Fri, 13 May 2016 02:54:21 +0530 Subject: [PATCH 1/8] few changes in event recievers and remove type and method from feature --- .../EventReceiver_ConnectedCup.xml | 13 ++++++------- .../resources/carbonapps/ConnectedCup/artifacts.xml | 2 +- .../api/ConnectedCupControllerService.java | 3 +-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/EventReceiver_ConnectedCup_1.0.0/EventReceiver_ConnectedCup.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/EventReceiver_ConnectedCup_1.0.0/EventReceiver_ConnectedCup.xml index 94c1c435..6dbe5218 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/EventReceiver_ConnectedCup_1.0.0/EventReceiver_ConnectedCup.xml +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/EventReceiver_ConnectedCup_1.0.0/EventReceiver_ConnectedCup.xml @@ -17,17 +17,16 @@ ~ under the License. --> - + - wso2/carbon.super/connectedcup/# + carbon.super/connectedcup/# admin device_id_json_path:event.metaData.deviceId,device_id_topic_hierarchy_index:3 - default - https://localhost:9443/dynamic-client-web/register - tcp://localhost:1883 + org.wso2.carbon.device.mgt.iot.input.adapter.mqtt.util.MQTTContentValidator + https://localhost:${carbon.https.port}/dynamic-client-web/register + tcp://${mqtt.broker.host}:${mqtt.broker.port} true - - + \ No newline at end of file diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/artifacts.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/artifacts.xml index 86306d71..a4c1a87e 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/artifacts.xml +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/artifacts.xml @@ -20,7 +20,7 @@ - + diff --git a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerService.java b/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerService.java index f89a405e..a41d44e2 100644 --- a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerService.java +++ b/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerService.java @@ -39,8 +39,7 @@ public interface ConnectedCupControllerService { @Path("device/ordercoffee") @POST - @Feature(code = "ordercoffee", name = "Order Coffee", type = "control", - description = "Order coffee cup") + @Feature(code = "ordercoffee", name = "Order Coffee", description = "Order coffee cup") Response orderCoffee(@QueryParam("deviceId") String deviceId); /** From 0b893ad64cfc74481fe678f0e2552a43c84b54e3 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sat, 14 May 2016 11:11:50 +0530 Subject: [PATCH 2/8] refactored connected cup analytics scripts --- .../component/analytics/build.xml | 4 ++-- .../artifact.xml | 23 ------------------- .../artifacts.xml | 10 ++++---- .../coffee_level_receiver}/artifact.xml | 4 ++-- .../coffee_level_receiver.xml} | 2 +- .../coffee_level_script}/artifact.xml | 2 +- .../coffee_level_script.xml} | 2 +- .../coffee_level_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_coffeelevel.xml | 0 .../coffee_level_stream}/artifact.xml | 2 +- ...rg.wso2.iot.devices.coffeelevel_1.0.0.json | 0 .../artifacts.xml | 13 ++++------- .../connected_cup_execution}/artifact.xml | 5 ++-- .../connected_cup_execution.siddhiql} | 4 ++-- .../connected_cup_publisher}/artifact.xml | 4 ++-- .../connected_cup_publisher.xml} | 2 +- .../connected_cup_receiver/artifact.xml | 22 ++++++++++++++++++ .../connected_cup_receiver.xml} | 7 +++--- .../connected_cup_stream}/artifact.xml | 2 +- .../org.wso2.iot.connectedcup_1.0.0.json | 0 20 files changed, 54 insertions(+), 56 deletions(-) delete mode 100644 modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/EventExecution_ConnectedCup_1.0.0/artifact.xml rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{ConnectedCup => coffee_level}/artifacts.xml (61%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor/Eventreceiver_coffeelevel_1.0.0 => coffee_level/coffee_level_receiver}/artifact.xml (82%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor/Eventreceiver_coffeelevel_1.0.0/EventReceiver_coffeelevel.xml => coffee_level/coffee_level_receiver/coffee_level_receiver.xml} (92%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor/Sparkscripts_1.0.0 => coffee_level/coffee_level_script}/artifact.xml (94%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor/Sparkscripts_1.0.0/CoffeeLevel_Sensor_Script.xml => coffee_level/coffee_level_script/coffee_level_script.xml} (97%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor/Eventstore_coffeelevel_1.0.0 => coffee_level/coffee_level_store}/artifact.xml (87%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor/Eventstore_coffeelevel_1.0.0 => coffee_level/coffee_level_store}/org_wso2_iot_devices_coffeelevel.xml (100%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor/Eventstream_coffeelevel_1.0.0 => coffee_level/coffee_level_stream}/artifact.xml (87%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor/Eventstream_coffeelevel_1.0.0 => coffee_level/coffee_level_stream}/org.wso2.iot.devices.coffeelevel_1.0.0.json (100%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{CoffeeLevel_Sensor => connected_cup}/artifacts.xml (62%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{ConnectedCup/EventPublisher_ConnectedCup_1.0.0 => connected_cup/connected_cup_execution}/artifact.xml (81%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{ConnectedCup/EventExecution_ConnectedCup_1.0.0/EventExecution_ConnectedCup.siddhiql => connected_cup/connected_cup_execution/connected_cup_execution.siddhiql} (90%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{ConnectedCup/EventReceiver_ConnectedCup_1.0.0 => connected_cup/connected_cup_publisher}/artifact.xml (81%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{ConnectedCup/EventPublisher_ConnectedCup_1.0.0/EventPublisher_ConnectedCup.xml => connected_cup/connected_cup_publisher/connected_cup_publisher.xml} (87%) create mode 100644 modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_receiver/artifact.xml rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{ConnectedCup/EventReceiver_ConnectedCup_1.0.0/EventReceiver_ConnectedCup.xml => connected_cup/connected_cup_receiver/connected_cup_receiver.xml} (72%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{ConnectedCup/EventStream_ConnectedCup_1.0.0 => connected_cup/connected_cup_stream}/artifact.xml (87%) rename modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/{ConnectedCup/EventStream_ConnectedCup_1.0.0 => connected_cup/connected_cup_stream}/org.wso2.iot.connectedcup_1.0.0.json (100%) diff --git a/modules/samples/connectedcup/component/analytics/build.xml b/modules/samples/connectedcup/component/analytics/build.xml index 9f8b8850..89289868 100644 --- a/modules/samples/connectedcup/component/analytics/build.xml +++ b/modules/samples/connectedcup/component/analytics/build.xml @@ -23,8 +23,8 @@ - - + + diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/EventExecution_ConnectedCup_1.0.0/artifact.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/EventExecution_ConnectedCup_1.0.0/artifact.xml deleted file mode 100644 index ea5b8630..00000000 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/EventExecution_ConnectedCup_1.0.0/artifact.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - EventExecution_ConnectedCup.siddhiql - - diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/artifacts.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/artifacts.xml similarity index 61% rename from modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/artifacts.xml rename to modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/artifacts.xml index a4c1a87e..652aab82 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/ConnectedCup/artifacts.xml +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/artifacts.xml @@ -18,10 +18,10 @@ --> - - - - - + + + + + diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Eventreceiver_coffeelevel_1.0.0/artifact.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_receiver/artifact.xml similarity index 82% rename from modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Eventreceiver_coffeelevel_1.0.0/artifact.xml rename to modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_receiver/artifact.xml index ab46c07d..ef5b1648 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Eventreceiver_coffeelevel_1.0.0/artifact.xml +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_receiver/artifact.xml @@ -17,6 +17,6 @@ ~ under the License. --> - - EventReceiver_coffeelevel.xml + + coffee_level_receiver.xml diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Eventreceiver_coffeelevel_1.0.0/EventReceiver_coffeelevel.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_receiver/coffee_level_receiver.xml similarity index 92% rename from modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Eventreceiver_coffeelevel_1.0.0/EventReceiver_coffeelevel.xml rename to modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_receiver/coffee_level_receiver.xml index f61865c5..ebe3b990 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Eventreceiver_coffeelevel_1.0.0/EventReceiver_coffeelevel.xml +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_receiver/coffee_level_receiver.xml @@ -17,7 +17,7 @@ ~ under the License. --> - false diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Sparkscripts_1.0.0/artifact.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_script/artifact.xml similarity index 94% rename from modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Sparkscripts_1.0.0/artifact.xml rename to modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_script/artifact.xml index 0ed651a9..879a923d 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Sparkscripts_1.0.0/artifact.xml +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_script/artifact.xml @@ -18,5 +18,5 @@ --> - CoffeeLevel_Sensor_Script.xml + coffee_level_script.xml diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Sparkscripts_1.0.0/CoffeeLevel_Sensor_Script.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_script/coffee_level_script.xml similarity index 97% rename from modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Sparkscripts_1.0.0/CoffeeLevel_Sensor_Script.xml rename to modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_script/coffee_level_script.xml index 84e3e693..f8f93781 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/CoffeeLevel_Sensor/Sparkscripts_1.0.0/CoffeeLevel_Sensor_Script.xml +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_script/coffee_level_script.xml @@ -18,7 +18,7 @@ --> - CoffeeLevel_Sensor_Script + coffee_level_script - 0 * * * * ? + 0 0/5 * * * ? diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_stream/org.wso2.iot.devices.coffeelevel_1.0.0.json b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_stream/org.wso2.iot.devices.coffeelevel_1.0.0.json index f9058d22..abcace4e 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_stream/org.wso2.iot.devices.coffeelevel_1.0.0.json +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/coffee_level/coffee_level_stream/org.wso2.iot.devices.coffeelevel_1.0.0.json @@ -1,7 +1,7 @@ { "name": "org.wso2.iot.devices.coffeelevel", "version": "1.0.0", - "nickName": "Coffee Level Data", + "nickName": "CoffeeLevel", "description": "Coffee Level data received from the Device", "metaData": [ {"name":"owner","type":"STRING"}, @@ -14,7 +14,4 @@ "name": "coffeelevel","type": "FLOAT" } ] -} - - - +} \ No newline at end of file diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_receiver/connected_cup_receiver.xml b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_receiver/connected_cup_receiver.xml index ff9214e9..cd9b0657 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_receiver/connected_cup_receiver.xml +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_receiver/connected_cup_receiver.xml @@ -17,7 +17,7 @@ ~ under the License. --> - + carbon.super/connectedcup/# admin diff --git a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_stream/org.wso2.iot.connectedcup_1.0.0.json b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_stream/org.wso2.iot.connectedcup_1.0.0.json index ebdc9f25..a93e29e0 100644 --- a/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_stream/org.wso2.iot.connectedcup_1.0.0.json +++ b/modules/samples/connectedcup/component/analytics/src/main/resources/carbonapps/connected_cup/connected_cup_stream/org.wso2.iot.connectedcup_1.0.0.json @@ -1,7 +1,7 @@ { "name": "org.wso2.iot.connectedcup", "version": "1.0.0", - "nickName": "connectedcup stream", + "nickName": "connectedcup", "description": "This hold the device type stream of connectedcup", "metaData": [ {"name": "owner", "type": "STRING"}, diff --git a/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.analytics-view/public/js/devicetype-graph.js b/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.analytics-view/public/js/devicetype-graph.js index ae85f661..5b5b79e9 100644 --- a/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.analytics-view/public/js/devicetype-graph.js +++ b/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.analytics-view/public/js/devicetype-graph.js @@ -18,7 +18,7 @@ var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); -function drawGraph(from, to) { +function drawGraph_connectedcup(from, to) { retrieveDataAndDrawLineGraph("temperature", from, to); retrieveDataAndDrawLineGraph("coffeelevel", from, to); } diff --git a/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.type-view/private/config.json b/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.type-view/private/config.json new file mode 100644 index 00000000..685ee7ff --- /dev/null +++ b/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.type-view/private/config.json @@ -0,0 +1,6 @@ +{ + "deviceType": { + "label": "Connected Cup", + "category": "virtual" + } +} \ No newline at end of file From 01ab2a5ce4aa0e325820fd6352cff3f57cf6e7be Mon Sep 17 00:00:00 2001 From: Ace Date: Sun, 15 May 2016 01:18:13 +0530 Subject: [PATCH 5/8] Adding device type deployment location property --- modules/distribution/src/repository/conf/cdm-config.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/distribution/src/repository/conf/cdm-config.xml b/modules/distribution/src/repository/conf/cdm-config.xml index 4ac277e3..b81a1ddb 100644 --- a/modules/distribution/src/repository/conf/cdm-config.xml +++ b/modules/distribution/src/repository/conf/cdm-config.xml @@ -57,5 +57,9 @@ + + localhost + 9443 + From 19775a7c99fc8a33c5b94ba2377410051e8c45a8 Mon Sep 17 00:00:00 2001 From: Ace Date: Sun, 15 May 2016 01:35:08 +0530 Subject: [PATCH 6/8] Adding comments to config file --- modules/distribution/src/repository/conf/cdm-config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/distribution/src/repository/conf/cdm-config.xml b/modules/distribution/src/repository/conf/cdm-config.xml index b81a1ddb..19a845e1 100644 --- a/modules/distribution/src/repository/conf/cdm-config.xml +++ b/modules/distribution/src/repository/conf/cdm-config.xml @@ -58,6 +58,7 @@ + localhost 9443 From a92eb8bd3493fbf860dcfe6dbc037187e20c869d Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sun, 15 May 2016 17:46:30 +0530 Subject: [PATCH 7/8] refactored connected cup apis --- .../api/ConnectedCupManagerService.java | 60 ------- .../api/ConnectedCupManagerServiceImpl.java | 168 ------------------ ...rService.java => ConnectedCupService.java} | 10 +- ...Impl.java => ConnectedCupServiceImpl.java} | 45 ++++- .../src/main/webapp/META-INF/permissions.xml | 25 +-- .../src/main/webapp/WEB-INF/cxf-servlet.xml | 7 +- .../public/js/download.js | 2 +- 7 files changed, 57 insertions(+), 260 deletions(-) delete mode 100644 modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupManagerService.java delete mode 100644 modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupManagerServiceImpl.java rename modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/{ConnectedCupControllerService.java => ConnectedCupService.java} (79%) rename modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/{ConnectedCupControllerServiceImpl.java => ConnectedCupServiceImpl.java} (72%) diff --git a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupManagerService.java b/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupManagerService.java deleted file mode 100644 index 8b26345c..00000000 --- a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupManagerService.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.coffeeking.api; - -import org.wso2.carbon.apimgt.annotations.api.API; -import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("enrollment") -@API( name="connectedcup_mgt", version="1.0.0", context="/connectedcup_mgt", tags = {"connectedcup"}) -@DeviceType("connectedcup") -public interface ConnectedCupManagerService { - - @Path("/devices/{device_id}") - @DELETE - Response removeDevice(@PathParam("device_id") String deviceId); - - @Path("/devices/{device_id}") - @PUT - Response updateDevice(@PathParam("device_id") String deviceId, - @QueryParam("name") String name); - - @Path("/devices/{device_id}") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - Response getDevice(@PathParam("device_id") String deviceId); - - @Path("/devices") - @POST - boolean register(@QueryParam("name") String name); - -} diff --git a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupManagerServiceImpl.java b/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupManagerServiceImpl.java deleted file mode 100644 index d7b2e678..00000000 --- a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupManagerServiceImpl.java +++ /dev/null @@ -1,168 +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.coffeeking.api; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.coffeeking.api.util.APIUtil; -import org.coffeeking.connectedcup.plugin.constants.ConnectedCupConstants; -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.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; -import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; -import java.util.Date; -import java.util.UUID; - -@Path("enrollment") -public class ConnectedCupManagerServiceImpl implements ConnectedCupManagerService { - - private static Log log = LogFactory.getLog(ConnectedCupManagerServiceImpl.class); - - @Path("/devices/{device_id}") - @DELETE - public Response removeDevice(@PathParam("device_id") String deviceId) { - try { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(ConnectedCupConstants.DEVICE_TYPE); - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier, DeviceGroupConstants. - Permissions.DEFAULT_ADMIN_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - boolean removed = APIUtil.getDeviceManagementService().disenrollDevice( - deviceIdentifier); - if (removed) { - return Response.ok().build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); - } - } catch (DeviceManagementException e) { - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - }catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices/{device_id}") - @PUT - public Response updateDevice(@PathParam("device_id") String deviceId, @QueryParam("name") String name) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(ConnectedCupConstants.DEVICE_TYPE); - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier, DeviceGroupConstants. - Permissions.DEFAULT_ADMIN_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - device.setDeviceIdentifier(deviceId); - device.getEnrolmentInfo().setDateOfLastUpdate(new Date().getTime()); - device.setName(name); - device.setType(ConnectedCupConstants.DEVICE_TYPE); - boolean updated = APIUtil.getDeviceManagementService().modifyEnrollment(device); - if (updated) { - return Response.ok().build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); - } - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage()); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices/{device_id}") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Response getDevice(@PathParam("device_id") String deviceId) { - - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(ConnectedCupConstants.DEVICE_TYPE); - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - return Response.ok().entity(device).build(); - } catch (DeviceManagementException ex) { - log.error("Error occurred while retrieving device with Id " + deviceId + "\n" + ex); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices") - @POST - public boolean register(@QueryParam("name") String name) { - try { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - String deviceId = shortUUID(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(ConnectedCupConstants.DEVICE_TYPE); - if (APIUtil.getDeviceManagementService().isEnrolled(deviceIdentifier)) { - return false; - } - 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.setName(name); - device.setType(ConnectedCupConstants.DEVICE_TYPE); - enrolmentInfo.setOwner(APIUtil.getAuthenticatedUser()); - device.setEnrolmentInfo(enrolmentInfo); - return APIUtil.getDeviceManagementService().enrollDevice(device); - } catch (DeviceManagementException e) { - return false; - } - } - - private static String shortUUID() { - UUID uuid = UUID.randomUUID(); - long l = ByteBuffer.wrap(uuid.toString().getBytes(StandardCharsets.UTF_8)).getLong(); - return Long.toString(l, Character.MAX_RADIX); - } - -} \ No newline at end of file diff --git a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerService.java b/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupService.java similarity index 79% rename from modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerService.java rename to modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupService.java index a41d44e2..46db399f 100644 --- a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerService.java +++ b/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupService.java @@ -19,6 +19,7 @@ package org.coffeeking.api; import org.wso2.carbon.apimgt.annotations.api.API; +import org.wso2.carbon.apimgt.annotations.api.Permission; import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.Feature; @@ -35,11 +36,12 @@ import javax.ws.rs.core.Response; @API(name = "connectedcup", version = "1.0.0", context = "/connectedcup", tags = {"connectedcup"}) @DeviceType(value = "connectedcup") -public interface ConnectedCupControllerService { +public interface ConnectedCupService { @Path("device/ordercoffee") @POST @Feature(code = "ordercoffee", name = "Order Coffee", description = "Order coffee cup") + @Permission(scope = "connectedcup_user", permissions = {"/permission/admin/device-mgt/user/operations"}) Response orderCoffee(@QueryParam("deviceId") String deviceId); /** @@ -49,7 +51,13 @@ public interface ConnectedCupControllerService { @GET @Consumes("application/json") @Produces("application/json") + @Permission(scope = "connectedcup_user", permissions = {"/permission/admin/device-mgt/user/stats"}) Response getDeviceStats(@PathParam("deviceId") String deviceId, @PathParam("sensorName") String sensor, @QueryParam("from") long from, @QueryParam("to") long to); + @Path("device/register") + @POST + @Permission(scope = "connectedcup_user", permissions = {"/permission/admin/device-mgt/user/devices"}) + boolean register(@QueryParam("name") String name); + } diff --git a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerServiceImpl.java b/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupServiceImpl.java similarity index 72% rename from modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerServiceImpl.java rename to modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupServiceImpl.java index f41e77c4..ca23eaf9 100644 --- a/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupControllerServiceImpl.java +++ b/modules/samples/connectedcup/component/api/src/main/java/org/coffeeking/api/ConnectedCupServiceImpl.java @@ -23,7 +23,10 @@ import org.apache.commons.logging.LogFactory; import org.coffeeking.api.util.APIUtil; import org.coffeeking.api.util.SensorRecord; import org.coffeeking.connectedcup.plugin.constants.ConnectedCupConstants; +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.EnrolmentInfo; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; import org.wso2.carbon.analytics.dataservice.commons.SORT; import org.wso2.carbon.analytics.dataservice.commons.SortByField; @@ -38,12 +41,16 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.UUID; -public class ConnectedCupControllerServiceImpl implements ConnectedCupControllerService { +public class ConnectedCupServiceImpl implements ConnectedCupService { - private static Log log = LogFactory.getLog(ConnectedCupControllerServiceImpl.class); + private static Log log = LogFactory.getLog(ConnectedCupServiceImpl.class); @Path("device/ordercoffee") @POST @@ -116,4 +123,38 @@ public class ConnectedCupControllerServiceImpl implements ConnectedCupController return sensorEventTableName; } + @Path("device/register") + @POST + public boolean register(@QueryParam("name") String name) { + try { + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); + String deviceId = shortUUID(); + deviceIdentifier.setId(deviceId); + deviceIdentifier.setType(ConnectedCupConstants.DEVICE_TYPE); + if (APIUtil.getDeviceManagementService().isEnrolled(deviceIdentifier)) { + return false; + } + 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.setName(name); + device.setType(ConnectedCupConstants.DEVICE_TYPE); + enrolmentInfo.setOwner(APIUtil.getAuthenticatedUser()); + device.setEnrolmentInfo(enrolmentInfo); + return APIUtil.getDeviceManagementService().enrollDevice(device); + } catch (DeviceManagementException e) { + return false; + } + } + + private static String shortUUID() { + UUID uuid = UUID.randomUUID(); + long l = ByteBuffer.wrap(uuid.toString().getBytes(StandardCharsets.UTF_8)).getLong(); + return Long.toString(l, Character.MAX_RADIX); + } + } diff --git a/modules/samples/connectedcup/component/api/src/main/webapp/META-INF/permissions.xml b/modules/samples/connectedcup/component/api/src/main/webapp/META-INF/permissions.xml index 9e9db10e..e216705b 100644 --- a/modules/samples/connectedcup/component/api/src/main/webapp/META-INF/permissions.xml +++ b/modules/samples/connectedcup/component/api/src/main/webapp/META-INF/permissions.xml @@ -29,31 +29,10 @@ - - Get device - /device-mgt/user/devices/list - /enrollment/devices/* - GET - connectedcup_user - - - Remove device - /device-mgt/user/devices/remove - /enrollment/devices/* - DELETE - connectedcup_user - - - Update device - /device-mgt/user/devices/update - /enrollment/devices/* - PUT - connectedcup_user - Register a device /device-mgt/user/devices - /enrollment/devices + /device/register POST connectedcup_user @@ -69,6 +48,6 @@ /device-mgt/user/stats /stats/*/sensors/* GET - android_sense_device + connectedcup_user \ No newline at end of file diff --git a/modules/samples/connectedcup/component/api/src/main/webapp/WEB-INF/cxf-servlet.xml b/modules/samples/connectedcup/component/api/src/main/webapp/WEB-INF/cxf-servlet.xml index b14eb4a0..5dfc1661 100644 --- a/modules/samples/connectedcup/component/api/src/main/webapp/WEB-INF/cxf-servlet.xml +++ b/modules/samples/connectedcup/component/api/src/main/webapp/WEB-INF/cxf-servlet.xml @@ -27,11 +27,8 @@ - - - + diff --git a/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.type-view/public/js/download.js b/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.type-view/public/js/download.js index 2a11e164..752690e3 100644 --- a/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.type-view/public/js/download.js +++ b/modules/samples/connectedcup/component/ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.connectedcup.type-view/public/js/download.js @@ -145,7 +145,7 @@ function downloadAgent() { payload.name = $inputs[0].value; payload.owner = $inputs[1].value; - var connectedCupRegisterURL = "/connectedcup/enrollment/devices?name=" + encodeURI(payload.name); + var connectedCupRegisterURL = "/connectedcup/device/register?name=" + encodeURI(payload.name); invokerUtil.post( connectedCupRegisterURL, From b6882f8fbe03f3f5fcfaad370fb1aedca8afc4d0 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sun, 15 May 2016 21:29:07 +0530 Subject: [PATCH 8/8] fixed https://wso2.org/jira/browse/IOTS-153 --- modules/p2-profile-gen/pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/p2-profile-gen/pom.xml b/modules/p2-profile-gen/pom.xml index ae57779c..60078e4d 100644 --- a/modules/p2-profile-gen/pom.xml +++ b/modules/p2-profile-gen/pom.xml @@ -212,6 +212,9 @@ org.wso2.carbon.apimgt:org.wso2.carbon.apimgt.gateway.feature:${carbon.api.mgt.version} + + org.wso2.carbon.apimgt:org.wso2.carbon.forum.server.feature:${carbon.api.mgt.version} + @@ -880,6 +883,10 @@ org.wso2.carbon.apimgt.gateway.feature.group ${carbon.api.mgt.version} + + org.wso2.carbon.forum.server.feature.group + ${carbon.api.mgt.version} +