package org.ow2.choreos.invoker; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class InvokerHistory { private static InvokerHistory INSTANCE = new InvokerHistory(); public static InvokerHistory getInstance() { return INSTANCE; } // key is taskName and value is a list of times in seconds private Map<String, ArrayList<Long>> history = new HashMap<String, ArrayList<Long>>(); public List<Long> getHistory(String taskName) { createIfMissing(taskName); return history.get(taskName); } public void addTime(String taskName, long timeInSeconds) { createIfMissing(taskName); history.get(taskName).add(timeInSeconds); } private void createIfMissing(String taskName) { if (!history.containsKey(taskName)) history.put(taskName, new ArrayList<Long>()); } public void printHistory() { for (String taskName : history.keySet()) System.out.println(taskName + ": " + history.get(taskName)); } public void clear() { history = new HashMap<String, ArrayList<Long>>(); } }