The below description from the spec says that resources inside the
META-INF/resources directory of JAR files might be consider only if the
container has unpacked them.
Since the getRealPath is used to return a virtual path, when will the
unpackaged location of resources directory be considered ? Only when the war
package is not unpacked, but the META-INF/resources directory are extracted
?
Thanks !
--->
Resources inside the META-INF/resources directory of JAR file must be
considered only if the container has unpacked them from their containing JAR
file
when a call to getRealPath() is made, and in this case MUST return the
unpacked
location.
<---

2010/7/29 Mark Thomas <ma...@apache.org>

> On 29/07/2010 09:08, Ivan wrote:
> > Thanks, Mark.
> > So in other words, those descriptions in the spec for META-INF/resources
> > make no sense. right ?
>
> Not sure what you mean. I don't see any issues with the spec. I do think
> the implementation does something that is guaranteed to never succeed.
> The resource JARs never get expanded so getRealPath() will always return
> null - there is no point checking.
>
> Mark
>
> >
> > 2010/7/29 Mark Thomas <ma...@apache.org>
> >
> >> On 29/07/2010 01:45, Ivan wrote:
> >>> Thanks, Mark, if you mean the method getRealPath in BaseDirContext, I
> >> have
> >>> checked it.
> >>>
> >>> --->
> >>> public String getRealPath(String name) {
> >>>         if (!aliases.isEmpty()) {
> >>>             AliasResult result = findAlias(name);
> >>>             if (result.dirContext != null) {
> >>>                 return
> result.dirContext.doGetRealPath(result.aliasName);
> >>>             }
> >>>         }
> >>>
> >>>         // Next do a standard getRealPath()
> >>>         String path = doGetRealPath(name); ------> I think this
> >> invocation
> >>> will never return null in the FileDirContext implementation, right ? So
> >> does
> >>> it mean that if FileDirContext is used, no need to consider the
> resources
> >> in
> >>> the META-INF/resources embed in the jar files.
> >>
> >> Correct. I think the check of META-INF/resourcs below could be removed.
> >>
> >> Mark
> >>
> >>>
> >>>         if (path != null)
> >>>             return path;
> >>>
> >>>         // Check the alternate locations
> >>>         for (DirContext altDirContext : altDirContexts) {
> >>>             if (altDirContext instanceof BaseDirContext){
> >>>                 path = ((BaseDirContext) altDirContext).getRealPath(
> >>>                         "META-INF/resources/" + name);
> >>>                 if (path != null)
> >>>                     return path;
> >>>             }
> >>>         }
> >>>
> >>>         // Really not found
> >>>         return null;
> >>>     }
> >>> <---
> >>>
> >>> 2010/7/29 Mark Thomas <ma...@apache.org>
> >>>
> >>>> On 28/07/2010 14:11, Ivan wrote:
> >>>>> Thanks, if possible, could you please show me where it is ? I am
> really
> >>>>> interested in those details :-)
> >>>>
> >>>> BaseDirContext
> >>>>
> >>>> Mark
> >>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> >>>> For additional commands, e-mail: users-h...@tomcat.apache.org
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: users-h...@tomcat.apache.org
> >>
> >>
> >
> >
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>


-- 
Ivan

Reply via email to