You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by we...@apache.org on 2004/02/24 01:46:26 UTC
cvs commit: jakarta-jetspeed-2/components/cm/src/java/org/apache/jetspeed/components ComponentAwareTestSuite.java
weaver 2004/02/23 16:46:26
Added: components/cm/src/java/org/apache/jetspeed/components
ComponentAwareTestSuite.java
Log:
will only start a conainer once for the entire suite
Revision Changes Path
1.1 jakarta-jetspeed-2/components/cm/src/java/org/apache/jetspeed/components/ComponentAwareTestSuite.java
Index: ComponentAwareTestSuite.java
===================================================================
/*
* Created on Feb 23, 2004
*
* To change the template for this generated file go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
package org.apache.jetspeed.components;
import java.io.InputStreamReader;
import java.io.Reader;
import junit.framework.Test;
import junit.framework.TestResult;
import junit.framework.TestSuite;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.defaults.ObjectReference;
import org.picocontainer.defaults.SimpleReference;
/**
* @author Sweaver
*
* To change the template for this generated type comment go to Window -
* Preferences - Java - Code Generation - Code and Comments
*/
public class ComponentAwareTestSuite extends TestSuite
{
private MutablePicoContainer container;
private String script;
private ComponentManager cm;
/**
*
*/
public ComponentAwareTestSuite()
{
super();
// TODO Auto-generated constructor stub
}
/**
* @param arg0
* @param arg1
*/
public ComponentAwareTestSuite(Class arg0, String arg1)
{
super(arg0, arg1);
// TODO Auto-generated constructor stub
}
/**
* @param arg0
*/
public ComponentAwareTestSuite(Class arg0)
{
super(arg0);
// TODO Auto-generated constructor stub
}
/**
* @param arg0
*/
public ComponentAwareTestSuite(String arg0)
{
super(arg0);
// TODO Auto-generated constructor stub
}
protected void buildConainer(String script) throws ClassNotFoundException
{
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Reader scriptReader = new InputStreamReader(cl.getResourceAsStream(script));
cm = new ComponentManager(scriptReader, ComponentManager.GROOVY);
ObjectReference containerRef = new SimpleReference();
cm.getContainerBuilder().buildContainer(containerRef, null, "TEST_REGISTRY");
container = (MutablePicoContainer) containerRef.get();
}
/*
* (non-Javadoc)
*
* @see junit.framework.Test#run(junit.framework.TestResult)
*/
public void run(TestResult arg0)
{
try
{
buildConainer(script);
super.run(arg0);
if (container != null)
{
container.stop();
}
}
catch (Exception e)
{
if (container != null)
{
container.stop();
}
e.printStackTrace();
throw new RuntimeException(e.toString());
}
}
/*
* (non-Javadoc)
*
* @see junit.framework.TestSuite#runTest(junit.framework.Test,
* junit.framework.TestResult)
*/
public void runTest(Test arg0, TestResult arg1)
{
// TODO Auto-generated method stub
if (arg0 instanceof AbstractComponentAwareTestCase)
{
((AbstractComponentAwareTestCase) arg0).setContainer(container);
((AbstractComponentAwareTestCase) arg0).setComponentManager(cm);
}
super.runTest(arg0, arg1);
}
/**
* @return Returns the script.
*/
public String getScript()
{
return script;
}
/**
* @param script
* The script to set.
*/
public void setScript(String script)
{
this.script = script;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org