cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler" <>
Subject RE: Help with AbstractEnvironment.changeContext
Date Mon, 11 Feb 2002 07:25:48 GMT

> Vadim Gritsenko wrote:
> All, Giacomo, Carsten,
> Looking into the AbstractEnvironment.changeContext() I do not understand
> one part:
>             File f = new File(this.context.getFile());
>             if (f.isFile()) {
>                 this.context = f.getParentFile().toURL();
>             } else {
>                 this.context = f.toURL();
>             }
> Is it essentially converting file to a directory entry where the file
> belongs? Can it be then rewritten to something like:
>             String s = this.context.toString();
>             if (i != -1 && i + 1 < s.length()) {
>                 s = s.substring(0, s.lastIndexOf('/') + 1);
>             }
>             this.context = new URL(s);
> With this change it:
> 1. Preserves original protocol. Before, "jndi:" URLs were converted to
> "file:" URLs.
> 2. Works under tomcat as before.
> 3. Works under Borland App Server deployed as unpacked WAR (Thanks to
> Nick Airey who tested this).
> Does anybody see any issues with changing this bit of code?
Hmm, to be honest - this code (I mean the old one) looks a little bit
for me - perhaps it's too early this morning...
A new URL contained in this.context is build, this is converted to a file
object and it's then tested if it is a file. If not everything is as before
and if it is a file the parent directory is used instead.
Ok, so only if the context points to a file, the URL is changed.

I think your patch is slightly different: the URL is always changed to the
parent directory even if it is not a file, right? (I don't see what the
variable i means).
I assume - but haven't had time to look at it - that your approach might
fail with subsitemaps. You can define the src attribute for the subsitmap
by either giving the full sitemap name like "sub/sitemap.xmap" or by only
giving the directory name "sub".


To unsubscribe, e-mail:
For additional commands, email:

View raw message