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

Ludovic Poitou
07.08.2013 0d97a7da226d93b8b87467efde523aa2120ceabc
Fix for OPENDJ-925, OPENDJ-926, and overall schema management. Review CR-1806.
Back a few years ago, when we did the SVR4 package, we split the schema into read-only (Install) and writable (Instance).
With the template model in 2.6, the whole schema is under config, and we should never edit/change the one in the template.
So, I've removed all code related to the 2 locations for schema, reverted some I10N messages to their previous versions, and tidy up code and tests.
All unit-tests are passing.
And it's also possible to change the instance.loc and run setup and have a fully functioning server :-)
35 files modified
912 ■■■■■ changed files
opends/build.xml 17 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java 68 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/NewSchemaElementsTask.java 95 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/util/SchemaLoader.java 55 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/config.properties 4 ●●● patch | view | raw | blame | history
opends/src/messages/messages/config_de.properties 3 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/config_es.properties 3 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/config_fr.properties 3 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/config_ja.properties 3 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/config_ko.properties 5 ●●●●● patch | view | raw | blame | history
opends/src/messages/messages/config_zh_CN.properties 3 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/config_zh_TW.properties 5 ●●●●● patch | view | raw | blame | history
opends/src/messages/messages/task.properties 6 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/task_de.properties 5 ●●●●● patch | view | raw | blame | history
opends/src/messages/messages/task_es.properties 5 ●●●●● patch | view | raw | blame | history
opends/src/messages/messages/task_fr.properties 5 ●●●●● patch | view | raw | blame | history
opends/src/messages/messages/task_ja.properties 5 ●●●●● patch | view | raw | blame | history
opends/src/messages/messages/task_ko.properties 5 ●●●●● patch | view | raw | blame | history
opends/src/messages/messages/task_zh_CN.properties 5 ●●●●● patch | view | raw | blame | history
opends/src/messages/messages/task_zh_TW.properties 4 ●●●● patch | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java 11 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/backends/SchemaBackend.java 181 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/core/SchemaConfigManager.java 129 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tasks/AddSchemaFileTask.java 24 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/types/DirectoryEnvironmentConfig.java 127 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/types/LDIFExportConfig.java 17 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/types/LDIFImportConfig.java 15 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/types/Schema.java 16 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/util/LDIFReader.java 13 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/util/LDIFWriter.java 14 ●●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/TestCaseUtils.java 14 ●●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/backends/SchemaBackendTestCase.java 16 ●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxPrivilegeTestCase.java 18 ●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/AddSchemaFileTaskTestCase.java 9 ●●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/types/PrivilegeTestCase.java 4 ●●●● patch | view | raw | blame | history
opends/build.xml
@@ -1011,26 +1011,25 @@
         location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" />
    <mkdir dir="${pdir}"                                             />
    <mkdir dir="${pdir}/bak"                                         />
    <mkdir dir="${pdir}/bat"                                         />
    <mkdir dir="${pdir}/bin"                                         />
    <mkdir dir="${pdir}/classes"                                     />
    <mkdir dir="${pdir}/config"                                      />
    <mkdir dir="${pdir}/db"                                          />
    <mkdir dir="${pdir}/import-tmp"                                  />
    <mkdir dir="${pdir}/changelogDb"                                 />
    <mkdir dir="${pdir}/ldif"                                        />
    <mkdir dir="${pdir}/legal-notices"                               />
    <mkdir dir="${pdir}/lib"                                         />
    <mkdir dir="${pdir}/lib/extensions"                              />
    <mkdir dir="${pdir}/locks"                                       />
    <mkdir dir="${pdir}/logs"                                        />
    <mkdir dir="${pdir}/template"                                    />
    <mkdir dir="${pdir}/template/bak"                                />
    <mkdir dir="${pdir}/template/changelogDb"                        />
    <mkdir dir="${pdir}/template/classes"                            />
    <mkdir dir="${pdir}/template/config"                             />
    <mkdir dir="${pdir}/template/config/schema"                      />
    <mkdir dir="${pdir}/template/config/messages"                    />
    <mkdir dir="${pdir}/template/config/MakeLDIF"                    />
    <mkdir dir="${pdir}/template/config/upgrade"                     />
    <mkdir dir="${pdir}/template/db"                                 />
    <mkdir dir="${pdir}/template/import-tmp"                         />
    <mkdir dir="${pdir}/template/ldif"                               />
    <mkdir dir="${pdir}/template/locks"                              />
    <mkdir dir="${pdir}/template/logs"                               />
    <mkdir dir="${pdir}/bin/ControlPanel.app"                        />
    <mkdir dir="${pdir}/bin/ControlPanel.app/Contents"               />
    <mkdir dir="${pdir}/bin/ControlPanel.app/Contents/MacOS"         />
opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
@@ -23,13 +23,14 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.guitools.controlpanel.task;
import static org.opends.messages.AdminToolMessages.*;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -68,6 +69,7 @@
import org.opends.server.types.SchemaFileElement;
import org.opends.server.util.LDIFReader;
import org.opends.server.util.LDIFWriter;
import org.opends.server.util.StaticUtils;
/**
 * The task that is launched when a schema element must be deleted.
@@ -149,6 +151,7 @@
      }
    }
    assert allOcsToDelete != null;
    ArrayList<ObjectClass> lOcsToDelete =
      new ArrayList<ObjectClass>(allOcsToDelete);
    for (int i = lOcsToDelete.size() - 1; i >= 0; i--)
@@ -406,46 +409,29 @@
      new LDIFExportConfig(schemaFile,
          ExistingFileBehavior.OVERWRITE);
    LDIFReader reader = null;
    Entry schemaEntry = null;
    LDIFWriter writer = null;
    try
    {
      reader = new LDIFReader(new LDIFImportConfig(schemaFile));
      schemaEntry = reader.readEntry();
      Entry schemaEntry = reader.readEntry();
      Modification mod = new Modification(ModificationType.DELETE,
          Attributes.create(
              getSchemaFileAttributeName(schemaElement).toLowerCase(),
              getSchemaFileAttributeValue(schemaElement)));
      schemaEntry.applyModification(mod);
      LDIFWriter writer = new LDIFWriter(exportConfig);
      writer = new LDIFWriter(exportConfig);
      writer.writeEntry(schemaEntry);
      exportConfig.getWriter().newLine();
    }
    catch (Throwable t)
    catch (IOException e)
    {
      throw new OfflineUpdateException(
          ERR_CTRL_PANEL_ERROR_UPDATING_SCHEMA.get(e.toString()), e);
    }
    finally
    {
      if (reader != null)
      {
        try
        {
          reader.close();
        }
        catch (Throwable t)
        {
        }
      }
      if (exportConfig != null)
      {
        try
        {
          exportConfig.close();
        }
        catch (Throwable t)
        {
        }
      }
      StaticUtils.close(reader, exportConfig, writer);
    }
  }
@@ -465,14 +451,8 @@
    if (!f.isAbsolute())
    {
      f = new File(
        DirectoryServer.getEnvironmentConfig().getSchemaDirectory(false),
        schemaFile);
      if (f == null || ! f.exists() || f.isDirectory())
      {
        f = new File(
            DirectoryServer.getEnvironmentConfig().getSchemaDirectory(true),
            schemaFile);
      }
          DirectoryServer.getEnvironmentConfig().getSchemaDirectory(),
          schemaFile);
    }
    schemaFile = f.getAbsolutePath();
    return schemaFile;
@@ -480,10 +460,10 @@
  /**
   * Returns the attribute name in the schema entry that corresponds to the
   * profived schema element.
   * provided schema element.
   * @param element the schema element.
   * @return the attribute name in the schema entry that corresponds to the
   * profived schema element.
   * provided schema element.
   */
  private String getSchemaFileAttributeName(CommonSchemaElements element)
  {
@@ -565,14 +545,13 @@
      }
      StringBuilder sb = new StringBuilder();
      sb.append(
          msg+"<br><b>");
      sb.append(msg).append("<br><b>");
      sb.append(equiv);
      sb.append("<br>");
      sb.append("dn: cn=schema<br>");
      sb.append("changetype: modify<br>");
      sb.append("delete: "+attrName+"<br>");
      sb.append(attrName+": "+attrValue);
      sb.append("delete: ").append(attrName).append("<br>");
      sb.append(attrName).append(": ").append(attrValue);
      sb.append("</b><br><br>");
      getProgressDialog().appendProgressHtml(Utilities.applyFont(sb.toString(),
          ColorAndFontConstants.progressFont));
@@ -583,13 +562,12 @@
  {
    AttributeType attrToAdd;
    boolean isSuperior = false;
    AttributeType newSuperior = attrToDelete.getSuperiorType();
    for (AttributeType attr : providedAttrsToDelete)
    {
      if (attr.equals(attrToDelete.getSuperiorType()))
      {
        isSuperior = true;
        newSuperior = attr.getSuperiorType();
        AttributeType newSuperior = attr.getSuperiorType();
        while (newSuperior != null &&
            providedAttrsToDelete.contains(newSuperior))
        {
@@ -718,12 +696,8 @@
  private Set<ObjectClass> getNewSuperiors(ObjectClass currentSup)
  {
    Set<ObjectClass> newSuperiors = new LinkedHashSet<ObjectClass>();
    if (currentSup.getSuperiorClasses() == null ||
        currentSup.getSuperiorClasses().isEmpty())
    {
      // Nothing to do
    }
    else
    if (currentSup.getSuperiorClasses() != null &&
        !currentSup.getSuperiorClasses().isEmpty())
    {
      for (ObjectClass o : currentSup.getSuperiorClasses())
      {
opends/src/guitools/org/opends/guitools/controlpanel/task/NewSchemaElementsTask.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.guitools.controlpanel.task;
@@ -66,6 +67,7 @@
import org.opends.server.util.LDIFReader;
import org.opends.server.util.LDIFWriter;
import org.opends.server.util.ServerConstants;
import org.opends.server.util.StaticUtils;
/**
 * An abstract class used to re-factor some code between the different tasks
@@ -467,13 +469,14 @@
      msg = INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_ADD_OBJECTCLASS_ONLINE.get(
          element.getNameOrOID());
    }
    sb.append(msg+"<br><b>");
    sb.append(msg).append("<br><b>");
    sb.append(equiv);
    sb.append("<br>");
    sb.append("dn: cn=schema<br>");
    sb.append("changetype: modify<br>");
    sb.append("add: "+getAttributeName(element)+"<br>");
    sb.append(getAttributeName(element)+": "+getValueOnline(element));
    sb.append("add: ").append(getAttributeName(element)).append("<br>");
    sb.append(getAttributeName(element)).append(": ")
        .append(getValueOnline(element));
    sb.append("</b><br><br>");
    getProgressDialog().appendProgressHtml(Utilities.applyFont(sb.toString(),
        ColorAndFontConstants.progressFont));
@@ -510,25 +513,18 @@
      final List<AttributeType> attributes,
      final List<ObjectClass> objectClasses) throws OpenDsException
  {
    final boolean userSchema;
    final String fileName;
    if (file == null)
    {
      file = ConfigConstants.FILE_USER_SCHEMA_ELEMENTS;
      userSchema = true;
    }
    else
    {
      userSchema = false;
    }
    File f = new File(file);
    if (!f.isAbsolute())
    {
      f = new File(
        DirectoryServer.getEnvironmentConfig().getSchemaDirectory(userSchema),
        DirectoryServer.getEnvironmentConfig().getSchemaDirectory(),
        file);
    }
    fileName = f.getAbsolutePath();
    final String fileName = f.getAbsolutePath();
    final boolean isSchemaFileDefined = isSchemaFileDefined(fileName);
    SwingUtilities.invokeLater(new Runnable()
    {
@@ -607,16 +603,18 @@
      StringBuilder sb = new StringBuilder();
      sb.append(
          INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_ADD_SCHEMA_ELEMENT_OFFLINE.get(
              Utils.getStringFromCollection(names, ", "),
              schemaFile)+"<br><b>");
          Utils.getStringFromCollection(names, ", "),
          schemaFile))
        .append("<br><b>");
      for (AttributeType attribute : attributes)
      {
        sb.append(
            getAttributeName(attribute)+": "+getValueOffline(attribute)+"<br>");
        sb.append(getAttributeName(attribute)).append(": ")
            .append(getValueOffline(attribute)).append("<br>");
      }
      for (ObjectClass oc : objectClasses)
      {
        sb.append(getAttributeName(oc)+": "+getValueOffline(oc)+"<br>");
        sb.append(getAttributeName(oc)).append(": ")
            .append(getValueOffline(oc)).append("<br>");
      }
      sb.append("</b><br><br>");
@@ -628,7 +626,7 @@
      StringBuilder sb = new StringBuilder();
      sb.append(INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_ADD_SCHEMA_ENTRY_OFFLINE.get(
          Utils.getStringFromCollection(names, ", "),
              schemaFile)+"<br><b>");
          schemaFile)).append("<br><b>");
      for (String line : getSchemaEntryLines())
      {
        sb.append(line);
@@ -636,12 +634,13 @@
      }
      for (AttributeType attribute : attributes)
      {
        sb.append(
            getAttributeName(attribute)+": "+getValueOffline(attribute)+"<br>");
        sb.append(getAttributeName(attribute)).append(": ")
            .append(getValueOffline(attribute)).append("<br>");
      }
      for (ObjectClass oc : objectClasses)
      {
        sb.append(getAttributeName(oc)+": "+getValueOffline(oc)+"<br>");
        sb.append(getAttributeName(oc)).append(": ")
            .append(getValueOffline(oc)).append("<br>");
      }
      sb.append("</b><br><br>");
      getProgressDialog().appendProgressHtml(Utilities.applyFont(sb.toString(),
@@ -651,7 +650,7 @@
  /**
   * Returns whether the file defined in the schema element exists or not.
   * @param the path to the schema file.
   * @param schemaFile the path to the schema file.
   * @return <CODE>true</CODE> if the schema file is defined and
   * <CODE>false</CODE> otherwise.
   */
@@ -673,17 +672,9 @@
    }
    finally
    {
      if (reader != null)
      {
        try
        {
          reader.close();
        }
        catch (Throwable t)
        {
        }
      }
      StaticUtils.close(reader);
    }
    return schemaDefined;
  }
@@ -724,11 +715,11 @@
        new LDIFExportConfig(schemaFile,
                             ExistingFileBehavior.OVERWRITE);
      LDIFReader reader = null;
      Entry schemaEntry = null;
      LDIFWriter writer = null;
      try
      {
        reader = new LDIFReader(new LDIFImportConfig(schemaFile));
        schemaEntry = reader.readEntry();
        Entry schemaEntry = reader.readEntry();
        for (AttributeType attribute : attributes)
        {
@@ -744,35 +735,18 @@
                  getValueOffline(oc)));
          schemaEntry.applyModification(mod);
        }
        LDIFWriter writer = new LDIFWriter(exportConfig);
        writer = new LDIFWriter(exportConfig);
        writer.writeEntry(schemaEntry);
        exportConfig.getWriter().newLine();
      }
      catch (Throwable t)
      {
        throw new OfflineUpdateException(
            ERR_CTRL_PANEL_ERROR_UPDATING_SCHEMA.get(t.toString()), t);
      }
      finally
      {
        if (reader != null)
        {
          try
          {
            reader.close();
          }
          catch (Throwable t)
          {
          }
        }
        if (exportConfig != null)
        {
          try
          {
            exportConfig.close();
          }
          catch (Throwable t)
          {
          }
        }
        StaticUtils.close(reader, exportConfig, writer);
      }
    }
    else
@@ -808,16 +782,7 @@
      }
      finally
      {
        if (exportConfig != null)
        {
          try
          {
            exportConfig.close();
          }
          catch (Throwable t)
          {
          }
        }
        StaticUtils.close(exportConfig);
      }
    }
  }
