mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Implemented 'offset' and 'limit' parameters to the 'operation' api
This commit is contained in:
parent
f1eca17991
commit
235d690f1e
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class OperationList extends BasePaginatedResult {
|
||||
private List<? extends Operation> operations;
|
||||
|
||||
@ApiModelProperty(value = "List of operations returned")
|
||||
@JsonProperty("operations")
|
||||
public List<? extends Operation> getList() {
|
||||
return operations;
|
||||
}
|
||||
|
||||
public void setList(List<? extends Operation> operations) {
|
||||
this.operations = operations;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("{\n");
|
||||
sb.append(" count: ").append(getCount()).append(",\n");
|
||||
sb.append(" next: ").append(getNext()).append(",\n");
|
||||
sb.append(" previous: ").append(getPrevious()).append(",\n");
|
||||
sb.append(" operations: [").append(operations).append("\n");
|
||||
sb.append("]}\n");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@ -47,7 +47,7 @@ public class PolicyList extends BasePaginatedResult {
|
||||
sb.append(" count: ").append(getCount()).append(",\n");
|
||||
sb.append(" next: ").append(getNext()).append(",\n");
|
||||
sb.append(" previous: ").append(getPrevious()).append(",\n");
|
||||
sb.append(" roles: [").append(policies).append("\n");
|
||||
sb.append(" policies: [").append(policies).append("\n");
|
||||
sb.append("]}\n");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@ -45,7 +45,6 @@ public class UserList extends BasePaginatedResult {
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("{\n");
|
||||
|
||||
sb.append(" count: ").append(getCount()).append(",\n");
|
||||
sb.append(" next: ").append(getNext()).append(",\n");
|
||||
sb.append(" previous: ").append(getPrevious()).append(",\n");
|
||||
|
||||
@ -33,6 +33,7 @@ import org.wso2.carbon.device.mgt.core.search.mgt.SearchMgtException;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.OperationList;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.api.DeviceManagementService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.InputValidationException;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.NotFoundException;
|
||||
@ -266,14 +267,18 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||
@QueryParam("offset") int offset,
|
||||
@QueryParam("limit") int limit) {
|
||||
List<? extends Operation> operations;
|
||||
OperationList operationsList = new OperationList();
|
||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||
PaginationResult result;
|
||||
DeviceManagementProviderService dms;
|
||||
try {
|
||||
RequestValidationUtil.validateDeviceIdentifier(type, id);
|
||||
|
||||
dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||
operations = dms.getOperations(new DeviceIdentifier(id, type));
|
||||
if (operations == null) {
|
||||
result = dms.getOperations(new DeviceIdentifier(id, type),request);
|
||||
int resultCount = result.getRecordsTotal();
|
||||
|
||||
if (resultCount == 0) {
|
||||
throw new NotFoundException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(404l).setMessage("It is likely that" +
|
||||
" no operation is found upon the provided type and id").build());
|
||||
@ -285,7 +290,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
throw new UnexpectedServerErrorException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(500l).setMessage(msg).build());
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(operations).build();
|
||||
operationsList.setList((List<? extends Operation>) result.getData());
|
||||
operationsList.setCount(result.getRecordsTotal());
|
||||
return Response.status(Response.Status.OK).entity(operationsList).build();
|
||||
}
|
||||
|
||||
@GET
|
||||
|
||||
@ -834,7 +834,8 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Operation> getOperationsForDevice(int enrolmentId) throws OperationManagementDAOException {
|
||||
public List<? extends Operation> getOperationsForDevice(int enrolmentId)
|
||||
throws OperationManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Operation operation;
|
||||
@ -844,9 +845,12 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
String sql = "SELECT o.ID, TYPE, o.CREATED_TIMESTAMP, o.RECEIVED_TIMESTAMP, " +
|
||||
"OPERATION_CODE, om.STATUS, om.ID AS OM_MAPPING_ID, om.UPDATED_TIMESTAMP FROM DM_OPERATION o " +
|
||||
"INNER JOIN (SELECT * FROM DM_ENROLMENT_OP_MAPPING dm " +
|
||||
"WHERE dm.ENROLMENT_ID = ?) om ON o.ID = om.OPERATION_ID ORDER BY o.CREATED_TIMESTAMP DESC";
|
||||
"WHERE dm.ENROLMENT_ID = ?) om ON o.ID = om.OPERATION_ID ORDER BY o.CREATED_TIMESTAMP DESC"
|
||||
+ "LIMIT ?,?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setInt(1, enrolmentId);
|
||||
/*stmt.setInt(2, request.getStartIndex());
|
||||
stmt.setInt(3, request.getRowCount());*/
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user