private void setCurrentValues() { lastMessages = serverStatusProvider.getStatusMessages(); lastServerStatus = serverStatusProvider.getStatus(); } }
@Test public void test() throws Exception { serverStatusProvider.setStatusMessages( new String[] { TEST_MESSAGE1 } ); PeriodicStatusLogger.setCycleTime( 500 ); // We want a fast test assertEquals( 500, PeriodicStatusLogger.getCycleTime() ); serverStatusProvider.setStatus( IServerStatusProvider.ServerStatus.STARTING ); PeriodicStatusLogger.start(); assertEquals( TEST_MESSAGE1, PeriodicStatusLogger.getStatusMessages()[0] ); Thread.sleep( 600 ); assertEquals( 2, appender.getLog().size() ); serverStatusProvider.setStatusMessages( new String[] { TEST_MESSAGE2 } ); Thread.sleep( 600 ); try {
public static String[] getStatusMessages() { return serverStatusProvider.getStatusMessages(); }
public static IServerStatusProvider.ServerStatus getServerStatus() { return serverStatusProvider.getStatus(); }
@Override public void onStatusChange() { if ( lastMessages != serverStatusProvider.getStatusMessages() || lastServerStatus != serverStatusProvider.getStatus() ) { setCurrentValues(); logMessages(); if ( runThread != null ) { runThread.interrupt(); } } }