opends/src/guitools/org/opends/guitools/controlpanel/util/SchemaLoader.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.guitools.controlpanel.util;
@@ -106,10 +107,10 @@
    }
  }
  private static String getSchemaDirectoryPath(boolean userSchema)
  private static String getSchemaDirectoryPath()
  {
    File schemaDir =
      DirectoryServer.getEnvironmentConfig().getSchemaDirectory(userSchema);
      DirectoryServer.getEnvironmentConfig().getSchemaDirectory();
    if (schemaDir != null) {
      return schemaDir.getAbsolutePath();
    } else {
@@ -130,16 +131,11 @@
  {
    schema = getBaseSchema();
    String[] fileNames = null;
    String[] fileNames;
    String schemaDirPath= getSchemaDirectoryPath();
    try
    {
      String installPath  =
        new File(DirectoryServer.getServerRoot()).getCanonicalPath();
      String instancePath =
        new File(DirectoryServer.getInstanceRoot()).getCanonicalPath();
      // Load install directory schema
      String schemaDirPath= getSchemaDirectoryPath(false);
      File schemaDir = new File(schemaDirPath);
      if (schemaDirPath == null || ! schemaDir.exists())
      {
@@ -177,27 +173,11 @@
          return accept;
        }
      };
      File[] schemaInstallDirFiles = schemaDir.listFiles(ldifFiles);
      File[] schemaInstanceDirFiles = null ;
      int size = schemaInstallDirFiles.length;
      if (! installPath.equals(instancePath))
      {
        schemaDirPath= getSchemaDirectoryPath(true);
        schemaDir = new File(schemaDirPath);
        if (schemaDirPath != null
            &&
            schemaDir.exists()
            &&
            schemaDir.isDirectory())
        {
          schemaInstanceDirFiles = schemaDir.listFiles(ldifFiles);
          size += schemaInstanceDirFiles.length;
        }
      }
      File[] schemaFiles = schemaDir.listFiles(ldifFiles);
      int size = schemaFiles.length;
      ArrayList<String> fileList = new ArrayList<String>(size);
      for (File f : schemaInstallDirFiles)
      for (File f : schemaFiles)
      {
        if (f.isFile())
        {
@@ -205,26 +185,10 @@
        }
      }
      if (schemaInstanceDirFiles != null)
      {
        for (File f : schemaInstanceDirFiles)
        {
          if (f.isFile())
          {
            fileList.add(f.getName());
          }
        }
      }
      fileNames = new String[fileList.size()];
      fileList.toArray(fileNames);
      Arrays.sort(fileNames);
    }
    catch (Throwable t)
    {
      t.printStackTrace();
    }
    /*
    catch (InitializationException ie)
    {
      throw ie;
@@ -232,10 +196,9 @@
    catch (Exception e)
    {
      Message message = ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES.get(
          schemaDirPath, getExceptionMessage(e));
          schemaDirPath, e.getMessage());
      throw new InitializationException(message, e);
    }
    */
//  Iterate through the schema files and read them as an LDIF file containing
//  a single entry.  Then get the attributeTypes and objectClasses attributes
opends/src/messages/messages/config.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2010 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -652,7 +653,7 @@
 Server schema definitions because the schema directory %s exists but is not a \
 directory
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Unable to read the Directory \
 Server schema definitions from directory %s or %s because an unexpected error \
 Server schema definitions from directory %s because an unexpected error \
 occurred while trying to list the files in that directory:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_OPEN_FILE_191=Schema configuration file %s \
 in directory %s cannot be parsed because an unexpected error occurred while \
@@ -2186,3 +2187,4 @@
MILD_WARN_CONFIG_LOGGING_UNSUPPORTED_FIELDS_IN_LOG_FORMAT_734=The log format \
 for %s contains the folowing unsupported fields: %s. Their output will be \
 replaced with a dash ("-") character
NOTICE_DIRECTORY_CONFIGURATION_CHANGED_735=The server configuration has been changed
opends/src/messages/messages/config_de.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -235,7 +236,7 @@
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_CONFLICTING_SYNTAX_187=Die in Konfigurationseintrag %s definierte Attributsyntax widerspricht einer anderen in der Serverkonfiguration definierten Syntax:  %s.  Diese Attributsyntax wird nicht verwendet
SEVERE_ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR_188=Die Directory-Server-Schemadefinitionen konnten nicht gelesen werden, da das Schemaverzeichnis %s nicht vorhanden ist
SEVERE_ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY_189=Die Directory-Server-Schemadefinitionen konnten nicht gelesen werden, da das Schemaverzeichnis %s zwar vorhanden ist, aber kein Verzeichnis darstellt
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Die Directory-Server-Schemadefinitionen konnten nicht aus Verzeichnis %s oder %s gelesen werden, da beim Versuch, die Dateien in diesem Verzeichnis aufzulisten, ein unerwarteter Fehler aufgetreten ist:  %s
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Die Directory-Server-Schemadefinitionen konnten nicht aus Verzeichnis %s gelesen werden, da beim Versuch, die Dateien in diesem Verzeichnis aufzulisten, ein unerwarteter Fehler aufgetreten ist:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_OPEN_FILE_191=Die Schemakonfigurationsdatei %s in Verzeichnis %s kann nicht analysiert werden, da beim Versuch, die Datei zum Lesen zu \u00f6ffnen, ein unerwarteter Fehler aufgetreten ist:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY_192=Die Schemakonfigurationsdatei %s in Verzeichnis %s kann nicht analysiert werden, da beim Versuch, den Inhalt als LDIF-Eintrag zu lesen, ein unerwarteter Fehler aufgetreten ist:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE_193=Eine Attributtypdefinition konnte nicht aus Schemakonfigurationsdatei %s gelesen werden:  %s
opends/src/messages/messages/config_es.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -235,7 +236,7 @@
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_CONFLICTING_SYNTAX_187=La sintaxis de atributo definida en la entrada de configuraci\u00f3n %s entra en conflicto con otra sintaxis definida en la configuraci\u00f3n del servidor:  %s.  Esta sintaxis de atributo no se utilizar\u00e1
SEVERE_ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR_188=No pueden leerse las definiciones del esquema del Servidor de directorios porque el directorio de esquema %s no existe
SEVERE_ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY_189=No pueden leerse las definiciones del esquema del Servidor de directorios debido a que, pese a que existe el directorio de esquema %s, \u00e9ste no es un directorio
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=No pueden leerse las definiciones del esquema del Servidor de directorios desde el directorio %s o %s debido a que se ha producido un error inesperado al tratar de mostrar los archivos en ese directorio: %s
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=No pueden leerse las definiciones del esquema del Servidor de directorios desde el directorio %s debido a que se ha producido un error inesperado al tratar de mostrar los archivos en ese directorio: %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_OPEN_FILE_191=No puede analizarse el archivo de configuraci\u00f3n de esquema %s en el directorio %s debido a que se ha producido un error inesperado al tratar de abrir el archivo para su lectura:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY_192=No puede analizarse el archivo de configuraci\u00f3n de esquema %s en el directorio %s debido a que se ha producido un error inesperado al tratar de leer su contenido como una entrada LDIF:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE_193=No puede analizarse una definici\u00f3n del tipo de atributo del archivo de configuraci\u00f3n de esquema %s:  %s
opends/src/messages/messages/config_fr.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -235,7 +236,7 @@
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_CONFLICTING_SYNTAX_187=La syntaxe d\u2019attribut d\u00e9finie dans l\u2019entr\u00e9e de configuration %s est en conflit avec une autre syntaxe d\u2019attribut d\u00e9finie dans la configuration de serveur\u00a0: %s. Cette syntaxe d\u2019attribut ne sera pas utilis\u00e9e
SEVERE_ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR_188=Impossible de lire les d\u00e9finitions de sch\u00e9ma Directory Server car le r\u00e9pertoire de sch\u00e9ma %s n\u2019existe pas
SEVERE_ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY_189=Impossible de lire les d\u00e9finitions de sch\u00e9ma Directory Server car le r\u00e9pertoire de sch\u00e9ma %s existe mais n\u2019est pas un r\u00e9pertoire
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Impossible de lire les d\u00e9finitions de sch\u00e9ma Directory Server depuis le r\u00e9pertoire %s ou %s car une erreur inattendue s\u2019est produite lors de la tentative d\u2019\u00e9num\u00e9ration des fichiers de ce r\u00e9pertoire\u00a0: %s
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Impossible de lire les d\u00e9finitions de sch\u00e9ma Directory Server depuis le r\u00e9pertoire %s car une erreur inattendue s\u2019est produite lors de la tentative d\u2019\u00e9num\u00e9ration des fichiers de ce r\u00e9pertoire\u00a0: %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_OPEN_FILE_191=Impossible d\u2019analyser le fichier de configuration de sch\u00e9ma %s dans le r\u00e9pertoire %s car une erreur inattendue s\u2019est produite lors de la tentative d\u2019ouverture du fichier pour la lecture\u00a0: %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY_192=Impossible d\u2019analyser le fichier de configuration de sch\u00e9ma %s dans le r\u00e9pertoire %s car une erreur inattendue s\u2019est produite lors de la tentative de lecture de son contenu en tant qu\u2019entr\u00e9e LDIF\u00a0: %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE_193=Impossible d\u2019analyser une d\u00e9finition de type d\u2019attribut \u00e0 partir du fichier de configuration de sch\u00e9ma %s\u00a0: %s
opends/src/messages/messages/config_ja.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -235,7 +236,7 @@
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_CONFLICTING_SYNTAX_187=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u5c5e\u6027\u69cb\u6587\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u69cb\u6210\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u5225\u306e\u69cb\u6587\u3068\u7af6\u5408\u3057\u3066\u3044\u307e\u3059:  %s\u3002\u3053\u306e\u5c5e\u6027\u69cb\u6587\u306f\u4f7f\u7528\u3055\u308c\u307e\u305b\u3093
SEVERE_ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR_188=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306e\u30b9\u30ad\u30fc\u30de\u5b9a\u7fa9\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3002\u30b9\u30ad\u30fc\u30de\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u304c\u5b58\u5728\u3057\u307e\u305b\u3093
SEVERE_ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY_189=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306e\u30b9\u30ad\u30fc\u30de\u5b9a\u7fa9\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3002\u30b9\u30ad\u30fc\u30de\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u306f\u5b58\u5728\u3057\u307e\u3059\u304c\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u307e\u305f\u306f %s \u304b\u3089\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306e\u30b9\u30ad\u30fc\u30de\u5b9a\u7fa9\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3002\u3053\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4e00\u89a7\u8868\u793a\u4e2d\u306b\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:  %s
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u304b\u3089\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306e\u30b9\u30ad\u30fc\u30de\u5b9a\u7fa9\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3002\u3053\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4e00\u89a7\u8868\u793a\u4e2d\u306b\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_OPEN_FILE_191=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %2$s \u5185\u306e\u30b9\u30ad\u30fc\u30de\u69cb\u6210\u30d5\u30a1\u30a4\u30eb %1$s \u3092\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308a\u7528\u306b\u958b\u3044\u3066\u3044\u308b\u3068\u304d\u306b\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:  %3$s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY_192=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %2$s \u5185\u306e\u30b9\u30ad\u30fc\u30de\u69cb\u6210\u30d5\u30a1\u30a4\u30eb %1$s \u3092\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u5185\u5bb9\u3092 LDIF \u30a8\u30f3\u30c8\u30ea\u3068\u3057\u3066\u8aad\u307f\u53d6\u3063\u3066\u3044\u308b\u3068\u304d\u306b\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:  %3$s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE_193=\u30b9\u30ad\u30fc\u30de\u69cb\u6210\u30d5\u30a1\u30a4\u30eb %s \u306e\u5c5e\u6027\u578b\u5b9a\u7fa9\u3092\u89e3\u6790\u3067\u304d\u307e\u305b\u3093:  %s
opends/src/messages/messages/config_ko.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -228,14 +229,14 @@
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_NO_ENABLED_ATTR_180=\uc18d\uc131 \uad6c\ubb38 \uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uad6c\ubb38\uc744 \ud65c\uc131\ud654 \ub610\ub294 \ube44\ud65c\uc131\ud654\ud560\uc9c0 \uc5ec\ubd80\ub97c \ub098\ud0c0\ub0b4\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 ds-cfg-enabled \uc18d\uc131\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \uc18d\uc131\uc774 \uc5c6\uc73c\uba74 \uae30\ubcf8\uc801\uc73c\ub85c \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4.
INFO_CONFIG_SCHEMA_SYNTAX_DISABLED_181=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c \uc18d\uc131 \uad6c\ubb38\uc774 \ube44\ud65c\uc131\uc73c\ub85c \ud45c\uc2dc\ub418\uc5b4 \uc788\uc73c\ubbc0\ub85c \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\uc804\uc5d0 \ud558\ub098 \uc774\uc0c1\uc758 \uc18d\uc131\uc5d0 \ub300\ud574 \uc77c\uce58 \uaddc\uce59\uc774 \uc0ac\uc6a9\ub41c \uacbd\uc6b0 \ud574\ub2f9 \uc18d\uc131 \uac12\uc5d0 \ub300\ud55c \uc77c\uce58\uac00 \ub354 \uc774\uc0c1 \uc791\ub3d9\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_UNABLE_TO_DETERMINE_ENABLED_STATE_182=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc5f0\uacb0\ub41c \uc18d\uc131 \uad6c\ubb38\uc744 \ud65c\uc131\ud654 \ub610\ub294 \ube44\ud65c\uc131\ud654\ud560\uc9c0 \uc5ec\ubd80\ub97c \ud655\uc778\ud558\ub294 \ub3d9\uc548 \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s. \uc18d\uc131 \uad6c\ubb38\uc774 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4.
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_NO_CLASS_ATTR_183=Matching rule configuration entry %s does not contain attribute ds-cfg-java-class, which is used to specify the name of the class that provides the attribute syntax implementation.  \uc774 \uad6c\uc131 \ud56d\ubaa9\uacfc \uc5f0\uacb0\ub41c \uad6c\ubb38\uc774 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4.
#SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_NO_CLASS_ATTR_183=Matching rule configuration entry %s does not contain attribute ds-cfg-java-class, which is used to specify the name of the class that provides the attribute syntax implementation.  \uc774 \uad6c\uc131 \ud56d\ubaa9\uacfc \uc5f0\uacb0\ub41c \uad6c\ubb38\uc774 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4.
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_CANNOT_GET_CLASS_184=\uc18d\uc131 \uad6c\ubb38 %s\uc5d0 \ub300\ud55c \uad6c\ud604\uc774 \ud3ec\ud568\ub41c Java \ud074\ub798\uc2a4 \uc774\ub984\uc744 \ud655\uc778\ud558\ub294 \ub3d9\uc548 \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s. \uc774 \uad6c\ubb38\uc774 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4.
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_CANNOT_INSTANTIATE_185=\ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uc5d0\uc11c %s \ud074\ub798\uc2a4\ub97c \ub85c\ub4dc\ud558\uc5ec \uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c \ub300\ub85c \uc18d\uc131 \uad6c\ubb38 \uc778\uc2a4\ud134\uc2a4\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. %s \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \uc774 \uad6c\ubb38\uc774 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4.
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_CANNOT_INITIALIZE_186=%1$s \ud074\ub798\uc2a4\uc5d0\uc11c \ub85c\ub4dc\ub41c \uc18d\uc131 \uad6c\ubb38\uc744 \uad6c\uc131 \ud56d\ubaa9 %2$s\uc758 \uc815\ubcf4\ub85c \ucd08\uae30\ud654\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %3$s. \uc774 \uad6c\ubb38\uc774 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4.
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_CONFLICTING_SYNTAX_187=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c \uc18d\uc131 \uad6c\ubb38\uc774 \uc11c\ubc84 \uad6c\uc131\uc5d0 \uc815\uc758\ub41c \ub2e4\ub978 \uad6c\ubb38\uacfc \ucda9\ub3cc\ud569\ub2c8\ub2e4: %s. \uc774 \uc18d\uc131 \uad6c\ubb38\uc774 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
SEVERE_ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR_188=\uc2a4\ud0a4\ub9c8 \ub514\ub809\ud1a0\ub9ac %s\uc774(\uac00) \uc5c6\uae30 \ub54c\ubb38\uc5d0 \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84 \uc2a4\ud0a4\ub9c8 \uc815\uc758\ub97c \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
SEVERE_ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY_189=\uc2a4\ud0a4\ub9c8 \ub514\ub809\ud1a0\ub9ac %s\uc774(\uac00) \uc788\uc9c0\ub9cc \ub514\ub809\ud1a0\ub9ac\uac00 \uc544\ub2c8\ubbc0\ub85c \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84 \uc2a4\ud0a4\ub9c8 \uc815\uc758\ub97c \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Unable to read the Directory Server schema definitions from directory %s or %s because an unexpected error occurred while trying to list the files in that directory:  %s
#SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Unable to read the Directory Server schema definitions from directory %s because an unexpected error occurred while trying to list the files in that directory:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_OPEN_FILE_191=\uc77d\uc744 \ud30c\uc77c\uc744 \uc5ec\ub294 \ub3d9\uc548 \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac %2$s\uc758 \uc2a4\ud0a4\ub9c8 \uad6c\uc131 \ud30c\uc77c %1$s\uc744(\ub97c) \uad6c\ubb38 \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %3$s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY_192=\ub514\ub809\ud1a0\ub9ac %2$s\uc758 \uc2a4\ud0a4\ub9c8 \uad6c\uc131 \ud30c\uc77c %1$s\uc758 \ub0b4\uc6a9\uc744 LDIF \ud56d\ubaa9\uc73c\ub85c \uc77d\ub294 \ub3d9\uc548 \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uc5ec \uc774 \ud30c\uc77c\uc744 \uad6c\ubb38 \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %3$s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE_193=\uc2a4\ud0a4\ub9c8 \uad6c\uc131 \ud30c\uc77c %s\uc5d0\uc11c \uc18d\uc131 \uc720\ud615 \uc815\uc758\ub97c \uad6c\ubb38 \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s
opends/src/messages/messages/config_zh_CN.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -235,7 +236,7 @@
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_CONFLICTING_SYNTAX_187=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684\u5c5e\u6027\u8bed\u6cd5\u4e0e\u670d\u52a1\u5668\u914d\u7f6e\u4e2d\u5b9a\u4e49\u7684\u53e6\u4e00\u4e2a\u8bed\u6cd5\u51b2\u7a81: %s\u3002\u5c06\u4e0d\u4f1a\u4f7f\u7528\u6b64\u5c5e\u6027\u8bed\u6cd5
SEVERE_ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR_188=\u65e0\u6cd5\u8bfb\u53d6\u76ee\u5f55\u670d\u52a1\u5668\u6a21\u5f0f\u5b9a\u4e49\uff0c\u56e0\u4e3a\u6a21\u5f0f\u76ee\u5f55 %s \u4e0d\u5b58\u5728
SEVERE_ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY_189=\u65e0\u6cd5\u8bfb\u53d6\u76ee\u5f55\u670d\u52a1\u5668\u6a21\u5f0f\u5b9a\u4e49\uff0c\u56e0\u4e3a\u867d\u7136\u6a21\u5f0f\u76ee\u5f55 %s \u5b58\u5728\uff0c\u4f46\u662f\u5b83\u5e76\u4e0d\u662f\u76ee\u5f55
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=\u65e0\u6cd5\u4ece\u76ee\u5f55 %s \u6216 %s \u8bfb\u53d6\u76ee\u5f55\u670d\u52a1\u5668\u6a21\u5f0f\u5b9a\u4e49\uff0c\u56e0\u4e3a\u5c1d\u8bd5\u5217\u51fa\u8be5\u76ee\u5f55\u4e2d\u7684\u6587\u4ef6\u65f6\u51fa\u73b0\u610f\u5916\u9519\u8bef: %s
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=\u65e0\u6cd5\u4ece\u76ee\u5f55 %s \u8bfb\u53d6\u76ee\u5f55\u670d\u52a1\u5668\u6a21\u5f0f\u5b9a\u4e49\uff0c\u56e0\u4e3a\u5c1d\u8bd5\u5217\u51fa\u8be5\u76ee\u5f55\u4e2d\u7684\u6587\u4ef6\u65f6\u51fa\u73b0\u610f\u5916\u9519\u8bef: %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_OPEN_FILE_191=\u65e0\u6cd5\u89e3\u6790\u76ee\u5f55 %2$s \u4e2d\u7684\u6a21\u5f0f\u914d\u7f6e\u6587\u4ef6 %1$s\uff0c\u56e0\u4e3a\u5c1d\u8bd5\u6253\u5f00\u7528\u4e8e\u8bfb\u53d6\u7684\u6587\u4ef6\u65f6\u51fa\u73b0\u610f\u5916\u9519\u8bef: %3$s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY_192=\u65e0\u6cd5\u89e3\u6790\u76ee\u5f55 %2$s \u4e2d\u7684\u6a21\u5f0f\u914d\u7f6e\u6587\u4ef6 %1$s\uff0c\u56e0\u4e3a\u5c1d\u8bd5\u5c06\u5176\u5185\u5bb9\u4f5c\u4e3a LDIF \u6761\u76ee\u8bfb\u53d6\u65f6\u51fa\u73b0\u610f\u5916\u9519\u8bef: %3$s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE_193=\u65e0\u6cd5\u4ece\u6a21\u5f0f\u914d\u7f6e\u6587\u4ef6 %s \u89e3\u6790\u5c5e\u6027\u7c7b\u578b\u5b9a\u4e49: %s
opends/src/messages/messages/config_zh_TW.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -228,14 +229,14 @@
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_NO_ENABLED_ATTR_180=\u5c6c\u6027\u8a9e\u6cd5\u914d\u7f6e\u9805\u76ee %s \u4e0d\u5305\u542b ds-cfg-enabled \u5c6c\u6027\uff0c\u800c\u6b64\u5c6c\u6027\u7528\u4f86\u8868\u793a\u61c9\u8a72\u555f\u7528\u6216\u505c\u7528\u8a9e\u6cd5\u3002\u5982\u679c\u6c92\u6709\u6b64\u5c6c\u6027\uff0c\u5247\u6703\u9810\u8a2d\u70ba\u505c\u7528
INFO_CONFIG_SCHEMA_SYNTAX_DISABLED_181=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u5b9a\u7fa9\u7684\u5c6c\u6027\u8a9e\u6cd5\u5df2\u6a19\u793a\u70ba\u505c\u7528\uff0c\u56e0\u6b64\u5c07\u4e0d\u6703\u4f7f\u7528\u3002\u5982\u679c\u904e\u53bb\u5df2\u5c07\u5b83\u7528\u65bc\u4e00\u6216\u591a\u500b\u5c6c\u6027\uff0c\u5247\u90a3\u4e9b\u5c6c\u6027\u503c\u7684\u76f8\u7b26\u53ef\u80fd\u7121\u6cd5\u518d\u904b\u4f5c
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_UNABLE_TO_DETERMINE_ENABLED_STATE_182=\u5617\u8a66\u5224\u5b9a\u61c9\u8a72\u555f\u7528\u6216\u505c\u7528\u8207\u914d\u7f6e\u9805\u76ee %s \u76f8\u95dc\u7684\u5c6c\u6027\u8a9e\u6cd5\u6642\uff0c\u767c\u751f\u672a\u9810\u671f\u7684\u932f\u8aa4: %s\u3002\u5c07\u4e88\u4ee5\u505c\u7528
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_NO_CLASS_ATTR_183=Matching rule configuration entry %s does not contain attribute ds-cfg-java-class, which is used to specify the name of the class that provides the attribute syntax implementation.  \u5c07\u505c\u7528\u8207\u6b64\u914d\u7f6e\u9805\u76ee\u76f8\u95dc\u7684\u8a9e\u6cd5
#SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_NO_CLASS_ATTR_183=Matching rule configuration entry %s does not contain attribute ds-cfg-java-class, which is used to specify the name of the class that provides the attribute syntax implementation.  \u5c07\u505c\u7528\u8207\u6b64\u914d\u7f6e\u9805\u76ee\u76f8\u95dc\u7684\u8a9e\u6cd5
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_CANNOT_GET_CLASS_184=\u5617\u8a66\u5224\u5b9a\u542b\u6709\u5c6c\u6027\u8a9e\u6cd5 %s \u5be6\u4f5c\u7684 Java \u985e\u5225\u540d\u7a31\u6642\uff0c\u767c\u751f\u672a\u9810\u671f\u7684\u932f\u8aa4: %s\u3002\u5c07\u505c\u7528\u6b64\u8a9e\u6cd5
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_CANNOT_INSTANTIATE_185=\u76ee\u9304\u4f3a\u670d\u5668\u7121\u6cd5\u8f09\u5165\u985e\u5225 %s\uff0c\u4e26\u4f7f\u7528\u6b64\u985e\u5225\u4f86\u5efa\u7acb\u914d\u7f6e\u9805\u76ee %s \u4e2d\u5b9a\u7fa9\u7684\u5c6c\u6027\u8a9e\u6cd5\u5be6\u4f8b\u3002\u767c\u751f\u7684\u932f\u8aa4\u70ba: %s\u3002\u5c07\u505c\u7528\u6b64\u8a9e\u6cd5
SEVERE_ERR_CONFIG_SCHEMA_SYNTAX_CANNOT_INITIALIZE_186=\u5617\u8a66\u4f7f\u7528\u914d\u7f6e\u9805\u76ee %2$s \u4e2d\u7684\u8cc7\u8a0a\uff0c\u521d\u59cb\u5316\u5f9e\u985e\u5225 %1$s \u8f09\u5165\u7684\u5c6c\u6027\u8a9e\u6cd5\u6642\u767c\u751f\u932f\u8aa4: %3$s\u3002\u5c07\u505c\u7528\u6b64\u8a9e\u6cd5
SEVERE_WARN_CONFIG_SCHEMA_SYNTAX_CONFLICTING_SYNTAX_187=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u5b9a\u7fa9\u7684\u5c6c\u6027\u8a9e\u6cd5\uff0c\u8207\u4f3a\u670d\u5668\u914d\u7f6e\u4e2d\u5b9a\u7fa9\u7684\u53e6\u4e00\u500b\u8a9e\u6cd5\u885d\u7a81: %s\u3002\u5c07\u4e0d\u6703\u4f7f\u7528\u6b64\u5c6c\u6027\u8a9e\u6cd5
SEVERE_ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR_188=\u7121\u6cd5\u8b80\u53d6\u76ee\u9304\u4f3a\u670d\u5668\u6a21\u5f0f\u5b9a\u7fa9\uff0c\u56e0\u70ba\u6a21\u5f0f\u76ee\u9304 %s \u4e0d\u5b58\u5728
SEVERE_ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY_189=\u7121\u6cd5\u8b80\u53d6\u76ee\u9304\u4f3a\u670d\u5668\u6a21\u5f0f\u5b9a\u7fa9\uff0c\u56e0\u70ba\u6a21\u5f0f\u76ee\u9304 %s \u5b58\u5728\u4f46\u4e0d\u662f\u76ee\u9304
SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Unable to read the Directory Server schema definitions from directory %s or %s because an unexpected error occurred while trying to list the files in that directory:  %s
#SEVERE_ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES_190=Unable to read the Directory Server schema definitions from directory %s because an unexpected error occurred while trying to list the files in that directory:  %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_OPEN_FILE_191=\u7121\u6cd5\u5256\u6790\u6a21\u5f0f\u914d\u7f6e\u6a94\u6848 %s (\u4f4d\u65bc\u76ee\u9304 %s \u4e2d)\uff0c\u56e0\u70ba\u5617\u8a66\u958b\u555f\u6a94\u6848\u4ee5\u8b80\u53d6\u6642\u767c\u751f\u672a\u9810\u671f\u7684\u932f\u8aa4: %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_READ_LDIF_ENTRY_192=\u7121\u6cd5\u5256\u6790\u6a21\u5f0f\u914d\u7f6e\u6a94\u6848 %s (\u4f4d\u65bc\u76ee\u9304 %s \u4e2d)\uff0c\u56e0\u70ba\u5617\u8a66\u5c07\u5b83\u7684\u5167\u5bb9\u8b80\u53d6\u70ba LDIF \u9805\u76ee\u6642\u767c\u751f\u672a\u9810\u671f\u7684\u932f\u8aa4: %s
SEVERE_WARN_CONFIG_SCHEMA_CANNOT_PARSE_ATTR_TYPE_193=\u7121\u6cd5\u5256\u6790\u6a21\u5f0f\u914d\u7f6e\u6a94\u6848 %s \u4e2d\u7684\u5c6c\u6027\u985e\u578b\u5b9a\u7fa9: %s
opends/src/messages/messages/task.properties
@@ -21,7 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions copyright 2012 ForgeRock AS.
#      Portions copyright 2012-2013 ForgeRock AS.
@@ -61,10 +61,10 @@
 %s of task entry %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=Unable to add one or more files \
 to the server schema because the specified schema file %s does not exist in \
 schema directories %s or %s
 schema directory %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=Unable to add one or \
 more files to the server schema because an error occurred while attempting to \
 determine whether file %s exists in schema directory %s or %s:  %s
 determine whether file %s exists in schema directory %s:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_LOADING_SCHEMA_FILE_8=An error occurred \
 while attempting to load the contents of schema file %s into the server \
 schema:  %s
opends/src/messages/messages/task_de.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -52,8 +53,8 @@
INFO_TASK_SHUTDOWN_DEFAULT_MESSAGE_3=Das Beenden des Directory-Servers wurde von Aufgabe %s initiiert
INFO_TASK_SHUTDOWN_CUSTOM_MESSAGE_4=Das Beenden des Directory-Servers wurde von Aufgabe %s initiiert: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_FILENAME_5=Eine oder mehrere Dateien konnten nicht zum Server-Schema hinzugef\u00fcgt werden, da keine Schemadateinamen in Attribut %s des Aufgabeneintrags %s angegeben war
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=Eine oder mehrere Dateien konnten nicht zum Server-Schema hinzugef\u00fcgt werden, da die angegebene Schemadatei %s nicht in Schemaverzeichnis %s oder %s vorhanden ist
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=Eine oder mehrere Dateien konnten nicht zum Server-Schema hinzugef\u00fcgt werden, da beim Versuch, festzustellen, ob Datei %s in Schemaverzeichnis %s oder %s vorhanden ist, ein Fehler aufgetreten ist:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=Eine oder mehrere Dateien konnten nicht zum Server-Schema hinzugef\u00fcgt werden, da die angegebene Schemadatei %s nicht in Schemaverzeichnis %s vorhanden ist
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=Eine oder mehrere Dateien konnten nicht zum Server-Schema hinzugef\u00fcgt werden, da beim Versuch, festzustellen, ob Datei %s in Schemaverzeichnis %s vorhanden ist, ein Fehler aufgetreten ist:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_LOADING_SCHEMA_FILE_8=Fehler beim Versuch, den Inhalt von Schemadatei %s in das Server-Schema zu laden:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_CANNOT_LOCK_SCHEMA_9=Eine oder mehrere Dateien konnten nicht zum Server-Schema hinzugef\u00fcgt werden, da der Server nach mehreren Versuchen keine Schreibsperre f\u00fcr Schemaeintrag %s hinzuf\u00fcgen konnte
SEVERE_ERR_TASK_ADDSCHEMAFILE_INSUFFICIENT_PRIVILEGES_10=Sie verf\u00fcgen nicht \u00fcber ausreichende Berechtigungen, um das Server-Schema zu \u00e4ndern
opends/src/messages/messages/task_es.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -52,8 +53,8 @@
INFO_TASK_SHUTDOWN_DEFAULT_MESSAGE_3=La tarea %s ha iniciado el proceso de cierre del servidor de directorios
INFO_TASK_SHUTDOWN_CUSTOM_MESSAGE_4=La tarea %s ha iniciado el proceso de cierre del servidor de directorios:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_FILENAME_5=No se pueden a\u00f1adir uno o m\u00e1s archivos al esquema de servidor porque no se han proporcionado nombres de archivo de esquema en el atributo %s de la entrada de tarea %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=No se pueden a\u00f1adir uno o m\u00e1s archivos al esquema de servidor porque el archivo de esquema %s especificado no existe en los directorios de esquema %s o %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=No se pueden a\u00f1adir uno o m\u00e1s archivos al esquema de servidor porque se ha producido un error al tratar de determinar si existe el archivo %s en el directorio de esquema %s o %s: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=No se pueden a\u00f1adir uno o m\u00e1s archivos al esquema de servidor porque el archivo de esquema %s especificado no existe en los directorios de esquema %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=No se pueden a\u00f1adir uno o m\u00e1s archivos al esquema de servidor porque se ha producido un error al tratar de determinar si existe el archivo %s en el directorio de esquema %s: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_LOADING_SCHEMA_FILE_8=Se ha producido un error al tratar de cargar los contenidos del archivo de esquema %s en el esquema de servidor: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_CANNOT_LOCK_SCHEMA_9=No se pueden a\u00f1adir uno o m\u00e1s archivos al esquema de servidor porque, tras varios intentos, el servidor no pudo obtener un bloqueo de escritura sobre la entrada de esquema %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_INSUFFICIENT_PRIVILEGES_10=No dispone de suficientes privilegios para modificar el esquema de servidor
opends/src/messages/messages/task_fr.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -52,8 +53,8 @@
INFO_TASK_SHUTDOWN_DEFAULT_MESSAGE_3=Le processus d'arr\u00eat de Directory Server a \u00e9t\u00e9 initi\u00e9 par la t\u00e2che %s
INFO_TASK_SHUTDOWN_CUSTOM_MESSAGE_4=Le processus d'arr\u00eat de Directory Server a \u00e9t\u00e9 initi\u00e9 par la t\u00e2che %s\u00a0: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_FILENAME_5=Impossible d'ajouter un ou plusieurs fichiers au sch\u00e9ma de serveur car aucun nom de fichier de sch\u00e9ma n'a \u00e9t\u00e9 fourni dans l'attribut %s de l'entr\u00e9e de t\u00e2che %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=Impossible d'ajouter un ou plusieurs fichiers au sch\u00e9ma de serveur car le fichier de sch\u00e9ma sp\u00e9cifi\u00e9 (%s) n'existe pas dans les r\u00e9pertoires de sch\u00e9ma %s ou %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=Impossible d'ajouter un ou plusieurs fichiers au sch\u00e9ma de serveur car une erreur s'est produite lors de la tentative de d\u00e9termination de l'existence du fichier %s dans le r\u00e9pertoire de sch\u00e9ma %s ou %s\u00a0: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=Impossible d'ajouter un ou plusieurs fichiers au sch\u00e9ma de serveur car le fichier de sch\u00e9ma sp\u00e9cifi\u00e9 (%s) n'existe pas dans les r\u00e9pertoires de sch\u00e9ma %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=Impossible d'ajouter un ou plusieurs fichiers au sch\u00e9ma de serveur car une erreur s'est produite lors de la tentative de d\u00e9termination de l'existence du fichier %s dans le r\u00e9pertoire de sch\u00e9ma %s\u00a0: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_LOADING_SCHEMA_FILE_8=Une erreur s'est produite lors de la tentative de chargement du contenu du fichier de sch\u00e9ma %s dans le sch\u00e9ma de serveur\u00a0: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_CANNOT_LOCK_SCHEMA_9=Impossible d'ajouter un ou plusieurs fichiers au sch\u00e9ma de serveur car ce serveur n'a pas pu obtenir de verrou en \u00e9criture sur l'entr\u00e9e de sch\u00e9ma %s apr\u00e8s plusieurs tentatives
SEVERE_ERR_TASK_ADDSCHEMAFILE_INSUFFICIENT_PRIVILEGES_10=Vous ne disposez pas de privil\u00e8ges suffisants pour modifier le sch\u00e9ma de serveur
opends/src/messages/messages/task_ja.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -52,8 +53,8 @@
INFO_TASK_SHUTDOWN_DEFAULT_MESSAGE_3=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u30d7\u30ed\u30bb\u30b9\u304c\u30bf\u30b9\u30af %s \u306b\u3088\u308a\u958b\u59cb\u3055\u308c\u307e\u3057\u305f
INFO_TASK_SHUTDOWN_CUSTOM_MESSAGE_4=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u30d7\u30ed\u30bb\u30b9\u304c\u30bf\u30b9\u30af %s \u306b\u3088\u308a\u958b\u59cb\u3055\u308c\u307e\u3057\u305f:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_FILENAME_5=\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u306b 1 \u3064\u4ee5\u4e0a\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u30bf\u30b9\u30af\u30a8\u30f3\u30c8\u30ea %2$s \u306e\u5c5e\u6027 %1$s \u3067\u30b9\u30ad\u30fc\u30de\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u306b 1 \u3064\u4ee5\u4e0a\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u6307\u5b9a\u3055\u308c\u305f\u30b9\u30ad\u30fc\u30de\u30d5\u30a1\u30a4\u30eb %s \u304c\u30b9\u30ad\u30fc\u30de\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u307e\u305f\u306f %s \u306b\u5b58\u5728\u3057\u307e\u305b\u3093
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u306b 1 \u3064\u4ee5\u4e0a\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u30d5\u30a1\u30a4\u30eb %s \u304c\u30b9\u30ad\u30fc\u30de\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u307e\u305f\u306f %s \u306b\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u5224\u5b9a\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u306b 1 \u3064\u4ee5\u4e0a\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u6307\u5b9a\u3055\u308c\u305f\u30b9\u30ad\u30fc\u30de\u30d5\u30a1\u30a4\u30eb %s \u304c\u30b9\u30ad\u30fc\u30de\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u306b\u5b58\u5728\u3057\u307e\u305b\u3093
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u306b 1 \u3064\u4ee5\u4e0a\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u30d5\u30a1\u30a4\u30eb %s \u304c\u30b9\u30ad\u30fc\u30de\u30c7\u30a3\u30ec\u30af\u30c8\u30ea %s \u306b\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u5224\u5b9a\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_LOADING_SCHEMA_FILE_8=\u30b9\u30ad\u30fc\u30de\u30d5\u30a1\u30a4\u30eb %s \u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u306b\u30ed\u30fc\u30c9\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_CANNOT_LOCK_SCHEMA_9=\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u306b 1 \u3064\u4ee5\u4e0a\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u30b5\u30fc\u30d0\u30fc\u306f\u8907\u6570\u56de\u8a66\u884c\u3057\u305f\u3042\u3068\u3001\u30b9\u30ad\u30fc\u30de\u30a8\u30f3\u30c8\u30ea %s \u306e\u66f8\u304d\u8fbc\u307f\u30ed\u30c3\u30af\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
SEVERE_ERR_TASK_ADDSCHEMAFILE_INSUFFICIENT_PRIVILEGES_10=\u30b5\u30fc\u30d0\u30fc\u30b9\u30ad\u30fc\u30de\u3092\u5909\u66f4\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u7279\u6a29\u304c\u3042\u308a\u307e\u305b\u3093
opends/src/messages/messages/task_ko.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -52,8 +53,8 @@
INFO_TASK_SHUTDOWN_DEFAULT_MESSAGE_3=\ub514\ub809\ud1a0\ub9ac \uc11c\ubc84 \uc885\ub8cc \ud504\ub85c\uc138\uc2a4\uac00 %s \uc791\uc5c5\uc73c\ub85c \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
INFO_TASK_SHUTDOWN_CUSTOM_MESSAGE_4=\ub514\ub809\ud1a0\ub9ac \uc11c\ubc84 \uc885\ub8cc \ud504\ub85c\uc138\uc2a4\uac00 %s \uc791\uc5c5\uc73c\ub85c \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_FILENAME_5=\uc791\uc5c5 \ud56d\ubaa9 %2$s\uc758 \uc18d\uc131 %1$s\uc5d0 \uc2a4\ud0a4\ub9c8 \ud30c\uc77c \uc774\ub984\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc558\uae30 \ub54c\ubb38\uc5d0 \uc11c\ubc84 \uc2a4\ud0a4\ub9c8\uc5d0 \ud558\ub098 \uc774\uc0c1\uc758 \ud30c\uc77c\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=Unable to add one or more files to the server schema because the specified schema file %s does not exist in schema directories %s or %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=Unable to add one or more files to the server schema because an error occurred while attempting to determine whether file %s exists in schema directory %s or %s:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=\uc9c0\uc815\ud55c \uc2a4\ud0a4\ub9c8 \ud30c\uc77c %s\uc774(\uac00) \uc2a4\ud0a4\ub9c8 \ub514\ub809\ud1a0\ub9ac %s\uc5d0 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc11c\ubc84 \uc2a4\ud0a4\ub9c8\uc5d0 \ud558\ub098 \uc774\uc0c1\uc758 \ud30c\uc77c\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=%s \ud30c\uc77c\uc774 \uc2a4\ud0a4\ub9c8 \ub514\ub809\ud1a0\ub9ac %s\uc5d0 \uc788\ub294\uc9c0 \ud655\uc778\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uae30 \ub54c\ubb38\uc5d0 \uc11c\ubc84 \uc2a4\ud0a4\ub9c8\uc5d0 \ud558\ub098 \uc774\uc0c1\uc758 \ud30c\uc77c\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_LOADING_SCHEMA_FILE_8=\uc2a4\ud0a4\ub9c8 \ud30c\uc77c %s\uc758 \ub0b4\uc6a9\uc744 \uc11c\ubc84 \uc2a4\ud0a4\ub9c8\uc5d0 \ub85c\ub4dc\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_CANNOT_LOCK_SCHEMA_9=\uc11c\ubc84\uac00 \uc5ec\ub7ec \ubc88 \uc2dc\ub3c4\ud588\uc9c0\ub9cc \uc2a4\ud0a4\ub9c8 \ud56d\ubaa9 %s\uc5d0 \ub300\ud55c \uc4f0\uae30 \uc7a0\uae08\uc744 \uac00\uc838\uc624\uc9c0 \ubabb\ud588\uae30 \ub54c\ubb38\uc5d0 \uc11c\ubc84 \uc2a4\ud0a4\ub9c8\uc5d0 \ud558\ub098 \uc774\uc0c1\uc758 \ud30c\uc77c\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
SEVERE_ERR_TASK_ADDSCHEMAFILE_INSUFFICIENT_PRIVILEGES_10=\uc11c\ubc84 \uc2a4\ud0a4\ub9c8\ub97c \uc218\uc815\ud560 \uc218 \uc788\ub294 \ucda9\ubd84\ud55c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
opends/src/messages/messages/task_zh_CN.properties
@@ -21,6 +21,7 @@
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions Copyright 2013 ForgeRock AS.
@@ -52,8 +53,8 @@
INFO_TASK_SHUTDOWN_DEFAULT_MESSAGE_3=\u4efb\u52a1 %s \u5df2\u542f\u52a8\u76ee\u5f55\u670d\u52a1\u5668\u5173\u95ed\u8fdb\u7a0b
INFO_TASK_SHUTDOWN_CUSTOM_MESSAGE_4=\u4efb\u52a1 %s \u5df2\u542f\u52a8\u76ee\u5f55\u670d\u52a1\u5668\u5173\u95ed\u8fdb\u7a0b: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_FILENAME_5=\u65e0\u6cd5\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u6587\u4ef6\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u6a21\u5f0f\uff0c\u56e0\u4e3a\u4efb\u52a1\u6761\u76ee %2$s \u7684\u5c5e\u6027 %1$s \u4e2d\u6ca1\u6709\u63d0\u4f9b\u4efb\u4f55\u6a21\u5f0f\u6587\u4ef6\u540d
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=\u65e0\u6cd5\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u6587\u4ef6\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u6a21\u5f0f\uff0c\u56e0\u4e3a\u6a21\u5f0f\u76ee\u5f55 %2$s \u6216 %3$s \u4e2d\u4e0d\u5b58\u5728\u6307\u5b9a\u7684\u6a21\u5f0f\u6587\u4ef6 %1$s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=\u65e0\u6cd5\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u6587\u4ef6\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u6a21\u5f0f\uff0c\u56e0\u4e3a\u5c1d\u8bd5\u786e\u5b9a\u6a21\u5f0f\u76ee\u5f55 %2$s \u6216 %3$s \u4e2d\u662f\u5426\u5b58\u5728\u6587\u4ef6 %1$s \u65f6\u51fa\u73b0\u9519\u8bef: %4$s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=\u65e0\u6cd5\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u6587\u4ef6\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u6a21\u5f0f\uff0c\u56e0\u4e3a\u6a21\u5f0f\u76ee\u5f55 %2$s \u4e2d\u4e0d\u5b58\u5728\u6307\u5b9a\u7684\u6a21\u5f0f\u6587\u4ef6 %1$s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=\u65e0\u6cd5\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u6587\u4ef6\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u6a21\u5f0f\uff0c\u56e0\u4e3a\u5c1d\u8bd5\u786e\u5b9a\u6a21\u5f0f\u76ee\u5f55 %2$s \u4e2d\u662f\u5426\u5b58\u5728\u6587\u4ef6 %1$s \u65f6\u51fa\u73b0\u9519\u8bef: %4$s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_LOADING_SCHEMA_FILE_8=\u5c1d\u8bd5\u5c06\u6a21\u5f0f\u6587\u4ef6 %s \u7684\u5185\u5bb9\u88c5\u5165\u670d\u52a1\u5668\u6a21\u5f0f\u4e2d\u65f6\u51fa\u73b0\u9519\u8bef: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_CANNOT_LOCK_SCHEMA_9=\u65e0\u6cd5\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u6587\u4ef6\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u6a21\u5f0f\uff0c\u56e0\u4e3a\u670d\u52a1\u5668\u5728\u591a\u6b21\u5c1d\u8bd5\u540e\u65e0\u6cd5\u83b7\u5f97\u6a21\u5f0f\u6761\u76ee %s \u4e0a\u7684\u5199\u5165\u9501\u5b9a
SEVERE_ERR_TASK_ADDSCHEMAFILE_INSUFFICIENT_PRIVILEGES_10=\u60a8\u6ca1\u6709\u8db3\u591f\u7684\u6743\u9650\u4fee\u6539\u670d\u52a1\u5668\u6a21\u5f0f
opends/src/messages/messages/task_zh_TW.properties
@@ -52,8 +52,8 @@
INFO_TASK_SHUTDOWN_DEFAULT_MESSAGE_3=\u76ee\u9304\u4f3a\u670d\u5668\u95dc\u6a5f\u7a0b\u5e8f\u5df2\u7531\u4f5c\u696d %s \u555f\u52d5
INFO_TASK_SHUTDOWN_CUSTOM_MESSAGE_4=\u76ee\u9304\u4f3a\u670d\u5668\u95dc\u6a5f\u7a0b\u5e8f\u5df2\u7531\u4f5c\u696d %s \u555f\u52d5: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_FILENAME_5=\u7121\u6cd5\u589e\u52a0\u4e00\u6216\u591a\u500b\u6a94\u6848\u81f3\u4f3a\u670d\u5668\u6a21\u5f0f\uff0c\u56e0\u70ba\u672a\u5728\u4f5c\u696d\u9805\u76ee %2$s \u7684\u5c6c\u6027 %1$s \u4e2d\u63d0\u4f9b\u6a21\u5f0f\u6a94\u6848\u540d\u7a31
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=Unable to add one or more files to the server schema because the specified schema file %s does not exist in schema directories %s or %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=Unable to add one or more files to the server schema because an error occurred while attempting to determine whether file %s exists in schema directory %s or %s:  %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE_6=\u7121\u6cd5\u589e\u52a0\u4e00\u6216\u591a\u500b\u6a94\u6848\u81f3\u4f3a\u670d\u5668\u6a21\u5f0f\uff0c\u56e0\u70ba\u6307\u5b9a\u7684\u6a21\u5f0f\u6a94\u6848 %s \u4e0d\u5b58\u5728\u65bc\u6a21\u5f0f\u76ee\u9304 %s \u4e2d
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE_7=\u7121\u6cd5\u589e\u52a0\u4e00\u6216\u591a\u500b\u6a94\u6848\u81f3\u4f3a\u670d\u5668\u6a21\u5f0f\uff0c\u56e0\u70ba\u5728\u5617\u8a66\u5224\u5b9a\u6a94\u6848 %s \u662f\u5426\u5b58\u5728\u65bc\u6a21\u5f0f\u76ee\u9304 %s \u4e2d\u6642\u767c\u751f\u932f\u8aa4: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_ERROR_LOADING_SCHEMA_FILE_8=\u5617\u8a66\u5c07\u6a21\u5f0f\u6a94\u6848 %s \u7684\u5167\u5bb9\u8f09\u5165\u81f3\u4f3a\u670d\u5668\u6a21\u5f0f\u4e2d\u6642\u767c\u751f\u932f\u8aa4: %s
SEVERE_ERR_TASK_ADDSCHEMAFILE_CANNOT_LOCK_SCHEMA_9=\u7121\u6cd5\u589e\u52a0\u4e00\u6216\u591a\u500b\u6a94\u6848\u81f3\u4f3a\u670d\u5668\u6a21\u5f0f\uff0c\u56e0\u70ba\u4f3a\u670d\u5668\u5728\u591a\u6b21\u5617\u8a66\u5f8c\uff0c\u4ecd\u7121\u6cd5\u53d6\u5f97\u6a21\u5f0f\u9805\u76ee %s \u7684\u5beb\u5165\u9396\u5b9a
SEVERE_ERR_TASK_ADDSCHEMAFILE_INSUFFICIENT_PRIVILEGES_10=\u60a8\u6c92\u6709\u8db3\u5920\u7684\u6b0a\u9650\u53ef\u4ee5\u4fee\u6539\u4f3a\u670d\u5668\u6a21\u5f0f
opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java
@@ -928,10 +928,7 @@
          hmJavaArguments.put(origJavaArguments, transformedArguments);
        }
      }
      else
      {
        // Already checked if supported.
      }
        // else, support is already checked.
    }
    Properties fileProperties = getJavaPropertiesFileContents(
@@ -1157,6 +1154,12 @@
    String libDir = Utils.getPath(Utils
        .getInstancePathFromInstallPath(installPath),
        Installation.LIBRARIES_PATH_RELATIVE);
    // Create directory if it doesn't exist yet
    File fLib = new File(libDir);
    if (! fLib.exists())
    {
      fLib.mkdir();
    }
    if (Utils.isWindows())
    {
      destinationFile = Utils.getPath(libDir,
opends/src/server/org/opends/server/backends/SchemaBackend.java
@@ -23,7 +23,7 @@
 *
 *
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2011-2012 ForgeRock AS
 *      Portions Copyright 2011-2013 ForgeRock AS
 */
package org.opends.server.backends;
@@ -41,7 +41,6 @@
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
@@ -365,21 +364,16 @@
    // Register each of the suffixes with the Directory Server.  Also, register
    // the first one as the schema base.
    DirectoryServer.setSchemaDN(baseDNs[0]);
    for (int i=0; i < baseDNs.length; i++)
    {
      try
      {
        DirectoryServer.registerBaseDN(baseDNs[i], this, true);
      }
      catch (Exception e)
      {
        if (debugEnabled())
        {
    for (DN baseDN : baseDNs) {
      try {
        DirectoryServer.registerBaseDN(baseDN, this, true);
      } catch (Exception e) {
        if (debugEnabled()) {
          TRACER.debugCaught(DebugLogLevel.ERROR, e);
        }
        Message message = ERR_BACKEND_CANNOT_REGISTER_BASEDN.get(
            baseDNs[i].toString(), getExceptionMessage(e));
            baseDN.toString(), getExceptionMessage(e));
        throw new InitializationException(message, e);
      }
    }
@@ -472,6 +466,8 @@
                                      mods);
      if (! mods.isEmpty())
      {
        // TODO : Raise an alert notification.
        DirectoryServer.setOfflineSchemaChanges(mods);
        // Write a new concatenated schema file with the most recent information
@@ -540,7 +536,7 @@
  private boolean isSchemaConfigAttribute(Attribute attribute)
  {
    AttributeType attrType = attribute.getAttributeType();
    if (attrType.hasName(ATTR_SCHEMA_ENTRY_DN.toLowerCase()) ||
    return attrType.hasName(ATTR_SCHEMA_ENTRY_DN.toLowerCase()) ||
        attrType.hasName(ATTR_BACKEND_ENABLED.toLowerCase()) ||
        attrType.hasName(ATTR_BACKEND_CLASS.toLowerCase()) ||
        attrType.hasName(ATTR_BACKEND_ID.toLowerCase()) ||
@@ -551,12 +547,8 @@
        attrType.hasName(OP_ATTR_CREATORS_NAME_LC) ||
        attrType.hasName(OP_ATTR_CREATE_TIMESTAMP_LC) ||
        attrType.hasName(OP_ATTR_MODIFIERS_NAME_LC) ||
        attrType.hasName(OP_ATTR_MODIFY_TIMESTAMP_LC))
    {
      return true;
    }
        attrType.hasName(OP_ATTR_MODIFY_TIMESTAMP_LC);
    return false;
  }
@@ -1122,17 +1114,15 @@
    TreeSet<String> modifiedSchemaFiles = new TreeSet<String>();
    int pos = -1;
    Iterator<Modification> iterator = mods.iterator();
    while (iterator.hasNext())
    for (Modification m : mods)
    {
      Modification m = iterator.next();
      pos++;
      // Determine the type of modification to perform.  We will support add and
      // delete operations in the schema, and we will also support the ability
      // to add a schema element that already exists and treat it as a
      // replacement of that existing element.
      Attribute     a  = m.getAttribute();
      Attribute a = m.getAttribute();
      AttributeType at = a.getAttributeType();
      switch (m.getModificationType())
      {
@@ -1145,7 +1135,7 @@
              try
              {
                type = AttributeTypeSyntax.decodeAttributeType(v.getValue(),
                                                newSchema, false);
                    newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1157,8 +1147,7 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              addAttributeType(type, newSchema, modifiedSchemaFiles);
@@ -1172,7 +1161,7 @@
              try
              {
                oc = ObjectClassSyntax.decodeObjectClass(v.getValue(),
                                                         newSchema, false);
                    newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1184,8 +1173,7 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS.
                    get(v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              addObjectClass(oc, newSchema, modifiedSchemaFiles);
@@ -1199,7 +1187,7 @@
              try
              {
                nf = NameFormSyntax.decodeNameForm(v.getValue(), newSchema,
                                                   false);
                    false);
              }
              catch (DirectoryException de)
              {
@@ -1211,8 +1199,7 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              addNameForm(nf, newSchema, modifiedSchemaFiles);
@@ -1226,7 +1213,7 @@
              try
              {
                dcr = DITContentRuleSyntax.decodeDITContentRule(v.getValue(),
                                                newSchema, false);
                    newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1238,8 +1225,7 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DCR.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              addDITContentRule(dcr, newSchema, modifiedSchemaFiles);
@@ -1253,7 +1239,7 @@
              try
              {
                dsr = DITStructureRuleSyntax.decodeDITStructureRule(
                           v.getValue(), newSchema, false);
                    v.getValue(), newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1265,8 +1251,7 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DSR.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              addDITStructureRule(dsr, newSchema, modifiedSchemaFiles);
@@ -1280,7 +1265,7 @@
              try
              {
                mru = MatchingRuleUseSyntax.decodeMatchingRuleUse(v.getValue(),
                                                 newSchema, false);
                    newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1292,25 +1277,23 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              addMatchingRuleUse(mru, newSchema, modifiedSchemaFiles);
            }
          }
          else if(at.equals(ldapSyntaxesType))
          else if (at.equals(ldapSyntaxesType))
          {
            for(AttributeValue v : a)
            for (AttributeValue v : a)
            {
              LDAPSyntaxDescription lsd = null;
              LDAPSyntaxDescription lsd;
              try
              {
                lsd = LDAPSyntaxDescriptionSyntax.decodeLDAPSyntax(
                        v.getValue(),
                        newSchema, false);
                    v.getValue(), newSchema, false);
              }
              catch(DirectoryException de)
              catch (DirectoryException de)
              {
                if (debugEnabled())
                {
@@ -1318,13 +1301,12 @@
                }
                Message message =
                        ERR_SCHEMA_MODIFY_CANNOT_DECODE_LDAP_SYNTAX.get(
                            v.getValue().toString(), de.getMessageObject());
                    ERR_SCHEMA_MODIFY_CANNOT_DECODE_LDAP_SYNTAX.get(
                        v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              addLdapSyntaxDescription(lsd,newSchema,modifiedSchemaFiles);
              addLdapSyntaxDescription(lsd, newSchema, modifiedSchemaFiles);
            }
          }
          else
@@ -1332,7 +1314,7 @@
            Message message =
                ERR_SCHEMA_MODIFY_UNSUPPORTED_ATTRIBUTE_TYPE.get(a.getName());
            throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
                                         message);
                message);
          }
          break;
@@ -1344,7 +1326,7 @@
            Message message =
                ERR_SCHEMA_MODIFY_DELETE_NO_VALUES.get(a.getName());
            throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
                                         message);
                message);
          }
          if (at.equals(attributeTypesType))
@@ -1355,7 +1337,7 @@
              try
              {
                type = AttributeTypeSyntax.decodeAttributeType(v.getValue(),
                                                newSchema, false);
                    newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1367,12 +1349,11 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              removeAttributeType(type, newSchema, mods, pos,
                                  modifiedSchemaFiles);
                  modifiedSchemaFiles);
            }
          }
          else if (at.equals(objectClassesType))
@@ -1383,7 +1364,7 @@
              try
              {
                oc = ObjectClassSyntax.decodeObjectClass(v.getValue(),
                                                         newSchema, false);
                    newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1395,8 +1376,7 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS.
                    get(v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              removeObjectClass(oc, newSchema, mods, pos, modifiedSchemaFiles);
@@ -1410,7 +1390,7 @@
              try
              {
                nf = NameFormSyntax.decodeNameForm(v.getValue(), newSchema,
                                                   false);
                    false);
              }
              catch (DirectoryException de)
              {
@@ -1422,8 +1402,7 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              removeNameForm(nf, newSchema, mods, pos, modifiedSchemaFiles);
@@ -1437,7 +1416,7 @@
              try
              {
                dcr = DITContentRuleSyntax.decodeDITContentRule(v.getValue(),
                                                newSchema, false);
                    newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1449,12 +1428,11 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DCR.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              removeDITContentRule(dcr, newSchema, mods, pos,
                                   modifiedSchemaFiles);
                  modifiedSchemaFiles);
            }
          }
          else if (at.equals(ditStructureRulesType))
@@ -1465,7 +1443,7 @@
              try
              {
                dsr = DITStructureRuleSyntax.decodeDITStructureRule(
                           v.getValue(), newSchema, false);
                    v.getValue(), newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1477,12 +1455,11 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DSR.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              removeDITStructureRule(dsr, newSchema, mods, pos,
                                     modifiedSchemaFiles);
                  modifiedSchemaFiles);
            }
          }
          else if (at.equals(matchingRuleUsesType))
@@ -1493,7 +1470,7 @@
              try
              {
                mru = MatchingRuleUseSyntax.decodeMatchingRuleUse(v.getValue(),
                                                 newSchema, false);
                    newSchema, false);
              }
              catch (DirectoryException de)
              {
@@ -1505,26 +1482,24 @@
                Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE.get(
                    v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              removeMatchingRuleUse(mru, newSchema, mods, pos,
                                    modifiedSchemaFiles);
                  modifiedSchemaFiles);
            }
          }
          else if (at.equals(ldapSyntaxesType))
          {
            for(AttributeValue v : a)
            for (AttributeValue v : a)
            {
              LDAPSyntaxDescription lsd = null;
              LDAPSyntaxDescription lsd;
              try
              {
                lsd = LDAPSyntaxDescriptionSyntax.decodeLDAPSyntax(
                        v.getValue(),
                        newSchema, false);
                    v.getValue(), newSchema, false);
              }
              catch(DirectoryException de)
              catch (DirectoryException de)
              {
                if (debugEnabled())
                {
@@ -1532,13 +1507,12 @@
                }
                Message message =
                        ERR_SCHEMA_MODIFY_CANNOT_DECODE_LDAP_SYNTAX.get(
                          v.getValue().toString(), de.getMessageObject());
                    ERR_SCHEMA_MODIFY_CANNOT_DECODE_LDAP_SYNTAX.get(
                        v.getValue().toString(), de.getMessageObject());
                throw new DirectoryException(
                               ResultCode.INVALID_ATTRIBUTE_SYNTAX, message,
                               de);
                    ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, de);
              }
              removeLdapSyntaxDescription(lsd,newSchema,modifiedSchemaFiles);
              removeLdapSyntaxDescription(lsd, newSchema, modifiedSchemaFiles);
            }
          }
          else
