From eaa60c1ebdf3e38fd62fecf76fc2417208e40ffe Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Mon, 17 Nov 2008 18:33:02 +0000
Subject: [PATCH] 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.

---
 opends/src/guitools/org/opends/guitools/controlpanel/util/SchemaLoader.java |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/util/SchemaLoader.java b/opends/src/guitools/org/opends/guitools/controlpanel/util/SchemaLoader.java
index 5d64d5e..6ddaa1b 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/util/SchemaLoader.java
+++ b/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;
         }
       }

--
Gitblit v1.10.0