From ce18581ef79637c8c6a4cac5c696598f1eb024e0 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 04 Jul 2013 08:04:19 +0000
Subject: [PATCH] Removed reflection that was used to access APIs new from JDK 6.

---
 opends/src/server/org/opends/server/loggers/FreeDiskSpaceRetentionPolicy.java |   47 +++++++++++++++++++++++------------------------
 1 files changed, 23 insertions(+), 24 deletions(-)

diff --git a/opends/src/server/org/opends/server/loggers/FreeDiskSpaceRetentionPolicy.java b/opends/src/server/org/opends/server/loggers/FreeDiskSpaceRetentionPolicy.java
index 2531d79..0542e34 100644
--- a/opends/src/server/org/opends/server/loggers/FreeDiskSpaceRetentionPolicy.java
+++ b/opends/src/server/org/opends/server/loggers/FreeDiskSpaceRetentionPolicy.java
@@ -23,33 +23,32 @@
  *
  *
  *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Portions copyright 2013 ForgeRock AS
  */
 package org.opends.server.loggers;
-import org.opends.messages.Message;
+
+import static org.opends.messages.LoggerMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
+import static org.opends.server.util.StaticUtils.*;
 
 import java.io.File;
-import java.lang.reflect.Method;
-import java.util.Arrays;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import static org.opends.messages.LoggerMessages.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.DebugLogLevel;
-import org.opends.server.types.ResultCode;
-import org.opends.server.types.ConfigChangeResult;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.admin.std.server.FreeDiskSpaceLogRetentionPolicyCfg;
+import org.opends.messages.Message;
 import org.opends.server.admin.server.ConfigurationChangeListener;
+import org.opends.server.admin.std.server.FreeDiskSpaceLogRetentionPolicyCfg;
 import org.opends.server.core.DirectoryServer;
-import static org.opends.server.util.StaticUtils.stackTraceToSingleLineString;
-
+import org.opends.server.loggers.debug.DebugTracer;
+import org.opends.server.types.ConfigChangeResult;
+import org.opends.server.types.DebugLogLevel;
+import org.opends.server.types.DirectoryException;
+import org.opends.server.types.ResultCode;
 
 /**
- * This class implements a retention policy based on the free disk
- * space available expressed as a percentage. This policy is only
- * available on Java 6.
+ * This class implements a retention policy based on the free disk space
+ * available expressed as a percentage.
  */
 public class FreeDiskSpaceRetentionPolicy implements
     RetentionPolicy<FreeDiskSpaceLogRetentionPolicyCfg>,
@@ -66,6 +65,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public void initializeLogRetentionPolicy(
       FreeDiskSpaceLogRetentionPolicyCfg config)
   {
@@ -78,6 +78,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public boolean isConfigurationChangeAcceptable(
       FreeDiskSpaceLogRetentionPolicyCfg config,
       List<Message> unacceptableReasons)
@@ -89,6 +90,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public ConfigChangeResult applyConfigurationChange(
       FreeDiskSpaceLogRetentionPolicyCfg config)
   {
@@ -106,6 +108,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public File[] deleteFiles(FileNamingPolicy fileNamingPolicy)
       throws DirectoryException
   {
@@ -119,7 +122,7 @@
                                    message);
     }
 
-    ArrayList<File> filesToDelete = new ArrayList<File>();
+    List<File> filesToDelete = new ArrayList<File>();
 
     if(files.length <= 0)
     {
@@ -127,14 +130,9 @@
     }
 
     long freeSpace = 0;
-
     try
     {
-      // Use reflection to see use the getFreeSpace method if available.
-      // this method is only available on Java 6.
-      Method meth = File.class.getMethod("getFreeSpace", new Class[0]);
-      Object value = meth.invoke(files[0]);
-      freeSpace = ((Long) value).longValue();
+      freeSpace = files[0].getFreeSpace();
     }
     catch (Exception e)
     {
@@ -177,12 +175,13 @@
       }
     }
 
-    return filesToDelete.toArray(new File[0]);
+    return filesToDelete.toArray(new File[filesToDelete.size()]);
   }
 
   /**
    * {@inheritDoc}
    */
+  @Override
   public String toString()
   {
     return "Free Disk Retention Policy " + config.dn().toString();

--
Gitblit v1.10.0