package org.jboss.test.jca.adapter;
import javax.naming.NamingException;
import javax.naming.Reference;
import javax.resource.ResourceException;
import javax.resource.cci.Connection;
import javax.resource.cci.ConnectionFactory;
import javax.resource.cci.ConnectionSpec;
import javax.resource.cci.RecordFactory;
import javax.resource.cci.ResourceAdapterMetaData;
import javax.resource.spi.ConnectionManager;
import javax.resource.Referenceable;
public class TestConnectionFactory implements ConnectionFactory, Referenceable
{
private final ConnectionManager cm;
private final TestManagedConnectionFactory mcf;
private Reference ref;
public TestConnectionFactory (final ConnectionManager cm, final TestManagedConnectionFactory mcf)
{
this.cm = cm;
this.mcf = mcf;
}
public void setReference(Reference ref)
{
this.ref = ref;
}
public Reference getReference() throws NamingException
{
return ref;
}
public Connection getConnection() throws ResourceException
{
return (Connection)cm.allocateConnection(mcf, null);
}
public Connection getConnection(ConnectionSpec ignore) throws ResourceException
{
return (Connection)cm.allocateConnection(mcf, null);
}
public Connection getConnection(String failure) throws ResourceException
{
return (Connection)cm.allocateConnection(mcf, new TestConnectionRequestInfo(failure));
}
public RecordFactory getRecordFactory() throws ResourceException
{
return null;
}
public ResourceAdapterMetaData getMetaData() throws ResourceException
{
return null;
}
public void setFailure(String failure)
{
mcf.setFailure(failure);
}
}