package org.jboss.test.jca.adapter;
import javax.resource.ResourceException;
import javax.resource.cci.Connection;
import javax.resource.cci.ConnectionMetaData;
import javax.resource.cci.Interaction;
import javax.resource.cci.LocalTransaction;
import javax.resource.cci.ResultSetInfo;
public class TestConnection
implements Connection {
private TestManagedConnection mc;
private boolean mcIsNull = true;
public TestConnection (TestManagedConnection mc)
{
this.mc = mc;
mcIsNull = false;
}
public void setFailInPrepare(final boolean fail, final int xaCode)
{
mc.setFailInPrepare(fail, xaCode);
}
public void setFailInCommit(final boolean fail, final int xaCode)
{
mc.setFailInCommit(fail, xaCode);
}
public void fireConnectionError()
{
mc.connectionError(this, new Exception("ConnectionError"));
}
public boolean isInTx()
{
return mc.isInTx();
}
void setMc(TestManagedConnection mc)
{
if (mc == null)
{
mcIsNull = true;
} else
{
this.mc = mc;
} }
public void close()
{
mc.connectionClosed(this);
mcIsNull = true;
}
public TestManagedConnection getMC()
{
return mc;
}
public Interaction createInteraction() throws ResourceException
{
return null;
}
public LocalTransaction getLocalTransaction() throws ResourceException
{
return null;
}
public ConnectionMetaData getMetaData() throws ResourceException
{
return null;
}
public ResultSetInfo getResultSetInfo() throws ResourceException
{
return null;
}
public void simulateConnectionError()
throws Exception
{
Exception e = new Exception("Simulated exception");
mc.connectionError(this, e);
throw e;
}
}