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

matthew_swift
26.21.2007 5ceb2e9601d2501d021d0c61188ec913076555a0
opends/src/server/org/opends/server/loggers/debug/TextDebugLogPublisher.java
@@ -36,7 +36,6 @@
import static org.opends.server.util.StaticUtils.stackTraceToSingleLineString;
import static org.opends.server.util.StaticUtils.getFileForPath;
import static org.opends.server.util.ServerConstants.PROPERTY_DEBUG_TARGET;
import org.opends.server.admin.std.server.DebugLogPublisherCfg;
import org.opends.server.admin.std.server.DebugTargetCfg;
import org.opends.server.admin.std.server.FileBasedDebugLogPublisherCfg;
import org.opends.server.admin.std.meta.DebugLogPublisherCfgDefn;
@@ -46,10 +45,6 @@
import org.opends.server.config.ConfigException;
import org.opends.server.core.DirectoryServer;
import static org.opends.messages.ConfigMessages.
    ERR_CONFIG_LOGGER_INVALID_ROTATION_POLICY;
import static org.opends.messages.ConfigMessages.
    WARN_CONFIG_LOGGER_INVALID_RETENTION_POLICY;
import static org.opends.messages.ConfigMessages.
    ERR_CONFIG_LOGGING_CANNOT_CREATE_WRITER;
import static org.opends.messages.ConfigMessages.
   ERR_CONFIG_LOGGING_CANNOT_OPEN_FILE;
@@ -134,7 +129,7 @@
    try
    {
      FilePermission perm =
          FilePermission.decodeUNIXMode(config.getLogFileMode());
          FilePermission.decodeUNIXMode(config.getLogFilePermissions());
      LogPublisherErrorHandler errorHandler =
          new LogPublisherErrorHandler(config.dn());
@@ -155,33 +150,14 @@
                                  (int)config.getBufferSize());
      // Validate retention and rotation policies.
      for(DN dn : config.getRotationPolicyDN())
      for(DN dn : config.getRotationPolicyDNs())
      {
        RotationPolicy policy = DirectoryServer.getRotationPolicy(dn);
        if(policy != null)
        {
          writer.addRotationPolicy(policy);
        }
        else
        {
          Message message = ERR_CONFIG_LOGGER_INVALID_ROTATION_POLICY.get(
              dn.toString(), config.dn().toString());
          throw new ConfigException(message);
        }
        writer.addRotationPolicy(DirectoryServer.getRotationPolicy(dn));
      }
      for(DN dn: config.getRetentionPolicyDN())
      for(DN dn: config.getRetentionPolicyDNs())
      {
        RetentionPolicy policy = DirectoryServer.getRetentionPolicy(dn);
        if(policy != null)
        {
          writer.addRetentionPolicy(policy);
        }
        else
        {
          Message message = WARN_CONFIG_LOGGER_INVALID_RETENTION_POLICY.get(
              dn.toString(), config.dn().toString());
          throw new ConfigException(message);
        }
        writer.addRetentionPolicy(DirectoryServer.getRetentionPolicy(dn));
      }
      if(config.isAsynchronous())
@@ -255,55 +231,16 @@
  /**
   * {@inheritDoc}
   */
  @Override()
  public boolean isConfigurationAcceptable(DebugLogPublisherCfg configuration,
                                           List<Message> unacceptableReasons)
  {
    FileBasedDebugLogPublisherCfg config =
         (FileBasedDebugLogPublisherCfg) configuration;
    // Validate retention and rotation policies.
    for(DN dn : config.getRotationPolicyDN())
    {
      RotationPolicy policy = DirectoryServer.getRotationPolicy(dn);
      if(policy == null)
      {
        Message message = ERR_CONFIG_LOGGER_INVALID_ROTATION_POLICY.get(
                dn.toString(),
                config.dn().toString());
        unacceptableReasons.add(message);
        return false;
      }
    }
    for(DN dn: config.getRetentionPolicyDN())
    {
      RetentionPolicy policy = DirectoryServer.getRetentionPolicy(dn);
      if(policy != null)
      {
        Message message = WARN_CONFIG_LOGGER_INVALID_RETENTION_POLICY.get(
                dn.toString(),
                config.dn().toString());
        unacceptableReasons.add(message);
        return false;
      }
    }
    return true;
  }
  /**
   * {@inheritDoc}
   */
  public boolean isConfigurationChangeAcceptable(
      FileBasedDebugLogPublisherCfg config, List<Message> unacceptableReasons)
  {
    // Make sure the permission is valid.
    try
    {
      if(!currentConfig.getLogFileMode().equalsIgnoreCase(
          config.getLogFileMode()))
      if(!currentConfig.getLogFilePermissions().equalsIgnoreCase(
          config.getLogFilePermissions()))
      {
        FilePermission.decodeUNIXMode(config.getLogFileMode());
        FilePermission.decodeUNIXMode(config.getLogFilePermissions());
      }
      if(!currentConfig.getLogFile().equalsIgnoreCase(config.getLogFile()))
      {
@@ -369,7 +306,7 @@
    try
    {
      FilePermission perm =
          FilePermission.decodeUNIXMode(config.getLogFileMode());
          FilePermission.decodeUNIXMode(config.getLogFilePermissions());
      boolean writerAutoFlush =
          config.isAutoFlush() && !config.isAsynchronous();
@@ -400,39 +337,15 @@
        mfWriter.removeAllRetentionPolicies();
        mfWriter.removeAllRotationPolicies();
        for(DN dn : config.getRotationPolicyDN())
        for(DN dn : config.getRotationPolicyDNs())
        {
          RotationPolicy policy = DirectoryServer.getRotationPolicy(dn);
          if(policy != null)
          {
            mfWriter.addRotationPolicy(policy);
          }
          else
          {
            Message message = ERR_CONFIG_LOGGER_INVALID_ROTATION_POLICY.get(
                    dn.toString(),
                    config.dn().toString());
            resultCode = DirectoryServer.getServerErrorResultCode();
            messages.add(message);
          }
        }
        for(DN dn: config.getRetentionPolicyDN())
        {
          RetentionPolicy policy = DirectoryServer.getRetentionPolicy(dn);
          if(policy != null)
          {
            mfWriter.addRetentionPolicy(policy);
          }
          else
          {
            Message message = WARN_CONFIG_LOGGER_INVALID_RETENTION_POLICY.get(
                    dn.toString(),
                    config.dn().toString());
            resultCode = DirectoryServer.getServerErrorResultCode();
            messages.add(message);
          }
          mfWriter.addRotationPolicy(DirectoryServer.getRotationPolicy(dn));
        }
        for(DN dn: config.getRetentionPolicyDNs())
        {
          mfWriter.addRetentionPolicy(DirectoryServer.getRetentionPolicy(dn));
        }
        if(writer instanceof AsyncronousTextWriter && !config.isAsynchronous())
        {
@@ -890,8 +803,8 @@
    if(thread instanceof DirectoryThread)
    {
      buf.append("threadDetail={");
      for(Map.Entry entry :
          ((DirectoryThread)thread).getDebugProperties().entrySet())
      for (Map.Entry<String, String> entry :
        ((DirectoryThread) thread).getDebugProperties().entrySet())
      {
        buf.append(entry.getKey());
        buf.append("=");