📄 basetestbroadcastinglistener.java
字号:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. */package com.opensymphony.oscache.plugins.clustersupport;import com.opensymphony.oscache.base.*;import com.opensymphony.oscache.base.events.CacheEntryEventListener;import junit.framework.TestCase;import java.util.Date;/** * A base class that provides the framework for testing a cluster listener * implementation. * * @author <a href="mailto:chris@swebtec.com">Chris Miller</a> */public abstract class BaseTestBroadcastingListener extends TestCase { /** * The persistance listener used for the tests */ protected static AbstractBroadcastingListener listener = null; /** * A cache instance to use for the tests */ protected static Cache cache = null; /** * The number of tests in this class. This is used to keep * track of how many tests remain; once we reach zero we shut * down the broadcasting listener. */ int testsRemaining = 0; /** * Cache group */ private final String GROUP = "test group"; /** * Object key */ private final String KEY = "Test clustersupport persistence listener key"; public BaseTestBroadcastingListener(String str) { super(str); } /** * Tests the listener by causing the cache to fire off all its * events */ public void testListener() { CacheEntry entry = new CacheEntry(KEY, null); cache.putInCache(KEY, entry); cache.putInCache(KEY, entry, new String[] {GROUP}); cache.flushEntry(KEY); cache.flushGroup(GROUP); cache.flushAll(new Date()); // Note that the remove event is not called since it's not exposed. } /** * This method is invoked before each testXXXX methods of the * class. It set up the broadcasting listener required for each test. */ public void setUp() { // At first invocation, create a listener if (listener == null) { testsRemaining = countTestCases(); // This seems to always return 1 even if there are multiple tests? listener = getListener(); assertNotNull(listener); cache = new Cache(true, false, false); assertNotNull(cache); try { listener.initialize(cache, getConfig()); } catch (InitializationException e) { fail(e.getMessage()); } cache.addCacheEventListener(listener, CacheEntryEventListener.class); } } /** * Once all the tests are complete this will shut down the broadcasting listener. */ protected void tearDown() throws Exception { if (--testsRemaining == 0) { try { listener.finialize(); listener = null; } catch (FinalizationException e) { fail(e.getMessage()); } } } /** * Child classes implement this to return the broadcasting listener instance * that will be tested. */ abstract AbstractBroadcastingListener getListener(); /** * Child classes implement this to return the configuration for their listener * @return */ abstract Config getConfig();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -