mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Fixing the device informations to get the applications
This commit is contained in:
parent
ecc8b5e6f2
commit
ed0da9e1d0
@ -21,6 +21,7 @@ package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||
import io.swagger.annotations.*;
|
||||
import org.wso2.carbon.apimgt.annotations.api.*;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo;
|
||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation;
|
||||
|
||||
@ -126,4 +127,26 @@ public interface DeviceInformation {
|
||||
Response getDeviceLocations(@ApiParam(name = "deviceIdentifiers", value = "List of device identifiers",
|
||||
required = true) List<DeviceIdentifier> deviceIdentifiers);
|
||||
|
||||
|
||||
@GET
|
||||
@Path("application/{type}/{id}")
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Get the device applications",
|
||||
notes = "This will return the device applications including their memory usages.",
|
||||
response = Application.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = ""),
|
||||
@ApiResponse(code = 400, message = ""),
|
||||
@ApiResponse(code = 400, message = ""),
|
||||
@ApiResponse(code = 500, message = "Internal Server Error")
|
||||
})
|
||||
@Permission(scope = "device-info", permissions = {"/permission/admin/device-mgt/admin/devices/list"})
|
||||
Response getDeviceApplications(@ApiParam(name = "type", value = "Provide the device type, such as ios, "
|
||||
+ "android or windows", required = true) @PathParam("type") String type,
|
||||
@ApiParam(name = "id", value = "Provide the device identifier",
|
||||
required = true) @PathParam("id") String id);
|
||||
|
||||
}
|
||||
|
||||
@ -23,8 +23,11 @@ import io.swagger.annotations.ApiParam;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
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.device.details.DeviceInfo;
|
||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation;
|
||||
import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService;
|
||||
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.device.mgt.jaxrs.api.DeviceInformation;
|
||||
@ -114,5 +117,24 @@ public class DeviceInformationImpl implements DeviceInformation {
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(deviceLocations).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Path("application/{type}/{id}")
|
||||
public Response getDeviceApplications(@PathParam("type") String type, @PathParam("id") String id) {
|
||||
List<Application> applications;
|
||||
ApplicationManagementProviderService applicationManagementProviderService;
|
||||
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||
try {
|
||||
deviceIdentifier.setType(type);
|
||||
deviceIdentifier.setId(id);
|
||||
applicationManagementProviderService = DeviceMgtAPIUtils.getAppManagementService();
|
||||
applications = applicationManagementProviderService.getApplicationListForDevice(deviceIdentifier);
|
||||
} catch (ApplicationManagementException e) {
|
||||
String msg = "Error occurred while fetching the apps of the device.";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(applications).build();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user