From 6e1fdabaad89963082c1731ac30838bdef5d5562 Mon Sep 17 00:00:00 2001 From: harshanl Date: Fri, 14 Oct 2016 17:13:43 +0530 Subject: [PATCH] EMM-1342:Added policy revoke operation --- .../carbon/device/mgt/core/DeviceManagementConstants.java | 2 ++ .../mgt/core/operation/mgt/OperationManagerImpl.java | 3 +++ .../core/enforcement/PolicyEnforcementDelegatorImpl.java | 6 +----- .../mgt/core/impl/PolicyAdministratorPointImpl.java | 8 ++------ 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java index 62e38e6a66a..2b5398fb88c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java @@ -17,6 +17,7 @@ */ package org.wso2.carbon.device.mgt.core; +import org.wso2.carbon.device.mgt.core.operation.mgt.OperationMgtConstants; import org.wso2.carbon.device.mgt.core.operation.mgt.PolicyOperation; public final class DeviceManagementConstants { @@ -57,6 +58,7 @@ public final class DeviceManagementConstants { public static final String MONITOR_OPERATION_CODE = "MONITOR"; public static final String POLICY_OPERATION_CODE = PolicyOperation.POLICY_OPERATION_CODE; + public static final String POLICY_REVOKE_OPERATION_CODE = OperationMgtConstants.OperationCodes.POLICY_REVOKE; } public static final class EmailAttributes { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java index 50407a85f4a..9cffdb5bf89 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java @@ -881,6 +881,9 @@ public class OperationManagerImpl implements OperationManager { case DeviceManagementConstants.AuthorizationSkippedOperationCodes.MONITOR_OPERATION_CODE: status = true; break; + case DeviceManagementConstants.AuthorizationSkippedOperationCodes.POLICY_REVOKE_OPERATION_CODE: + status = true; + break; default: status = false; } diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/enforcement/PolicyEnforcementDelegatorImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/enforcement/PolicyEnforcementDelegatorImpl.java index 90f7acd8756..304482f1366 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/enforcement/PolicyEnforcementDelegatorImpl.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/enforcement/PolicyEnforcementDelegatorImpl.java @@ -70,14 +70,10 @@ public class PolicyEnforcementDelegatorImpl implements PolicyEnforcementDelegato Policy policy = this.getEffectivePolicy(identifier); if (policy != null) { - List deviceIdentifiers = new ArrayList<>(); - deviceIdentifiers.add(identifier); - this.addPolicyOperation(deviceIdentifiers, policy); - } else { - //This means all the applicable policies have been removed. Hence sending policy-revoke operation. List deviceIdentifiers = new ArrayList<>(); deviceIdentifiers.add(identifier); this.addPolicyRevokeOperation(deviceIdentifiers); + this.addPolicyOperation(deviceIdentifiers, policy); } } } diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java index 1f82cb780b5..2c5de5d7294 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java @@ -107,7 +107,8 @@ public class PolicyAdministratorPointImpl implements PolicyAdministratorPoint { @Override public boolean deletePolicy(Policy policy) throws PolicyManagementException { boolean bool = policyManager.deletePolicy(policy); - PolicyCacheManagerImpl.getInstance().rePopulateCache(); + PolicyCacheManager policyCacheManager = PolicyCacheManagerImpl.getInstance(); + policyCacheManager.rePopulateCache(); return bool; } @@ -116,11 +117,6 @@ public class PolicyAdministratorPointImpl implements PolicyAdministratorPoint { boolean bool =policyManager.deletePolicy(policyId); PolicyCacheManager policyCacheManager = PolicyCacheManagerImpl.getInstance(); policyCacheManager.rePopulateCache(); - List appliedPolicies = policyCacheManager.getAllPolicies(); - //This means all the policies have been deleted. Hence triggering publishChanges to take immediate effect. - if (appliedPolicies.isEmpty()) { - this.publishChanges(); - } return bool; }