/** * This Source Code Form is subject to the terms of the Mozilla Public License, * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under * the terms of the Healthcare Disclaimer located at http://openmrs.org/license. * * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS * graphic logo is a trademark of OpenMRS Inc. */ package org.openmrs.module; import java.util.Date; import java.util.HashMap; import java.util.Map; public class ModuleTestData { private Map<String, Integer> willRefreshContextCallCount = new HashMap<String, Integer>(); private Map<String, Integer> contextRefreshedCallCount = new HashMap<String, Integer>(); private Map<String, Integer> willStartCallCount = new HashMap<String, Integer>(); private Map<String, Integer> startedCallCount = new HashMap<String, Integer>(); private Map<String, Integer> willStopCallCount = new HashMap<String, Integer>(); private Map<String, Integer> stoppedCallCount = new HashMap<String, Integer>(); private Map<String, Long> willRefreshContextCallTime = new HashMap<String, Long>(); private Map<String, Long> contextRefreshedCallTime = new HashMap<String, Long>(); private Map<String, Long> willStartCallTime = new HashMap<String, Long>(); private Map<String, Long> startedCallTime = new HashMap<String, Long>(); private Map<String, Long> willStopCallTime = new HashMap<String, Long>(); private Map<String, Long> stoppedCallTime = new HashMap<String, Long>(); private ModuleTestData() { } private static class ModuleTestDataHolder { private static final ModuleTestData INSTANCE = new ModuleTestData(); } public static ModuleTestData getInstance() { return ModuleTestDataHolder.INSTANCE; } public synchronized void init(String moduleId) { willRefreshContextCallCount.put(moduleId, 0); contextRefreshedCallCount.put(moduleId, 0); willStartCallCount.put(moduleId, 0); startedCallCount.put(moduleId, 0); willStopCallCount.put(moduleId, 0); stoppedCallCount.put(moduleId, 0); willRefreshContextCallTime.put(moduleId, 0L); contextRefreshedCallTime.put(moduleId, 0L); willStartCallTime.put(moduleId, 0L); startedCallTime.put(moduleId, 0L); willStopCallTime.put(moduleId, 0L); stoppedCallTime.put(moduleId, 0L); } public synchronized Integer getWillRefreshContextCallCount(String moduleId) { Integer count = willRefreshContextCallCount.get(moduleId); if (count == null) { count = 0; } return count; } public synchronized Integer getContextRefreshedCallCount(String moduleId) { Integer count = contextRefreshedCallCount.get(moduleId); if (count == null) { count = 0; } return count; } public synchronized Integer getWillStartCallCount(String moduleId) { Integer count = willStartCallCount.get(moduleId); if (count == null) { count = 0; } return count; } public synchronized Integer getStartedCallCount(String moduleId) { Integer count = startedCallCount.get(moduleId); if (count == null) { count = 0; } return count; } public synchronized Integer getWillStopCallCount(String moduleId) { Integer count = willStopCallCount.get(moduleId); if (count == null) { count = 0; } return count; } public synchronized Integer getStoppedCallCount(String moduleId) { Integer count = stoppedCallCount.get(moduleId); if (count == null) { count = 0; } return count; } public synchronized void willRefreshContext(String moduleId) { willRefreshContextCallTime.put(moduleId, new Date().getTime()); Integer count = willRefreshContextCallCount.get(moduleId); if (count == null) { count = 0; } willRefreshContextCallCount.put(moduleId, count + 1); } public synchronized void contextRefreshed(String moduleId) { contextRefreshedCallTime.put(moduleId, new Date().getTime()); Integer count = contextRefreshedCallCount.get(moduleId); if (count == null) { count = 0; } contextRefreshedCallCount.put(moduleId, count + 1); } public synchronized void willStart(String moduleId) { willStartCallTime.put(moduleId, new Date().getTime()); Integer count = willStartCallCount.get(moduleId); if (count == null) { count = 0; } willStartCallCount.put(moduleId, count + 1); } public synchronized void started(String moduleId) { startedCallTime.put(moduleId, new Date().getTime()); Integer count = startedCallCount.get(moduleId); if (count == null) { count = 0; } startedCallCount.put(moduleId, count + 1); } public synchronized void willStop(String moduleId) { willStopCallTime.put(moduleId, new Date().getTime()); Integer count = willStopCallCount.get(moduleId); if (count == null) { count = 0; } willStopCallCount.put(moduleId, count + 1); } public synchronized void stopped(String moduleId) { stoppedCallTime.put(moduleId, new Date().getTime()); Integer count = stoppedCallCount.get(moduleId); if (count == null) { count = 0; } stoppedCallCount.put(moduleId, count + 1); } public synchronized Long getWillRefreshContextCallTime(String moduleId) { return willRefreshContextCallTime.get(moduleId); } public synchronized Long getContextRefreshedCallTime(String moduleId) { return contextRefreshedCallTime.get(moduleId); } public synchronized Long getWillStartCallTime(String moduleId) { return willStartCallTime.get(moduleId); } public synchronized Long getStartedCallTime(String moduleId) { return startedCallTime.get(moduleId); } public synchronized Long getWillStopCallTime(String moduleId) { return willStopCallTime.get(moduleId); } public synchronized Long getStoppedCallTime(String moduleId) { return stoppedCallTime.get(moduleId); } }