@@ -1546,7 +1520,7 @@
            Message message =
                ERR_SCHEMA_MODIFY_UNSUPPORTED_ATTRIBUTE_TYPE.get(a.getName());
            throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
                                         message);
                message);
          }
          break;
@@ -1559,7 +1533,7 @@
            Message message = ERR_SCHEMA_INVALID_MODIFICATION_TYPE.get(
                String.valueOf(m.getModificationType()));
            throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
                                         message);
                message);
          }
          else
          {
@@ -1568,7 +1542,7 @@
            if (SchemaConfigManager.isSchemaAttribute(a))
            {
              Message message = ERR_SCHEMA_INVALID_REPLACE_MODIFICATION.get(
                                  a.getNameWithOptions());
                  a.getNameWithOptions());
              ErrorLogger.logError(message);
            }
            else
@@ -1581,9 +1555,9 @@
        default:
          Message message = ERR_SCHEMA_INVALID_MODIFICATION_TYPE.get(
                String.valueOf(m.getModificationType()));
              String.valueOf(m.getModificationType()));
          throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
                                       message);
              message);
      }
    }
@@ -3886,21 +3860,12 @@
    ArrayList<File> tempFileList      = new ArrayList<File>();
    ArrayList<File> origFileList      = new ArrayList<File>();
    File schemaInstallDir  =
      new File(SchemaConfigManager.getSchemaDirectoryPath(false));
    File schemaInstanceDir =
      new File(SchemaConfigManager.getSchemaDirectoryPath(true));
      new File(SchemaConfigManager.getSchemaDirectoryPath());
    for (String name : tempSchemaFiles.keySet())
    {
      File installFile = new File(schemaInstallDir, name);
      if (installFile.exists())
      {
        installedFileList.add(installFile);
      } else
      {
        installedFileList.add(new File(schemaInstanceDir, name));
      }
      installedFileList.add(new File(schemaInstanceDir, name));
      tempFileList.add(tempSchemaFiles.get(name));
      origFileList.add(new File(schemaInstanceDir, name + ".orig"));
    }
