From 1e0c506c5efc3b58222029608bd213aed8d26bb8 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.

---
 opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java |   36 ++++++------------------------------
 1 files changed, 6 insertions(+), 30 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java b/opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java
index 47518b8..f15b37e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java
@@ -27,12 +27,10 @@
  */
 package org.opends.server.tools;
 
-
-
+import java.io.Console;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.PrintStream;
-import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
@@ -58,19 +56,9 @@
 import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.schema.AuthPasswordSyntax;
 import org.opends.server.schema.UserPasswordSyntax;
-import org.opends.server.types.ByteString;
-import org.opends.server.types.DN;
-import org.opends.server.types.DebugLogLevel;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.InitializationException;
-import org.opends.server.types.NullOutputStream;
-import org.opends.server.types.WritabilityMode;
+import org.opends.server.types.*;
 import org.opends.server.util.BuildVersion;
-import org.opends.server.util.args.ArgumentException;
-import org.opends.server.util.args.ArgumentParser;
-import org.opends.server.util.args.BooleanArgument;
-import org.opends.server.util.args.FileBasedArgument;
-import org.opends.server.util.args.StringArgument;
+import org.opends.server.util.args.*;
 
 import static org.opends.messages.ConfigMessages.*;
 import static org.opends.messages.ToolMessages.*;
@@ -81,8 +69,6 @@
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
 
-
-
 /**
  * This program provides a utility that may be used to interact with the
  * password storage schemes defined in the Directory Server.  In particular,
@@ -1070,27 +1056,17 @@
       throws IOException
   {
     String password;
-    try // JDK 6 console
+    try
     {
-      // get the Console (class the constructor)
-      Method constructor =
-        System.class.getDeclaredMethod("console",new Class[0]);
-      Object console = constructor.invoke(null, new Object[0]);
-
+      Console console = System.console();
       if (console != null)
       {
-        // class to method
-        Class<?> c = Class.forName("java.io.Console");
-        Object[] args = new Object[] { prompt, new Object[0] };
-        Method m = c.getDeclaredMethod("readPassword",
-            new Class[] { String.class, args.getClass() });
-        password = new String((char[]) m.invoke(console, args));
+        password = new String(console.readPassword(prompt));
       }
       else
       {
         throw new IOException("No console");
       }
-
     }
     catch (Exception e)
     {

--
Gitblit v1.10.0