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

boli
13.26.2009 cf4d532bc0312d6456637a01c6b7c29d2906ecbd
opends/src/server/org/opends/server/loggers/SizeBasedRetentionPolicy.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 */
package org.opends.server.loggers;
import org.opends.messages.Message;
@@ -55,8 +55,10 @@
   * The tracer object for the debug logger.
   */
  private static final DebugTracer TRACER = getTracer();
  private static final File[] EMPTY_FILE_LIST = new File[0];
  private long size = 0;
  private FileComparator comparator;
  private SizeLimitLogRetentionPolicyCfg config;
  /**
@@ -66,6 +68,7 @@
      SizeLimitLogRetentionPolicyCfg config)
  {
    this.size = config.getDiskSpaceUsed();
    this.comparator = new FileComparator();
    this.config = config;
    config.addSizeLimitChangeListener(this);
@@ -115,8 +118,6 @@
                                   message);
    }
    ArrayList<File> filesToDelete = new ArrayList<File>();
    long totalLength = 0;
    for (File file : files)
    {
@@ -130,26 +131,28 @@
    if (totalLength <= size)
    {
      return new File[0];
      return EMPTY_FILE_LIST;
    }
    long freeSpaceNeeded = totalLength - size;
    // Sort files based on last modified time.
    Arrays.sort(files, new FileComparator());
    Arrays.sort(files, comparator);
    long freedSpace = 0;
    for (int j = files.length - 1; j < 1; j--)
    int j;
    for (j = files.length - 1; j >= 0; j--)
    {
      freedSpace += files[j].length();
      filesToDelete.add(files[j]);
      if (freedSpace >= freeSpaceNeeded)
      {
        break;
      }
    }
    return filesToDelete.toArray(new File[0]);
    File[] filesToDelete = new File[files.length - j];
    System.arraycopy(files, j, filesToDelete, 0, filesToDelete.length);
    return filesToDelete;
  }
  /**