@@ -4525,7 +4490,7 @@
          {
            // Don't import the file containing the definitions of the
            // Schema elements used for configuration because these
            // definitions may vary between versions of OpenDS.
            // definitions may vary between versions of OpenDJ.
            continue;
          }
@@ -4579,7 +4544,7 @@
      {
        // Don't import the file containing the definitions of the
        // Schema elements used for configuration because these
        // definitions may vary between versions of OpenDS.
        // definitions may vary between versions of OpenDJ.
        // Also never delete anything from the core schema file.
        continue;
      }
@@ -4642,7 +4607,7 @@
          {
            // Don't import the file containing the definitions of the
            // Schema elements used for configuration because these
            // definitions may vary between versions of OpenDS.
            // definitions may vary between versions of OpenDJ.
            continue;
          }
@@ -4700,7 +4665,7 @@
      {
        // Don't import the file containing the definition of the
        // Schema elements used for configuration because these
        // definitions may vary between versions of OpenDS.
        // definitions may vary between versions of OpenDJ.
        continue;
      }
      if (!oidList.contains(removeClass.getOID()))
@@ -4971,7 +4936,7 @@
    // Get the path to the directory in which the schema files reside and
    // then get a list of all the files in that directory.
    String schemaInstanceDirPath =
      SchemaConfigManager.getSchemaDirectoryPath(true);
      SchemaConfigManager.getSchemaDirectoryPath();
    File schemaDir;
    File[] schemaFiles = null;
