Added new APIs to enrollment

merge-requests/1/head
harshanL 10 years ago
parent dacd16b852
commit 80334ef00d

@ -25,59 +25,64 @@ import java.util.List;
public class DeviceManagementService implements DeviceManagerService { public class DeviceManagementService implements DeviceManagerService {
@Override @Override
public String getProviderType() { public String getProviderType() {
return null; return null;
} }
@Override @Override
public boolean enrollDevice(Device device) throws DeviceManagementException { public boolean enrollDevice(Device device) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().enrollDevice(device); return DeviceManagementDataHolder.getInstance().getDeviceManager().enrollDevice(device);
} }
@Override @Override
public boolean modifyEnrollment(Device device) throws DeviceManagementException { public boolean modifyEnrollment(Device device) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().modifyEnrollment(device); return DeviceManagementDataHolder.getInstance().getDeviceManager().modifyEnrollment(device);
} }
@Override @Override
public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException { public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().disenrollDevice(deviceId); return DeviceManagementDataHolder.getInstance().getDeviceManager()
} .disenrollDevice(deviceId);
}
@Override @Override
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException { public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().isEnrolled(deviceId); return DeviceManagementDataHolder.getInstance().getDeviceManager().isEnrolled(deviceId);
} }
@Override @Override
public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException { public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().isActive(deviceId); return DeviceManagementDataHolder.getInstance().getDeviceManager().isActive(deviceId);
} }
@Override @Override
public boolean setActive(DeviceIdentifier deviceId, boolean status) throws DeviceManagementException { public boolean setActive(DeviceIdentifier deviceId, boolean status)
return DeviceManagementDataHolder.getInstance().getDeviceManager().setActive(deviceId, status); throws DeviceManagementException {
} return DeviceManagementDataHolder.getInstance().getDeviceManager()
.setActive(deviceId, status);
}
@Override @Override
public List<Device> getAllDevices(String type) throws DeviceManagementException { public List<Device> getAllDevices(String type) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().getAllDevices(type); return DeviceManagementDataHolder.getInstance().getDeviceManager().getAllDevices(type);
} }
@Override @Override
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException { public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().getDevice(deviceId); return DeviceManagementDataHolder.getInstance().getDeviceManager().getDevice(deviceId);
} }
@Override @Override
public boolean updateDeviceInfo(Device device) throws DeviceManagementException { public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().updateDeviceInfo(device); return DeviceManagementDataHolder.getInstance().getDeviceManager().updateDeviceInfo(device);
} }
@Override @Override
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) throws DeviceManagementException { public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
return DeviceManagementDataHolder.getInstance().getDeviceManager().setOwnership(deviceId, ownershipType); throws DeviceManagementException {
} return DeviceManagementDataHolder.getInstance().getDeviceManager()
.setOwnership(deviceId, ownershipType);
}
} }

