From 7c7768101f32f90cb095ed25d06aa435c60a5f25 Mon Sep 17 00:00:00 2001 From: harshanL Date: Wed, 10 Dec 2014 14:53:15 +0530 Subject: [PATCH] Modified Android enrollment APIs and changed isRegistered to isEnrolled --- .../mgt/common/spi/DeviceManagerService.java | 2 +- .../carbon/device/mgt/core/DeviceManager.java | 4 +- .../core/service/DeviceManagementService.java | 4 +- .../android/AndroidDeviceManagerService.java | 2 +- .../impl/ios/IOSDeviceManagerService.java | 2 +- .../windows/WindowsDeviceManagerService.java | 2 +- .../main/java/cdm/api/android/Enrollment.java | 102 ++++++++++++++---- 7 files changed, 88 insertions(+), 30 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagerService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagerService.java index 93469177a1e..319acca3c83 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagerService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/DeviceManagerService.java @@ -65,7 +65,7 @@ public interface DeviceManagerService { * @return Status of enrollment * @throws DeviceManagementException If some unusual behaviour is observed while enrolling a device */ - boolean isRegistered(DeviceIdentifier deviceId) throws DeviceManagementException; + boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException; /** * Method to retrieve the status of a particular device. diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManager.java index 1d541a7da15..a7c6ef8154f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManager.java @@ -84,10 +84,10 @@ public class DeviceManager implements DeviceManagerService { } @Override - public boolean isRegistered(DeviceIdentifier deviceId) throws DeviceManagementException { + public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException { DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType()); - return dms.isRegistered(deviceId); + return dms.isEnrolled(deviceId); } @Override diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java index 5a30f8cd754..d7508fb784d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java @@ -46,8 +46,8 @@ public class DeviceManagementService implements DeviceManagerService { } @Override - public boolean isRegistered(DeviceIdentifier deviceId) throws DeviceManagementException { - return DeviceManagementDataHolder.getInstance().getDeviceManager().isRegistered(deviceId); + public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException { + return DeviceManagementDataHolder.getInstance().getDeviceManager().isEnrolled(deviceId); } @Override diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidDeviceManagerService.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidDeviceManagerService.java index 59f44f92831..648fd2c92b9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidDeviceManagerService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidDeviceManagerService.java @@ -50,7 +50,7 @@ public class AndroidDeviceManagerService implements DeviceManagerService { } @Override - public boolean isRegistered(DeviceIdentifier deviceId) throws DeviceManagementException { + public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException { return true; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/ios/IOSDeviceManagerService.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/ios/IOSDeviceManagerService.java index 4baee059dd7..a458b595296 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/ios/IOSDeviceManagerService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/ios/IOSDeviceManagerService.java @@ -50,7 +50,7 @@ public class IOSDeviceManagerService implements DeviceManagerService { } @Override - public boolean isRegistered(DeviceIdentifier deviceId) throws DeviceManagementException { + public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException { return true; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/windows/WindowsDeviceManagerService.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/windows/WindowsDeviceManagerService.java index b144670b5fb..1cc845faaab 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/windows/WindowsDeviceManagerService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/windows/WindowsDeviceManagerService.java @@ -50,7 +50,7 @@ public class WindowsDeviceManagerService implements DeviceManagerService { } @Override - public boolean isRegistered(DeviceIdentifier deviceId) throws DeviceManagementException { + public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException { return true; } diff --git a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Enrollment.java b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Enrollment.java index a78f8051c4d..50c3488fe9f 100644 --- a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Enrollment.java +++ b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Enrollment.java @@ -36,66 +36,124 @@ import javax.ws.rs.core.Response; public class Enrollment { private static Log log = LogFactory.getLog(Enrollment.class); + @POST public Response enrollDevice() { - JsonObject result = new JsonObject(); - result.addProperty("senderId","jwwfowrjwqporqwrpqworpq"); + boolean result = false; + int status = 0; + String msg = ""; CarbonContext context = CarbonContext.getThreadLocalCarbonContext(); - DeviceManagementService dmService = (DeviceManagementService) context.getOSGiService(DeviceManagementService.class,null); - Device device = AndroidAPIUtil.convertToDeviceObject(result); + DeviceManagementService dmService = (DeviceManagementService) context + .getOSGiService(DeviceManagementService.class, null); + Device device = AndroidAPIUtil.convertToDeviceObject(null); try { - dmService.enrollDevice(device); + result = dmService.enrollDevice(device); + status = 1; } catch (DeviceManagementException e) { - String msg = "Error occurred while enrolling the device"; + msg = "Error occurred while enrolling the device"; log.error(msg, e); + status = -1; + } + switch (status) { + case 1: + if (result) { + return Response.status(201).entity("Registration Successful").build(); + } + break; + case -1: + return Response.status(500).entity(msg).build(); } - return Response.status(201).entity("Registration Successful").build(); + return Response.status(400).entity("Registration Failed").build(); } @GET @Path("{id}") public Response isEnrolled(@PathParam("id") String id) { - boolean status = false; + boolean result = false; + int status = 0; + String msg = ""; CarbonContext context = CarbonContext.getThreadLocalCarbonContext(); - DeviceManagementService dmService = (DeviceManagementService) context.getOSGiService(DeviceManagementService.class,null); + DeviceManagementService dmService = (DeviceManagementService) context + .getOSGiService(DeviceManagementService.class, null); try { DeviceIdentifier deviceIdentifier = AndroidAPIUtil.convertToDeviceIdentifierObject(id); - status = dmService.isRegistered(deviceIdentifier); + result = dmService.isEnrolled(deviceIdentifier); + status = 1; } catch (DeviceManagementException e) { - String msg = "Error occurred while checking enrollment of the device"; + msg = "Error occurred while checking enrollment of the device"; log.error(msg, e); + status = -1; + } + switch (status) { + case 1: + if (result) { + return Response.status(200).entity(result).build(); + } + break; + case -1: + return Response.status(500).entity(msg).build(); } - return Response.status(200).entity(status).build(); + return Response.status(404).entity(result).build(); } @PUT @Consumes("application/json") @Path("{id}") public Response modifyEnrollment(@PathParam("id") String id) { - boolean status = false; + boolean result = false; + int status = 0; + String msg = ""; CarbonContext context = CarbonContext.getThreadLocalCarbonContext(); - DeviceManagementService dmService = (DeviceManagementService) context.getOSGiService(DeviceManagementService.class,null); + DeviceManagementService dmService = (DeviceManagementService) context + .getOSGiService(DeviceManagementService.class, null); + Device device = AndroidAPIUtil.convertToDeviceObject(null); try { - status = dmService.isRegistered(null); + result = dmService.modifyEnrollment(device); + status = 1; } catch (DeviceManagementException e) { - String msg = "Error occurred while modifying enrollment of the device"; + msg = "Error occurred while modifying enrollment of the device"; log.error(msg, e); + status = -1; } - return Response.status(201).entity(status).build(); + switch (status) { + case 1: + if (result) { + return Response.status(200).entity("Device information modified").build(); + } + break; + case -1: + return Response.status(500).entity(msg).build(); + } + return Response.status(400).entity("Update enrollment failed").build(); } @DELETE @Path("{id}") public Response disenrollDevice(@PathParam("id") String id) { - boolean status = false; + boolean result = false; + int status = 0; + String msg = ""; CarbonContext context = CarbonContext.getThreadLocalCarbonContext(); - DeviceManagementService dmService = (DeviceManagementService) context.getOSGiService(DeviceManagementService.class,null); + DeviceManagementService dmService = (DeviceManagementService) context + .getOSGiService(DeviceManagementService.class, null); try { - status = dmService.isRegistered(null); + DeviceIdentifier deviceIdentifier = AndroidAPIUtil.convertToDeviceIdentifierObject(id); + result = dmService.disenrollDevice(deviceIdentifier); + status = 1; } catch (DeviceManagementException e) { - String msg = "Error occurred while disenrolling the device"; + msg = "Error occurred while disenrolling the device"; log.error(msg, e); + status = -1; + } + switch (status) { + case 1: + if (result) { + return Response.status(200).entity(result).build(); + } + break; + case -1: + return Response.status(500).entity(msg).build(); } - return Response.status(201).entity(status).build(); + return Response.status(404).entity("Device not found").build(); } }