diff --git a/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/main/java/io/entgra/device/mgt/core/device/mgt/api/jaxrs/service/api/PolicyManagementService.java b/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/main/java/io/entgra/device/mgt/core/device/mgt/api/jaxrs/service/api/PolicyManagementService.java index d71d154a14..f019b9371a 100644 --- a/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/main/java/io/entgra/device/mgt/core/device/mgt/api/jaxrs/service/api/PolicyManagementService.java +++ b/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/main/java/io/entgra/device/mgt/core/device/mgt/api/jaxrs/service/api/PolicyManagementService.java @@ -917,6 +917,24 @@ public interface PolicyManagementService { response = ErrorResponse.class) }) Response getPolicyList( + @ApiParam( + name = "name", + value = "The name of the policy that needs filtering.", + required = false) + @QueryParam("name") + String name, + @ApiParam( + name = "type", + value = "The type of the policy that needs filtering.", + required = false) + @QueryParam("type") + String type, + @ApiParam( + name = "status", + value = "The status of the policy that needs filtering.", + required = false) + @QueryParam("status") + String status, @ApiParam( name = "If-Modified-Since", value = "Checks if the requested variant was modified, since the specified date-time. \n" + diff --git a/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/main/java/io/entgra/device/mgt/core/device/mgt/api/jaxrs/service/impl/PolicyManagementServiceImpl.java b/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/main/java/io/entgra/device/mgt/core/device/mgt/api/jaxrs/service/impl/PolicyManagementServiceImpl.java index 05e9d39be7..ef1787fd4d 100644 --- a/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/main/java/io/entgra/device/mgt/core/device/mgt/api/jaxrs/service/impl/PolicyManagementServiceImpl.java +++ b/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/main/java/io/entgra/device/mgt/core/device/mgt/api/jaxrs/service/impl/PolicyManagementServiceImpl.java @@ -35,6 +35,7 @@ */ package io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.impl; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; @@ -499,6 +500,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { @Path("/list") @Override public Response getPolicyList( + @QueryParam("name") String name, + @QueryParam("type") String type, + @QueryParam("status") String status, @HeaderParam("If-Modified-Since") String ifModifiedSince, @QueryParam("offset") int offset, @QueryParam("limit") int limit) { @@ -506,7 +510,16 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService(); List policies; PolicyList targetPolicies = new PolicyList(); - PaginationRequest request = new PaginationRequest(offset, limit); + PolicyPaginationRequest request = new PolicyPaginationRequest(offset, limit); + if (name != null){ + request.setName(name); + } + if (type != null){ + request.setType(type); + } + if (status != null){ + request.setStatus(status); + } try { PolicyAdministratorPoint policyAdministratorPoint = policyManagementService.getPAP(); policies = policyAdministratorPoint.getPolicyList(request); diff --git a/components/device-mgt/io.entgra.device.mgt.core.device.mgt.common/src/main/java/io/entgra/device/mgt/core/device/mgt/common/PolicyPaginationRequest.java b/components/device-mgt/io.entgra.device.mgt.core.device.mgt.common/src/main/java/io/entgra/device/mgt/core/device/mgt/common/PolicyPaginationRequest.java new file mode 100644 index 0000000000..17efadf28c --- /dev/null +++ b/components/device-mgt/io.entgra.device.mgt.core.device.mgt.common/src/main/java/io/entgra/device/mgt/core/device/mgt/common/PolicyPaginationRequest.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2015, 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. + * + * + * Copyright (c) 2023, Entgra (pvt) Ltd. (https://entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.device.mgt.common; + +public class PolicyPaginationRequest { + private int startIndex; + private int rowCount; + private String name; + private String type; + private String status; + + public PolicyPaginationRequest(int start, int rowCount) { + this.startIndex = start; + this.rowCount = rowCount; + } + + public int getStartIndex() { + return startIndex; + } + + public void setStartIndex(int startIndex) { + this.startIndex = startIndex; + } + + public int getRowCount() { + return rowCount; + } + + public void setRowCount(int rowCount) { + this.rowCount = rowCount; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + @Override + public String toString() { + return "Group Name '" + this.name + "' num of rows: " + this.rowCount + " start index: " + this.startIndex; + } +} diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.common/src/main/java/io/entgra/device/mgt/core/policy/mgt/common/PolicyAdministratorPoint.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.common/src/main/java/io/entgra/device/mgt/core/policy/mgt/common/PolicyAdministratorPoint.java index 6934803f8d..5cc30772ee 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.common/src/main/java/io/entgra/device/mgt/core/policy/mgt/common/PolicyAdministratorPoint.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.common/src/main/java/io/entgra/device/mgt/core/policy/mgt/common/PolicyAdministratorPoint.java @@ -20,6 +20,7 @@ package io.entgra.device.mgt.core.policy.mgt.common; import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier; import io.entgra.device.mgt.core.device.mgt.common.DynamicTaskContext; import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import io.entgra.device.mgt.core.device.mgt.common.policy.mgt.Policy; import io.entgra.device.mgt.core.device.mgt.common.policy.mgt.Profile; @@ -167,10 +168,10 @@ public interface PolicyAdministratorPoint { /** * Returns a list of policies filtered by offset and limit - * @param request {@link PaginationRequest} contains offset and limit + * @param request {@link PolicyPaginationRequest} contains offset and limit and filters * @return {@link List} - list of policies for current tenant * @throws PolicyManagementException when there is an error while retrieving the policies from database or * while retrieving device groups */ - List getPolicyList(PaginationRequest request) throws PolicyManagementException; + List getPolicyList(PolicyPaginationRequest request) throws PolicyManagementException; } diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/PolicyDAO.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/PolicyDAO.java index dd019d17b5..fa2589173f 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/PolicyDAO.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/PolicyDAO.java @@ -37,6 +37,7 @@ package io.entgra.device.mgt.core.policy.mgt.core.dao; import io.entgra.device.mgt.core.device.mgt.common.Device; import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import io.entgra.device.mgt.core.device.mgt.common.policy.mgt.CorrectiveAction; import io.entgra.device.mgt.core.policy.mgt.common.Criterion; import io.entgra.device.mgt.core.device.mgt.common.policy.mgt.DeviceGroupWrapper; @@ -219,9 +220,9 @@ public interface PolicyDAO { /** * This method is used to retrieve policies from the database based on the offset and limit * sent through the PaginationRequest - * @param request {@link PaginationRequest} contains offset and limit + * @param request {@link PolicyPaginationRequest} contains offset and limit and filters * @return {@link List} - list of policies for current tenant * @throws PolicyManagerDAOException when there is an error while retrieving the policies from database */ - List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException; + List getAllPolicies(PolicyPaginationRequest request) throws PolicyManagerDAOException; } diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/GenericPolicyDAOImpl.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/GenericPolicyDAOImpl.java index 9608e56637..8e802af177 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/GenericPolicyDAOImpl.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/GenericPolicyDAOImpl.java @@ -19,6 +19,7 @@ package io.entgra.device.mgt.core.policy.mgt.core.dao.impl.policy; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; @@ -42,21 +43,57 @@ public class GenericPolicyDAOImpl extends AbstractPolicyDAOImpl { } @Override - public List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException { + public List getAllPolicies(PolicyPaginationRequest request) throws PolicyManagerDAOException { Connection conn; int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + String name = request.getName(); + String type = request.getType(); + String status = request.getStatus(); + int statusValue = 0; + boolean isPolicyNameProvided = false; + boolean isPolicyTypeProvided = false; + boolean isPolicyStatusProvided = false; try { conn = this.getConnection(); String query = "SELECT * " + "FROM DM_POLICY " + - "WHERE TENANT_ID = ? " + - "ORDER BY ID LIMIT ?,?"; + "WHERE TENANT_ID = ? "; + + if (name != null && !name.isEmpty()) { + query += "AND NAME LIKE ? " ; + isPolicyNameProvided = true; + } + + if (type != null && !type.isEmpty()) { + query += "AND POLICY_TYPE = ? " ; + isPolicyTypeProvided = true; + } + + if (status != null && !status.isEmpty()) { + if (status.equals("ACTIVE")) { + statusValue = 1; + } + query += "AND ACTIVE = ? " ; + isPolicyStatusProvided = true; + } + + query += "ORDER BY ID LIMIT ?,?"; try (PreparedStatement stmt = conn.prepareStatement(query)) { - stmt.setInt(1, tenantId); - stmt.setInt(2, request.getStartIndex()); - stmt.setInt(3, request.getRowCount()); + int paramIdx = 1; + stmt.setInt(paramIdx++, tenantId); + if (isPolicyNameProvided) { + stmt.setString(paramIdx++, "%" + name + "%"); + } + if (isPolicyTypeProvided) { + stmt.setString(paramIdx++, type); + } + if (isPolicyStatusProvided) { + stmt.setInt(paramIdx++, statusValue); + } + stmt.setInt(paramIdx++, request.getStartIndex()); + stmt.setInt(paramIdx++, request.getRowCount()); try (ResultSet resultSet = stmt.executeQuery()) { return this.extractPolicyListFromDbResult(resultSet, tenantId); } diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/OraclePolicyDAOImpl.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/OraclePolicyDAOImpl.java index a0efdc4258..08982f9530 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/OraclePolicyDAOImpl.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/OraclePolicyDAOImpl.java @@ -19,6 +19,7 @@ package io.entgra.device.mgt.core.policy.mgt.core.dao.impl.policy; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; @@ -41,21 +42,57 @@ public class OraclePolicyDAOImpl extends AbstractPolicyDAOImpl { } @Override - public List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException { + public List getAllPolicies(PolicyPaginationRequest request) throws PolicyManagerDAOException { Connection conn; int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + String name = request.getName(); + String type = request.getType(); + String status = request.getStatus(); + int statusValue = 0; + boolean isPolicyNameProvided = false; + boolean isPolicyTypeProvided = false; + boolean isPolicyStatusProvided = false; try { conn = this.getConnection(); String query = "SELECT * " + "FROM DM_POLICY " + - "WHERE TENANT_ID = ? " + - "ORDER BY ID OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; + "WHERE TENANT_ID = ? "; + + if (name != null && !name.isEmpty()) { + query += "AND NAME LIKE ? " ; + isPolicyNameProvided = true; + } + + if (type != null && !type.isEmpty()) { + query += "AND POLICY_TYPE = ? " ; + isPolicyTypeProvided = true; + } + + if (status != null && !status.isEmpty()) { + if (status.equals("ACTIVE")) { + statusValue = 1; + } + query += "AND ACTIVE = ? " ; + isPolicyStatusProvided = true; + } + + query += "ORDER BY ID OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; try (PreparedStatement stmt = conn.prepareStatement(query)) { - stmt.setInt(1, tenantId); - stmt.setInt(2, request.getStartIndex()); - stmt.setInt(3, request.getRowCount()); + int paramIdx = 1; + stmt.setInt(paramIdx++, tenantId); + if (isPolicyNameProvided) { + stmt.setString(paramIdx++, "%" + name + "%"); + } + if (isPolicyTypeProvided) { + stmt.setString(paramIdx++, type); + } + if (isPolicyStatusProvided) { + stmt.setInt(paramIdx++, statusValue); + } + stmt.setInt(paramIdx++, request.getStartIndex()); + stmt.setInt(paramIdx++, request.getRowCount()); try (ResultSet resultSet = stmt.executeQuery()) { return this.extractPolicyListFromDbResult(resultSet, tenantId); } diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/PostgreSQLPolicyDAOImpl.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/PostgreSQLPolicyDAOImpl.java index c3025c4d2a..63e6752cd3 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/PostgreSQLPolicyDAOImpl.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/PostgreSQLPolicyDAOImpl.java @@ -19,6 +19,7 @@ package io.entgra.device.mgt.core.policy.mgt.core.dao.impl.policy; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; @@ -41,21 +42,57 @@ public class PostgreSQLPolicyDAOImpl extends AbstractPolicyDAOImpl { } @Override - public List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException { + public List getAllPolicies(PolicyPaginationRequest request) throws PolicyManagerDAOException { Connection conn; int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + String name = request.getName(); + String type = request.getType(); + String status = request.getStatus(); + int statusValue = 0; + boolean isPolicyNameProvided = false; + boolean isPolicyTypeProvided = false; + boolean isPolicyStatusProvided = false; try { conn = this.getConnection(); String query = "SELECT * " + "FROM DM_POLICY " + - "WHERE TENANT_ID = ? " + - "ORDER BY ID LIMIT ? OFFSET ?"; + "WHERE TENANT_ID = ? "; + + if (name != null && !name.isEmpty()) { + query += "AND NAME LIKE ? " ; + isPolicyNameProvided = true; + } + + if (type != null && !type.isEmpty()) { + query += "AND POLICY_TYPE = ? " ; + isPolicyTypeProvided = true; + } + + if (status != null && !status.isEmpty()) { + if (status.equals("ACTIVE")) { + statusValue = 1; + } + query += "AND ACTIVE = ? " ; + isPolicyStatusProvided = true; + } + + query += "ORDER BY ID LIMIT ? OFFSET ?"; try (PreparedStatement stmt = conn.prepareStatement(query)) { - stmt.setInt(1, tenantId); - stmt.setInt(2, request.getRowCount()); - stmt.setInt(3, request.getStartIndex()); + int paramIdx = 1; + stmt.setInt(paramIdx++, tenantId); + if (isPolicyNameProvided) { + stmt.setString(paramIdx++, "%" + name + "%"); + } + if (isPolicyTypeProvided) { + stmt.setString(paramIdx++, type); + } + if (isPolicyStatusProvided) { + stmt.setInt(paramIdx++, statusValue); + } + stmt.setInt(paramIdx++, request.getStartIndex()); + stmt.setInt(paramIdx++, request.getRowCount()); try (ResultSet resultSet = stmt.executeQuery()) { return this.extractPolicyListFromDbResult(resultSet, tenantId); } diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/SQLServerPolicyDAOImpl.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/SQLServerPolicyDAOImpl.java index 62eac0338d..08b3dc8d59 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/SQLServerPolicyDAOImpl.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/dao/impl/policy/SQLServerPolicyDAOImpl.java @@ -19,6 +19,7 @@ package io.entgra.device.mgt.core.policy.mgt.core.dao.impl.policy; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; @@ -41,20 +42,57 @@ public class SQLServerPolicyDAOImpl extends AbstractPolicyDAOImpl { } @Override - public List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException { + public List getAllPolicies(PolicyPaginationRequest request) throws PolicyManagerDAOException { Connection conn; int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + String name = request.getName(); + String type = request.getType(); + String status = request.getStatus(); + int statusValue = 0; + boolean isPolicyNameProvided = false; + boolean isPolicyTypeProvided = false; + boolean isPolicyStatusProvided = false; try { conn = this.getConnection(); String query = "SELECT * " + "FROM DM_POLICY " + - "WHERE TENANT_ID = ? " + - "ORDER BY ID OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; + "WHERE TENANT_ID = ? "; + + if (name != null && !name.isEmpty()) { + query += "AND NAME LIKE ? " ; + isPolicyNameProvided = true; + } + + if (type != null && !type.isEmpty()) { + query += "AND POLICY_TYPE = ? " ; + isPolicyTypeProvided = true; + } + + if (status != null && !status.isEmpty()) { + if (status.equals("ACTIVE")) { + statusValue = 1; + } + query += "AND ACTIVE = ? " ; + isPolicyStatusProvided = true; + } + + query += "ORDER BY ID OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; + try (PreparedStatement stmt = conn.prepareStatement(query)) { - stmt.setInt(1, tenantId); - stmt.setInt(2, request.getStartIndex()); - stmt.setInt(3, request.getRowCount()); + int paramIdx = 1; + stmt.setInt(paramIdx++, tenantId); + if (isPolicyNameProvided) { + stmt.setString(paramIdx++, "%" + name + "%"); + } + if (isPolicyTypeProvided) { + stmt.setString(paramIdx++, type); + } + if (isPolicyStatusProvided) { + stmt.setInt(paramIdx++, statusValue); + } + stmt.setInt(paramIdx++, request.getStartIndex()); + stmt.setInt(paramIdx++, request.getRowCount()); try (ResultSet resultSet = stmt.executeQuery()) { return this.extractPolicyListFromDbResult(resultSet, tenantId); } diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/impl/PolicyAdministratorPointImpl.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/impl/PolicyAdministratorPointImpl.java index bf2208f2a4..0119c182e8 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/impl/PolicyAdministratorPointImpl.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/impl/PolicyAdministratorPointImpl.java @@ -18,6 +18,7 @@ package io.entgra.device.mgt.core.policy.mgt.core.impl; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; @@ -335,7 +336,7 @@ public class PolicyAdministratorPointImpl implements PolicyAdministratorPoint { } @Override - public List getPolicyList(PaginationRequest request) throws PolicyManagementException { + public List getPolicyList(PolicyPaginationRequest request) throws PolicyManagementException { return policyManager.getPolicyList(request); } } diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/mgt/PolicyManager.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/mgt/PolicyManager.java index 41b46c518d..b757baf03f 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/mgt/PolicyManager.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/mgt/PolicyManager.java @@ -21,6 +21,7 @@ import io.entgra.device.mgt.core.device.mgt.common.Device; import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier; import io.entgra.device.mgt.core.device.mgt.common.DynamicTaskContext; import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import io.entgra.device.mgt.core.device.mgt.common.policy.mgt.Policy; import io.entgra.device.mgt.core.policy.mgt.common.PolicyManagementException; import io.entgra.device.mgt.core.policy.mgt.core.mgt.bean.UpdatedPolicyDeviceListBean; @@ -93,10 +94,10 @@ public interface PolicyManager { /** * Returns list of policies with users, roles and groups attached to that policy - * @param request {@link PaginationRequest} contains offset and limit + * @param request {@link PolicyPaginationRequest} contains offset and limit and filters * @return {@link List} - list of policies for current tenant * @throws PolicyManagementException when there is an error while retrieving the policies from database or * while retrieving device groups */ - List getPolicyList(PaginationRequest request) throws PolicyManagementException; + List getPolicyList(PolicyPaginationRequest request) throws PolicyManagementException; } diff --git a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/mgt/impl/PolicyManagerImpl.java b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/mgt/impl/PolicyManagerImpl.java index d588aaec55..380e7fe168 100644 --- a/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/mgt/impl/PolicyManagerImpl.java +++ b/components/policy-mgt/io.entgra.device.mgt.core.policy.mgt.core/src/main/java/io/entgra/device/mgt/core/policy/mgt/core/mgt/impl/PolicyManagerImpl.java @@ -35,6 +35,7 @@ package io.entgra.device.mgt.core.policy.mgt.core.mgt.impl; +import io.entgra.device.mgt.core.device.mgt.common.PolicyPaginationRequest; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -1505,7 +1506,7 @@ public class PolicyManagerImpl implements PolicyManager { } @Override - public List getPolicyList(PaginationRequest request) throws PolicyManagementException { + public List getPolicyList(PolicyPaginationRequest request) throws PolicyManagementException { List policyList; try { PolicyManagementDAOFactory.openConnection();