@@ -5385,7 +5350,7 @@
    // move the current schema directory out of the way so we can keep it around
    // to restore if a problem occurs.
    String schemaInstanceDirPath   =
      SchemaConfigManager.getSchemaDirectoryPath(true);
      SchemaConfigManager.getSchemaDirectoryPath();
    File   schemaInstanceDir       = new File(schemaInstanceDirPath);
opends/src/server/org/opends/server/core/SchemaConfigManager.java
@@ -23,7 +23,7 @@
 *
 *
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2011-2012 ForgeRock AS
 *      Portions Copyright 2011-2013 ForgeRock AS
 */
package org.opends.server.core;
import org.opends.messages.Message;
@@ -68,6 +68,8 @@
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.schema.LDAPSyntaxDescriptionSyntax;
import org.opends.server.types.LDAPSyntaxDescription;
import org.opends.server.util.StaticUtils;
import static org.opends.messages.ConfigMessages.*;
import static org.opends.server.schema.SchemaConstants.*;
import static org.opends.server.util.ServerConstants.*;
@@ -109,16 +111,13 @@
  /**
   * Retrieves the path to the directory containing the server schema files.
   *
   * @param userSchema indicates if we need to retrieve user schema or
   * "unmodified" schema.
   *
   * @return  The path to the directory containing the server schema files.
   */
  public static String getSchemaDirectoryPath(boolean userSchema)
  public static String getSchemaDirectoryPath()
  {
    File schemaDir =
              DirectoryServer.getEnvironmentConfig().
                getSchemaDirectory(userSchema);
                getSchemaDirectory();
    if (schemaDir != null) {
      return schemaDir.getAbsolutePath();
    } else {
@@ -199,11 +198,7 @@
    @Override
    public boolean accept(File directory, String filename)
    {
      if (filename.endsWith(".ldif"))
      {
        return true;
      }
      return false;
      return filename.endsWith(".ldif");
    }
  }
@@ -231,9 +226,7 @@
    // Construct the path to the directory that should contain the schema files
    // and make sure that it exists and is a directory.  Get a list of the files
    // in that directory sorted in alphabetic order.
    String schemaInstallDirPath   = getSchemaDirectoryPath(false);
    String schemaInstanceDirPath  = getSchemaDirectoryPath(true);
    File schemaInstallDir         = new File(schemaInstallDirPath);
    String schemaInstanceDirPath  = getSchemaDirectoryPath();
    File schemaInstanceDir        = null;
    try
@@ -241,11 +234,6 @@
      if (schemaInstanceDirPath != null)
      {
        schemaInstanceDir = new File(schemaInstanceDirPath);
        if (schemaInstallDir.getCanonicalPath().equals(
            schemaInstanceDir.getCanonicalPath()))
        {
          schemaInstanceDir = null;
        }
      }
    } catch (Exception e)
    {
@@ -257,39 +245,27 @@
    try
    {
      if (schemaInstallDir == null || ! schemaInstallDir.exists())
      if (schemaInstanceDir == null || ! schemaInstanceDir.exists())
      {
        Message message =
          ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR.get(schemaInstallDirPath);
          ERR_CONFIG_SCHEMA_NO_SCHEMA_DIR.get(schemaInstanceDirPath);
        throw new InitializationException(message);
      }
      if (! schemaInstallDir.isDirectory())
      if (! schemaInstanceDir.isDirectory())
      {
        Message message =
            ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY.get(schemaInstallDirPath);
            ERR_CONFIG_SCHEMA_DIR_NOT_DIRECTORY.get(schemaInstanceDirPath);
        throw new InitializationException(message);
      }
      if ((schemaInstanceDir == null) || (!schemaInstanceDir.exists())
          || (! schemaInstanceDir.isDirectory()))
      {
        schemaInstanceDir = null;
      }
      FilenameFilter filter = new SchemaFileFilter();
      File[] schemaInstallDirFiles =
              schemaInstallDir.listFiles(filter);
      int fileNumber = schemaInstallDirFiles.length;
      File[] schemaInstanceDirFiles = null ;
      if (schemaInstanceDir != null)
      {
        schemaInstanceDirFiles =
      File[] schemaInstanceDirFiles =
                schemaInstanceDir.listFiles(filter);
        fileNumber =+ schemaInstanceDirFiles.length ;
      }
      int fileNumber = schemaInstanceDirFiles.length ;
      ArrayList<String> fileList = new ArrayList<String>(fileNumber);
      for (File f : schemaInstallDirFiles)
      for (File f : schemaInstanceDirFiles)
      {
        if (f.isFile())
        {
@@ -309,29 +285,6 @@
          youngestModificationTime = modificationTime;
        }
      }
      if (schemaInstanceDirFiles != null)
      {
        for (File f : schemaInstanceDirFiles)
        {
          if (f.isFile())
          {
            fileList.add(f.getName());
          }
          long modificationTime = f.lastModified();
          if ((oldestModificationTime <= 0L)
              || (modificationTime < oldestModificationTime))
          {
            oldestModificationTime = modificationTime;
          }
          if ((youngestModificationTime <= 0)
              || (modificationTime > youngestModificationTime))
          {
            youngestModificationTime = modificationTime;
          }
        }
      }
      fileNames = new String[fileList.size()];
      fileList.toArray(fileNames);
@@ -354,7 +307,7 @@
      }
      Message message = ERR_CONFIG_SCHEMA_CANNOT_LIST_FILES.get(
          schemaInstallDirPath, schemaInstanceDirPath, getExceptionMessage(e));
          schemaInstanceDirPath, getExceptionMessage(e));
      throw new InitializationException(message, e);
    }
