public void setKeepDeletes(boolean keepDeletes) { this.keepDeletes = keepDeletes; if (!keepDeletes) { Iterator<Map.Entry<Long, BitSetNode>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Long, BitSetNode> entry = it.next(); if (entry.getValue().isEmpty()) { it.remove(); } } } }
public void setKeepDeletes(boolean keepDeletes) { this.keepDeletes = keepDeletes; // If not to keep deletes, remove the BitSetNodes which are empty (i.e. contains ids of deleted // procedures). if (!keepDeletes) { Iterator<Map.Entry<Long, BitSetNode>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Long, BitSetNode> entry = it.next(); if (entry.getValue().isEmpty()) { it.remove(); } } } }
/** * @return true, if no procedure is active, else false. */ public boolean isEmpty() { for (Map.Entry<Long, BitSetNode> entry : map.entrySet()) { if (!entry.getValue().isEmpty()) { return false; } } return true; }
public boolean isEmpty() { for (Map.Entry<Long, BitSetNode> entry : map.entrySet()) { if (entry.getValue().isEmpty() == false) { return false; } } return true; }
private BitSetNode delete(BitSetNode node, final long procId) { node = lookupClosestNode(node, procId); assert node != null : "expected node to delete procId=" + procId; assert node.contains(procId) : "expected procId=" + procId + " in the node"; node.delete(procId); if (!keepDeletes && node.isEmpty()) { // TODO: RESET if (map.size() == 1) map.remove(node.getStart()); } trackProcIds(procId); return node; }
public void delete(long procId) { Map.Entry<Long, BitSetNode> entry = map.floorEntry(procId); assert entry != null : "expected node to delete procId=" + procId; BitSetNode node = entry.getValue(); assert node.contains(procId) : "expected procId in the node"; node.delete(procId); if (!keepDeletes && node.isEmpty()) { // TODO: RESET if (map.size() == 1) map.remove(entry.getKey()); } trackProcIds(procId); }