You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wink.apache.org by "Bryant Luk (JIRA)" <ji...@apache.org> on 2010/06/07 02:40:54 UTC

[jira] Resolved: (WINK-290) DeploymentConfiguration is not propertly initialized when the servlet doesn't create the RequestProcessor

     [ https://issues.apache.org/jira/browse/WINK-290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryant Luk resolved WINK-290.
-----------------------------

         Assignee: Bryant Luk
    Fix Version/s: 1.1.1
       Resolution: Fixed

I added some slightly different code to set the ServletContext and ServletConfig if it wasn't already set in the DeploymentConfiguration.  I think this achieves the same effect but won't override a previously set ServletContext/ServletConfig (in cases where someone returns a decorated ServletConfig for instance).

If you also don't mind, can you give a hint on why you're creating your own request processor?

Thanks for the feedback/patch.

> DeploymentConfiguration is not propertly initialized when the servlet doesn't create the RequestProcessor
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: WINK-290
>                 URL: https://issues.apache.org/jira/browse/WINK-290
>             Project: Wink
>          Issue Type: Bug
>          Components: Server
>    Affects Versions: 1.1.1
>            Reporter: David Calavera
>            Assignee: Bryant Luk
>             Fix For: 1.1.1
>
>         Attachments: WINK-290.patch
>
>
> Hi,
> I just bumped into this problem, seems the RestServlet doesn't initialize the DeploymentConfiguration properly and the servletContext and servletConfig are not set when the RequestProcessor is not created by the servlet.
> When I call context.getAttribute(ServletContext.class); from a userHandler the servletContext is null, it's also null if I call context.getAttribute(DeploymentConfiguration.class).getServletContext();
> Seems the servlet doesn't call getDeploymentConfiguration in some cases. To expose the bug I instanced an embedded jetty and overloaded the servlet, this is the code I'm using it:
> {code}
> Server server = new Server(9009);
> Context contextHandler = new Context(server, "/api", Context.SESSIONS);
> contextHandler.addEventListener(new ContextLoaderListener());
>         ServletHolder servletHolder = new ServletHolder(new RestServlet()
>         {
>             @Override
>             public void init() throws ServletException
>             {
>                 super.init();
>                 System.err.println("SERVLET CONTEXT !!!!!!!! " + this.getServletContext());
>                 System.err.println("CONFIGURATION SERVLET CONTEXT !!! "
>                     + this.getRequestProcessor().getConfiguration().getServletContext());
>             }
>         });
>         contextHandler.addServlet(servletHolder, "/*");
> {code}
> When the method init is called I get this output:
> {noformat}
> SERVLET CONTEXT !!!!!!!! ServletContext@675926d1{/api,null}
> CONFIGURATION SERVLET CONTEXT !!! null
> {noformat}
> I'm including a patch and test cases to solve this problem.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.