@@ -444,15 +397,8 @@
         throws ConfigException, InitializationException
  {
    // Create an LDIF reader to use when reading the files.
    String schemaDirPath = null;
    schemaDirPath = getSchemaDirectoryPath(true);
    String schemaDirPath = getSchemaDirectoryPath();
    File f = new File(schemaDirPath, schemaFile);
    if (!f.exists())
    {
      schemaDirPath = getSchemaDirectoryPath(false);
      f = new File(schemaDirPath, schemaFile);
    }
    LDIFReader reader;
    try
    {
@@ -510,6 +456,7 @@
      else
      {
        logError(message);
        StaticUtils.close(reader);
        return null;
      }
    }
@@ -537,18 +484,7 @@
      logError(message);
    }
    try
    {
      reader.close();
    }
    catch (Exception e)
    {
      if (debugEnabled())
      {
        TRACER.debugCaught(DebugLogLevel.ERROR, e);
      }
    }
    StaticUtils.close(reader);
    // Get the attributeTypes attribute from the entry.
    LinkedList<Modification> mods = new LinkedList<Modification>();
@@ -859,7 +795,7 @@
      {
        for (AttributeValue v : a)
        {
          LDAPSyntaxDescription syntaxDescription = null;
          LDAPSyntaxDescription syntaxDescription;
          try
          {
            syntaxDescription = LDAPSyntaxDescriptionSyntax.decodeLDAPSyntax(
@@ -1527,33 +1463,24 @@
  public static boolean isSchemaAttribute(Attribute attribute)
  {
    String attributeOid = attribute.getAttributeType().getOID();
    if (attributeOid.equals("2.5.21.1") ||
    return attributeOid.equals("2.5.21.1") ||
        attributeOid.equals("2.5.21.2") ||
        attributeOid.equals("2.5.21.4") ||
        attributeOid.equals("2.5.21.5") ||
        attributeOid.equals("2.5.21.6") ||
        attributeOid.equals("2.5.21.7") ||
        attributeOid.equals("2.5.21.8") ||
        attributeOid.equals("2.5.4.3")  ||
        attributeOid.equals("2.5.4.3") ||
        attributeOid.equals("1.3.6.1.4.1.1466.101.120.16") ||
        attributeOid.equals("cn-oid") ||
        attributeOid.equals("attributetypes-oid")      ||
        attributeOid.equals("objectclasses-oid")       ||
        attributeOid.equals("matchingrules-oid")       ||
        attributeOid.equals("matchingruleuse-oid")     ||
        attributeOid.equals("attributetypes-oid") ||
        attributeOid.equals("objectclasses-oid") ||
        attributeOid.equals("matchingrules-oid") ||
        attributeOid.equals("matchingruleuse-oid") ||
        attributeOid.equals("nameformdescription-oid") ||
        attributeOid.equals("ditcontentrules-oid")     ||
        attributeOid.equals("ditcontentrules-oid") ||
        attributeOid.equals("ditstructurerules-oid") ||
        attributeOid.equals("ldapsyntaxes-oid")
        )
    {
      return true;
    }
    else
    {
      return false;
    }
        attributeOid.equals("ldapsyntaxes-oid");
  }
}
opends/src/server/org/opends/server/tasks/AddSchemaFileTask.java
@@ -23,12 +23,12 @@
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.server.tasks;
import org.opends.messages.Message;
import java.io.File;
import java.util.LinkedList;
import java.util.List;
@@ -113,10 +113,8 @@
    // Get the name(s) of the schema files to add and make sure they exist in
    // the schema directory.
    String schemaInstallDirectory  =
      SchemaConfigManager.getSchemaDirectoryPath(false);
    String schemaInstanceDirectory =
      SchemaConfigManager.getSchemaDirectoryPath(true);
      SchemaConfigManager.getSchemaDirectoryPath();
    filesToAdd = new TreeSet<String>();
    for (Attribute a : attrList)
    {
@@ -127,19 +125,13 @@
        try
        {
          File schemaFile = new File(schemaInstallDirectory, filename);
          if ((! schemaFile.exists()) ||
              (! schemaFile.getParent().equals(schemaInstallDirectory)))
          File schemaFile = new File(schemaInstanceDirectory, filename);
          if (! schemaFile.exists())
          {
            // try in the instance
            schemaFile = new File(schemaInstanceDirectory, filename);
            if (! schemaFile.exists())
            {
            Message message = ERR_TASK_ADDSCHEMAFILE_NO_SUCH_FILE.get(
                filename, schemaInstallDirectory, schemaInstanceDirectory);
                filename, schemaInstanceDirectory);
            throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
                                         message);
            }
          }
        }
        catch (Exception e)
@@ -150,7 +142,7 @@
          }
          Message message = ERR_TASK_ADDSCHEMAFILE_ERROR_CHECKING_FOR_FILE.get(
              filename, schemaInstallDirectory, schemaInstanceDirectory,
              filename, schemaInstanceDirectory,
              getExceptionMessage(e));
          throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
                                       message, e);
