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