/******************************************************************************* * Copyright (c) 2004, 2008 Tasktop Technologies and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Leah Findlater - initial API and implementation *******************************************************************************/ package org.eclipse.mylyn.internal.monitor.core.collection; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /** * @author Leah Findlater */ public class InteractionByTypeSummary { HashMap<String, HashMap<Integer, Integer>> usageMap; public InteractionByTypeSummary() { usageMap = new HashMap<String, HashMap<Integer, Integer>>(); } public void setUserCount(int userId, String originId, int count) { if (!usageMap.containsKey(originId)) { usageMap.put(originId, new HashMap<Integer, Integer>()); } usageMap.get(originId).put(userId, count); } public int getUserCount(int userId, String originId) { if (usageMap.containsKey(originId) && usageMap.get(originId).containsKey(userId)) { return usageMap.get(originId).get(userId); } else { return 0; } } public int getTotalCount(String originId) { int count = 0; for (Integer userId : usageMap.get(originId).keySet()) { count = count + usageMap.get(originId).get(userId); } return count; } public void printOut(Set<Integer> allUserIdsList) { System.out.print("EventId"); //$NON-NLS-1$ // Collections.sort(allUserIdsList); for (Integer userId : allUserIdsList) { System.out.print("\t" + userId); //$NON-NLS-1$ } System.out.println(); for (String originId : usageMap.keySet()) { System.out.print(originId); Set<Integer> userIdSet = usageMap.get(originId).keySet(); for (int userId : allUserIdsList) { if (userIdSet.contains(userId)) { System.out.print("\t1"); //$NON-NLS-1$ } else { System.out.print("\t0"); //$NON-NLS-1$ } } System.out.println(); /* * for (int userId : usageMap.get(originId).keySet()) { * System.out.print("\t" + userId); } System.out.println(); */ } } public ArrayList<String> getOriginIdList() { ArrayList<String> originIdList = new ArrayList<String>(usageMap.keySet()); return originIdList; } }