cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler" <cziege...@s-und-n.de>
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
strange
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".

Carsten


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message