/***************************************************************************** * * Copyright (C) Zenoss, Inc. 2013, all rights reserved. * * This content is made available according to terms specified in * License.zenoss under the directory where your Zenoss product is installed. * ****************************************************************************/ package org.zenoss.zep.impl; import org.zenoss.zep.ZepException; import org.zenoss.zep.dao.FlapTrackerDao; import java.util.HashMap; import java.util.Map; /** * Uses a hashmap to persist flap tracking in memory. This should only be used during tests * as it doesn't really clean up old or stale entries from the hashmap. */ public class MemoryEventFlappingStorage implements FlapTrackerDao{ // create a hashmap indexed by clear finger print hash Map<String, FlapTracker> trackers = new HashMap<String, FlapTracker>(); @Override public FlapTracker getFlapTrackerByClearFingerprintHash(String clearFingerPrintHash) throws ZepException { if (trackers.containsKey(clearFingerPrintHash)) { return trackers.get(clearFingerPrintHash); } FlapTracker tracker = new FlapTracker(); trackers.put(clearFingerPrintHash, tracker); return tracker; } public void persistTracker(String clearFingerprintHash, FlapTracker tracker, long timeToKeep) throws ZepException{ trackers.put(clearFingerprintHash, tracker); } @Override public String toString() { return "MemoryEventFlappingStorage{" + "trackers=" + trackers + '}'; } }