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