> 
> > Example: I have a file FOO.TXT on the file system and select it with
> > <fileset includes="foo.txt"/>.  It will get selected because
> > 
> >     new File("foo.txt").getCanonicalPath()
> > 
> > returns "foo.txt" instead of "FOO.TXT".
> 
> This is bad, in particular as it won't get selected for
> includes="fo?.txt", so we have an inconsistency in the case-sensitive
> case, no matter what we use as a default value for OpenVMS.
> 

I didn't even think about that.  But with case sensitivity disabled the file
will be selected by "fo?.txt".

The only way to access the case of a file from Java on OpenVMS is currently
to use File#listFiles().

> The only solution I see is to change line 718 in DirectoryScanner to
> read 
> 
>                         if (!path.equals(currentelement)
>                             || Os.isFamily("openvms")) {
> 

Looks reasonable.  BTW, would it be reasonable to add constants like ON_VMS
to Os?  In this case the Os.isFamily("openvms") would be run quite a few
times...  Or the Os class could of course also cache results.

> or force OpenVMS to take the first branch in line 690, that should
> take care of this issue.
> 

Don't quite understand what that would do :-)

--
knut

Reply via email to