ServletContext for GrizzlyTestContainer

160 views Asked by At

Is it possible for TestContainer to receive data from ServletContext as in the following case?

public class LinkResourceTest extends JerseyTest {
    @Override
    protected Application configure() {
        ResourceConfig config = new ResourceConfig(LinkResource.class);

        config.register(StatusResponseFilter.class);
        config.register(JacksonFeature.class);
        config.register(MultiPartFeature.class);
        config.register(ExceptionMapperFeature.class);
        config.register(JacksonContextResolver.class);
        config.register(DatabaseFeature.class);

        return config;
    }

    @Override
    protected void configureClient(ClientConfig config) {
        config.register(MultiPartFeature.class);
    }
}

The config.register(DatabaseFeature.class); line makes trouble because DatabaseFeature needs a ServletContext in the constructor, which I have for production.


public class DatabaseFeature implements Feature {
    private ServletContext servletContext;

    public DatabaseFeature(@Context ServletContext servletContext) {
        this.servletContext = servletContext;
    }

    @Override
    public boolean configure(FeatureContext context) {
        context.register(new DatabaseBinding(servletContext));
        return true;
    }
}
0

There are 0 answers