Added new APIs to enrollment

4.x.x
harshanL 10 years ago
parent dacd16b852
commit 80334ef00d

@ -42,7 +42,8 @@ public class DeviceManagementService implements DeviceManagerService {
@Override
public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().disenrollDevice(deviceId);
return DeviceManagementDataHolder.getInstance().getDeviceManager()
.disenrollDevice(deviceId);
}
@Override
@ -56,8 +57,10 @@ public class DeviceManagementService implements DeviceManagerService {
}
@Override
public boolean setActive(DeviceIdentifier deviceId, boolean status) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().setActive(deviceId, status);
public boolean setActive(DeviceIdentifier deviceId, boolean status)
throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager()
.setActive(deviceId, status);
}
@Override
@ -76,8 +79,10 @@ public class DeviceManagementService implements DeviceManagerService {
}
@Override
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager().setOwnership(deviceId, ownershipType);
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManager()
.setOwnership(deviceId, ownershipType);
}
}

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

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