directory-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre-Arnaud Marcelot ...@marcelot.net>
Subject Re: Problem with sorting of ldif files on Linux
Date Tue, 28 Sep 2010 09:59:59 GMT
Hi,

Are you referring to this ApacheDS Maven Plugin?

http://alchemy.grimoire.ca/m2/sites/ca.grimoire.maven/apacheds-maven-plugin/

Regards,
Pierre-Arnaud


On 28 sept. 2010, at 11:48, Carsten Kaiser wrote:

> Hi there,
> 
> we are using ApacheDS respectively the Maven ApacheDS Plugin to run our integration tests
against a clean LDAP server instance and therefore populate
> it with the according schema information and setup data on test startup. We have different
ldif files for schema and setup data especially named in alphabetical order
> to ensure, that the schema information is loaded before the setup data. Although this
works fine for e.g. on MacOSX it does not work on Linux due to the following
> Code Snippet from class org.apache.directory.server.configuration.ApacheDS
> 
>> else
>> <1x1.gif>436<1x1.gif>        {
>> <1x1.gif>437<1x1.gif>            // get all the ldif files within the
directory (should be sorted alphabetically)
>> <1x1.gif>438<1x1.gif>            File[] ldifFiles = ldifDirectory.listFiles(
new FileFilter()
>> <1x1.gif>439<1x1.gif>            {
>> <1x1.gif>440<1x1.gif>                public boolean <1x1.gif>accept(
File pathname )
>> <1x1.gif>441<1x1.gif>                {
>> <1x1.gif>442<1x1.gif>                    boolean isLdif = pathname.getName().toLowerCase().endsWith(
".ldif" );
>> <1x1.gif>443<1x1.gif>                    return pathname.isFile() &&
pathname.canRead() && isLdif;
>> <1x1.gif>444<1x1.gif>                }
>> <1x1.gif>445<1x1.gif>            } );
> 
> According to Javadoc of class java.io.File
> 
> Returns an array of abstract pathnames denoting the files in the directory denoted by
this abstract pathname.
> If this abstract pathname does not denote a directory, then this method returns null.
Otherwise an array of File objects is returned, one for each file or directory in the directory.
Pathnames denoting the directory itself and the directory's parent directory are not included
in the result. Each resulting abstract pathname is constructed from this abstract pathname
using the File(File, String) constructor. Therefore if this pathname is absolute then each
resulting pathname is absolute; if this pathname is relative then each resulting pathname
will be relative to the same directory.
> 
> -> There is no guarantee that the name strings in the resulting array will appear
in any specific order; they are not, in particular, guaranteed to appear in alphabetical order.
> 
> the assumption stated in the code snippet above is not valid and depends on the platform
resp. Java implementation.
> 
> In order to be platform independent the retrieved array of ldif files should be sorted
in alphabetical order explicitly after retrieval.
> 
> Since I'm not a committer could someone please provide a patch for this problem?
> 
> When will the next version of the maven ApacheDS plugin be available depending on the
most current ApacheDS version (hopefully including a fix for this problem)? Currently it refers
to 1.5.5...
> 
> Kind regards,
> CAK 
> 
> 
> 
> Carsten Kaiser
> Principal Consultant
> carsten.kaiser@valtech.de
> Mobile: +49 170 5270206
> 
> Valtech GmbH
> Werner-Heisenberg-Straße 2
> 63263 Neu-Isenburg
> Germany
> 
> Phone: +49 6102 88468-0
> Fax: +49 6102 88468-28
> 
> www.valtech.de
> 
> Geschäftsführer: Ingo Kriescher
> Amtsgericht Düsseldorf HRB48672
>   


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message