@@ -240,7 +232,7 @@
            for (AttributeValue v : a)
            {
              String s = v.getValue().toString();
              if (s.indexOf(SCHEMA_PROPERTY_FILENAME) < 0)
              if (!s.contains(SCHEMA_PROPERTY_FILENAME))
              {
                if (s.endsWith(" )"))
                {
opends/src/server/org/opends/server/types/DirectoryEnvironmentConfig.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.server.types;
@@ -536,12 +537,8 @@
  {
    String useLastKnownGoodStr =
         getProperty(PROPERTY_USE_LAST_KNOWN_GOOD_CONFIG);
    if (useLastKnownGoodStr == null)
    {
      return false;
    }
    return useLastKnownGoodStr.equalsIgnoreCase("true");
    return useLastKnownGoodStr != null &&
        useLastKnownGoodStr.equalsIgnoreCase("true");
  }
@@ -577,14 +574,8 @@
    String oldUseLastKnownGoodStr =
         setProperty(PROPERTY_USE_LAST_KNOWN_GOOD_CONFIG,
                     String.valueOf(useLastKnownGoodConfiguration));
    if (oldUseLastKnownGoodStr == null)
    {
      return false;
    }
    else
    {
      return oldUseLastKnownGoodStr.equalsIgnoreCase("true");
    }
    return oldUseLastKnownGoodStr != null &&
        oldUseLastKnownGoodStr.equalsIgnoreCase("true");
  }
@@ -602,12 +593,8 @@
  {
    String maintainArchiveStr =
         getProperty(PROPERTY_MAINTAIN_CONFIG_ARCHIVE);
    if (maintainArchiveStr == null)
    {
      return true;
    }
    return (! maintainArchiveStr.equalsIgnoreCase("false"));
    return maintainArchiveStr == null ||
        (!maintainArchiveStr.equalsIgnoreCase("false"));
  }
@@ -640,14 +627,8 @@
    String oldMaintainStr =
         setProperty(PROPERTY_MAINTAIN_CONFIG_ARCHIVE,
                     String.valueOf(maintainConfigArchive));
    if (oldMaintainStr == null)
    {
      return true;
    }
    else
    {
      return (! oldMaintainStr.equalsIgnoreCase("false"));
    }
    return oldMaintainStr == null ||
        (!oldMaintainStr.equalsIgnoreCase("false"));
  }
@@ -757,13 +738,10 @@
   * directory of "config/schema" exists below the server root, then
   * that will be returned.
   *
   * @param userSchema indicates if we need to retrieve user schema or
   * "unmodified" schema.
   *
   * @return  The directory that contains the server schema
   *          configuration files, or {@code null} if none is defined.
   */
  public File getSchemaDirectory(boolean userSchema)
  public File getSchemaDirectory()
  {
    String schemaDirectoryPath =
         getProperty(PROPERTY_SCHEMA_DIRECTORY);
@@ -772,25 +750,15 @@
      File serverRoot = getServerRoot();
      if (serverRoot != null)
      {
        String schemaPath = null ;
        if (userSchema)
        {
          File instanceRoot =
            getInstanceRootFromServerRoot(serverRoot);
          schemaPath = instanceRoot.getAbsolutePath();
        }
        else
        {
          schemaPath = serverRoot.getAbsolutePath();
        }
        File schemaDir = new File(schemaPath
        File instanceRoot =
          getInstanceRootFromServerRoot(serverRoot);
        File schemaDir = new File(instanceRoot.getAbsolutePath()
            + File.separator + PATH_SCHEMA_DIR);
        if (schemaDir.exists() && schemaDir.isDirectory())
        {
          return schemaDir;
        }
      }
      return null;
    }
    else
@@ -973,12 +941,7 @@
  {
    String disableStr =
         getProperty(PROPERTY_DISABLE_CONNECTION_HANDLERS);
    if (disableStr == null)
    {
      return false;
    }
    return disableStr.equalsIgnoreCase("true");
    return disableStr != null && disableStr.equalsIgnoreCase("true");
  }
  /**
@@ -994,12 +957,7 @@
  {
    String disableStr =
         getProperty(PROPERTY_DISABLE_SYNCHRONIZATION);
    if (disableStr == null)
    {
      return false;
    }
    return disableStr.equalsIgnoreCase("true");
    return disableStr != null && disableStr.equalsIgnoreCase("true");
  }
  /**
@@ -1015,12 +973,7 @@
  {
    String disableStr =
         getProperty(PROPERTY_DISABLE_ADMIN_DATA_SYNCHRONIZATION);
    if (disableStr == null)
    {
      return false;
    }
    return disableStr.equalsIgnoreCase("true");
    return disableStr != null && disableStr.equalsIgnoreCase("true");
  }
  /**
@@ -1053,14 +1006,7 @@
    String oldDisableStr =
         setProperty(PROPERTY_DISABLE_CONNECTION_HANDLERS,
                     String.valueOf(disableConnectionHandlers));
    if (oldDisableStr == null)
    {
      return false;
    }
    else
    {
      return oldDisableStr.equalsIgnoreCase("true");
    }
    return oldDisableStr != null && oldDisableStr.equalsIgnoreCase("true");
  }
@@ -1077,14 +1023,7 @@
  {
    String forceDaemonStr =
         getProperty(PROPERTY_FORCE_DAEMON_THREADS);
    if (forceDaemonStr == null)
    {
      return false;
    }
    else
    {
      return forceDaemonStr.equalsIgnoreCase("true");
    }
    return forceDaemonStr != null && forceDaemonStr.equalsIgnoreCase("true");
  }
@@ -1116,14 +1055,8 @@
    String oldForceDaemonStr =
         setProperty(PROPERTY_FORCE_DAEMON_THREADS,
                     String.valueOf(forceDaemonThreads));
    if (oldForceDaemonStr == null)
    {
      return false;
    }
    else
    {
      return oldForceDaemonStr.equalsIgnoreCase("true");
    }
    return oldForceDaemonStr != null &&
        oldForceDaemonStr.equalsIgnoreCase("true");
  }
@@ -1139,14 +1072,7 @@
  public boolean disableExec()
  {
    String disableStr = getProperty(PROPERTY_DISABLE_EXEC);
    if (disableStr == null)
    {
      return false;
    }
    else
    {
      return disableStr.equalsIgnoreCase("true");
    }
    return disableStr != null && disableStr.equalsIgnoreCase("true");
  }
@@ -1178,14 +1104,7 @@
    String oldDisableStr = setProperty(PROPERTY_DISABLE_EXEC,
                     String.valueOf(disableExec));
    if (oldDisableStr == null)
    {
      return false;
    }
    else
    {
      return oldDisableStr.equalsIgnoreCase("true");
    }
    return oldDisableStr != null && oldDisableStr.equalsIgnoreCase("true");
  }
@@ -1206,7 +1125,7 @@
      return LockManager.DEFAULT_CONCURRENCY_LEVEL;
    }
    int concurrencyLevel = -1;
    int concurrencyLevel;
    try
    {
      concurrencyLevel = Integer.parseInt(levelStr);
opends/src/server/org/opends/server/types/LDIFExportConfig.java
@@ -23,18 +23,14 @@
 *
 *
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.server.types;
import static org.opends.messages.UtilityMessages.*;
import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.util.StaticUtils.*;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -56,6 +52,7 @@
     mayExtend=false,
     mayInvoke=true)
public final class LDIFExportConfig extends OperationConfig
  implements Closeable
{
  /**
   * The tracer object for the debug logger.
@@ -784,12 +781,8 @@
      return false;
    }
    if (! includeAttributes.isEmpty())
    {
      return includeAttributes.contains(attributeType);
    }
    return true;
    return includeAttributes.isEmpty() ||
        includeAttributes.contains(attributeType);
  }
opends/src/server/org/opends/server/types/LDIFImportConfig.java
@@ -23,23 +23,13 @@
 *
 *
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 *      Portions Copyright 2012 ForgeRock AS
 *      Portions Copyright 2012-2013 ForgeRock AS
 */
package org.opends.server.types;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
@@ -66,6 +56,7 @@
     mayExtend=false,
     mayInvoke=true)
public final class LDIFImportConfig extends OperationConfig
                                    implements Closeable
{
  /**
   * The tracer object for the debug logger.
opends/src/server/org/opends/server/types/Schema.java
@@ -581,7 +581,7 @@
         subordinateTypes.get(attributeType);
    if (subTypes == null)
    {
      return Collections.<AttributeType>emptyList();
      return Collections.emptyList();
    }
    else
    {
@@ -3557,19 +3557,9 @@
          throws IOException
  {
    // Get a sorted list of the files in the schema directory.
    String schemaDirectory =
                SchemaConfigManager.getSchemaDirectoryPath(false);
    TreeSet<File> schemaFiles = new TreeSet<File>();
    for (File f : new File(schemaDirectory).listFiles())
    {
      if (f.isFile())
      {
        schemaFiles.add(f);
      }
    }
    schemaDirectory =
      SchemaConfigManager.getSchemaDirectoryPath(true);
    String schemaDirectory =
      SchemaConfigManager.getSchemaDirectoryPath();
    for (File f : new File(schemaDirectory).listFiles())
    {
      if (f.isFile())
opends/src/server/org/opends/server/util/LDIFReader.java
@@ -23,13 +23,11 @@
 *
 *
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2012 ForgeRock AS
 *      Portions Copyright 2012-2013 ForgeRock AS
 */
package org.opends.server.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.net.URL;
import java.util.*;
import java.util.concurrent.atomic.AtomicLong;
@@ -65,7 +63,7 @@
     mayInstantiate=true,
     mayExtend=false,
     mayInvoke=true)
public final class LDIFReader
public final class LDIFReader implements Closeable
{
  /**
   * The tracer object for the debug logger.
@@ -317,11 +315,12 @@
      {
        if (debugEnabled())
        {
          TRACER.debugInfo("Skipping entry %s because the it reading" +
          TRACER.debugInfo("Skipping entry %s because reading" +
                  "its attributes failed.", entryDN);
        }
        Message message = ERR_LDIF_READ_ATTR_SKIP.get(String.valueOf(entryDN),
                                                       e.getMessage());
        logToSkipWriter(lines, message);
        suffix.removePending(entryDN);
        continue;
      }
opends/src/server/org/opends/server/util/LDIFWriter.java
@@ -23,12 +23,14 @@
 *
 *
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.server.util;
import java.io.BufferedWriter;
import java.io.Closeable;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
@@ -36,11 +38,9 @@
import java.util.Collection;
import org.opends.messages.Message;
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.tools.makeldif.TemplateEntry;
import org.opends.server.types.*;
import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.util.StaticUtils.*;
import static org.opends.server.util.Validator.*;
@@ -54,13 +54,8 @@
     mayInstantiate=true,
     mayExtend=false,
     mayInvoke=true)
public final class LDIFWriter
public final class LDIFWriter implements Closeable
{
  /**
   * The tracer object for the debug logger.
   */
  private static final DebugTracer TRACER = getTracer();
  // FIXME -- Add support for generating a hash when writing the data.
  // FIXME -- Add support for signing the hash that is generated.
@@ -263,7 +258,8 @@
   *                       to LDIF.
   *
   * @throws  LDIFException  If a problem occurs while trying to determine
   *                         whether to include the temlate entry in the export.
   *                         whether to include the template entry in the
   *                         export.
   */
  public boolean writeTemplateEntry(TemplateEntry templateEntry)
  throws IOException, LDIFException
opends/tests/unit-tests-testng/src/server/org/opends/server/TestCaseUtils.java
@@ -283,8 +283,8 @@
              buildRoot + File.separator + "build");
      File   buildDir = new File(buildDirStr);
      File   unitRoot  = new File(buildDir, "unit-tests");
      File   testInstallRoot  = null;
      File   testInstanceRoot  = null;
      File   testInstallRoot;
      File   testInstanceRoot;
      if (installedRoot == null) {
         testInstallRoot = new File(unitRoot, "package-install");
         testInstanceRoot = new File(unitRoot, "package-instance");
@@ -349,7 +349,7 @@
      File testResourceDir  = new File(testSrcRoot, "resource");
      // Set the class variable
      testConfigDir    = new File(testInstanceRoot, "config");
      File testSchemaDir    = new File(testInstallRoot, "config");
      File testSchemaDir    = new File(testInstanceRoot, "config");
      File testClassesDir   = new File(testInstanceRoot, "classes");
      File testLibDir       = new File(testInstallRoot, "lib");
      File testBinDir       = new File(testInstallRoot, "bin");
@@ -1721,12 +1721,14 @@
    String systemOut = TestCaseUtils.getSystemOutContents();
    if (systemOut.length() > 0) {
      logsContents.append(EOL + "System.out contents:" + EOL + systemOut);
      logsContents.append(EOL).append("System.out contents:")
          .append(EOL).append(systemOut);
    }
    String systemErr = TestCaseUtils.getSystemErrContents();
    if (systemErr.length() > 0) {
      logsContents.append(EOL + "System.err contents:" + EOL + systemErr);
      logsContents.append(EOL).append("System.err contents:")
          .append(EOL).append(systemErr);
    }
  }
@@ -1810,7 +1812,7 @@
        bytes = bout.toByteArray();
      }
      finally {
        if (close && is != null) {
        if (close) {
          try {
            is.close();
          }
opends/tests/unit-tests-testng/src/server/org/opends/server/backends/SchemaBackendTestCase.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.server.backends;
@@ -35,7 +36,6 @@
import org.testng.annotations.Test;
import org.opends.server.TestCaseUtils;
import org.opends.server.backends.SchemaBackend;
import org.opends.server.config.ConfigException;
import org.opends.server.core.AddOperationBasis;
import org.opends.server.core.DeleteOperationBasis;
@@ -744,7 +744,7 @@
    String attrName = "testaddattributetypetoaltschemafile";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(true),
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(),
                               "98-schema-test-attrtype.ldif");
    assertFalse(schemaFile.exists());
@@ -840,7 +840,7 @@
    String attrName = "testreplaceattributetypeinaltschemafile";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(true),
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(),
                               "98-schema-test-replaceattrtype.ldif");
    assertFalse(schemaFile.exists());
@@ -1714,7 +1714,7 @@
    String ocName = "testaddobjectclasstoaltschemafile";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(true),
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(),
                               "98-schema-test-oc.ldif");
    assertFalse(schemaFile.exists());
