public void updateConcurrentMap(){ List<Integer> orderedKeys = getOrderedBackingKeys(int2OpenDoveObjectMap); Iterator<Integer> keyIterator = orderedKeys.iterator(); while (keyIterator.hasNext()) { Integer i = keyIterator.next(); if (i>=objectIntegerCounter) { OpenDoveObject object = int2OpenDoveObjectMap.get(i); String key = object.getUUID(); if (object.getClass().isInstance(myInterestedClass) && !str2OpenDoveObjectMap.containsKey(key)) str2OpenDoveObjectMap.put(key, object); objectIntegerCounter = i+1; } } }
private boolean canBeRemoved(OpenDoveObject o) { if (o instanceof OpenDovePolicy) { if (((OpenDovePolicy) o).getPolicyAction() == 0) { return true; } else { return false; } } return o.getTombstoneFlag(); }
public OpenDoveObject putIfAbsent(String s, OpenDoveObject openDoveObj){ OpenDoveObject ans; this.updateConcurrentMap(); if(str2OpenDoveObjectMap.containsKey(s)) ans = str2OpenDoveObjectMap.get(s); else { str2OpenDoveObjectMap.put(s,openDoveObj); int2OpenDoveObjectMap.putIfAbsent(objectIntegerCounter, openDoveObj); ans = openDoveObj; openDoveObj.setCreateVersion(objectIntegerCounter); openDoveObj.setLastChangeVersion(objectIntegerCounter); objectIntegerCounter++; } return ans; }
} else { try { if (currentChange.getTombstoneFlag()) { ans.setMethod("DELETE"); } else { int changeIndex = currentChange.getLastChangeVersion(); List<Integer> orderedKeys = OpenDoveConcurrentBackedMap.getOrderedBackingKeys(objectDB); Iterator<Integer> iterator = orderedKeys.iterator();
public OpenDoveObject update(String s, OpenDoveObject openDoveObj) { this.updateConcurrentMap(); int2OpenDoveObjectMap.putIfAbsent(objectIntegerCounter, openDoveObj); openDoveObj.setLastChangeVersion(objectIntegerCounter); objectIntegerCounter++; return openDoveObj; }
for (OpenDoveServiceAppliance oDSA: oDSAs) { if (oDSA.get_isDCS()) { if (oDSA.get_dcs_config_version() < o.getLastChangeVersion()) { purge = false; if (oDSA.get_dgw_config_version() < o.getLastChangeVersion()) { purge = false;
} else { try { if (currentChange.getTombstoneFlag()) { ans.setMethod("DELETE"); } else { int changeIndex = currentChange.getLastChangeVersion(); List<Integer> orderedKeys = OpenDoveConcurrentBackedMap.getOrderedBackingKeys(objectDB); Iterator<Integer> iterator = orderedKeys.iterator();
oDN.removeScopingDomain((OpenDoveDomain) o); openDoveBidirectionalInterfaces.removeDomain(o.getUUID()); openDoveSBInterfaces.removeEgwFwdRule(o.getUUID()); openDoveSBInterfaces.removeEgwSNATPool(o.getUUID()); openDoveSBInterfaces.removeGwIpv4(o.getUUID()); OpenDoveGwIpv4 gwIP = (OpenDoveGwIpv4) o; if (gwIP.getNeutronSubnet() != null) { openDoveBidirectionalInterfaces.removeNetwork(o.getUUID()); openDoveSBInterfaces.removeNetworkSubnetAssociation(o.getUUID()); openDoveSBInterfaces.removePolicy(o.getUUID()); oDD.removeSubnet((OpenDoveSubnet) o); openDoveSBInterfaces.removeSubnet(o.getUUID()); oDN.removeHostingSwitch((OpenDoveSwitch) o); openDoveBidirectionalInterfaces.removeSwitch(o.getUUID()); openDoveBidirectionalInterfaces.removeVgwVNIDMapping(o.getUUID());