private static void removeAllowPolicy(IfSBDovePolicyCRUD dovePolicyDB, OpenDoveNetwork newODN, OpenDoveNetwork oldODN, int traffic_type) { List<OpenDovePolicy> policies = dovePolicyDB.getPolicies(); Iterator<OpenDovePolicy> policyIterator = policies.iterator(); boolean found = false; while (policyIterator.hasNext() && !found) { OpenDovePolicy policy = policyIterator.next(); if (policy.getSourceVNID() == newODN.getVnid() && policy.getDestinationVNID() == oldODN.getVnid() && policy.getPolicyAction() == 1 && policy.getTrafficType() == traffic_type) { OpenDovePolicy delta = new OpenDovePolicy(); delta.setPolicyAction(0); found = true; dovePolicyDB.updatePolicy(policy, delta); } } }
public static void createAllowPolicies(IfSBDovePolicyCRUD dovePolicyDB, OpenDoveNetwork newODN, OpenDoveNetwork oldODN) { createAllowPolicy(dovePolicyDB, newODN, oldODN, 0); createAllowPolicy(dovePolicyDB, newODN, oldODN, 1); createAllowPolicy(dovePolicyDB, oldODN, newODN, 0); createAllowPolicy(dovePolicyDB, oldODN, newODN, 1); }
private static void createAllowPolicy(IfSBDovePolicyCRUD dovePolicyDB, OpenDoveNetwork newODN, OpenDoveNetwork oldODN, int traffic_type) { List<OpenDovePolicy> policies = dovePolicyDB.getPolicies(); Iterator<OpenDovePolicy> policyIterator = policies.iterator(); boolean found = false; while (policyIterator.hasNext() && !found) { OpenDovePolicy policy = policyIterator.next(); if (policy.getSourceVNID() == newODN.getVnid() && policy.getDestinationVNID() == oldODN.getVnid() && policy.getPolicyAction() == 0 && policy.getTrafficType() == traffic_type) { OpenDovePolicy delta = new OpenDovePolicy(); delta.setPolicyAction(1); found = true; dovePolicyDB.updatePolicy(policy, delta); } } if (!found) { OpenDovePolicy newPolicy = new OpenDovePolicy(newODN.getVnid(), oldODN.getVnid(), newODN.getDomain_uuid(), newODN.getDomain_id(), traffic_type); newPolicy.setTombstoneFlag(false); dovePolicyDB.addPolicy(newPolicy.getUUID(), newPolicy); } }
private boolean canBeRemoved(OpenDoveObject o) { if (o instanceof OpenDovePolicy) { if (((OpenDovePolicy) o).getPolicyAction() == 0) { return true; } else { return false; } } return o.getTombstoneFlag(); }
OpenDovePolicy.createAllowPolicies(dovePolicyDB, newODN, oldODN);
OpenDovePolicy.removeAllowPolicies(dovePolicyDB, newODN, oldODN);