hammant 2002/11/10 17:35:19
Modified: src/java/org/apache/avalon/phoenix/tools/punit
PUnitResourceProvider.java PUnitTestCase.java
src/test/org/apache/avalon/phoenix/tools/punit/test
PUnitTestCaseTestCase.java TestBlock.java
Added: src/java/org/apache/avalon/phoenix/tools/punit
PUnitLogger.java
Log:
Logger working for Punit
Revision Changes Path
1.6 +4 -4
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/tools/punit/PUnitResourceProvider.java
Index: PUnitResourceProvider.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/tools/punit/PUnitResourceProvider.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- PUnitResourceProvider.java 9 Nov 2002 19:23:21 -0000 1.5
+++ PUnitResourceProvider.java 11 Nov 2002 01:35:19 -0000 1.6
@@ -9,7 +9,6 @@
import org.apache.excalibur.containerkit.lifecycle.ResourceProvider;
import org.apache.avalon.framework.logger.Logger;
-import org.apache.avalon.framework.logger.ConsoleLogger;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.service.ServiceManager;
@@ -27,6 +26,7 @@
private ServiceManager m_serviceManager;
private ComponentManager m_componentManager;
private Configuration m_configuration;
+ private Logger m_logger;
/**
* PUnitResourceProvider
@@ -34,11 +34,12 @@
* @param configuration The configuration
*/
public PUnitResourceProvider( ServiceManager serviceManager,
- Configuration configuration )
+ Configuration configuration, Logger logger )
{
m_serviceManager = serviceManager;
m_componentManager = new PUnitComponentManager(serviceManager);
m_configuration = configuration;
+ m_logger = logger;
}
/**
@@ -60,8 +61,7 @@
*/
public Logger createLogger(Object object) throws Exception
{
- // should be queryable mock logger ?
- return new ConsoleLogger();
+ return m_logger;
}
/**
1.4 +23 -1
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/tools/punit/PUnitTestCase.java
Index: PUnitTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/tools/punit/PUnitTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PUnitTestCase.java 9 Nov 2002 19:23:21 -0000 1.3
+++ PUnitTestCase.java 11 Nov 2002 01:35:19 -0000 1.4
@@ -23,6 +23,7 @@
private LifecycleHelper m_lifecycleHelper;
private ArrayList m_blocks;
private PUnitServiceManager m_pUnitServiceManager;
+ private PUnitLogger m_pUnitLogger = new PUnitLogger();
/**
* PUnitTestCase
@@ -34,6 +35,27 @@
}
/**
+ * Query the log
+ * @param startsWith For an expression that starts with this
+ * @return The logged entry.
+ */
+ public final String lookupInLog(String startsWith)
+ {
+ return m_pUnitLogger.get(startsWith);
+ }
+
+ /**
+ * Query the log
+ * @param startsWith For an expression that starts with this
+ * @return true or not
+ */
+ public final boolean logHasEntry(String startsWith)
+ {
+ return m_pUnitLogger.contains(startsWith);
+ }
+
+
+ /**
* Setup as per Junit
* @throws Exception If a problem
*/
@@ -56,7 +78,7 @@
Object block , Configuration configuration )
{
PUnitBlock pBlock = new PUnitBlock( blockName, block,
- new PUnitResourceProvider(m_pUnitServiceManager, configuration) );
+ new PUnitResourceProvider(m_pUnitServiceManager, configuration,
m_pUnitLogger) );
m_blocks.add( pBlock );
if (serviceName != null)
{
1.1
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/tools/punit/PUnitLogger.java
Index: PUnitLogger.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.phoenix.tools.punit;
import org.apache.avalon.framework.logger.Logger;
import java.util.ArrayList;
/**
* PunitLogger
* @author Paul Hammant
*/
public class PUnitLogger implements Logger
{
private ArrayList m_log = new ArrayList();
/**
* Get a logged entry.
* @param startsWith This term
* @return The full term
*/
public String get(String startsWith)
{
for (int i = 0; i < m_log.size(); i++)
{
String s = (String) m_log.get(i);
if (s.startsWith(startsWith))
{
return s;
}
}
return null;
}
/**
* Contains a logged entry
* @param s The term
* @return true or not.
*/
public boolean contains(String s)
{
return get(s) != null;
}
/**
* Debug an entry as per Loggable
* @param s the term
*/
public void debug(String s)
{
m_log.add("D:" + s);
}
/**
* Debug an entry as per Loggable
* @param s the term
* @param throwable An exception
*/
public void debug(String s, Throwable throwable)
{
m_log.add("D:" + s + ":" + throwable != null ? throwable.getMessage() : "");
}
public boolean isDebugEnabled()
{
return true;
}
/**
* Info an entry as per Loggable
* @param s the term
*/
public void info(String s)
{
m_log.add("I:" + s);
}
/**
* Info an entry as per Loggable
* @param s the term
* @param throwable An exception
*/
public void info(String s, Throwable throwable)
{
m_log.add("I:" + s + ":" + throwable != null ? throwable.getMessage() : "");
}
/**
* Is Info Enabled
* @return
*/
public boolean isInfoEnabled()
{
return true;
}
/**
* Warn an entry as per Loggable
* @param s the term
*/
public void warn(String s)
{
m_log.add("W:" + s);
}
/**
* Warn an entry as per Loggable
* @param s the term
* @param throwable An exception
*/
public void warn(String s, Throwable throwable)
{
m_log.add("W:" + s + ":" + throwable != null ? throwable.getMessage() : "");
}
/**
* Is Warn Enabled
* @return
*/
public boolean isWarnEnabled()
{
return false;
}
/**
* Error an entry as per Loggable
* @param s the term
*/
public void error(String s)
{
m_log.add("E:" + s);
}
/**
* Error an entry as per Loggable
* @param s the term
* @param throwable An exception
*/
public void error(String s, Throwable throwable)
{
m_log.add("E:" + s + ":" + throwable != null ? throwable.getMessage() : "");
}
/**
* Is Error Enabled
* @return
*/
public boolean isErrorEnabled()
{
return true;
}
/**
* Log a fatal error as per Loggable
* @param s the term
*/
public void fatalError(String s)
{
m_log.add("F:" + s);
}
/**
* Log a fatal error entry as per Loggable
* @param s the term
* @param throwable An exception
*/
public void fatalError(String s, Throwable throwable)
{
m_log.add("F:" + s + ":" + throwable != null ? throwable.getMessage() : "");
}
/**
* Is Fatal Error Enabled
* @return
*/
public boolean isFatalErrorEnabled()
{
return true;
}
/**
* Gtet the child logger
* @param s The hint to use (ignored)
* @return The child logger.
*/
public Logger getChildLogger(String s)
{
return this;
}
}
1.2 +6 -0
jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/tools/punit/test/PUnitTestCaseTestCase.java
Index: PUnitTestCaseTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/tools/punit/test/PUnitTestCaseTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PUnitTestCaseTestCase.java 5 Nov 2002 23:50:50 -0000 1.1
+++ PUnitTestCaseTestCase.java 11 Nov 2002 01:35:19 -0000 1.2
@@ -32,11 +32,17 @@
new InputSource(new StringReader("<hi>Hi</hi>")));
addBlock("bl","block", block, configuration);
startup();
+ // check lifecycle run thru
assertNotNull("Configuration null", block.m_configuration);
assertNotNull("Context null", block.m_context);
assertNotNull("Logger null", block.m_logger);
assertNotNull("ServiceManager null", block.m_serviceManager);
assertTrue("Not Initialized", block.m_initialized);
+ // check lifecycle events logged
+ assertTrue("Service Not logged", super.logHasEntry("I:service"));
+ assertTrue("Initialize Not logged", super.logHasEntry("W:initialize"));
+ assertTrue("Contextualize Not logged",
super.logHasEntry("E:contextualize"));
+ assertTrue("Configure Not logged", super.logHasEntry("F:configure"));
shutdown();
}
1.2 +4 -5
jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/tools/punit/test/TestBlock.java
Index: TestBlock.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/tools/punit/test/TestBlock.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestBlock.java 5 Nov 2002 23:50:50 -0000 1.1
+++ TestBlock.java 11 Nov 2002 01:35:19 -0000 1.2
@@ -32,31 +32,30 @@
public void service( final ServiceManager serviceManager ) throws
ServiceException
{
- System.out.println("-->1");
+ m_logger.info("service");
m_serviceManager = serviceManager;
}
public void initialize() throws Exception
{
- System.out.println("-->2");
+ m_logger.warn("initialize");
m_initialized = true;
}
public void contextualize(Context context) throws ContextException
{
- System.out.println("-->3");
+ m_logger.error("contextualize");
m_context = context;
}
public void enableLogging(Logger logger)
{
- System.out.println("-->4");
m_logger = logger;
}
public void configure(Configuration configuration) throws ConfigurationException
{
- System.out.println("-->5");
+ m_logger.fatalError("configure");
m_configuration = configuration;
}
--
To unsubscribe, e-mail: <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>