Menu

#379 Invalid ServletUnitServletContext#getResource(String path)

open-accepted
None
5
2014-02-05
2006-11-08
No

Instead of

public java.net.URL getResource(
...
return resourceFile == null ? null :
resourceFile.toURL();
...
}

this might be better

public java.net.URL getResource(
...
return !resourceFile.exists() ? null :
resourceFile.toURL();
...
}

I am having trouble using HttpUnit with Tapestry 3
using lookup of Page specifications that are queried
both from the ServletContext and the classpath.

Discussion

  • Timo Westkämper

    Logged In: YES
    user_id=994999

    The same applies for getResourceAsStream(String path) and
    possibly also other methods

     
  • Wolfgang Fahl

    Wolfgang Fahl - 2008-04-19

    Logged In: YES
    user_id=1220573
    Originator: NO

    Dear Timo,

    thank you for your bug report.
    I've added your proposal as a comment to the code but didn't activate the change yet.
    see http://httpunit.svn.sourceforge.net/viewvc/httpunit?view=rev&revision=927
    Please supply a test case and I'll happily look into your proposal again.

    Yours
    Wolfgang

     
  • Wolfgang Fahl

    Wolfgang Fahl - 2008-04-19
    • assigned_to: nobody --> wolfgang_fahl
    • status: open --> pending-accepted
     
  • Wolfgang Fahl

    Wolfgang Fahl - 2008-04-19

    Logged In: YES
    user_id=1220573
    Originator: NO

    Dear httpunit user!

    Thank you for your bug report. We appreciate the time and effort you are putting into this.

    Please supply a testcase with the expected result for the bug report that you are asking a solution for and we'll look into implementing it. For a start you might want to get the trunk version from the subversion repository (see https://sourceforge.net/svn/?group_id=6550\)
    and have a look at the source code of some of the more than 700 JUnit based testcase in there.

    If you do not use or have subversion tool you can still directly browse our test cases via:
    http://httpunit.svn.sourceforge.net/viewvc/httpunit/trunk/httpunit/test/com/meterware/httpunit/
    Looking into one or more of the Junit Java source files
    should give you a clue on what a proper testcase for httpunit looks like, often you will probably only have to "clone" an existing testcase and modify it slightly to your needs.

    When you are ready you might want to attach the testcase (and if you already have started implementing a solution for it it also the actual code) to the patch section of the sourceforge.net tracker for patches of the httpunit project at
    https://sourceforge.net/tracker/?atid=306550&group_id=6550&func=browse.

    The main communication about further details of the development is via the httpunit developer mailinglist. You are most welcome to sign up via
    https://lists.sourceforge.net/lists/listinfo/httpunit-develop

    Yours
    The httpunit developer team

    (Russell, Wolfgang, Mark, Patrick and Tim as of 2008-04)

     
  • SourceForge Robot

    Logged In: YES
    user_id=1312539
    Originator: NO

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     
  • SourceForge Robot

    • status: pending-accepted --> closed-accepted
     
  • Russell Gold

    Russell Gold - 2008-05-14

    Logged In: YES
    user_id=37920
    Originator: NO

    reopened to re-examine this.

     
  • Russell Gold

    Russell Gold - 2008-05-14
    • assigned_to: wolfgang_fahl --> russgold
    • status: closed-accepted --> open-accepted
     
  • Aki Yoshida

    Aki Yoshida - 2014-02-05

    I would like to have this issue resolved so that getResource(path) will return null if there is no resource. One library (restlet) that I am using assumes the resource to exist when the resource url is returned. This assumption seems to be valid according to the javadoc.
    http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContext.html#getResource(java.lang.String)

    Returns a URL to the resource that is mapped to the given path.
    ...
    Returns:
    the resource located at the named path, or null if there is no resource at that path
    ...


    Therefore, I would like to have the following change:

    • return resourceFile == null ? null : resourceFile.toURL();
    • return resourceFile == null || !resourceFile.exists() ? null : resourceFile.toURL();

    Could someone apply this change? If you need a unit test for this, I can supply one. Please let me know.
    Thanks.
    regards, aki

     

Log in to post a comment.