package org.jboss.resteasy.plugins.server.resourcefactory;
import org.jboss.resteasy.spi.HttpRequest;
import org.jboss.resteasy.spi.HttpResponse;
import org.jboss.resteasy.spi.ResourceFactory;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import javax.naming.InitialContext;
import javax.naming.NamingException;
Author: Bill Burke Version: $Revision: 1 $
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
*/
public class JndiResourceFactory implements ResourceFactory
{
private String jndiName;
private InitialContext ctx;
public JndiResourceFactory(final String jndiName)
{
this.jndiName = jndiName;
try
{
this.ctx = new InitialContext();
}
catch (NamingException e)
{
throw new RuntimeException(e);
}
}
public void registered(ResteasyProviderFactory factory)
{
}
public Object createResource(HttpRequest request, HttpResponse response, ResteasyProviderFactory factory)
{
try
{
return ctx.lookup(jndiName);
}
catch (NamingException e)
{
throw new RuntimeException(e);
}
}
public void unregistered()
{
}
public Class<?> getScannableClass()
{
try
{
Object obj = ctx.lookup(jndiName);
return obj.getClass();
}
catch (NamingException e)
{
throw new RuntimeException(e);
}
}
public void requestFinished(HttpRequest request, HttpResponse response, Object resource)
{
}
}