@@ -2514,7 +2514,7 @@
    String nameFormName = "testaddnameformtoaltschemafile";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(true),
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(),
                               "98-schema-test-nameform.ldif");
    assertFalse(schemaFile.exists());
@@ -3267,7 +3267,7 @@
    String ocName = "testadddcrtoaltschemafileoc";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(true),
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(),
                               "98-schema-test-dcr.ldif");
    assertFalse(schemaFile.exists());
@@ -4324,7 +4324,7 @@
    int ruleID = 999010;
    assertFalse(DirectoryServer.getSchema().hasDITStructureRule(ruleID));
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(true),
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(),
                               "98-schema-test-dsr.ldif");
    assertFalse(schemaFile.exists());
@@ -4815,7 +4815,7 @@
      "-f", path
    };
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(true),
    File schemaFile = new File(SchemaConfigManager.getSchemaDirectoryPath(),
                               "98-schema-test-mru.ldif");
    assertFalse(schemaFile.exists());
opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxPrivilegeTestCase.java
@@ -23,7 +23,7 @@
 *
 *
 *      Copyright 2008-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2011 ForgeRock AS
 *      Portions Copyright 2011-2013 ForgeRock AS
 */
package org.opends.server.protocols.jmx;
@@ -75,7 +75,7 @@
/**
 * This class provides a set of test cases for the Directory Server JMX
 * This class provides a set of test cases for the Directory Server JMX
 * privilege subsystem.
 */
public class JmxPrivilegeTestCase
@@ -312,7 +312,7 @@
    DeleteOperation deleteOperation = conn.processDelete(DN
        .decode("cn=Unprivileged Root,cn=Root DNs,cn=config"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
    deleteOperation = conn.processDelete(DN
        .decode("cn=Unprivileged JMX Root,cn=Root DNs,cn=config"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
@@ -416,7 +416,7 @@
      assertTrue(false, "Unexpected exception - error message: "
          + e.getMessage());
    }
    // Add JMX_READ privilege
    InternalClientConnection rootConnection =
      InternalClientConnection.getRootConnection();
@@ -426,7 +426,7 @@
    ModifyOperation modifyOperation =
         rootConnection.processModify(DN.decode(user), mods);
    assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS);
    //  Try connection withoutJMX_READ privilege
    // Expected result: success
    try
@@ -449,7 +449,7 @@
      assertTrue(false, "Unexpected exception - error message: "
          + e.getMessage());
    }
    // remove JMX_READ privilege
    mods = new ArrayList<Modification>();
    mods.add(new Modification(ModificationType.DELETE,
@@ -457,7 +457,7 @@
    modifyOperation =
         rootConnection.processModify(DN.decode(user), mods);
    assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS);
    // Try connection withoutJMX_READ privilege
    // Expected result: failed
    try
@@ -480,7 +480,7 @@
          + e.getMessage());
    }
  }
  /**
   * Tests to ensure that search operations in the server configuration properly
@@ -773,7 +773,7 @@
                 hasPrivilege);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath(true);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
    String identifier;
    Entry authNEntry = conn.getAuthenticationInfo().getAuthenticationEntry();
opends/tests/unit-tests-testng/src/server/org/opends/server/tasks/AddSchemaFileTaskTestCase.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS.
 */
package org.opends.server.tasks;
@@ -93,7 +94,7 @@
    DirectoryServer.registerMatchingRule(matchingRule, false);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath(true);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
    String[] fileLines =
    {
@@ -166,7 +167,7 @@
    Thread.sleep(2);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath(true);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
    SchemaTestMatchingRule matchingRule1 =
@@ -340,7 +341,7 @@
    Thread.sleep(2);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath(true);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
    File emptyFile = new File(schemaDirectory, "05-empty.ldif");
    emptyFile.createNewFile();
@@ -375,7 +376,7 @@
  public void testAddInvalidSchemaFile()
         throws Exception
  {
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath(true);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
    File invalidFile = new File(schemaDirectory, "05-invalid.ldif");
    BufferedWriter writer = new BufferedWriter(new FileWriter(invalidFile));
opends/tests/unit-tests-testng/src/server/org/opends/server/types/PrivilegeTestCase.java
@@ -23,7 +23,7 @@
 *
 *
 *      Copyright 2007-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2011 ForgeRock AS
 *      Portions Copyright 2011-2013 ForgeRock AS
 */
package org.opends.server.types;
@@ -1026,7 +1026,7 @@
                 hasPrivilege);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath(true);
    String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
    String identifier;
    Entry authNEntry = conn.getAuthenticationInfo().getAuthenticationEntry();