@ -16,12 +16,9 @@
package cdm.api.android; package cdm.api.android;
import cdm.api.android.util.AndroidAPIUtil; import cdm.api.android.util.AndroidAPIUtils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.context.CarbonContext;
import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
@ -55,7 +52,7 @@ public class Enrollment {
} finally { } finally {
PrivilegedCarbonContext.endTenantFlow(); PrivilegedCarbonContext.endTenantFlow();
} }
Device device = AndroidAPIUtil.convertToDeviceObject(jsonPayload); Device device = AndroidAPIUtils.convertToDeviceObject(jsonPayload);
try { try {
if(dmService!=null){ if(dmService!=null){
result = dmService.enrollDevice(device); result = dmService.enrollDevice(device);
@ -88,13 +85,26 @@ public class Enrollment {
boolean result = false; boolean result = false;
int status = 0; int status = 0;
String msg = ""; String msg = "";
CarbonContext context = CarbonContext.getThreadLocalCarbonContext(); DeviceManagementService dmService;
DeviceManagementService dmService = (DeviceManagementService) context
.getOSGiService(DeviceManagementService.class, null);
try { try {
DeviceIdentifier deviceIdentifier = AndroidAPIUtil.convertToDeviceIdentifierObject(id); PrivilegedCarbonContext.startTenantFlow();
result = dmService.isEnrolled(deviceIdentifier); PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
status = 1; ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
dmService = (DeviceManagementService) ctx
.getOSGiService(DeviceManagementService.class, null);
} finally {
PrivilegedCarbonContext.endTenantFlow();
}
DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id);
try {
if(dmService!=null){
result = dmService.isEnrolled(deviceIdentifier);
status = 1;
}else{
status = -1;
msg = "Device Manager service not available";
}
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
msg = "Error occurred while checking enrollment of the device"; msg = "Error occurred while checking enrollment of the device";
log.error(msg, e); log.error(msg, e);
@ -113,19 +123,31 @@ public class Enrollment {
} }
@PUT @PUT
@Consumes("application/json")
@Path("{id}") @Path("{id}")
public Response modifyEnrollment(@PathParam("id") String id) { public Response modifyEnrollment(@PathParam("id") String id,String jsonPayload) {
boolean result = false; boolean result = false;
int status = 0; int status = 0;
String msg = ""; String msg = "";
CarbonContext context = CarbonContext.getThreadLocalCarbonContext(); DeviceManagementService dmService;
DeviceManagementService dmService = (DeviceManagementService) context
.getOSGiService(DeviceManagementService.class, null);
Device device = AndroidAPIUtil.convertToDeviceObject(null);
try { try {
result = dmService.modifyEnrollment(device); PrivilegedCarbonContext.startTenantFlow();
status = 1; PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
dmService = (DeviceManagementService) ctx
.getOSGiService(DeviceManagementService.class, null);
} finally {
PrivilegedCarbonContext.endTenantFlow();
}
Device device = AndroidAPIUtils.convertToDeviceObject(jsonPayload);
try {
if(dmService!=null){
result = dmService.modifyEnrollment(device);
status = 1;
}else{
status = -1;
msg = "Device Manager service not available";
}
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
msg = "Error occurred while modifying enrollment of the device"; msg = "Error occurred while modifying enrollment of the device";
log.error(msg, e); log.error(msg, e);
@ -149,13 +171,26 @@ public class Enrollment {
boolean result = false; boolean result = false;
int status = 0; int status = 0;
String msg = ""; String msg = "";
CarbonContext context = CarbonContext.getThreadLocalCarbonContext(); DeviceManagementService dmService;
DeviceManagementService dmService = (DeviceManagementService) context
.getOSGiService(DeviceManagementService.class, null);
try { try {
DeviceIdentifier deviceIdentifier = AndroidAPIUtil.convertToDeviceIdentifierObject(id); PrivilegedCarbonContext.startTenantFlow();
result = dmService.disenrollDevice(deviceIdentifier); PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
status = 1; ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
dmService = (DeviceManagementService) ctx
.getOSGiService(DeviceManagementService.class, null);
} finally {
PrivilegedCarbonContext.endTenantFlow();
}
DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id);
try {
if(dmService!=null){
result = dmService.disenrollDevice(deviceIdentifier);
status = 1;
}else{
status = -1;
msg = "Device Manager service not available";
}
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
msg = "Error occurred while disenrolling the device"; msg = "Error occurred while disenrolling the device";
log.error(msg, e); log.error(msg, e);

@ -26,7 +26,7 @@ import java.util.*;
/** /**
* AndroidAPIUtil class provides utility function used by Android REST-API classes. * AndroidAPIUtil class provides utility function used by Android REST-API classes.
*/ */
public class AndroidAPIUtil { public class AndroidAPIUtils {
public static Device convertToDeviceObject(String jsonString) { public static Device convertToDeviceObject(String jsonString) {
JsonObject obj = new Gson().fromJson(jsonString, JsonObject.class); JsonObject obj = new Gson().fromJson(jsonString, JsonObject.class);
Loading…
Cancel
Save