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 io.swagger.annotations.*;
|
||||||
import org.wso2.carbon.apimgt.annotations.api.*;
|
import org.wso2.carbon.apimgt.annotations.api.*;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
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.DeviceInfo;
|
||||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation;
|
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",
|
Response getDeviceLocations(@ApiParam(name = "deviceIdentifiers", value = "List of device identifiers",
|
||||||
required = true) List<DeviceIdentifier> deviceIdentifiers);
|
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.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
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.DeviceInfo;
|
||||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation;
|
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.DeviceDetailsMgtException;
|
||||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager;
|
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.api.DeviceInformation;
|
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();
|
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