mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

jvergara
17.33.2008 eaa60c1ebdf3e38fd62fecf76fc2417208e40ffe
Fix for issue 3603 (Control Panel : manage schema picks up other files)
Only the files with ending *.ldif are scanned by the control panel to read the schema with the fix.
1 files modified
31 ■■■■■ changed files
opends/src/guitools/org/opends/guitools/controlpanel/util/SchemaLoader.java 31 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/util/SchemaLoader.java
@@ -30,10 +30,12 @@
import static org.opends.messages.ConfigMessages.*;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.Arrays;
import org.opends.messages.Message;
import org.opends.quicksetup.util.Utils;
import org.opends.server.config.ConfigConstants;
import org.opends.server.config.ConfigException;
import org.opends.server.core.DirectoryServer;
@@ -143,7 +145,32 @@
          ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY.get(schemaDirPath);
        throw new InitializationException(message);
      }
      File[] schemaInstallDirFiles = schemaDir.listFiles();
      FileFilter ldifFiles = new FileFilter()
      {
        /**
         * {@inheritDoc}
         */
        public boolean accept(File f)
        {
          boolean accept = false;
          if (f != null)
          {
            if (f.isDirectory())
            {
              accept = true;
            } else if (Utils.isWindows())
            {
              accept =
                  f.getName().toLowerCase().endsWith(".ldif");
            } else
            {
              accept = f.getName().endsWith(".ldif");
            }
          }
          return accept;
        }
      };
      File[] schemaInstallDirFiles = schemaDir.listFiles(ldifFiles);
      File[] schemaInstanceDirFiles = null ;
      int size = schemaInstallDirFiles.length;
@@ -157,7 +184,7 @@
            &&
            schemaDir.isDirectory())
        {
          schemaInstanceDirFiles = schemaDir.listFiles();
          schemaInstanceDirFiles = schemaDir.listFiles(ldifFiles);
          size += schemaInstanceDirFiles.length;
        }
      }