package org.jboss.test.aop.test;
import javax.management.ObjectName;
import javax.management.Attribute;
import junit.framework.TestSuite;
import org.jboss.test.JBossTestSetup;
public class AOPTestSetup extends JBossTestSetup
{
public static String ASPECT_MANAGER_NAME = "jboss.aop:service=AspectManager";
private String jar;
AOPTestSetup(TestSuite suite, String jar) throws Exception
{
super(suite);
this.jar = jar;
}
protected void setUp() throws Exception
{
super.setUp();
ObjectName aspectManager = new ObjectName(ASPECT_MANAGER_NAME);
Attribute enableTransformer = new Attribute("EnableTransformer", Boolean.TRUE);
getServer().setAttribute(aspectManager, enableTransformer);
try
{
redeploy(jar);
}
catch(Exception e)
{
try
{
enableTransformer = new Attribute("EnableTransformer", Boolean.FALSE);
getServer().setAttribute(aspectManager, enableTransformer);
}
catch(Exception ex)
{
getLog().error("Failed to set EnableTransformer to false", ex);
}
throw e;
}
}
protected void tearDown() throws Exception
{
Exception undeployException = null;
try
{
undeploy(jar);
}
catch(Exception e)
{
undeployException = e;
}
ObjectName aspectManager = new ObjectName(ASPECT_MANAGER_NAME);
Attribute enableTransformer = new Attribute("EnableTransformer", Boolean.FALSE);
getServer().setAttribute(aspectManager, enableTransformer);
if( undeployException != null )
throw undeployException;
super.tearDown();
}
}