diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Authentication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Authentication.java similarity index 84% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Authentication.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Authentication.java index 42257b7944..2eec7f26bf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Authentication.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Authentication.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,12 +11,12 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Certificate.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Certificate.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Certificate.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Certificate.java index e1714c2c29..8b221bf24d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Certificate.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Certificate.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -25,12 +25,12 @@ import org.wso2.carbon.certificate.mgt.core.dto.CertificateResponse; import org.wso2.carbon.certificate.mgt.core.exception.KeystoreException; import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService; import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.beans.EnrollmentCertificate; -import org.wso2.carbon.mdm.exception.Message; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.beans.EnrollmentCertificate; +import org.wso2.carbon.device.mgt.jaxrs.exception.Message; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Configuration.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Configuration.java similarity index 95% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Configuration.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Configuration.java index ac305b2008..80ad97ee6c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Configuration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Configuration.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; @@ -24,9 +24,9 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; import org.wso2.carbon.device.mgt.common.configuration.mgt.TenantConfiguration; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.MDMAppConstants; -import org.wso2.carbon.mdm.api.util.ResponsePayload; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.api.util.MDMAppConstants; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; import org.wso2.carbon.policy.mgt.core.util.PolicyManagerUtil; import javax.ws.rs.Consumes; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Device.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Device.java similarity index 78% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Device.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Device.java index 487c93ada5..f70ab278a5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Device.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Device.java @@ -16,21 +16,24 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.core.service.DeviceManagementAdminService; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; 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.PaginationRequest; import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.ResponsePayload; +import javax.ws.rs.DELETE; import javax.ws.rs.GET; +import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; @@ -231,4 +234,52 @@ public class Device { return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } } -} \ No newline at end of file + + /** + * Update device. + * + * @return update status. + */ + @PUT + @Path("type/{type}/id/{deviceId}") + public Response updateDevice(@PathParam("type") String deviceType, @PathParam("deviceId") String deviceId, + org.wso2.carbon.device.mgt.common.Device updatedDevice) { + try { + DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService(); + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); + deviceIdentifier.setType(deviceType); + deviceIdentifier.setId(deviceId); + org.wso2.carbon.device.mgt.common.Device device = deviceManagementService.getDevice(deviceIdentifier); + device.setName(updatedDevice.getName()); + device.setDescription(updatedDevice.getDescription()); + Boolean response = deviceManagementService.modifyEnrollment(device); + return Response.status(Response.Status.OK).entity(response).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while fetching the list of device types."; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } + + /** + * disenroll device. + * + * @return disenrollment status. + */ + @DELETE + @Path("type/{type}/id/{deviceId}") + public Response disenrollDevice(@PathParam("type") String deviceType, @PathParam("deviceId") String deviceId) { + try { + DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService(); + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); + deviceIdentifier.setType(deviceType); + deviceIdentifier.setId(deviceId); + Boolean response = deviceManagementService.disenrollDevice(deviceIdentifier); + return Response.status(Response.Status.OK).entity(response).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while fetching the list of device types."; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceInformation.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceInformation.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceInformation.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceInformation.java index 81fe19e73c..5bfe8e0b0f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceInformation.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceInformation.java @@ -17,7 +17,7 @@ */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -26,7 +26,7 @@ import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation; import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceDetailsMgtException; import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; import javax.ws.rs.GET; import javax.ws.rs.Path; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceNotification.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceNotification.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceNotification.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceNotification.java index 0f85351571..0319ae349f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceNotification.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceNotification.java @@ -16,15 +16,15 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; import org.wso2.carbon.device.mgt.common.notification.mgt.Notification; import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.ResponsePayload; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; import javax.ws.rs.Consumes; import javax.ws.rs.GET; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceSearch.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceSearch.java similarity index 94% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceSearch.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceSearch.java index fc9a7bd3a6..f3fdf8c065 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/DeviceSearch.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/DeviceSearch.java @@ -17,7 +17,7 @@ */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -25,7 +25,7 @@ import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; import org.wso2.carbon.device.mgt.common.search.SearchContext; import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.search.mgt.SearchMgtException; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; import javax.ws.rs.GET; import javax.ws.rs.core.Response; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Feature.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Feature.java similarity index 95% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Feature.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Feature.java index 9cd8c305e3..667d6f683a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Feature.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Feature.java @@ -16,13 +16,13 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; import javax.ws.rs.Consumes; import javax.ws.rs.GET; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Group.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Group.java similarity index 92% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Group.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Group.java index 8c86419aea..4e1b9b68b7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Group.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Group.java @@ -16,11 +16,12 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.PaginationResult; @@ -29,7 +30,6 @@ import org.wso2.carbon.device.mgt.common.group.mgt.GroupAlreadyEixistException; import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException; import org.wso2.carbon.device.mgt.common.group.mgt.GroupUser; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -97,7 +97,7 @@ public class Group { } } - @Path("/{owner}/{groupName}") + @Path("/owner/{owner}/name/{groupName}") @PUT @Consumes("application/json") @Produces("application/json") @@ -112,7 +112,7 @@ public class Group { } } - @Path("/{owner}/{groupName}") + @Path("/owner/{owner}/name/{groupName}") @DELETE public Response deleteGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner) { try { @@ -160,7 +160,7 @@ public class Group { } } - @Path("/{owner}/{groupName}") + @Path("/owner/{owner}/name/{groupName}") @GET @Produces("application/json") public Response getGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner) { @@ -177,14 +177,14 @@ public class Group { } } - @Path("/search") + @Path("/user/{user}/search") @GET @Produces("application/json") public Response findGroups(@QueryParam("groupName") String groupName, - @QueryParam("userName") String userName) { + @PathParam("user") String user) { try { List groups = DeviceMgtAPIUtils.getGroupManagementProviderService() - .findInGroups(groupName, userName); + .findInGroups(groupName, user); DeviceGroup[] deviceGroups = new DeviceGroup[groups.size()]; groups.toArray(deviceGroups); return Response.status(Response.Status.OK).entity(deviceGroups).build(); @@ -216,6 +216,19 @@ public class Group { } } + @Path("/count") + @GET + @Produces("application/json") + public Response getAllGroupCount() { + try { + int count = DeviceMgtAPIUtils.getGroupManagementProviderService().getGroupCount(); + return Response.status(Response.Status.OK).entity(count).build(); + } catch (GroupManagementException e) { + log.error(e.getMessage(), e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build(); + } + } + @Path("/user/{user}/count") @GET @Produces("application/json") @@ -229,7 +242,7 @@ public class Group { } } - @Path("/{owner}/{groupName}/share") + @Path("/owner/{owner}/name/{groupName}/share") @PUT @Produces("application/json") public Response shareGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner, @@ -250,7 +263,7 @@ public class Group { } } - @Path("/{owner}/{groupName}/unshare") + @Path("/owner/{owner}/name/{groupName}/unshare") @PUT @Produces("application/json") public Response unShareGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner, @@ -270,7 +283,7 @@ public class Group { } } - @Path("/{owner}/{groupName}/share/roles/{roleName}/permissions") + @Path("/owner/{owner}/name/{groupName}/share/roles/{roleName}/permissions") @PUT @Produces("application/json") public Response addSharing(@QueryParam("shareUser") String shareUser, @PathParam("groupName") String groupName, @@ -293,7 +306,7 @@ public class Group { } @DELETE - @Path("/{owner}/{groupName}/share/roles/{roleName}/permissions") + @Path("/owner/{owner}/name/{groupName}/share/roles/{roleName}/permissions") @Produces("application/json") public Response removeSharing(@QueryParam("userName") String userName, @PathParam("groupName") String groupName, @PathParam("owner") String owner, @@ -313,7 +326,7 @@ public class Group { } @GET - @Path("/{owner}/{groupName}/share/roles") + @Path("/owner/{owner}/name/{groupName}/share/roles") @Produces("application/json") public Response getRoles(@PathParam("groupName") String groupName, @PathParam("owner") String owner, @QueryParam("userName") String userName) { @@ -334,7 +347,7 @@ public class Group { } @GET - @Path("/{owner}/{groupName}/users") + @Path("/owner/{owner}/name/{groupName}/users") @Produces("application/json") public Response getUsers(@PathParam("groupName") String groupName, @PathParam("owner") String owner) { @@ -351,7 +364,7 @@ public class Group { } @GET - @Path("/{owner}/{groupName}/devices/all") + @Path("/owner/{owner}/name/{groupName}/devices/all") @Produces("application/json") public Response getDevices(@PathParam("groupName") String groupName, @PathParam("owner") String owner) { @@ -368,7 +381,7 @@ public class Group { } @GET - @Path("/{owner}/{groupName}/devices/count") + @Path("/owner/{owner}/name/{groupName}/devices/count") @Produces("application/json") public Response getDeviceCount(@PathParam("groupName") String groupName, @PathParam("owner") String owner) { @@ -382,7 +395,7 @@ public class Group { } @PUT - @Path("/{owner}/{groupName}/devices/{deviceType}/{deviceId}") + @Path("/owner/{owner}/name/{groupName}/devices/{deviceType}/{deviceId}") @Produces("application/json") public Response addDevice(@PathParam("groupName") String groupName, @PathParam("owner") String owner, @PathParam("deviceId") String deviceId, @@ -404,7 +417,7 @@ public class Group { } @DELETE - @Path("/{owner}/{groupName}/devices/{deviceType}/{deviceId}") + @Path("/owner/{owner}/name/{groupName}/devices/{deviceType}/{deviceId}") @Produces("application/json") public Response removeDevice(@PathParam("groupName") String groupName, @PathParam("owner") String owner, @PathParam("deviceId") String deviceId, @@ -425,7 +438,7 @@ public class Group { } @GET - @Path("/{owner}/{groupName}/users/{userName}/permissions") + @Path("/owner/{owner}/name/{groupName}/users/{userName}/permissions") @Produces("application/json") public Response getPermissions(@PathParam("userName") String userName, @PathParam("groupName") String groupName, diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/License.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/License.java similarity index 95% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/License.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/License.java index fbf0badc9a..73e78ceb83 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/License.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/License.java @@ -16,14 +16,14 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.ResponsePayload; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; import javax.ws.rs.GET; import javax.ws.rs.POST; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Operation.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Operation.java similarity index 94% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Operation.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Operation.java index 50b141aa30..8ff77412bb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Operation.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Operation.java @@ -16,11 +16,16 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; +import org.wso2.carbon.device.mgt.jaxrs.api.context.DeviceOperationContext; +import org.wso2.carbon.device.mgt.jaxrs.api.util.MDMIOSOperationUtil; +import org.wso2.carbon.device.mgt.jaxrs.beans.ApplicationWrapper; +import org.wso2.carbon.device.mgt.jaxrs.beans.MobileApp; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationResult; @@ -31,14 +36,9 @@ import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import org.wso2.carbon.mdm.api.context.DeviceOperationContext; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.MDMAndroidOperationUtil; -import org.wso2.carbon.mdm.api.util.MDMIOSOperationUtil; -import org.wso2.carbon.mdm.api.util.ResponsePayload; -import org.wso2.carbon.mdm.beans.ApplicationWrapper; -import org.wso2.carbon.mdm.beans.MobileApp; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.api.util.MDMAndroidOperationUtil; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; import javax.ws.rs.Consumes; import javax.ws.rs.GET; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Policy.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Policy.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Policy.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Policy.java index 4878b32f9e..a0d789b00f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Policy.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Policy.java @@ -16,18 +16,18 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.beans.PriorityUpdatedPolicyWrapper; +import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtUtil; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.ResponsePayload; -import org.wso2.carbon.mdm.beans.PolicyWrapper; -import org.wso2.carbon.mdm.beans.PriorityUpdatedPolicyWrapper; -import org.wso2.carbon.mdm.util.MDMUtil; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; +import org.wso2.carbon.device.mgt.jaxrs.beans.PolicyWrapper; import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint; import org.wso2.carbon.policy.mgt.common.PolicyManagementException; import org.wso2.carbon.policy.mgt.common.PolicyMonitoringTaskException; @@ -62,7 +62,7 @@ public class Policy { policy.setPolicyName(policyWrapper.getPolicyName()); policy.setProfileId(policyWrapper.getProfileId()); policy.setDescription(policyWrapper.getDescription()); - policy.setProfile(MDMUtil.convertProfile(policyWrapper.getProfile())); + policy.setProfile(DeviceMgtUtil.convertProfile(policyWrapper.getProfile())); policy.setOwnershipType(policyWrapper.getOwnershipType()); policy.setRoles(policyWrapper.getRoles()); policy.setUsers(policyWrapper.getUsers()); @@ -82,7 +82,7 @@ public class Policy { policy.setPolicyName(policyWrapper.getPolicyName()); policy.setProfileId(policyWrapper.getProfileId()); policy.setDescription(policyWrapper.getDescription()); - policy.setProfile(MDMUtil.convertProfile(policyWrapper.getProfile())); + policy.setProfile(DeviceMgtUtil.convertProfile(policyWrapper.getProfile())); policy.setOwnershipType(policyWrapper.getOwnershipType()); policy.setRoles(policyWrapper.getRoles()); policy.setUsers(policyWrapper.getUsers()); @@ -181,7 +181,7 @@ public class Policy { policy.setId(policyId); policy.setProfileId(policyWrapper.getProfileId()); policy.setDescription(policyWrapper.getDescription()); - policy.setProfile(MDMUtil.convertProfile(policyWrapper.getProfile())); + policy.setProfile(DeviceMgtUtil.convertProfile(policyWrapper.getProfile())); policy.setOwnershipType(policyWrapper.getOwnershipType()); policy.setRoles(policyWrapper.getRoles()); policy.setUsers(policyWrapper.getUsers()); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Profile.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Profile.java similarity index 95% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Profile.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Profile.java index 77569a649c..c9e0748be0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Profile.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Profile.java @@ -16,12 +16,12 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.ResponsePayload; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint; import org.wso2.carbon.policy.mgt.common.PolicyManagementException; import org.wso2.carbon.policy.mgt.core.PolicyManagerService; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Role.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Role.java similarity index 98% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Role.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Role.java index d0e434c34f..c46f13bdb0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/Role.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/Role.java @@ -16,18 +16,18 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.CarbonConstants; import org.wso2.carbon.base.MultitenantConstants; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.ResponsePayload; -import org.wso2.carbon.mdm.beans.RoleWrapper; -import org.wso2.carbon.mdm.util.SetReferenceTransformer; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; +import org.wso2.carbon.device.mgt.jaxrs.beans.RoleWrapper; +import org.wso2.carbon.device.mgt.jaxrs.util.SetReferenceTransformer; import org.wso2.carbon.user.api.AuthorizationManager; import org.wso2.carbon.user.api.Permission; import org.wso2.carbon.user.api.UserRealm; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/User.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/User.java similarity index 98% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/User.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/User.java index bbfed9dad8..a64fae9cf3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/User.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/User.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.api; +package org.wso2.carbon.device.mgt.jaxrs.api; import org.apache.commons.codec.binary.Base64; import org.apache.commons.httpclient.HttpStatus; @@ -24,18 +24,18 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.CarbonContext; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; +import org.wso2.carbon.device.mgt.jaxrs.beans.UserCredentialWrapper; +import org.wso2.carbon.device.mgt.jaxrs.beans.UserWrapper; +import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.EmailMetaInfo; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import org.wso2.carbon.mdm.api.util.CredentialManagementResponseBuilder; -import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils; -import org.wso2.carbon.mdm.api.util.ResponsePayload; -import org.wso2.carbon.mdm.beans.UserCredentialWrapper; -import org.wso2.carbon.mdm.beans.UserWrapper; -import org.wso2.carbon.mdm.util.Constants; -import org.wso2.carbon.mdm.util.SetReferenceTransformer; +import org.wso2.carbon.device.mgt.jaxrs.api.util.CredentialManagementResponseBuilder; +import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils; +import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload; +import org.wso2.carbon.device.mgt.jaxrs.util.SetReferenceTransformer; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.api.UserStoreManager; import org.wso2.carbon.utils.multitenancy.MultitenantConstants; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/ErrorHandler.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/ErrorHandler.java similarity index 85% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/ErrorHandler.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/ErrorHandler.java index da8825b177..886572c303 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/ErrorHandler.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/ErrorHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,11 +11,12 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.api.common; + +package org.wso2.carbon.device.mgt.jaxrs.api.common; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/ErrorMessage.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/ErrorMessage.java similarity index 84% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/ErrorMessage.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/ErrorMessage.java index 7dbe395532..e457484254 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/ErrorMessage.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/ErrorMessage.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,11 +11,12 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.api.common; + +package org.wso2.carbon.device.mgt.jaxrs.api.common; public class ErrorMessage { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/MDMAPIException.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/MDMAPIException.java similarity index 88% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/MDMAPIException.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/MDMAPIException.java index 4139e56f46..d858bb1e26 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/common/MDMAPIException.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/common/MDMAPIException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,12 +11,12 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.api.common; +package org.wso2.carbon.device.mgt.jaxrs.api.common; /** * Custom exception class for handling CDM API related exceptions. diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/context/DeviceOperationContext.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/context/DeviceOperationContext.java similarity index 87% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/context/DeviceOperationContext.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/context/DeviceOperationContext.java index aef30c70f2..d35e9dacd1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/context/DeviceOperationContext.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/context/DeviceOperationContext.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,12 +11,12 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.api.context; +package org.wso2.carbon.device.mgt.jaxrs.api.context; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/CredentialManagementResponseBuilder.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/CredentialManagementResponseBuilder.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/CredentialManagementResponseBuilder.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/CredentialManagementResponseBuilder.java index 94f766f551..d9097edb93 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/CredentialManagementResponseBuilder.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/CredentialManagementResponseBuilder.java @@ -16,14 +16,14 @@ * under the License. */ -package org.wso2.carbon.mdm.api.util; +package org.wso2.carbon.device.mgt.jaxrs.api.util; import org.apache.commons.codec.binary.Base64; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import org.wso2.carbon.mdm.beans.UserCredentialWrapper; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; +import org.wso2.carbon.device.mgt.jaxrs.beans.UserCredentialWrapper; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.api.UserStoreManager; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/DeviceMgtAPIUtils.java similarity index 99% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/DeviceMgtAPIUtils.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/DeviceMgtAPIUtils.java index d7cb8f940f..be97e21bd5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/DeviceMgtAPIUtils.java @@ -16,13 +16,14 @@ * under the License. */ -package org.wso2.carbon.mdm.api.util; +package org.wso2.carbon.device.mgt.jaxrs.api.util; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService; import org.wso2.carbon.context.CarbonContext; import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; @@ -34,7 +35,6 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; -import org.wso2.carbon.mdm.api.common.MDMAPIException; import org.wso2.carbon.policy.mgt.common.PolicyMonitoringTaskException; import org.wso2.carbon.policy.mgt.core.PolicyManagerService; import org.wso2.carbon.policy.mgt.core.task.TaskScheduleService; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMAndroidOperationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMAndroidOperationUtil.java similarity index 79% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMAndroidOperationUtil.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMAndroidOperationUtil.java index e50fc0bde6..9dcbec0a3c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMAndroidOperationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMAndroidOperationUtil.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,17 +11,20 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.api.util; +package org.wso2.carbon.device.mgt.jaxrs.api.util; + +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; +import org.wso2.carbon.device.mgt.jaxrs.beans.MobileApp; +import org.wso2.carbon.device.mgt.jaxrs.beans.android.AppStoreApplication; +import org.wso2.carbon.device.mgt.jaxrs.beans.android.EnterpriseApplication; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import org.wso2.carbon.mdm.beans.MobileApp; -import org.wso2.carbon.mdm.beans.android.WebApplication; +import org.wso2.carbon.device.mgt.jaxrs.beans.android.WebApplication; /** * @@ -45,15 +48,15 @@ public class MDMAndroidOperationUtil { switch (application.getType()) { case ENTERPRISE: - org.wso2.carbon.mdm.beans.android.EnterpriseApplication enterpriseApplication = - new org.wso2.carbon.mdm.beans.android.EnterpriseApplication(); + EnterpriseApplication enterpriseApplication = + new EnterpriseApplication(); enterpriseApplication.setType(application.getType().toString()); enterpriseApplication.setUrl(application.getLocation()); operation.setPayLoad(enterpriseApplication.toJSON()); break; case PUBLIC: - org.wso2.carbon.mdm.beans.android.AppStoreApplication appStoreApplication = - new org.wso2.carbon.mdm.beans.android.AppStoreApplication(); + AppStoreApplication appStoreApplication = + new AppStoreApplication(); appStoreApplication.setType(application.getType().toString()); appStoreApplication.setAppIdentifier(application.getIdentifier()); operation.setPayLoad(appStoreApplication.toJSON()); @@ -86,15 +89,15 @@ public class MDMAndroidOperationUtil { switch (application.getType()) { case ENTERPRISE: - org.wso2.carbon.mdm.beans.android.EnterpriseApplication enterpriseApplication = - new org.wso2.carbon.mdm.beans.android.EnterpriseApplication(); + EnterpriseApplication enterpriseApplication = + new EnterpriseApplication(); enterpriseApplication.setType(application.getType().toString()); enterpriseApplication.setAppIdentifier(application.getAppIdentifier()); operation.setPayLoad(enterpriseApplication.toJSON()); break; case PUBLIC: - org.wso2.carbon.mdm.beans.android.AppStoreApplication appStoreApplication = - new org.wso2.carbon.mdm.beans.android.AppStoreApplication(); + AppStoreApplication appStoreApplication = + new AppStoreApplication(); appStoreApplication.setType(application.getType().toString()); appStoreApplication.setAppIdentifier(application.getAppIdentifier()); operation.setPayLoad(appStoreApplication.toJSON()); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMAppConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMAppConstants.java similarity index 63% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMAppConstants.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMAppConstants.java index a4a7f60714..5c1d919ca5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMAppConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMAppConstants.java @@ -1,20 +1,22 @@ /* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * - * 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 * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * 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. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -package org.wso2.carbon.mdm.api.util; + +package org.wso2.carbon.device.mgt.jaxrs.api.util; /** * This class holds all the constants used for IOS and Android. diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMIOSOperationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMIOSOperationUtil.java similarity index 70% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMIOSOperationUtil.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMIOSOperationUtil.java index 261555d335..7014174801 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/MDMIOSOperationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/MDMIOSOperationUtil.java @@ -1,26 +1,31 @@ /* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * - * 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 * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 * - * 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. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -package org.wso2.carbon.mdm.api.util; +package org.wso2.carbon.device.mgt.jaxrs.api.util; + +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; +import org.wso2.carbon.device.mgt.jaxrs.beans.MobileApp; +import org.wso2.carbon.device.mgt.jaxrs.beans.ios.AppStoreApplication; +import org.wso2.carbon.device.mgt.jaxrs.beans.ios.EnterpriseApplication; +import org.wso2.carbon.device.mgt.jaxrs.beans.ios.RemoveApplication; +import org.wso2.carbon.device.mgt.jaxrs.beans.ios.WebClip; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import org.wso2.carbon.mdm.beans.MobileApp; -import org.wso2.carbon.mdm.beans.ios.WebClip; import java.util.Properties; @@ -43,8 +48,8 @@ public class MDMIOSOperationUtil { switch (application.getType()) { case ENTERPRISE: - org.wso2.carbon.mdm.beans.ios.EnterpriseApplication enterpriseApplication = - new org.wso2.carbon.mdm.beans.ios.EnterpriseApplication(); + EnterpriseApplication enterpriseApplication = + new EnterpriseApplication(); enterpriseApplication.setBundleId(application.getId()); enterpriseApplication.setIdentifier(application.getIdentifier()); enterpriseApplication.setManifestURL(application.getLocation()); @@ -59,8 +64,8 @@ public class MDMIOSOperationUtil { operation.setType(Operation.Type.COMMAND); break; case PUBLIC: - org.wso2.carbon.mdm.beans.ios.AppStoreApplication appStoreApplication = - new org.wso2.carbon.mdm.beans.ios.AppStoreApplication(); + AppStoreApplication appStoreApplication = + new AppStoreApplication(); appStoreApplication.setRemoveAppUponMDMProfileRemoval((Boolean) application.getProperties(). get(MDMAppConstants.IOSConstants.IS_REMOVE_APP)); appStoreApplication.setIdentifier(application.getIdentifier()); @@ -96,8 +101,8 @@ public class MDMIOSOperationUtil { operation.setCode(MDMAppConstants.IOSConstants.OPCODE_REMOVE_APPLICATION); operation.setType(Operation.Type.PROFILE); - org.wso2.carbon.mdm.beans.ios.RemoveApplication removeApplication = - new org.wso2.carbon.mdm.beans.ios.RemoveApplication(); + RemoveApplication removeApplication = + new RemoveApplication(); removeApplication.setBundleId(application.getIdentifier()); operation.setPayLoad(removeApplication.toJSON()); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/ResponsePayload.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/ResponsePayload.java similarity index 98% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/ResponsePayload.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/ResponsePayload.java index 6294000663..8fd94c619b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/api/util/ResponsePayload.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/api/util/ResponsePayload.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.api.util; +package org.wso2.carbon.device.mgt.jaxrs.api.util; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ApplicationWrapper.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ApplicationWrapper.java similarity index 58% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ApplicationWrapper.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ApplicationWrapper.java index ad2db850d0..4631e4e944 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ApplicationWrapper.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ApplicationWrapper.java @@ -1,23 +1,22 @@ /* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * - * 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 * - * 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 * - * 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. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -package org.wso2.carbon.mdm.beans; +package org.wso2.carbon.device.mgt.jaxrs.beans; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import java.util.List; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/EnrollmentCertificate.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/EnrollmentCertificate.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/EnrollmentCertificate.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/EnrollmentCertificate.java index bde1cf1a7c..40d94da4ed 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/EnrollmentCertificate.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/EnrollmentCertificate.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.beans; +package org.wso2.carbon.device.mgt.jaxrs.beans; public class EnrollmentCertificate { String serial; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/MobileApp.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/MobileApp.java similarity index 92% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/MobileApp.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/MobileApp.java index 2f1ef19b3f..220b1572c7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/MobileApp.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/MobileApp.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,14 +11,13 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.beans; -import java.util.HashMap; -import java.util.Map; +package org.wso2.carbon.device.mgt.jaxrs.beans; + import java.util.Properties; /** diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/MobileAppTypes.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/MobileAppTypes.java similarity index 77% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/MobileAppTypes.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/MobileAppTypes.java index 151f57c5f9..3997da90d7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/MobileAppTypes.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/MobileAppTypes.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,11 +11,12 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.beans; + +package org.wso2.carbon.device.mgt.jaxrs.beans; public enum MobileAppTypes { ENTERPRISE,WEBAPP,PUBLIC diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/PolicyWrapper.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PolicyWrapper.java similarity index 93% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/PolicyWrapper.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PolicyWrapper.java index 931f98a867..c05fa535a5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/PolicyWrapper.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PolicyWrapper.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,12 +11,12 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.beans; +package org.wso2.carbon.device.mgt.jaxrs.beans; import org.wso2.carbon.device.mgt.common.Device; import java.util.List; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/PriorityUpdatedPolicyWrapper.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PriorityUpdatedPolicyWrapper.java similarity index 74% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/PriorityUpdatedPolicyWrapper.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PriorityUpdatedPolicyWrapper.java index ed0b7c56e7..20f5248f85 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/PriorityUpdatedPolicyWrapper.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/PriorityUpdatedPolicyWrapper.java @@ -1,22 +1,22 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 + * 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 + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.beans; +package org.wso2.carbon.device.mgt.jaxrs.beans; public class PriorityUpdatedPolicyWrapper { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/Profile.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/Profile.java similarity index 74% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/Profile.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/Profile.java index 19e41d8852..a54b53b2c2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/Profile.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/Profile.java @@ -1,22 +1,22 @@ /* -* Copyright (c) 2015 WSO2 Inc. (http://www.wso2.org) All Rights Reserved. -* -* WSO2 Inc. licenses this file to you under the Apache License, -* Version 2.0 (the "License"); you may not use this file except -* in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ - -package org.wso2.carbon.mdm.beans; + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.device.mgt.jaxrs.beans; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ProfileFeature.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ProfileFeature.java similarity index 63% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ProfileFeature.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ProfileFeature.java index 0d56de0900..d52f30281b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ProfileFeature.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ProfileFeature.java @@ -1,26 +1,25 @@ /* -* Copyright (c) 2015 WSO2 Inc. (http://www.wso2.org) All Rights Reserved. -* -* WSO2 Inc. licenses this file to you under the Apache License, -* Version 2.0 (the "License"); you may not use this file except -* in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ - -package org.wso2.carbon.mdm.beans; + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.device.mgt.jaxrs.beans; import com.google.gson.Gson; import java.io.Serializable; -import java.util.LinkedHashMap; public class ProfileFeature implements Serializable { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/RoleWrapper.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/RoleWrapper.java similarity index 81% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/RoleWrapper.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/RoleWrapper.java index c87640a7c3..b8d633f3f6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/RoleWrapper.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/RoleWrapper.java @@ -1,24 +1,25 @@ -package org.wso2.carbon.mdm.beans; - -import org.wso2.carbon.user.mgt.common.UIPermissionNode; - /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 + * 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 + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ + +package org.wso2.carbon.device.mgt.jaxrs.beans; + +import org.wso2.carbon.user.mgt.common.UIPermissionNode; + public class RoleWrapper { private String roleName; private String[] permissions; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/UserCredentialWrapper.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/UserCredentialWrapper.java similarity index 78% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/UserCredentialWrapper.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/UserCredentialWrapper.java index 91e2fd0ff7..d0c201b8d6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/UserCredentialWrapper.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/UserCredentialWrapper.java @@ -1,22 +1,22 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 + * 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 + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.beans; +package org.wso2.carbon.device.mgt.jaxrs.beans; public class UserCredentialWrapper { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/UserWrapper.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/UserWrapper.java similarity index 97% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/UserWrapper.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/UserWrapper.java index acdb9efcaf..c03a762ee3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/UserWrapper.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/UserWrapper.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.beans; +package org.wso2.carbon.device.mgt.jaxrs.beans; public class UserWrapper { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/AppStoreApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/AppStoreApplication.java new file mode 100644 index 0000000000..bc261e91a5 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/AppStoreApplication.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.device.mgt.jaxrs.beans.android; + +import com.google.gson.Gson; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; + +import java.io.Serializable; + +/** + * This class represents the Appstore Application information. + */ +public class AppStoreApplication implements Serializable { + + private String type; + private String appIdentifier; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAppIdentifier() { + return appIdentifier; + } + + public void setAppIdentifier(String appIdentifier) { + this.appIdentifier = appIdentifier; + } + + public String toJSON() throws MDMAPIException { + Gson gson = new Gson(); + return gson.toJson(this); + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/EnterpriseApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/EnterpriseApplication.java new file mode 100644 index 0000000000..22d0544602 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/EnterpriseApplication.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.device.mgt.jaxrs.beans.android; + +import com.google.gson.Gson; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; + +import java.io.Serializable; + +/** + * This class represents the Enterprise Application information. + */ +public class EnterpriseApplication implements Serializable { + + private String type; + private String url; + private String appIdentifier; + + public String getAppIdentifier() { + return appIdentifier; + } + + public void setAppIdentifier(String appIdentifier) { + this.appIdentifier = appIdentifier; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String toJSON() throws MDMAPIException { + Gson gson = new Gson(); + return gson.toJson(this); + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/WebApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/WebApplication.java new file mode 100644 index 0000000000..74a0665c3d --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/android/WebApplication.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.device.mgt.jaxrs.beans.android; + +import com.google.gson.Gson; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; + +import java.io.Serializable; + +/** + * This class represents the Web Application information. + */ +public class WebApplication implements Serializable { + + private String name; + private String url; + private String type; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String toJSON() throws MDMAPIException { + Gson gson = new Gson(); + return gson.toJson(this); + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/AppStoreApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/AppStoreApplication.java similarity index 89% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/AppStoreApplication.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/AppStoreApplication.java index aa6c0a0121..dc00e924b8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/AppStoreApplication.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/AppStoreApplication.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,15 +11,16 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.beans.ios; + +package org.wso2.carbon.device.mgt.jaxrs.beans.ios; import com.google.gson.Gson; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import java.io.IOException; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; + import java.io.Serializable; public class AppStoreApplication implements Serializable { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/EnterpriseApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/EnterpriseApplication.java similarity index 89% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/EnterpriseApplication.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/EnterpriseApplication.java index d310779faa..b33039f299 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/EnterpriseApplication.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/EnterpriseApplication.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,16 +11,16 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * */ -package org.wso2.carbon.mdm.beans.ios; + +package org.wso2.carbon.device.mgt.jaxrs.beans.ios; import com.google.gson.Gson; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import java.io.IOException; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; + import java.io.Serializable; public class EnterpriseApplication implements Serializable { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/RemoveApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/RemoveApplication.java new file mode 100644 index 0000000000..08312523e7 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/RemoveApplication.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.device.mgt.jaxrs.beans.ios; + +import com.google.gson.Gson; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; + +import java.io.Serializable; + +public class RemoveApplication implements Serializable { + + private String bundleId; + + public String getBundleId() { + return bundleId; + } + + public void setBundleId(String bundleId) { + this.bundleId = bundleId; + } + + public String toJSON() throws MDMAPIException { + Gson gson = new Gson(); + return gson.toJson(this); + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/WebClip.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/WebClip.java similarity index 56% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/WebClip.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/WebClip.java index 4604eab468..257c7663a0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/WebClip.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/ios/WebClip.java @@ -1,8 +1,25 @@ -package org.wso2.carbon.mdm.beans.ios; +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.device.mgt.jaxrs.beans.ios; import com.google.gson.Gson; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import java.io.IOException; +import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException; public class WebClip { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/mdm/common/Application.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/common/Application.java similarity index 74% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/mdm/common/Application.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/common/Application.java index 0a11ad1bc4..afbf6d87bd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/mdm/common/Application.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/common/Application.java @@ -1,23 +1,22 @@ /* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * - * 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 * - * 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 * - * 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. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ -package org.wso2.mdm.common; +package org.wso2.carbon.device.mgt.jaxrs.common; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/mdm/common/GsonMessageBodyHandler.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/common/GsonMessageBodyHandler.java similarity index 94% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/mdm/common/GsonMessageBodyHandler.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/common/GsonMessageBodyHandler.java index 09b49e6f1e..d2f9d2113f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/mdm/common/GsonMessageBodyHandler.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/common/GsonMessageBodyHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * 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 @@ -11,12 +11,12 @@ * 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 + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -package org.wso2.mdm.common; +package org.wso2.carbon.device.mgt.jaxrs.common; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/exception/BadRequestException.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/exception/BadRequestException.java similarity index 95% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/exception/BadRequestException.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/exception/BadRequestException.java index adbe78069a..6ce60ffda3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/exception/BadRequestException.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/exception/BadRequestException.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.exception; +package org.wso2.carbon.device.mgt.jaxrs.exception; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.MediaType; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/exception/Message.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/exception/Message.java similarity index 95% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/exception/Message.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/exception/Message.java index 4d5ee2ded3..e02151f3e0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/exception/Message.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/exception/Message.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.exception; +package org.wso2.carbon.device.mgt.jaxrs.exception; public class Message { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/Constants.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java similarity index 95% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/Constants.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java index 70651d64c9..533d6964ab 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/Constants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.util; +package org.wso2.carbon.device.mgt.jaxrs.util; /** * Holds the constants used by Device Management Admin web application. diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/MDMUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtUtil.java similarity index 90% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/MDMUtil.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtUtil.java index d766776cc3..c2f5c2b701 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/MDMUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtUtil.java @@ -15,17 +15,18 @@ * specific language governing permissions and limitations * under the License. */ -package org.wso2.carbon.mdm.util; -import org.wso2.carbon.mdm.beans.ProfileFeature; +package org.wso2.carbon.device.mgt.jaxrs.util; + +import org.wso2.carbon.device.mgt.jaxrs.beans.ProfileFeature; import org.wso2.carbon.policy.mgt.common.Profile; import java.util.ArrayList; import java.util.List; -public class MDMUtil { +public class DeviceMgtUtil { - public static Profile convertProfile(org.wso2.carbon.mdm.beans.Profile mdmProfile) { + public static Profile convertProfile(org.wso2.carbon.device.mgt.jaxrs.beans.Profile mdmProfile) { Profile profile = new Profile(); profile.setTenantId(mdmProfile.getTenantId()); profile.setCreatedDate(mdmProfile.getCreatedDate()); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/SetReferenceTransformer.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/SetReferenceTransformer.java similarity index 97% rename from components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/SetReferenceTransformer.java rename to components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/SetReferenceTransformer.java index da4136593e..f90e8c8a3f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/util/SetReferenceTransformer.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/SetReferenceTransformer.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.mdm.util; +package org.wso2.carbon.device.mgt.jaxrs.util; import java.util.ArrayList; import java.util.List; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/AppStoreApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/AppStoreApplication.java deleted file mode 100644 index b60ff7cdbd..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/AppStoreApplication.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.wso2.carbon.mdm.beans.android; - -import com.google.gson.Gson; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import java.io.IOException; -import java.io.Serializable; - -/** - * This class represents the Appstore Application information. - */ -public class AppStoreApplication implements Serializable { - - private String type; - private String appIdentifier; - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getAppIdentifier() { - return appIdentifier; - } - - public void setAppIdentifier(String appIdentifier) { - this.appIdentifier = appIdentifier; - } - - public String toJSON() throws MDMAPIException { - Gson gson = new Gson(); - return gson.toJson(this); - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/EnterpriseApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/EnterpriseApplication.java deleted file mode 100644 index f19dbd44c1..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/EnterpriseApplication.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.wso2.carbon.mdm.beans.android; - -import com.google.gson.Gson; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import java.io.IOException; -import java.io.Serializable; - -/** - * This class represents the Enterprise Application information. - */ -public class EnterpriseApplication implements Serializable { - - private String type; - private String url; - private String appIdentifier; - - public String getAppIdentifier() { - return appIdentifier; - } - - public void setAppIdentifier(String appIdentifier) { - this.appIdentifier = appIdentifier; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String toJSON() throws MDMAPIException { - Gson gson = new Gson(); - return gson.toJson(this); - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/WebApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/WebApplication.java deleted file mode 100644 index 7632524c9f..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/android/WebApplication.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.wso2.carbon.mdm.beans.android; - -import com.google.gson.Gson; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import java.io.IOException; -import java.io.Serializable; - -/** - * This class represents the Web Application information. - */ -public class WebApplication implements Serializable { - - private String name; - private String url; - private String type; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String toJSON() throws MDMAPIException { - Gson gson = new Gson(); - return gson.toJson(this); - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/RemoveApplication.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/RemoveApplication.java deleted file mode 100644 index 9c15ba6a36..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/mdm/beans/ios/RemoveApplication.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.wso2.carbon.mdm.beans.ios; - -import com.google.gson.Gson; -import org.wso2.carbon.mdm.api.common.MDMAPIException; -import java.io.IOException; -import java.io.Serializable; - -public class RemoveApplication implements Serializable { - - private String bundleId; - - public String getBundleId() { - return bundleId; - } - - public void setBundleId(String bundleId) { - this.bundleId = bundleId; - } - - public String toJSON() throws MDMAPIException { - Gson gson = new Gson(); - return gson.toJson(this); - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/META-INF/permissions.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/META-INF/permissions.xml index 42fd366369..1768fa9160 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/META-INF/permissions.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/META-INF/permissions.xml @@ -59,6 +59,13 @@ GET + + User Devices + /device-mgt/user/devices + / + GET + + Policies /device-mgt/admin/policies @@ -66,6 +73,13 @@ GET + + User Policies + /device-mgt/user/policies + / + GET + + Notifications /device-mgt/admin/notifications @@ -73,6 +87,13 @@ GET + + User Notifications + /device-mgt/user/notifications + / + GET + + Users /device-mgt/admin/users @@ -87,6 +108,13 @@ GET + + User Operations + /device-mgt/user/operations + / + GET + + Applications /device-mgt/admin/operations/applications @@ -123,12 +151,19 @@ - List devices + List device types /device-mgt/admin/devices/list /devices/types GET + + List device types + /device-mgt/user/devices/list + /devices/types + GET + + Add policy /device-mgt/admin/policies/add @@ -136,6 +171,13 @@ GET + + Add User policy + /device-mgt/user/policies/add + /devices/types + GET + + Edit policy /device-mgt/admin/policies/update @@ -143,6 +185,13 @@ GET + + Edit User policy + /device-mgt/user/policies/update + /devices/types + GET + + View device /device-mgt/admin/devices/view @@ -151,12 +200,26 @@ - View device + View user device /device-mgt/user/devices/view /devices/view GET + + Modify user device + /device-mgt/user/devices/update + /devices/type/*/id/* + PUT + + + + Remove user device + /device-mgt/user/devices/remove + /devices/type/*/id/* + DELETE + + @@ -173,18 +236,32 @@ - List devices + Devices Count All /device-mgt/admin/devices/list /devices/count GET + + Device Count + /device-mgt/user/devices/list + /devices/user/*/count + GET + + List devices /device-mgt/admin/devices/list /devices/name/*/* GET + + + List All Own Devices + /device-mgt/user/devices/list + /devices/user/* + GET + @@ -501,19 +578,12 @@ - List devices + List user devices /device-mgt/user/devices/list /users/devices GET - - List devices - /device-mgt/admin/devices/list - /users/devices - GET - - View user /device-mgt/admin/users/view @@ -854,143 +924,185 @@ - Group Management + Group Management Admin /device-mgt/admin/groups + / + GET + + + + Group Management User + /device-mgt/user/groups + / + GET + + + + Add Group + /device-mgt/user/groups/add /groups POST - Group Management - /device-mgt/admin/groups - /groups/*/* + Group update + /device-mgt/user/groups/update + /groups/owner/*/name/* PUT - Group Management - /device-mgt/admin/groups - /groups/*/* + Group Delete + /device-mgt/user/groups/delete + /groups/owner/*/name/* DELETE - Group Management - /device-mgt/admin/groups + List All Groups + /device-mgt/admin/groups/list /groups GET - Group Management - /device-mgt/admin/groups + List Groups + /device-mgt/user/groups/list /groups/user/* GET - Group Management - /device-mgt/admin/groups - /groups/*/* + List Groups + /device-mgt/user/groups/list + /groups/user/*/all GET - Group Management - /device-mgt/admin/groups - /groups/search + View Group + /device-mgt/user/groups/view + /groups/owner/*/name/* GET - Group Management - /device-mgt/admin/groups - /groups/user/*/all + Search Group User + /device-mgt/user/groups/list + /groups/user/*/search GET - Group Management - /device-mgt/admin/groups + All Group Count + /device-mgt/admin/groups/list + /groups/count + GET + + + + Group Count + /device-mgt/user/groups/list /groups/user/*/count GET - Group Management - /device-mgt/admin/groups - /groups/*/*/share + Group Share + /device-mgt/user/groups/share + /groups/owner/*/name/*/share PUT - Group Management - /device-mgt/admin/groups - /groups/*/*/unshare + Group Unshare + /device-mgt/user/groups/unshare + /groups/owner/*/name/*/unshare PUT - Group Management - /device-mgt/admin/groups - /groups/*/*/share/roles/*/permissions + Group Roles + /device-mgt/user/groups/roles + /groups/owner/*/name/*/share/roles + GET + + + + Group Permissions + /device-mgt/admin/groups/roles/permissions + /groups/owner/*/name/*/share/roles/*/permissions + GET + + + + Group Add Permissions + /device-mgt/admin/groups/roles/permissions/add + /groups/owner/*/name/*/share/roles/*/permissions PUT - Group Management - /device-mgt/admin/groups - /groups/*/*/share/roles/*/permissions + Group Delete Permissions + /device-mgt/admin/groups/roles/permissions/delete + /groups/owner/*/name/*/share/roles/*/permissions DELETE - Group Management - /device-mgt/admin/groups - /groups/*/*/share/roles + Group Users + /device-mgt/user/groups/users + / GET - Group Management - /device-mgt/admin/groups - /groups/*/*/users + List Group Users + /device-mgt/user/groups/users/list + /groups/owner/*/name/*/users GET - Group Management - /device-mgt/admin/groups - /groups/*/*/devices/all + Get Permissions for Group + /device-mgt/user/groups/users/permissions + /groups/owner/*/name/*/users/*/permissions GET - Group Management - /device-mgt/admin/groups - /groups/*/*/devices/count + Group Devices + /device-mgt/user/groups/devices + / GET - Group Management - /device-mgt/admin/groups - /groups/*/*/devices/*/* - PUT + List Group Devices + /device-mgt/user/groups/devices/list + /groups/owner/*/name/*/devices/all + GET - Group Management - /device-mgt/admin/groups - /groups/*/*/devices/*/* - DELETE + Group Devices Count + /device-mgt/user/groups/devices/count + /groups/owner/*/name/*/devices/count + GET - Group Management - /device-mgt/admin/groups - /groups/*/*/users/*/permissions - GET + Add Device to Group + /device-mgt/user/groups/devices/add + /groups/owner/*/name/*/devices/*/* + PUT + + + + Remove Device from Group + /device-mgt/user/groups/devices/remove + /groups/owner/*/name/*/devices/*/* + DELETE diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml index c6e489f7f8..05993e75ab 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml @@ -163,26 +163,24 @@ --> - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/EnrolmentInfo.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/EnrolmentInfo.java index 7b3ff89d1f..eb37127d2e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/EnrolmentInfo.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/EnrolmentInfo.java @@ -118,4 +118,10 @@ public class EnrolmentInfo implements Serializable { } return false; } + + @Override + public int hashCode() { + return owner.hashCode() ^ ownership.hashCode(); + } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/ProvisioningConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/ProvisioningConfig.java new file mode 100644 index 0000000000..a82904001c --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/ProvisioningConfig.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.wso2.carbon.device.mgt.common; + +public class ProvisioningConfig { + + private String providerTenantDomain; + private boolean isSharedWithAllTenants; + + public ProvisioningConfig(String providerTenantDomain, boolean sharedWithAllTenants) { + this.providerTenantDomain = providerTenantDomain; + isSharedWithAllTenants = sharedWithAllTenants; + } + + public String getProviderTenantDomain() { + return providerTenantDomain; + } + + public boolean isSharedWithAllTenants() { + return isSharedWithAllTenants; + } + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/TenantConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/TenantConfiguration.java index 3f326d2000..ece6a23a78 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/TenantConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/TenantConfiguration.java @@ -28,29 +28,29 @@ import java.util.List; /** * Represents the tenant configuration for a device platform. */ -@XmlRootElement(name="tenantConfiguration") +@XmlRootElement(name = "tenantConfiguration") @XmlAccessorType(XmlAccessType.NONE) -public class TenantConfiguration implements Serializable{ +public class TenantConfiguration implements Serializable { - @XmlElement(name="type") - private String type; - @XmlElement(name="configuration") - private List configuration; + @XmlElement(name = "type") + private String type; + @XmlElement(name = "configuration") + private List configuration; - public String getType() { - return type; - } + public String getType() { + return type; + } - public void setType(String type) { - this.type = type; - } + public void setType(String type) { + this.type = type; + } - public List getConfiguration() { - return configuration; - } + public List getConfiguration() { + return configuration; + } - public void setConfiguration(List configuration) { - this.configuration = configuration; - } + public void setConfiguration(List configuration) { + this.configuration = configuration; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/push/notification/PushNotificationConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/push/notification/PushNotificationConfig.java new file mode 100644 index 0000000000..8bced1717e --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/push/notification/PushNotificationConfig.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.wso2.carbon.device.mgt.common.push.notification; + +import java.util.Set; + +public class PushNotificationConfig { + + private String type; + private Set properties; + + public PushNotificationConfig(String type, Set properties) { + this.type = type; + this.properties = properties; + } + + public String getType() { + return type; + } + + public Set getProperties() { + return properties; + } + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagementService.java index 143fd1e8db..25f11458c1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagementService.java @@ -18,46 +18,28 @@ */ package org.wso2.carbon.device.mgt.common.spi; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.DeviceManager; +import org.wso2.carbon.device.mgt.common.ProvisioningConfig; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; -import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; - -import java.util.List; +import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig; /** * Composite interface that acts as the SPI exposing all device management as well as application management * functionalities. */ -public interface DeviceManagementService extends ApplicationManager { - - /** - * Method to retrieve the provider type that implements DeviceManager interface. - * - * @return Returns provider type - */ - String getType(); - - /** - * This returns the tenant domain of the provider. - * @return - */ - String getProviderTenantDomain(); - - /** - * returns true if the device type is shared between all tenants and false if its not. - * - * @return - */ - boolean isSharedWithAllTenants(); +public interface DeviceManagementService { void init() throws DeviceManagementException; + String getType(); + DeviceManager getDeviceManager(); ApplicationManager getApplicationManager(); - void notifyOperationToDevices(Operation operation, List deviceIds) throws DeviceManagementException; + ProvisioningConfig getProvisioningConfig(); + + PushNotificationConfig getPushNotificationConfig(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementPluginRepository.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementPluginRepository.java index 594d1be5e7..5403bf2a1b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementPluginRepository.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementPluginRepository.java @@ -21,6 +21,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.DeviceTypeIdentifier; +import org.wso2.carbon.device.mgt.common.ProvisioningConfig; import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent; @@ -44,8 +45,10 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis public void addDeviceManagementProvider(DeviceManagementService provider) throws DeviceManagementException { String deviceType = provider.getType(); - String tenantDomain = provider.getProviderTenantDomain(); - boolean isSharedWithAllTenants = provider.isSharedWithAllTenants(); + + ProvisioningConfig provisioningConfig = provider.getProvisioningConfig(); + String tenantDomain = provisioningConfig.getProviderTenantDomain(); + boolean isSharedWithAllTenants = provisioningConfig.isSharedWithAllTenants(); int tenantId = DeviceManagerUtil.getTenantId(tenantDomain); if (tenantId == -1) { throw new DeviceManagementException("No tenant available for tenant domain " + tenantDomain); @@ -57,7 +60,7 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis provider.init(); DeviceManagerUtil.registerDeviceType(deviceType, tenantId, isSharedWithAllTenants); DeviceManagementDataHolder.getInstance().setRequireDeviceAuthorization(deviceType, - provider.getDeviceManager().requireDeviceAuthorization()); + provider.getDeviceManager().requireDeviceAuthorization()); } } catch (DeviceManagementException e) { @@ -75,13 +78,15 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis } public void removeDeviceManagementProvider(DeviceManagementService provider) throws DeviceManagementException { - String deviceTypeName=provider.getType(); - if(provider.isSharedWithAllTenants()){ - DeviceTypeIdentifier deviceTypeIdentifier =new DeviceTypeIdentifier(deviceTypeName); + String deviceTypeName = provider.getType(); + + ProvisioningConfig provisioningConfig = provider.getProvisioningConfig(); + if (provisioningConfig.isSharedWithAllTenants()) { + DeviceTypeIdentifier deviceTypeIdentifier = new DeviceTypeIdentifier(deviceTypeName); providers.remove(deviceTypeIdentifier); - }else{ - int providerTenantId=DeviceManagerUtil.getTenantId(provider.getProviderTenantDomain()); - DeviceTypeIdentifier deviceTypeIdentifier =new DeviceTypeIdentifier(deviceTypeName, providerTenantId); + } else { + int providerTenantId = DeviceManagerUtil.getTenantId(provisioningConfig.getProviderTenantDomain()); + DeviceTypeIdentifier deviceTypeIdentifier = new DeviceTypeIdentifier(deviceTypeName, providerTenantId); providers.remove(deviceTypeIdentifier); } } @@ -113,15 +118,17 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis for (DeviceManagementService provider : providers.values()) { try { provider.init(); - int tenantId=DeviceManagerUtil.getTenantId(provider.getProviderTenantDomain()); - DeviceManagerUtil.registerDeviceType(provider.getType(), tenantId, provider.isSharedWithAllTenants()); + + ProvisioningConfig provisioningConfig = provider.getProvisioningConfig(); + int tenantId = DeviceManagerUtil.getTenantId(provisioningConfig.getProviderTenantDomain()); + DeviceManagerUtil.registerDeviceType(provider.getType(), tenantId, provisioningConfig.isSharedWithAllTenants()); //TODO: //This is a temporory fix. //windows and IOS cannot resolve user info by extracting certs //until fix that, use following variable to enable and disable of checking user authorization. DeviceManagementDataHolder.getInstance().setRequireDeviceAuthorization(provider.getType(), - provider.getDeviceManager().requireDeviceAuthorization()); + provider.getDeviceManager().requireDeviceAuthorization()); } catch (Throwable e) { /* Throwable is caught intentionally as failure of one plugin - due to invalid start up parameters, etc - should not block the initialization of other device management providers */ diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagerProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagerProviderServiceImpl.java index 2fca27bffc..a19f7c3f6a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagerProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagerProviderServiceImpl.java @@ -32,16 +32,13 @@ import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; -import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; import org.wso2.carbon.device.mgt.core.DeviceManagementConstants; -import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository; import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig; import org.wso2.carbon.device.mgt.core.app.mgt.oauth.ServiceAuthenticator; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations; import org.wso2.carbon.device.mgt.core.dao.*; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; -import org.wso2.carbon.device.mgt.core.internal.PluginInitializationListener; import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceException; import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceStub; import org.wso2.carbon.identity.oauth.stub.dto.OAuthConsumerAppDTO; @@ -56,9 +53,6 @@ import java.util.List; */ public class ApplicationManagerProviderServiceImpl implements ApplicationManagementProviderService { - private ConfigurationContext configCtx; - private ServiceAuthenticator authenticator; - private String oAuthAdminServiceUrl; private DeviceDAO deviceDAO; private ApplicationDAO applicationDAO; private ApplicationMappingDAO applicationMappingDAO; @@ -67,19 +61,6 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem private static final Log log = LogFactory.getLog(ApplicationManagerProviderServiceImpl.class); public ApplicationManagerProviderServiceImpl(AppManagementConfig appManagementConfig) { - - IdentityConfigurations identityConfig = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(). - getDeviceManagementConfigRepository().getIdentityConfigurations(); - this.authenticator = - new ServiceAuthenticator(identityConfig.getAdminUsername(), identityConfig.getAdminPassword()); - this.oAuthAdminServiceUrl = - identityConfig.getServerUrl() + DeviceManagementConstants.AppManagement.OAUTH_ADMIN_SERVICE; - try { - this.configCtx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null); - } catch (AxisFault e) { - throw new IllegalArgumentException("Error occurred while initializing Axis2 Configuration Context. " + - "Please check if an appropriate axis2.xml is provided", e); - } this.deviceDAO = DeviceManagementDAOFactory.getDeviceDAO(); this.applicationDAO = DeviceManagementDAOFactory.getApplicationDAO(); this.applicationMappingDAO = DeviceManagementDAOFactory.getApplicationMappingDAO(); @@ -112,7 +93,6 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem @Override public void installApplicationForDevices(Operation operation, List deviceIds) throws ApplicationManagementException { - try { DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().addOperation(operation, deviceIds); DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().notifyOperationToDevices @@ -207,50 +187,6 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem } } - public void updateInstalledApplicationListOfDevice( - DeviceIdentifier deviceIdentifier, List applications) throws ApplicationManagementException { - } - - private OAuthConsumerAppDTO getAppInfo() throws ApplicationManagementException { - OAuthConsumerAppDTO appInfo = null; - try { - OAuthAdminServiceStub oAuthAdminServiceStub = - new OAuthAdminServiceStub(configCtx, oAuthAdminServiceUrl); - authenticator.authenticate(oAuthAdminServiceStub._getServiceClient()); - - try { - appInfo = oAuthAdminServiceStub.getOAuthApplicationDataByAppName( - DeviceManagementConstants.AppManagement.OAUTH_APPLICATION_NAME); - } - //application doesn't exist. Due to the way getOAuthApplicationDataByAppName has been - //implemented, it throws an AxisFault if the App doesn't exist. Hence the catch. - catch (AxisFault fault) { - oAuthAdminServiceStub.registerOAuthApplicationData(this.getRequestDTO()); - appInfo = oAuthAdminServiceStub.getOAuthApplicationDataByAppName( - DeviceManagementConstants.AppManagement.OAUTH_APPLICATION_NAME); - } - } catch (RemoteException e) { - handleException("Error occurred while retrieving app info", e); - } catch (OAuthAdminServiceException e) { - handleException("Error occurred while invoking OAuth admin service stub", e); - } - return appInfo; - } - - private OAuthConsumerAppDTO getRequestDTO() { - OAuthConsumerAppDTO appDTO = new OAuthConsumerAppDTO(); - appDTO.setApplicationName(DeviceManagementConstants.AppManagement.OAUTH_APPLICATION_NAME); - appDTO.setGrantTypes( - DeviceManagementConstants.AppManagement.OAUTH2_GRANT_TYPE_CLIENT_CREDENTIALS); - appDTO.setOAuthVersion(DeviceManagementConstants.AppManagement.OAUTH_VERSION_2); - return appDTO; - } - - private void handleException(String msg, Exception e) throws ApplicationManagementException { - log.error(msg, e); - throw new ApplicationManagementException(msg, e); - } - @Override public void updateApplicationListInstalledInDevice( DeviceIdentifier deviceIdentifier, List applications) throws ApplicationManagementException { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java index bdf7e9de8c..31dc99187a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java @@ -17,8 +17,14 @@ */ package org.wso2.carbon.device.mgt.core.config; +import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations; +import org.wso2.carbon.device.mgt.core.config.policy.PolicyConfiguration; +import org.wso2.carbon.device.mgt.core.config.task.TaskConfiguration; + import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; +import java.util.List; /** * Represents Device Mgt configuration. @@ -27,6 +33,10 @@ import javax.xml.bind.annotation.XmlRootElement; public final class DeviceManagementConfig { private DeviceManagementConfigRepository deviceManagementConfigRepository; + private TaskConfiguration taskConfiguration; + private IdentityConfigurations identityConfigurations; + private PolicyConfiguration policyConfiguration; + //private List pushNotificationProviders; @XmlElement(name = "ManagementRepository", required = true) public DeviceManagementConfigRepository getDeviceManagementConfigRepository() { @@ -37,4 +47,43 @@ public final class DeviceManagementConfig { this.deviceManagementConfigRepository = deviceManagementConfigRepository; } + @XmlElement(name = "IdentityConfiguration", required = true) + public IdentityConfigurations getIdentityConfigurations() { + return identityConfigurations; + } + + + public void setIdentityConfigurations(IdentityConfigurations identityConfigurations) { + this.identityConfigurations = identityConfigurations; + } + + @XmlElement(name = "PolicyConfiguration", required = true) + public PolicyConfiguration getPolicyConfiguration() { + return policyConfiguration; + } + + public void setPolicyConfiguration(PolicyConfiguration policyConfiguration) { + this.policyConfiguration = policyConfiguration; + } + + @XmlElement(name = "TaskConfiguration", required = true) + public TaskConfiguration getTaskConfiguration() { + return taskConfiguration; + } + + public void setTaskConfiguration(TaskConfiguration taskConfiguration) { + this.taskConfiguration = taskConfiguration; + } + +// @XmlElementWrapper(name = "PushNotificationProviders", required = true) +// @XmlElement(name = "Provider", required = true) +// public List getPushNotificationProviders() { +// return pushNotificationProviders; +// } +// +// public void setPushNotificationProviders(List pushNotificationProviders) { +// this.pushNotificationProviders = pushNotificationProviders; +// } + } + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfigRepository.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfigRepository.java index 2ae0b77436..919865040a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfigRepository.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfigRepository.java @@ -31,12 +31,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "ManagementRepository") public class DeviceManagementConfigRepository { - -// private EmailConfigurations emailConfigurations; - private TaskConfiguration taskConfiguration; private DataSourceConfig dataSourceConfig; - private IdentityConfigurations identityConfigurations; - private PolicyConfiguration policyConfiguration; @XmlElement(name = "DataSourceConfiguration", required = true) public DataSourceConfig getDataSourceConfig() { @@ -47,40 +42,4 @@ public class DeviceManagementConfigRepository { this.dataSourceConfig = dataSourceConfig; } -// @XmlElement(name = "EmailClientConfiguration", required = true) -// public EmailConfigurations getEmailConfigurations() { -// return emailConfigurations; -// } -// -// public void setEmailConfigurations(EmailConfigurations emailConfigurations) { -// this.emailConfigurations = emailConfigurations; -// } - - @XmlElement(name = "IdentityConfiguration", required = true) - public IdentityConfigurations getIdentityConfigurations() { - return identityConfigurations; - } - - - public void setIdentityConfigurations(IdentityConfigurations identityConfigurations) { - this.identityConfigurations = identityConfigurations; - } - - @XmlElement(name = "PolicyConfiguration", required = true) - public PolicyConfiguration getPolicyConfiguration() { - return policyConfiguration; - } - - public void setPolicyConfiguration(PolicyConfiguration policyConfiguration) { - this.policyConfiguration = policyConfiguration; - } - - @XmlElement(name = "TaskConfiguration", required = true) - public TaskConfiguration getTaskConfiguration() { - return taskConfiguration; - } - - public void setTaskConfiguration(TaskConfiguration taskConfiguration) { - this.taskConfiguration = taskConfiguration; - } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/policy/PolicyConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/policy/PolicyConfiguration.java index deb10035bc..2f419755c4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/policy/PolicyConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/policy/PolicyConfiguration.java @@ -31,7 +31,7 @@ public class PolicyConfiguration { private int minRetriesToMarkUnreachable; private int minRetriesToMarkInactive; - @XmlElement(name = "monitoringClass", required = true) + @XmlElement(name = "MonitoringClass", required = true) public String getMonitoringClass() { return monitoringClass; } @@ -40,7 +40,7 @@ public class PolicyConfiguration { this.monitoringClass = monitoringClass; } - @XmlElement(name = "maxRetries", required = true) + @XmlElement(name = "MaxRetries", required = true) public int getMaxRetries() { return maxRetries; } @@ -49,7 +49,7 @@ public class PolicyConfiguration { this.maxRetries = maxRetries; } - @XmlElement(name = "minRetriesToMarkUnreachable", required = true) + @XmlElement(name = "MinRetriesToMarkUnreachable", required = true) public int getMinRetriesToMarkUnreachable() { return minRetriesToMarkUnreachable; } @@ -58,7 +58,7 @@ public class PolicyConfiguration { this.minRetriesToMarkUnreachable = minRetriesToMarkUnreachable; } - @XmlElement(name = "monitoringEnable", required = true) + @XmlElement(name = "MonitoringEnable", required = true) public boolean getMonitoringEnable() { return monitoringEnable; } @@ -67,7 +67,7 @@ public class PolicyConfiguration { this.monitoringEnable = monitoringEnable; } - @XmlElement(name = "minRetriesToMarkInactive", required = true) + @XmlElement(name = "MinRetriesToMarkInactive", required = true) public int getMinRetriesToMarkInactive() { return minRetriesToMarkInactive; } @@ -76,7 +76,7 @@ public class PolicyConfiguration { this.minRetriesToMarkInactive = minRetriesToMarkInactive; } - @XmlElement(name = "monitoringFrequency", required = true) + @XmlElement(name = "MonitoringFrequency", required = true) public int getMonitoringFrequency() { return monitoringFrequency; } @@ -84,4 +84,5 @@ public class PolicyConfiguration { public void setMonitoringFrequency(int monitoringFrequency) { this.monitoringFrequency = monitoringFrequency; } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceTaskManagerServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceTaskManagerServiceComponent.java index 4d175bfa74..28a0a2345d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceTaskManagerServiceComponent.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceTaskManagerServiceComponent.java @@ -52,8 +52,9 @@ public class DeviceTaskManagerServiceComponent { log.debug("Initializing device details retrieving task manager bundle."); } // This will start the device details retrieving task. - boolean taskEnable = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(). - getDeviceManagementConfigRepository().getTaskConfiguration().isEnabled(); + boolean taskEnable = + DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). + isEnabled(); if (taskEnable) { DeviceTaskManagerService taskManagerService = new DeviceTaskManagerServiceImpl(); taskManagerService.startTask(); @@ -70,7 +71,6 @@ public class DeviceTaskManagerServiceComponent { @SuppressWarnings("unused") protected void deactivate(ComponentContext componentContext) { - try { DeviceTaskManagerService taskManagerService = new DeviceTaskManagerServiceImpl(); taskManagerService.stopTask(); @@ -93,6 +93,7 @@ public class DeviceTaskManagerServiceComponent { } DeviceManagementDataHolder.getInstance().setTaskService(null); } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java index 73487be49c..88bd74cdaa 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java @@ -753,17 +753,11 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv public void notifyOperationToDevices(Operation operation, List deviceIds) throws DeviceManagementException { - try { - for (DeviceIdentifier deviceId : deviceIds) { - DeviceManagementService dms = - getPluginRepository().getDeviceManagementService(deviceId.getType(), this.getTenantId()); - dms.notifyOperationToDevices(operation, deviceIds); - } - } catch (DeviceManagementException deviceMgtEx) { - String errorMsg = "Error in notify operations to plugins for app installation:" + - deviceMgtEx.getErrorMessage(); - log.error(errorMsg, deviceMgtEx); - throw new DeviceManagementException(errorMsg, deviceMgtEx); + for (DeviceIdentifier deviceId : deviceIds) { + DeviceManagementService dms = + getPluginRepository().getDeviceManagementService(deviceId.getType(), this.getTenantId()); + //TODO FIX THIS WITH PUSH NOTIFICATIONS + //dms.notifyOperationToDevices(operation, deviceIds); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/Utils.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/Utils.java index 7f4537fa5c..f0997ce4b2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/Utils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/Utils.java @@ -22,18 +22,16 @@ package org.wso2.carbon.device.mgt.core.task; import org.wso2.carbon.context.PrivilegedCarbonContext; import java.util.HashMap; +import java.util.Map; public class Utils { - - public static HashMap getTenantedTaskOperationMap(HashMap> map) { - + public static Map getTenantedTaskOperationMap(Map> map) { int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - if (map.containsKey(tenantId)) { return map.get(tenantId); } else { - HashMap mp = new HashMap<>(); + Map mp = new HashMap<>(); map.put(tenantId, mp); return mp; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerImpl.java index cc9e8ac40b..b3bd8d5db0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceTaskManagerImpl.java @@ -36,23 +36,19 @@ import org.wso2.carbon.device.mgt.core.task.TaskOperation; import org.wso2.carbon.device.mgt.core.task.Utils; import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.util.*; public class DeviceTaskManagerImpl implements DeviceTaskManager { private static Log log = LogFactory.getLog(DeviceTaskManagerImpl.class); - private static HashMap> map = new HashMap<>(); + private static Map> map = new HashMap<>(); @Override public List getOperationList() throws DeviceMgtTaskException { - - TaskConfiguration taskConfiguration = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(). - getDeviceManagementConfigRepository().getTaskConfiguration(); + TaskConfiguration taskConfiguration = + DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(); List ops = taskConfiguration.getOperations(); List taskOperations = new ArrayList<>(); @@ -68,29 +64,25 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager { @Override public int getTaskFrequency() throws DeviceMgtTaskException { - - return DeviceConfigurationManager.getInstance().getDeviceManagementConfig(). - getDeviceManagementConfigRepository().getTaskConfiguration().getFrequency(); + return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). + getFrequency(); } @Override public String getTaskImplementedClazz() throws DeviceMgtTaskException { - - return DeviceConfigurationManager.getInstance().getDeviceManagementConfig(). - getDeviceManagementConfigRepository().getTaskConfiguration().getTaskClazz(); + return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). + getTaskClazz(); } @Override public boolean isTaskEnabled() throws DeviceMgtTaskException { - - return DeviceConfigurationManager.getInstance().getDeviceManagementConfig(). - getDeviceManagementConfigRepository().getTaskConfiguration().isEnabled(); + return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration(). + isEnabled(); } @Override public void addOperations() throws DeviceMgtTaskException { - DeviceManagementProviderService deviceManagementProviderService = DeviceManagementDataHolder.getInstance().getDeviceManagementProvider(); try { @@ -98,7 +90,6 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager { List operations = this.getValidOperationNames(); if (!devices.isEmpty()) { - for (String str : operations) { CommandOperation operation = new CommandOperation(); operation.setEnabled(true); @@ -116,17 +107,15 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager { } catch (OperationManagementException e) { throw new DeviceMgtTaskException("Error occurred while adding the operations to devices", e); } - } @Override public List getValidOperationNames() throws DeviceMgtTaskException { - List taskOperations = this.getOperationList(); List opNames = new ArrayList<>(); Long milliseconds = System.currentTimeMillis(); int frequency = this.getTaskFrequency(); - HashMap mp = Utils.getTenantedTaskOperationMap(map); + Map mp = Utils.getTenantedTaskOperationMap(map); for (TaskOperation top : taskOperations) { if (!mp.containsKey(top.getTaskName())) { @@ -163,5 +152,6 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager { return false; } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java index c94a00fe8d..67e7d2a4f8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java @@ -17,17 +17,14 @@ */ package org.wso2.carbon.device.mgt.core; -import org.wso2.carbon.device.mgt.common.*; -import org.wso2.carbon.device.mgt.common.app.mgt.Application; -import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; +import org.wso2.carbon.device.mgt.common.DeviceIdentifier; +import org.wso2.carbon.device.mgt.common.DeviceManagementException; +import org.wso2.carbon.device.mgt.common.DeviceManager; +import org.wso2.carbon.device.mgt.common.ProvisioningConfig; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; -import org.wso2.carbon.device.mgt.common.license.mgt.License; -import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; -import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; +import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig; import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; -import org.wso2.carbon.device.mgt.core.common.TestDataHolder; -import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import java.util.List; @@ -45,14 +42,6 @@ public class TestDeviceManagementService implements DeviceManagementService { return providerType; } - @Override - public String getProviderTenantDomain() { return tenantDomain;} - - @Override - public boolean isSharedWithAllTenants() { - return true; - } - @Override public void init() throws DeviceManagementException { @@ -69,44 +58,13 @@ public class TestDeviceManagementService implements DeviceManagementService { } @Override - public void notifyOperationToDevices(Operation operation, List deviceIds) - throws DeviceManagementException { - - } - - @Override - public Application[] getApplications(String domain, int pageNumber, int size) - throws ApplicationManagementException { - return new Application[0]; - } - - @Override - public void updateApplicationStatus(DeviceIdentifier deviceId, Application application, String status) - throws ApplicationManagementException { - + public ProvisioningConfig getProvisioningConfig() { + return new ProvisioningConfig(tenantDomain, false); } @Override - public String getApplicationStatus(DeviceIdentifier deviceId, Application application) - throws ApplicationManagementException { + public PushNotificationConfig getPushNotificationConfig() { return null; } - @Override - public void installApplicationForDevices(Operation operation, List deviceIdentifiers) - throws ApplicationManagementException { - - } - - @Override - public void installApplicationForUsers(Operation operation, List userNameList) - throws ApplicationManagementException { - - } - - @Override - public void installApplicationForUserRoles(Operation operation, List userRoleList) - throws ApplicationManagementException { - - } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderServiceTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderServiceTest.java index 4c7996e381..36bb7c4265 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderServiceTest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderServiceTest.java @@ -27,7 +27,6 @@ import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository; import org.wso2.carbon.device.mgt.core.TestDeviceManagementService; -import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig; import org.wso2.carbon.device.mgt.core.common.TestDataHolder; import java.util.ArrayList; @@ -35,13 +34,11 @@ import java.util.List; public class ApplicationManagementProviderServiceTest { - private ApplicationManagementProviderService appMgtProvider; private static final Log log = LogFactory.getLog(ApplicationManagementProviderServiceTest.class); - private DeviceManagementPluginRepository deviceManagementPluginRepository = null; @BeforeClass public void init() { - deviceManagementPluginRepository = new DeviceManagementPluginRepository(); + DeviceManagementPluginRepository deviceManagementPluginRepository = new DeviceManagementPluginRepository(); TestDeviceManagementService testDeviceManagementService = new TestDeviceManagementService(TestDataHolder.TEST_DEVICE_TYPE, TestDataHolder.SUPER_TENANT_DOMAIN); try { @@ -82,8 +79,7 @@ public class ApplicationManagementProviderServiceTest { deviceId.setId(deviceIdentifier); deviceId.setType(device.getType()); - AppManagementConfig appManagementConfig = new AppManagementConfig(); - appMgtProvider = new ApplicationManagerProviderServiceImpl(); + ApplicationManagementProviderService appMgtProvider = new ApplicationManagerProviderServiceImpl(); try { appMgtProvider.updateApplicationListInstalledInDevice(deviceId, applications); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/group-api.jag b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/group-api.jag deleted file mode 100644 index 5795fb9df5..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/group-api.jag +++ /dev/null @@ -1,133 +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. - */ - -var uri = request.getRequestURI(); -var uriMatcher = new URIMatcher(String(uri)); - -var log = new Log("apis/group-api.jag"); - -var constants = require("/app/modules/constants.js"); - -var utility = require("/app/modules/utility.js").utility; -var devicemgtProps = require('/app/conf/devicemgt-props.js').config(); -var responseProcessor = require('utils').response; - -var deviceCloudService = devicemgtProps["httpsURL"] + "/common/group_manager"; - -var user = session.get(constants.USER_SESSION_KEY); - -var groupModule = require("/app/modules/group.js").groupModule; - -var result, endPoint, data, groupId, group, role; - -if (!user) { - response = responseProcessor.buildErrorResponse(response, 401, "Unauthorized"); -} else { - - if (uriMatcher.match("/{context}/api/group/add")) { - group = request.getContent(); - result = groupModule.addGroup(group); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/update")) { - groupId = uriMatcher.elements().groupId; - group = request.getContent(); - result = groupModule.updateGroup(groupId, group); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/remove")) { - groupId = uriMatcher.elements().groupId; - result = groupModule.removeGroup(groupId); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}")) { - groupId = uriMatcher.elements().groupId; - result = groupModule.getGroup(groupId); - - } else if (uriMatcher.match("/{context}/api/group/name/{groupName}")) { - var groupName = uriMatcher.elements().groupName; - result = groupModule.findGroups(groupName); - - } else if (uriMatcher.match("/{context}/api/group/all")) { - result = groupModule.getGroups(); - - } else if (uriMatcher.match("/{context}/api/group/all/count")) { - result = groupModule.getGroupCount(); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/share")) { - groupId = uriMatcher.elements().groupId; - var shareUser = request.getContent()["shareUser"]; - role = request.getContent()["role"]; - result = groupModule.shareGroup(groupId, shareUser, role); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/unshare")) { - groupId = uriMatcher.elements().groupId; - var unShareUser = request.getContent()["unShareUser"]; - role = request.getContent()["role"]; - result = groupModule.unshareGroup(groupId, unShareUser, role); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/add")) { - groupId = uriMatcher.elements().groupId; - var permissions = request.getContent()["permissions"]; - role = request.getContent()["role"]; - result = groupModule.addRole(groupId, role, permissions); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/delete")) { - groupId = uriMatcher.elements().groupId; - role = request.getContent()["role"]; - endPoint = deviceCloudService + "/group/id/" + groupId + "/role/" + role; - result = groupModule.deleteRole(groupId, role); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/all")) { - groupId = uriMatcher.elements().groupId; - result = groupModule.getGroupRoles(groupId); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/{userId}/role/all")) { - groupId = uriMatcher.elements().groupId; - var userId = uriMatcher.elements().userId; - result = groupModule.getUserRoles(groupId, userId); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/{userId}/rolemapping")) { - groupId = uriMatcher.elements().groupId; - userId = uriMatcher.elements().userId; - result = groupModule.getRoleMapping(groupId, userId); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/{userId}/roleupdate")) { - groupId = uriMatcher.elements().groupId; - userId = uriMatcher.elements().userId; - var roleMap = request.getContent(); - result = groupModule.setRoleMapping(groupId, userId, roleMap); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/user/all")) { - groupId = uriMatcher.elements().groupId; - result = groupModule.getUsers(groupId); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/device/all")) { - groupId = uriMatcher.elements().groupId; - result = groupModule.getDevices(groupId); - - } else if (uriMatcher.match("/{context}/api/group/id/{groupId}/assign")) { - groupId = uriMatcher.elements().groupId; - var deviceId = request.getContent()["deviceId"]; - var deviceType = request.getContent()["deviceType"]; - result = groupModule.assignDevice(groupId, deviceId, deviceType); - } -} -// returning the result. -if (result) { - print(result); -} -%> diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/operation-api.jag b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/operation-api.jag index 0e4cf81077..16d01c99a8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/operation-api.jag +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/api/operation-api.jag @@ -38,11 +38,11 @@ if (!user) { if (uriMatcher.match("/{context}/api/operations/{deviceType}/stats")) { var deviceType = uriMatcher.elements().deviceType; var deviceId = request.getParameter("deviceId"); - var monitor_operations = operationModule.getMonitorOperations(deviceType); + var monitorOperations = operationModule.getMonitorOperations(deviceType); var stats = []; result = {}; - for (var op in monitor_operations) { - result = operationModule.handleGETOperation(deviceType, monitor_operations[op].operation, monitor_operations[op].name, deviceId); + for (var op in monitorOperations) { + result = operationModule.handleGETOperation(deviceType, monitorOperations[op].operation, monitorOperations[op].name, deviceId); stats.push(result.data); } result.data = stats; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/device.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/device.js index c2865c13b4..43ee2fc82c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/device.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/device.js @@ -97,61 +97,6 @@ deviceModule = function () { } }; - /* - @Deprecated - */ - publicMethods.listDevicesForUser = function (username) { - var carbonUser = session.get(constants.USER_SESSION_KEY); - var utility = require('/app/modules/utility.js').utility; - if (!carbonUser) { - log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; - } - try { - utility.startTenantFlow(carbonUser); - var deviceManagementService = utility.getDeviceManagementService(); - var devices = deviceManagementService.getDevicesOfUser(username); - var deviceList = []; - var i, device, propertiesList, deviceObject; - for (i = 0; i < devices.size(); i++) { - device = devices.get(i); - propertiesList = DeviceManagerUtil.convertDevicePropertiesToMap(device.getProperties()); - - deviceObject = {}; - deviceObject[constants.DEVICE_IDENTIFIER] = - privateMethods.validateAndReturn(device.getDeviceIdentifier()); - deviceObject[constants.DEVICE_NAME] = - privateMethods.validateAndReturn(device.getName()); - deviceObject[constants.DEVICE_OWNERSHIP] = - privateMethods.validateAndReturn(device.getEnrolmentInfo().getOwnership()); - deviceObject[constants.DEVICE_OWNER] = - privateMethods.validateAndReturn(device.getEnrolmentInfo().getOwner()); - deviceObject[constants.DEVICE_TYPE] = - privateMethods.validateAndReturn(device.getType()); - deviceObject[constants.DEVICE_PROPERTIES] = {}; - if (device.getType() == constants.PLATFORM_IOS) { - deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_MODEL] = - privateMethods.validateAndReturn(propertiesList.get(constants.DEVICE_PRODUCT)); - deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_VENDOR] = constants.VENDOR_APPLE; - } else { - deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_MODEL] = - privateMethods.validateAndReturn(propertiesList.get(constants.DEVICE_MODEL)); - deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_VENDOR] = - privateMethods.validateAndReturn(propertiesList.get(constants.DEVICE_VENDOR)); - } - deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_OS_VERSION] = - privateMethods.validateAndReturn(propertiesList.get(constants.DEVICE_OS_VERSION)); - - deviceList.push(deviceObject); - } - return deviceList; - } catch (e) { - throw e; - } finally { - utility.endTenantFlow(); - } - }; - /* @Deprecated */ @@ -298,8 +243,7 @@ deviceModule = function () { deviceObject[constants["DEVICE_PROPERTIES"]] = properties; return deviceObject; } - } - , + }, function (responsePayload) { var response = {}; response["status"] = "error"; @@ -321,8 +265,7 @@ deviceModule = function () { return serviceInvokers.XMLHttp.get( url, function (responsePayload) { return responsePayload; - } - , + }, function (responsePayload) { log.error(responsePayload); return -1; @@ -335,8 +278,7 @@ deviceModule = function () { return serviceInvokers.XMLHttp.get( url, function (responsePayload) { return responsePayload; - } - , + }, function (responsePayload) { log.error(responsePayload); return -1; @@ -344,14 +286,12 @@ deviceModule = function () { ); }; - publicMethods.getDeviceTypes = function () { var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/devices/types"; return serviceInvokers.XMLHttp.get( url, function (responsePayload) { return responsePayload; - } - , + }, function (responsePayload) { log.error(responsePayload); return -1; @@ -383,86 +323,20 @@ deviceModule = function () { return license; }; - publicMethods.getOwnDevices = function () { - var listAllDevicesEndPoint = deviceCloudService + "/device/user/" + user.username + "/all"; - var result = get(listAllDevicesEndPoint, {}, "json"); - var devices = result.data; - var device; - for (var d in devices){ - device = devices[d]; - device.assetId = publicMethods.getAssetId(device.deviceType); - } - return result; - }; - - publicMethods.getAllPermittedDevices = function () { - var groupModule = require("/app/modules/group.js").groupModule; - - var result = publicMethods.getUnGroupedDevices(); - var unGroupedDevices = result.data; - var user_groups = groupModule.getGroups().data; - var allDevices = []; - var deviceCount = unGroupedDevices.length; - for (var g in user_groups) { - var deviceInGroup = user_groups[g].devices; - deviceCount += deviceInGroup.length; - if (deviceInGroup && deviceInGroup.length == 0) { - delete user_groups[g]["devices"]; - } - var device; - for (var d in deviceInGroup){ - device = deviceInGroup[d]; - device.assetId = publicMethods.getAssetId(device.type); - } - allDevices.push(user_groups[g]); - } - allDevices.push({id: 0, devices: unGroupedDevices}); - result.data = allDevices; - result.device_count = deviceCount; - return result; - }; - - publicMethods.removeDevice = function (deviceType, deviceId) { - var carbonUser = session.get(constants.USER_SESSION_KEY); - if (!carbonUser) { - log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; - } - try { - utility.startTenantFlow(carbonUser); - var deviceManagementService = utility.getDeviceManagementService(); - var deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setType(deviceType); - deviceIdentifier.setId(deviceId); - return deviceManagementService.disenrollDevice(deviceIdentifier); - } catch (e) { - throw e; - } finally { - utility.endTenantFlow(); - } - }; - - publicMethods.updateDevice = function (deviceType, deviceId, deviceName) { - var carbonUser = session.get(constants.USER_SESSION_KEY); - if (!carbonUser) { - log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; - } - try { - utility.startTenantFlow(carbonUser); - var deviceManagementService = utility.getDeviceManagementService(); - var deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setType(deviceType); - deviceIdentifier.setId(deviceId); - var device = deviceManagementService.getDevice(deviceIdentifier); - device.setName(deviceName); - return deviceManagementService.modifyEnrollment(device); - } catch (e) { - throw e; - } finally { - utility.endTenantFlow(); - } + publicMethods.getDevices = function (userName) { + var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/devices/user/" + userName; + return serviceInvokers.XMLHttp.get( + url, function (responsePayload) { + for (var i = 0; i < responsePayload.length; i++) { + responsePayload[i].thumb = utility.getDeviceThumb(responsePayload[i].type); + } + return responsePayload; + }, + function (responsePayload) { + log.error(responsePayload); + return -1; + } + ); }; - return publicMethods; }(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/group.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/group.js index 37894ac2a3..9ad1b2001b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/group.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/group.js @@ -20,6 +20,7 @@ var groupModule = {}; (function (groupModule) { var log = new Log("/app/modules/group.js"); + var userModule = require("/app/modules/user.js").userModule; var constants = require('/app/modules/constants.js'); var devicemgtProps = require('/app/conf/devicemgt-props.js').config(); var utility = require("/app/modules/utility.js").utility; @@ -32,7 +33,12 @@ var groupModule = {}; var endPoint; groupModule.getGroupCount = function () { - endPoint = groupServiceEndpoint + "/user/" + user.username + "/count"; + var permissions = userModule.getUIPermissions(); + if (permissions.LIST_ALL_GROUPS) { + endPoint = groupServiceEndpoint + "/count"; + } else if (permissions.LIST_GROUPS) { + endPoint = groupServiceEndpoint + "/user/" + user.username + "/count"; + } return serviceInvokers.XMLHttp.get( endPoint, function (responsePayload) { return responsePayload; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/init.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/init.js index 2a22b1c987..2aa4bc8f62 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/init.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/init.js @@ -28,13 +28,6 @@ var userModule = require("/app/modules/user.js")["userModule"]; var utility = require("/app/modules/utility.js")["utility"]; var permissions = { - '/permission/admin/device-mgt/devices': ['ui.execute'], - '/permission/admin/device-mgt/operations': ['ui.execute'], - '/permission/admin/device-mgt/policies': ['ui.execute'], - '/permission/admin/device-mgt/user': ['ui.execute'], - '/permission/admin/device-mgt/users': ['ui.execute'], - '/permission/admin/device-mgt/admin/devices': ['ui.execute'], - '/permission/admin/device-mgt/admin/groups': ['ui.execute'], - '/permission/admin/device-mgt/admin/policies': ['ui.execute'] + '/permission/admin/device-mgt/user': ['ui.execute'] }; userModule.addRole("devicemgt-user", ["admin"], permissions); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/policy.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/policy.js index 490ee8aee5..a4ee8c1256 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/policy.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/policy.js @@ -67,8 +67,7 @@ policyModule = function () { policyObjectToView["priorityId"] = policyObjectFromRestEndpoint["priorityId"]; policyObjectToView["name"] = policyObjectFromRestEndpoint["policyName"]; policyObjectToView["platform"] = policyObjectFromRestEndpoint["profile"]["deviceType"]["name"]; - policyObjectToView["icon"] = devicemgtProps["httpsURL"] + devicemgtProps["appContext"] + - "public/cdmf.unit.device.type." + policyObjectToView["platform"] + ".type-view/images/thumb.png"; + policyObjectToView["icon"] = utility.getDeviceThumb(policyObjectToView["platform"]); policyObjectToView["ownershipType"] = policyObjectFromRestEndpoint["ownershipType"]; policyObjectToView["roles"] = privateMethods. getElementsInAString(policyObjectFromRestEndpoint["roles"]); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/user.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/user.js index 1c1139b3aa..a26e64de9c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/user.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/user.js @@ -632,7 +632,13 @@ var userModule = function () { if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/devices/list")) { permissions["LIST_DEVICES"] = true; } + if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/devices/list")) { + permissions["LIST_OWN_DEVICES"] = true; + } if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/groups/list")) { + permissions["LIST_ALL_GROUPS"] = true; + } + if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/groups/list")) { permissions["LIST_GROUPS"] = true; } if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/users/list")) { @@ -642,9 +648,12 @@ var userModule = function () { permissions["LIST_ROLES"] = true; } if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/policies/list")) { + permissions["LIST_ALL_POLICIES"] = true; + } + if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/policies/list")) { permissions["LIST_POLICIES"] = true; } - if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/groups/add")) { + if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/groups/add")) { permissions["ADD_GROUP"] = true; } if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/users/add")) { @@ -656,7 +665,7 @@ var userModule = function () { if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/roles/add")) { permissions["ADD_ROLE"] = true; } - if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/policies/add")) { + if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/policies/add")) { permissions["ADD_POLICY"] = true; } if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/policies/priority")) { @@ -668,9 +677,6 @@ var userModule = function () { if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/platform-configs/view")) { permissions["TENANT_CONFIGURATION"] = true; } - if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/devices/list")) { - permissions["LIST_OWN_DEVICES"] = true; - } return permissions; }; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/utility.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/utility.js index 07fbe79cc7..185c2fa029 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/utility.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/utility.js @@ -18,6 +18,9 @@ var utility; utility = function () { + + var constants = require('/app/modules/constants.js'); + var devicemgtProps = require('/app/conf/devicemgt-props.js').config(); var log = new Log("/app/modules/utility.js"); var JavaClass = Packages.java.lang.Class; var PrivilegedCarbonContext = Packages.org.wso2.carbon.context.PrivilegedCarbonContext; @@ -104,26 +107,43 @@ utility = function () { }; publicMethods.getOperationIcon = function (deviceType, operation) { - var iconPath = "/app/units/cdmf.unit.device.type." - + deviceType + ".type-view/public/images/operations/" + operation + ".png"; + var unitName = publicMethods.getTenantedDeviceUnitName(deviceType, "type-view"); + var iconPath = "/app/units/" + unitName + "/public/images/operations/" + operation + ".png"; var icon = new File(iconPath); if (icon.isExists()) { - return "public/cdmf.unit.device.type." + deviceType + ".type-view/images/operations/" + operation + ".png"; + return devicemgtProps["appContext"] + "public/" + unitName + "/images/operations/" + operation + ".png"; } else { return null; } }; publicMethods.getDeviceThumb = function (deviceType) { - var iconPath = "/app/units/cdmf.unit.device.type." - + deviceType + ".type-view/public/images/thumb.png"; + var unitName = publicMethods.getTenantedDeviceUnitName(deviceType, "type-view"); + var iconPath = "/app/units/" + unitName + "/public/images/thumb.png"; var icon = new File(iconPath); if (icon.isExists()) { - return "/devicemgt/public/cdmf.unit.device.type." + deviceType + ".type-view/images/thumb.png"; + return devicemgtProps["appContext"] + "public/" + unitName + "/images/thumb.png"; } else { return null; } }; + publicMethods.getTenantedDeviceUnitName = function (deviceType, unitPostfix) { + var user = session.get(constants.USER_SESSION_KEY); + if (!user) { + log.error("User object was not found in the session"); + throw constants.ERRORS.USER_NOT_FOUND; + } + var unitName = user.domain + "cdmf.unit.device.type." + deviceType + "." + unitPostfix; + if (new File("/app/units/" + unitName).isExists()) { + return unitName; + } + unitName = "cdmf.unit.device.type." + deviceType + "." + unitPostfix; + if (new File("/app/units/" + unitName).isExists()) { + return unitName; + } + return null; + }; + return publicMethods; }(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.hbs new file mode 100644 index 0000000000..f396a86cb0 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.hbs @@ -0,0 +1,89 @@ +{{#zone "topCss"}} + {{css "css/analytics.css"}} + {{css "css/daterangepicker.css"}} + {{css "css/graph.css"}} +{{/zone}} + +{{unit "cdmf.unit.ui.title" pageTitle="Analytics"}} +{{unit "cdmf.unit.ui.content.title" pageHeader=title}} +{{unit "cdmf.unit.lib.service-invoker-utility"}} +{{unit "cdmf.unit.lib.handlebars"}} + +{{#zone "breadcrumbs"}} +
  • + + + +
  • + {{#if groupName}} +
  • + + Groups + +
  • +
  • + + {{groupName}} + +
  • + {{else}} +
  • + + Devices + +
  • +
  • + + {{deviceName}} + +
  • + {{/if}} +
  • + + Analytics + +
  • +{{/zone}} + +{{#zone "content"}} +
    +
    +
    +
    +

    {{deviceType}} Analytics

    +
    +
    +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    + {{unit deviceAnalyticsViewUnitName}} +
    +
    +
    +{{/zone}} +{{#zone "bottomJs"}} + {{js "js/jquery.daterangepicker.js"}} + {{js "js/graph_util.js"}} +{{/zone}} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.js new file mode 100644 index 0000000000..a3473dc66e --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.js @@ -0,0 +1,35 @@ +/* + * 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. + */ + +function onRequest(context) { + context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) { + if (arguments.length < 3) + throw new Error("Handlebars Helper equal needs 2 parameters"); + if (lvalue != rvalue) { + return options.inverse(this); + } else { + return options.fn(this); + } + }); + + var deviceType = context.uriParams.deviceType; + return { + "deviceAnalyticsViewUnitName": "cdmf.unit.device.type." + deviceType + ".analytics-view", + "deviceType": deviceType + }; +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.json b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.json new file mode 100644 index 0000000000..0e5fbe104a --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/analytics.json @@ -0,0 +1,5 @@ +{ + "version": "1.0.0", + "uri": "/device/analytics/{deviceType}", + "layout": "cdmf.layout.default" +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/analytics.css b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/analytics.css new file mode 100644 index 0000000000..84a8a9090b --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/analytics.css @@ -0,0 +1,63 @@ +/* + * 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. + */ + +#rangeSliderWrapper { + margin-top: 25px; +} + +#chart { + display: inline-block; +} + +#legend { + display: inline-block; + position: relative; + left: 8px; +} + +#legend_container { + position: absolute; + right: 0; + bottom: 26px; + width: 0; +} + +#chart_container { + float: left; + position: relative; +} + +.ast-container { + padding-bottom: 30px; +} + +.container { + width: auto; +} + +.shrink { + margin-right: 20px; + margin-left: 20px; +} +.date-range{ + border: 1px solid #ccc; +} + +#dateRangePickerContainer button.active{ + background-color: #e6e6e6 !important; +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/daterangepicker.css b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/daterangepicker.css new file mode 100644 index 0000000000..b708a1a88c --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/daterangepicker.css @@ -0,0 +1,348 @@ +/* + * 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. + */ + +.date-picker { + width: 170px; + height: 25px; + padding: 0; + border: 0; + line-height: 25px; + padding-left: 10px; + font-size: 12px; + font-family: Arial; + font-weight: bold; + cursor: pointer; + color: #303030; + position: relative; + z-index: 2; +} + +.date-picker-wrapper { + position: absolute; + z-index: 1; + border: 1px solid #bfbfbf; + background-color: #efefef; + width: 448px; + padding: 5px 12px; + font-size: 12px; + line-height: 20px; + color: #aaa; + font-family: Arial; + box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5); +} + +.date-picker-wrapper.single-date { + width: auto; +} + +.date-picker-wrapper.no-shortcuts { + padding-bottom: 12px; +} + +.date-picker-wrapper .footer { + display: none; + font-size: 11px; + padding-top: 3px; +} + +.date-picker-wrapper b { + color: #666; + font-weight: 700; +} + +.date-picker-wrapper a { + color: rgb(107, 180, 214); + text-decoration: underline; +} + +.date-picker-wrapper .month-wrapper { + border: 1px solid #bfbfbf; + border-radius: 3px; + background-color: #fff; + padding: 5px; + cursor: default; + position: relative; + _overflow: hidden; +} + +.date-picker-wrapper .month-wrapper table { + width: 190px; + float: left; +} + +.date-picker-wrapper .month-wrapper table.month2 { + width: 190px; + float: right; +} + +.date-picker-wrapper .month-wrapper table th, +.date-picker-wrapper .month-wrapper table td { + vertical-align: middle; + text-align: center; + line-height: 14px; + margin: 0px; + padding: 0px; +} + +.date-picker-wrapper .month-wrapper table .day { + height: 19px; + line-height: 19px; + font-size: 12px; + margin-bottom: 1px; + color: #999; + cursor: default; +} + +.date-picker-wrapper .month-wrapper table div.day.lastMonth, +.date-picker-wrapper .month-wrapper table div.day.nextMonth { + color: #999; + cursor: default; +} + +.date-picker-wrapper .month-wrapper table .day.checked { + background-color: rgb(156, 219, 247); +} + +.date-picker-wrapper .month-wrapper table .week-name { + height: 20px; + line-height: 20px; + font-weight: 100; +} + +.date-picker-wrapper .month-wrapper table .day.has-tooltip { + cursor: help !important; +} + +.date-picker-wrapper .month-wrapper table .day.toMonth.valid { + color: #333; + cursor: pointer; +} + +.date-picker-wrapper .month-wrapper table .day.real-today { + background-color: rgb(255, 230, 132); +} + +.date-picker-wrapper .month-wrapper table .day.real-today.checked { + background-color: rgb(112, 204, 213); +} + +.date-picker-wrapper table .caption { + height: 40px; +} + +.date-picker-wrapper table .caption .next, +.date-picker-wrapper table .caption .prev { + padding: 0 5px; + cursor: pointer; +} + +.date-picker-wrapper table .caption .next:hover, +.date-picker-wrapper table .caption .prev:hover { + background-color: #ccc; + color: white; +} + +.date-picker-wrapper .gap { + position: absolute; + display: none; + top: 0px; + left: 204px; + z-index: 1; + width: 15px; + height: 100%; + background-color: red; + font-size: 0; + line-height: 0; +} + +.date-picker-wrapper .gap .gap-lines { + height: 100%; + overflow: hidden; +} + +.date-picker-wrapper .gap .gap-line { + height: 15px; + width: 15px; + position: relative; +} + +.date-picker-wrapper .gap .gap-line .gap-1 { + z-index: 1; + height: 0; + border-left: 8px solid white; + border-top: 8px solid #eee; + border-bottom: 8px solid #eee; +} + +.date-picker-wrapper .gap .gap-line .gap-2 { + position: absolute; + right: 0; + top: 0px; + z-index: 2; + height: 0; + border-left: 8px solid transparent; + border-top: 8px solid white; +} + +.date-picker-wrapper .gap .gap-line .gap-3 { + position: absolute; + right: 0; + top: 8px; + z-index: 2; + height: 0; + border-left: 8px solid transparent; + border-bottom: 8px solid white; +} + +.date-picker-wrapper .gap .gap-top-mask { + width: 6px; + height: 1px; + position: absolute; + top: -1px; + left: 1px; + background-color: #eee; + z-index: 3; +} + +.date-picker-wrapper .gap .gap-bottom-mask { + width: 6px; + height: 1px; + position: absolute; + bottom: -1px; + left: 7px; + background-color: #eee; + z-index: 3; +} + +.date-picker-wrapper .selected-days { + display: none; +} + +.date-picker-wrapper .drp_top-bar { + line-height: 40px; + height: 40px; + position: relative; +} + +.date-picker-wrapper .drp_top-bar .error-top { + display: none; +} + +.date-picker-wrapper .drp_top-bar .normal-top { + display: none; +} + +.date-picker-wrapper .drp_top-bar .default-top { + display: block; +} + +.date-picker-wrapper .drp_top-bar.error .default-top { + display: none; +} + +.date-picker-wrapper .drp_top-bar.error .error-top { + display: block; + color: red; +} + +.date-picker-wrapper .drp_top-bar.normal .default-top { + display: none; +} + +.date-picker-wrapper .drp_top-bar.normal .normal-top { + display: block; +} + +.date-picker-wrapper .drp_top-bar .apply-btn { + position: absolute; + right: 0px; + top: 6px; + padding: 3px 5px; + margin: 0; + font-size: 12px; + border-radius: 4px; + cursor: pointer; + + color: #d9eef7; + border: solid 1px #0076a3; + background: #0095cd; + background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5)); + background: -moz-linear-gradient(top, #00adee, #0078a5); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5'); + color: white; +} + +.date-picker-wrapper .drp_top-bar .apply-btn.disabled { + pointer-events: none; + color: #606060; + border: solid 1px #b7b7b7; + background: #fff; + background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed)); + background: -moz-linear-gradient(top, #fff, #ededed); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed'); +} + +/*time styling*/ +.time { + position: relative; +} + +.time input[type=range] { + vertical-align: middle; +} + +.time1, .time2 { + width: 180px; + padding: 0 5px; + text-align: center; +} + +.time1 { + float: left; +} + +.time2 { + float: right; +} + +.hour, .minute { + text-align: left; +} + +.hide { + display: none; +} + +input.hour-range, input.minute-range { + width: 150px; +} + +#dateRangePickerContainer .date-range, #dateRangePickerContainer .input-append { + background: none !important; +} + +#date-range { + padding-right: 30px; + width: 300px; + height: 100%; + display: inline-block; +} + +#dateRangePickerContainer { + float: right; +} \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/graph.css b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/graph.css new file mode 100644 index 0000000000..59ff8fa775 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/css/graph.css @@ -0,0 +1,463 @@ +/* + * 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. + */ + +/* graph */ + +.rickshaw_graph { + position: relative; +} + +.rickshaw_graph svg { + display: block; + overflow: hidden; +} + +/* ticks */ + +.rickshaw_graph .x_tick { + position: absolute; + top: 0; + bottom: 0; + width: 0; + border-left: 1px dotted rgba(0, 0, 0, 0.2); + pointer-events: none; +} + +.rickshaw_graph .x_tick .title { + position: absolute; + font-size: 12px; + font-family: Arial, sans-serif; + opacity: 0.5; + white-space: nowrap; + margin-left: 3px; + bottom: -20px; + height: auto; + border-bottom: none; +} + +/* annotations */ + +.rickshaw_annotation_timeline { + height: 1px; + border-top: 1px solid #e0e0e0; + margin-top: 10px; + position: relative; +} + +.rickshaw_annotation_timeline .annotation { + position: absolute; + height: 6px; + width: 6px; + margin-left: -2px; + top: -3px; + border-radius: 5px; + background-color: rgba(0, 0, 0, 0.25); +} + +.rickshaw_graph .annotation_line { + position: absolute; + top: 0; + bottom: -6px; + width: 0; + border-left: 2px solid rgba(0, 0, 0, 0.3); + display: none; +} + +.rickshaw_graph .annotation_line.active { + display: block; +} + +.rickshaw_graph .annotation_range { + background: rgba(0, 0, 0, 0.1); + display: none; + position: absolute; + top: 0; + bottom: -6px; +} + +.rickshaw_graph .annotation_range.active { + display: block; +} + +.rickshaw_graph .annotation_range.active.offscreen { + display: none; +} + +.rickshaw_annotation_timeline .annotation .content { + background: white; + color: black; + opacity: 0.9; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.8); + border-radius: 3px; + position: relative; + z-index: 20; + font-size: 12px; + padding: 6px 8px 8px; + top: 18px; + left: -11px; + width: 160px; + display: none; + cursor: pointer; +} + +.rickshaw_annotation_timeline .annotation .content:before { + content: "\25b2"; + position: absolute; + top: -11px; + color: white; + text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8); +} + +.rickshaw_annotation_timeline .annotation.active, +.rickshaw_annotation_timeline .annotation:hover { + background-color: rgba(0, 0, 0, 0.8); + cursor: none; +} + +.rickshaw_annotation_timeline .annotation .content:hover { + z-index: 50; +} + +.rickshaw_annotation_timeline .annotation.active .content { + display: block; +} + +.rickshaw_annotation_timeline .annotation:hover .content { + display: block; + z-index: 50; +} + +.rickshaw_graph .y_axis, +.rickshaw_graph .x_axis_d3 { + fill: none; +} + +.rickshaw_graph .y_ticks .tick line, +.rickshaw_graph .x_ticks_d3 .tick { + stroke: rgba(0, 0, 0, 0.16); + stroke-width: 2px; + shape-rendering: crisp-edges; + pointer-events: none; +} + +.rickshaw_graph .y_grid .tick, +.rickshaw_graph .x_grid_d3 .tick { + z-index: -1; + stroke: rgba(0, 0, 0, 0.20); + stroke-width: 1px; + stroke-dasharray: 1 1; +} + +.rickshaw_graph .y_grid .tick[data-y-value="0"] { + stroke-dasharray: 1 0; +} + +.rickshaw_graph .y_grid path, +.rickshaw_graph .x_grid_d3 path { + fill: none; + stroke: none; +} + +.rickshaw_graph .y_ticks path, +.rickshaw_graph .x_ticks_d3 path { + fill: none; + stroke: #808080; +} + +.rickshaw_graph .y_ticks text, +.rickshaw_graph .x_ticks_d3 text { + opacity: 0.5; + font-size: 12px; + pointer-events: none; +} + +.rickshaw_graph .x_tick.glow .title, +.rickshaw_graph .y_ticks.glow text { + fill: black; + color: black; + text-shadow: -1px 1px 0 rgba(255, 255, 255, 0.1), + 1px -1px 0 rgba(255, 255, 255, 0.1), + 1px 1px 0 rgba(255, 255, 255, 0.1), + 0 1px 0 rgba(255, 255, 255, 0.1), + 0 -1px 0 rgba(255, 255, 255, 0.1), + 1px 0 0 rgba(255, 255, 255, 0.1), + -1px 0 0 rgba(255, 255, 255, 0.1), + -1px -1px 0 rgba(255, 255, 255, 0.1); +} + +.rickshaw_graph .x_tick.inverse .title, +.rickshaw_graph .y_ticks.inverse text { + fill: white; + color: white; + text-shadow: -1px 1px 0 rgba(0, 0, 0, 0.8), + 1px -1px 0 rgba(0, 0, 0, 0.8), + 1px 1px 0 rgba(0, 0, 0, 0.8), + 0 1px 0 rgba(0, 0, 0, 0.8), + 0 -1px 0 rgba(0, 0, 0, 0.8), + 1px 0 0 rgba(0, 0, 0, 0.8), + -1px 0 0 rgba(0, 0, 0, 0.8), + -1px -1px 0 rgba(0, 0, 0, 0.8); +} + +.custom_rickshaw_graph { + position: relative; + left: 40px; +} + +.custom_y_axis { + position: absolute; + width: 40px; +} + +.custom_slider { + left: 40px; +} + +.custom_x_axis { + position: relative; + left: 40px; + height: 30px; +} + +/*detail*/ + +.rickshaw_graph .detail { + pointer-events: none; + position: absolute; + top: 0; + z-index: 2; + background: rgba(0, 0, 0, 0.1); + bottom: 0; + width: 1px; + transition: opacity 0.25s linear; + -moz-transition: opacity 0.25s linear; + -o-transition: opacity 0.25s linear; + -webkit-transition: opacity 0.25s linear; +} + +.rickshaw_graph .detail.inactive { + opacity: 0; +} + +.rickshaw_graph .detail .item.active { + opacity: 1; +} + +.rickshaw_graph .detail .x_label { + font-family: Arial, sans-serif; + border-radius: 3px; + padding: 6px; + opacity: 0.5; + border: 1px solid #e0e0e0; + font-size: 12px; + position: absolute; + background: white; + white-space: nowrap; +} + +.rickshaw_graph .detail .x_label.left { + left: 0; +} + +.rickshaw_graph .detail .x_label.right { + right: 0; +} + +.rickshaw_graph .detail .item { + position: absolute; + z-index: 2; + border-radius: 3px; + padding: 0.25em; + font-size: 12px; + font-family: Arial, sans-serif; + opacity: 0; + background: rgba(0, 0, 0, 0.4); + color: white; + border: 1px solid rgba(0, 0, 0, 0.4); + margin-left: 1em; + margin-right: 1em; + margin-top: -1em; + white-space: nowrap; +} + +.rickshaw_graph .detail .item.left { + left: 0; +} + +.rickshaw_graph .detail .item.right { + right: 0; +} + +.rickshaw_graph .detail .item.active { + opacity: 1; + background: rgba(0, 0, 0, 0.8); +} + +.rickshaw_graph .detail .item:after { + position: absolute; + display: block; + width: 0; + height: 0; + + content: ""; + + border: 5px solid transparent; +} + +.rickshaw_graph .detail .item.left:after { + top: 1em; + left: -5px; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); + border-left-width: 0; +} + +.rickshaw_graph .detail .item.right:after { + top: 1em; + right: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); + border-right-width: 0; +} + +.rickshaw_graph .detail .dot { + width: 4px; + height: 4px; + margin-left: -3px; + margin-top: -3.5px; + border-radius: 5px; + position: absolute; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); + box-sizing: content-box; + -moz-box-sizing: content-box; + background: white; + border-width: 2px; + border-style: solid; + display: none; + background-clip: padding-box; +} + +.rickshaw_graph .detail .dot.active { + display: block; +} + +/*legend*/ +.rickshaw_legend { + font-family: Arial; + font-size: 12px; + color: white; + background: #404040; + display: inline-block; + padding: 12px 5px; + border-radius: 2px; + position: relative; + float: right; +} + +.rickshaw_legend:hover { + z-index: 10; +} + +.rickshaw_legend .swatch { + width: 10px; + height: 10px; + border: 1px solid rgba(0, 0, 0, 0.2); +} + +.rickshaw_legend .line { + clear: both; + line-height: 140%; + padding-right: 15px; +} + +.rickshaw_legend .line .swatch { + display: inline-block; + margin-right: 3px; + border-radius: 2px; +} + +.rickshaw_legend .label { + margin: 0; + white-space: nowrap; + display: inline; + font-size: inherit; + background-color: transparent; + color: inherit; + font-weight: normal; + line-height: normal; + padding: 0; + text-shadow: none; +} + +.rickshaw_legend .action:hover { + opacity: 0.6; +} + +.rickshaw_legend .action { + margin-right: 0.2em; + opacity: 0.2; + cursor: pointer; + font-size: 14px; +} + +.rickshaw_legend .line.disabled { + opacity: 0.4; +} + +.rickshaw_legend ul { + list-style-type: none; + padding: 0; + margin: 2px; + cursor: pointer; +} + +.rickshaw_legend li { + padding: 0 0 0 2px; + min-width: 80px; + white-space: nowrap; +} + +.rickshaw_legend li:hover { + background: rgba(255, 255, 255, 0.08); + border-radius: 3px; +} + +.rickshaw_legend li:active { + background: rgba(255, 255, 255, 0.2); + border-radius: 3px; +} + +.legend { + display: inline-block; + position: relative; + left: 8px; +} + +.legend_container { + float: right; + padding-right: 10px; + width: 0; + z-index: 1; + position: relative; + opacity: 0.7; +} + +.spaced { + margin-top: 20px !important; +} + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/js/graph_util.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/js/graph_util.js new file mode 100644 index 0000000000..c8171b5bf2 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/js/graph_util.js @@ -0,0 +1,98 @@ +/* + * 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. + */ + +var fromDate, toDate, currentDay = new Date(); +var startDate = new Date(currentDay.getTime() - (60 * 60 * 24 * 100)); +var endDate = new Date(currentDay.getTime()); + +function initDate() { + currentDay = new Date(); +} + +var DateRange = convertDate(startDate) + " to " + convertDate(endDate); + +$(document).ready(function () { + initDate(); + + $('#date-range').html(DateRange); + $('#date-range').dateRangePicker() + .bind('datepicker-apply', function (event, dateRange) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); + fromDate = dateRange.date1 != "Invalid Date" ? dateRange.date1.getTime() / 1000 : null; + toDate = dateRange.date2 != "Invalid Date" ? dateRange.date2.getTime() / 1000 : null; + drawGraph(fromDate, toDate); + } + ); + setDateTime(currentDay.getTime() - 3600000, currentDay.getTime()); + $('#hour-btn').addClass('active'); +}); + +//hour +$('#hour-btn').on('click', function () { + initDate(); + setDateTime(currentDay.getTime() - 3600000, currentDay.getTime()); +}); + +//12 hours +$('#h12-btn').on('click', function () { + initDate(); + setDateTime(currentDay.getTime() - (3600000 * 12), currentDay.getTime()); +}); + +//24 hours +$('#h24-btn').on('click', function () { + initDate(); + setDateTime(currentDay.getTime() - (3600000 * 24), currentDay.getTime()); +}); + +//48 hours +$('#h48-btn').on('click', function () { + initDate(); + setDateTime(currentDay.getTime() - (3600000 * 48), currentDay.getTime()); +}); + +$('body').on('click', '.btn-group button', function (e) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); +}); + +function setDateTime(from, to) { + fromDate = from; + toDate = to; + startDate = new Date(from); + endDate = new Date(to); + DateRange = convertDate(startDate) + " to " + convertDate(endDate); + $('#date-range').html(DateRange); + var tzOffset = new Date().getTimezoneOffset() * 60 / 1000; + from += tzOffset; + to += tzOffset; + + // the relevant import units needs to implement this. + drawGraph(parseInt(from / 1000), parseInt(to / 1000)); +} + +function convertDate(date) { + var month = date.getMonth() + 1; + var day = date.getDate(); + var hour = date.getHours(); + var minute = date.getMinutes(); + return date.getFullYear() + '-' + (('' + month).length < 2 ? '0' : '') + month + '-' + + (('' + day).length < 2 ? '0' : '') + day + " " + (('' + hour).length < 2 ? '0' : '') + + hour + ":" + (('' + minute).length < 2 ? '0' : '') + minute; +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/js/jquery-ui-timepicker-addon.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/js/jquery-ui-timepicker-addon.js new file mode 100644 index 0000000000..1beb64247a --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.device.analytics/public/js/jquery-ui-timepicker-addon.js @@ -0,0 +1,2237 @@ +/* + * 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. + */ +(function ($) { + + /* + * Lets not redefine timepicker, Prevent "Uncaught RangeError: Maximum call stack size exceeded" + */ + $.ui.timepicker = $.ui.timepicker || {}; + if ($.ui.timepicker.version) { + return; + } + + /* + * Extend jQueryUI, get it started with our version number + */ + $.extend($.ui, { + timepicker: { + version: "1.5.0" + } + }); + + /* + * Timepicker manager. + * Use the singleton instance of this class, $.timepicker, to interact with the time picker. + * Settings for (groups of) time pickers are maintained in an instance object, + * allowing multiple different settings on the same page. + */ + var Timepicker = function () { + this.regional = []; // Available regional settings, indexed by language code + this.regional[''] = { // Default regional settings + currentText: 'Now', + closeText: 'Done', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + timeFormat: 'HH:mm', + timeSuffix: '', + timeOnlyTitle: 'Choose Time', + timeText: 'Time', + hourText: 'Hour', + minuteText: 'Minute', + secondText: 'Second', + millisecText: 'Millisecond', + microsecText: 'Microsecond', + timezoneText: 'Time Zone', + isRTL: false + }; + this._defaults = { // Global defaults for all the datetime picker instances + showButtonPanel: true, + timeOnly: false, + timeOnlyShowDate: false, + showHour: null, + showMinute: null, + showSecond: null, + showMillisec: null, + showMicrosec: null, + showTimezone: null, + showTime: true, + stepHour: 1, + stepMinute: 1, + stepSecond: 1, + stepMillisec: 1, + stepMicrosec: 1, + hour: 0, + minute: 0, + second: 0, + millisec: 0, + microsec: 0, + timezone: null, + hourMin: 0, + minuteMin: 0, + secondMin: 0, + millisecMin: 0, + microsecMin: 0, + hourMax: 23, + minuteMax: 59, + secondMax: 59, + millisecMax: 999, + microsecMax: 999, + minDateTime: null, + maxDateTime: null, + maxTime: null, + minTime: null, + onSelect: null, + hourGrid: 0, + minuteGrid: 0, + secondGrid: 0, + millisecGrid: 0, + microsecGrid: 0, + alwaysSetTime: true, + separator: ' ', + altFieldTimeOnly: true, + altTimeFormat: null, + altSeparator: null, + altTimeSuffix: null, + altRedirectFocus: true, + pickerTimeFormat: null, + pickerTimeSuffix: null, + showTimepicker: true, + timezoneList: null, + addSliderAccess: false, + sliderAccessArgs: null, + controlType: 'slider', + defaultValue: null, + parse: 'strict' + }; + $.extend(this._defaults, this.regional['']); + }; + + $.extend(Timepicker.prototype, { + $input: null, + $altInput: null, + $timeObj: null, + inst: null, + hour_slider: null, + minute_slider: null, + second_slider: null, + millisec_slider: null, + microsec_slider: null, + timezone_select: null, + maxTime: null, + minTime: null, + hour: 0, + minute: 0, + second: 0, + millisec: 0, + microsec: 0, + timezone: null, + hourMinOriginal: null, + minuteMinOriginal: null, + secondMinOriginal: null, + millisecMinOriginal: null, + microsecMinOriginal: null, + hourMaxOriginal: null, + minuteMaxOriginal: null, + secondMaxOriginal: null, + millisecMaxOriginal: null, + microsecMaxOriginal: null, + ampm: '', + formattedDate: '', + formattedTime: '', + formattedDateTime: '', + timezoneList: null, + units: ['hour', 'minute', 'second', 'millisec', 'microsec'], + support: {}, + control: null, + + /* + * Override the default settings for all instances of the time picker. + * @param {Object} settings object - the new settings to use as defaults (anonymous object) + * @return {Object} the manager object + */ + setDefaults: function (settings) { + extendRemove(this._defaults, settings || {}); + return this; + }, + + /* + * Create a new Timepicker instance + */ + _newInst: function ($input, opts) { + var tp_inst = new Timepicker(), + inlineSettings = {}, + fns = {}, + overrides, i; + + for (var attrName in this._defaults) { + if (this._defaults.hasOwnProperty(attrName)) { + var attrValue = $input.attr('time:' + attrName); + if (attrValue) { + try { + inlineSettings[attrName] = eval(attrValue); + } catch (err) { + inlineSettings[attrName] = attrValue; + } + } + } + } + + overrides = { + beforeShow: function (input, dp_inst) { + if ($.isFunction(tp_inst._defaults.evnts.beforeShow)) { + return tp_inst._defaults.evnts.beforeShow.call($input[0], input, dp_inst, tp_inst); + } + }, + onChangeMonthYear: function (year, month, dp_inst) { + // Update the time as well : this prevents the time from disappearing from the $input field. + tp_inst._updateDateTime(dp_inst); + if ($.isFunction(tp_inst._defaults.evnts.onChangeMonthYear)) { + tp_inst._defaults.evnts.onChangeMonthYear.call($input[0], year, month, dp_inst, tp_inst); + } + }, + onClose: function (dateText, dp_inst) { + if (tp_inst.timeDefined === true && $input.val() !== '') { + tp_inst._updateDateTime(dp_inst); + } + if ($.isFunction(tp_inst._defaults.evnts.onClose)) { + tp_inst._defaults.evnts.onClose.call($input[0], dateText, dp_inst, tp_inst); + } + } + }; + for (i in overrides) { + if (overrides.hasOwnProperty(i)) { + fns[i] = opts[i] || null; + } + } + + tp_inst._defaults = $.extend({}, this._defaults, inlineSettings, opts, overrides, { + evnts: fns, + timepicker: tp_inst // add timepicker as a property of datepicker: $.datepicker._get(dp_inst, 'timepicker'); + }); + tp_inst.amNames = $.map(tp_inst._defaults.amNames, function (val) { + return val.toUpperCase(); + }); + tp_inst.pmNames = $.map(tp_inst._defaults.pmNames, function (val) { + return val.toUpperCase(); + }); + + // detect which units are supported + tp_inst.support = detectSupport( + tp_inst._defaults.timeFormat + + (tp_inst._defaults.pickerTimeFormat ? tp_inst._defaults.pickerTimeFormat : '') + + (tp_inst._defaults.altTimeFormat ? tp_inst._defaults.altTimeFormat : '')); + + // controlType is string - key to our this._controls + if (typeof(tp_inst._defaults.controlType) === 'string') { + if (tp_inst._defaults.controlType === 'slider' && typeof($.ui.slider) === 'undefined') { + tp_inst._defaults.controlType = 'select'; + } + tp_inst.control = tp_inst._controls[tp_inst._defaults.controlType]; + } + // controlType is an object and must implement create, options, value methods + else { + tp_inst.control = tp_inst._defaults.controlType; + } + + // prep the timezone options + var timezoneList = [-720, -660, -600, -570, -540, -480, -420, -360, -300, -270, -240, -210, -180, -120, -60, + 0, 60, 120, 180, 210, 240, 270, 300, 330, 345, 360, 390, 420, 480, 525, 540, 570, 600, 630, 660, 690, 720, 765, 780, 840]; + if (tp_inst._defaults.timezoneList !== null) { + timezoneList = tp_inst._defaults.timezoneList; + } + var tzl = timezoneList.length, tzi = 0, tzv = null; + if (tzl > 0 && typeof timezoneList[0] !== 'object') { + for (; tzi < tzl; tzi++) { + tzv = timezoneList[tzi]; + timezoneList[tzi] = { value: tzv, label: $.timepicker.timezoneOffsetString(tzv, tp_inst.support.iso8601) }; + } + } + tp_inst._defaults.timezoneList = timezoneList; + + // set the default units + tp_inst.timezone = tp_inst._defaults.timezone !== null ? $.timepicker.timezoneOffsetNumber(tp_inst._defaults.timezone) : + ((new Date()).getTimezoneOffset() * -1); + tp_inst.hour = tp_inst._defaults.hour < tp_inst._defaults.hourMin ? tp_inst._defaults.hourMin : + tp_inst._defaults.hour > tp_inst._defaults.hourMax ? tp_inst._defaults.hourMax : tp_inst._defaults.hour; + tp_inst.minute = tp_inst._defaults.minute < tp_inst._defaults.minuteMin ? tp_inst._defaults.minuteMin : + tp_inst._defaults.minute > tp_inst._defaults.minuteMax ? tp_inst._defaults.minuteMax : tp_inst._defaults.minute; + tp_inst.second = tp_inst._defaults.second < tp_inst._defaults.secondMin ? tp_inst._defaults.secondMin : + tp_inst._defaults.second > tp_inst._defaults.secondMax ? tp_inst._defaults.secondMax : tp_inst._defaults.second; + tp_inst.millisec = tp_inst._defaults.millisec < tp_inst._defaults.millisecMin ? tp_inst._defaults.millisecMin : + tp_inst._defaults.millisec > tp_inst._defaults.millisecMax ? tp_inst._defaults.millisecMax : tp_inst._defaults.millisec; + tp_inst.microsec = tp_inst._defaults.microsec < tp_inst._defaults.microsecMin ? tp_inst._defaults.microsecMin : + tp_inst._defaults.microsec > tp_inst._defaults.microsecMax ? tp_inst._defaults.microsecMax : tp_inst._defaults.microsec; + tp_inst.ampm = ''; + tp_inst.$input = $input; + + if (tp_inst._defaults.altField) { + tp_inst.$altInput = $(tp_inst._defaults.altField); + if (tp_inst._defaults.altRedirectFocus === true) { + tp_inst.$altInput.css({ + cursor: 'pointer' + }).focus(function () { + $input.trigger("focus"); + }); + } + } + + if (tp_inst._defaults.minDate === 0 || tp_inst._defaults.minDateTime === 0) { + tp_inst._defaults.minDate = new Date(); + } + if (tp_inst._defaults.maxDate === 0 || tp_inst._defaults.maxDateTime === 0) { + tp_inst._defaults.maxDate = new Date(); + } + + // datepicker needs minDate/maxDate, timepicker needs minDateTime/maxDateTime.. + if (tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date) { + tp_inst._defaults.minDateTime = new Date(tp_inst._defaults.minDate.getTime()); + } + if (tp_inst._defaults.minDateTime !== undefined && tp_inst._defaults.minDateTime instanceof Date) { + tp_inst._defaults.minDate = new Date(tp_inst._defaults.minDateTime.getTime()); + } + if (tp_inst._defaults.maxDate !== undefined && tp_inst._defaults.maxDate instanceof Date) { + tp_inst._defaults.maxDateTime = new Date(tp_inst._defaults.maxDate.getTime()); + } + if (tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date) { + tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime()); + } + tp_inst.$input.bind('focus', function () { + tp_inst._onFocus(); + }); + + return tp_inst; + }, + + /* + * add our sliders to the calendar + */ + _addTimePicker: function (dp_inst) { + var currDT = (this.$altInput && this._defaults.altFieldTimeOnly) ? this.$input.val() + ' ' + this.$altInput.val() : this.$input.val(); + + this.timeDefined = this._parseTime(currDT); + this._limitMinMaxDateTime(dp_inst, false); + this._injectTimePicker(); + }, + + /* + * parse the time string from input value or _setTime + */ + _parseTime: function (timeString, withDate) { + if (!this.inst) { + this.inst = $.datepicker._getInst(this.$input[0]); + } + + if (withDate || !this._defaults.timeOnly) { + var dp_dateFormat = $.datepicker._get(this.inst, 'dateFormat'); + try { + var parseRes = parseDateTimeInternal(dp_dateFormat, this._defaults.timeFormat, timeString, $.datepicker._getFormatConfig(this.inst), this._defaults); + if (!parseRes.timeObj) { + return false; + } + $.extend(this, parseRes.timeObj); + } catch (err) { + $.timepicker.log("Error parsing the date/time string: " + err + + "\ndate/time string = " + timeString + + "\ntimeFormat = " + this._defaults.timeFormat + + "\ndateFormat = " + dp_dateFormat); + return false; + } + return true; + } else { + var timeObj = $.datepicker.parseTime(this._defaults.timeFormat, timeString, this._defaults); + if (!timeObj) { + return false; + } + $.extend(this, timeObj); + return true; + } + }, + + /* + * generate and inject html for timepicker into ui datepicker + */ + _injectTimePicker: function () { + var $dp = this.inst.dpDiv, + o = this.inst.settings, + tp_inst = this, + litem = '', + uitem = '', + show = null, + max = {}, + gridSize = {}, + size = null, + i = 0, + l = 0; + + // Prevent displaying twice + if ($dp.find("div.ui-timepicker-div").length === 0 && o.showTimepicker) { + var noDisplay = ' style="display:none;"', + html = '
    ' + '
    ' + o.timeText + '
    ' + + '
    '; + + // Create the markup + for (i = 0, l = this.units.length; i < l; i++) { + litem = this.units[i]; + uitem = litem.substr(0, 1).toUpperCase() + litem.substr(1); + show = o['show' + uitem] !== null ? o['show' + uitem] : this.support[litem]; + + // Added by Peter Medeiros: + // - Figure out what the hour/minute/second max should be based on the step values. + // - Example: if stepMinute is 15, then minMax is 45. + max[litem] = parseInt((o[litem + 'Max'] - ((o[litem + 'Max'] - o[litem + 'Min']) % o['step' + uitem])), 10); + gridSize[litem] = 0; + + html += '
    ' + o[litem + 'Text'] + '
    ' + + '
    '; + + if (show && o[litem + 'Grid'] > 0) { + html += '
    '; + + if (litem === 'hour') { + for (var h = o[litem + 'Min']; h <= max[litem]; h += parseInt(o[litem + 'Grid'], 10)) { + gridSize[litem]++; + var tmph = $.datepicker.formatTime(this.support.ampm ? 'hht' : 'HH', {hour: h}, o); + html += ''; + } + } + else { + for (var m = o[litem + 'Min']; m <= max[litem]; m += parseInt(o[litem + 'Grid'], 10)) { + gridSize[litem]++; + html += ''; + } + } + + html += '
    ' + tmph + '' + ((m < 10) ? '0' : '') + m + '
    '; + } + html += '
    '; + } + + // Timezone + var showTz = o.showTimezone !== null ? o.showTimezone : this.support.timezone; + html += '
    ' + o.timezoneText + '
    '; + html += '
    '; + + // Create the elements from string + html += '
    '; + var $tp = $(html); + + // if we only want time picker... + if (o.timeOnly === true) { + $tp.prepend('
    ' + '
    ' + o.timeOnlyTitle + '
    ' + '
    '); + $dp.find('.ui-datepicker-header, .ui-datepicker-calendar').hide(); + } + + // add sliders, adjust grids, add events + for (i = 0, l = tp_inst.units.length; i < l; i++) { + litem = tp_inst.units[i]; + uitem = litem.substr(0, 1).toUpperCase() + litem.substr(1); + show = o['show' + uitem] !== null ? o['show' + uitem] : this.support[litem]; + + // add the slider + tp_inst[litem + '_slider'] = tp_inst.control.create(tp_inst, $tp.find('.ui_tpicker_' + litem + '_slider'), litem, tp_inst[litem], o[litem + 'Min'], max[litem], o['step' + uitem]); + + // adjust the grid and add click event + if (show && o[litem + 'Grid'] > 0) { + size = 100 * gridSize[litem] * o[litem + 'Grid'] / (max[litem] - o[litem + 'Min']); + $tp.find('.ui_tpicker_' + litem + ' table').css({ + width: size + "%", + marginLeft: o.isRTL ? '0' : ((size / (-2 * gridSize[litem])) + "%"), + marginRight: o.isRTL ? ((size / (-2 * gridSize[litem])) + "%") : '0', + borderCollapse: 'collapse' + }).find("td").click(function (e) { + var $t = $(this), + h = $t.html(), + n = parseInt(h.replace(/[^0-9]/g), 10), + ap = h.replace(/[^apm]/ig), + f = $t.data('for'); // loses scope, so we use data-for + + if (f === 'hour') { + if (ap.indexOf('p') !== -1 && n < 12) { + n += 12; + } + else { + if (ap.indexOf('a') !== -1 && n === 12) { + n = 0; + } + } + } + + tp_inst.control.value(tp_inst, tp_inst[f + '_slider'], litem, n); + + tp_inst._onTimeChange(); + tp_inst._onSelectHandler(); + }).css({ + cursor: 'pointer', + width: (100 / gridSize[litem]) + '%', + textAlign: 'center', + overflow: 'hidden' + }); + } // end if grid > 0 + } // end for loop + + // Add timezone options + this.timezone_select = $tp.find('.ui_tpicker_timezone').append('').find("select"); + $.fn.append.apply(this.timezone_select, + $.map(o.timezoneList, function (val, idx) { + return $("