From 3c64e2dd5fdb72bbc12b99ac385d5f69438732b9 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 05 Jan 2016 13:59:21 +0000
Subject: [PATCH] Code cleanups. Added toString() to UpgradeTasks.

---
 opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeContext.java |   85 ++-----------
 opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java        |   27 ++--
 opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java   |  196 +++++++++++++++++++++++++-------
 3 files changed, 183 insertions(+), 125 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
index 25a9ca8..d764afd 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
@@ -21,7 +21,7 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2013-2015 ForgeRock AS
+ *      Portions Copyright 2013-2016 ForgeRock AS
  */
 package org.opends.server.tools.upgrade;
 
@@ -38,7 +38,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.core.LockFileManager;
 import org.opends.server.util.BuildVersion;
-import org.opends.server.util.StaticUtils;
 
 import com.forgerock.opendj.cli.ClientException;
 import com.forgerock.opendj.cli.ReturnCode;
@@ -413,6 +412,11 @@
               public boolean shouldPerformUpgradeTasks(UpgradeContext context) throws ClientException {
                 return !isOEMVersion();
               }
+
+              @Override
+              public String toString() {
+                return "!isOEMVersion";
+              }
           },
           migrateLocalDBBackendsToJEBackends(),
           modifyConfigEntry(INFO_UPGRADE_TASK_MIGRATE_JE_SUMMARY_2.get(),
@@ -460,6 +464,11 @@
           public boolean shouldPerformUpgradeTasks(UpgradeContext context) throws ClientException {
             return isOEMVersion();
           }
+
+          @Override
+          public String toString() {
+            return "isOEMVersion";
+          }
         },
         deleteFile(new File(libDirectory, "je.jar")),
         requireConfirmation(INFO_UPGRADE_TASK_LOCAL_DB_TO_PDB_1_SUMMARY.get(), NO,
@@ -809,11 +818,9 @@
   private static void changeBuildInfoVersion(final UpgradeContext context)
       throws ClientException
   {
-    FileWriter buildInfo = null;
-    try
+    File buildInfoFile = new File(UpgradeUtils.configDirectory, Installation.BUILDINFO_RELATIVE_PATH);
+    try (FileWriter buildInfo = new FileWriter(buildInfoFile, false))
     {
-      buildInfo =
-          new FileWriter(new File(UpgradeUtils.configDirectory, Installation.BUILDINFO_RELATIVE_PATH), false);
 
       // Write the new version
       buildInfo.write(context.getToVersion().toString());
@@ -826,10 +833,6 @@
       context.notify(message, ERROR_CALLBACK);
       throw new ClientException(ReturnCode.ERROR_UNEXPECTED, message);
     }
-    finally
-    {
-      StaticUtils.close(buildInfo);
-    }
   }
 
   private static void checkLicence(final UpgradeContext context)
@@ -896,9 +899,9 @@
         }
       }
     }
-    catch (SecurityException se)
+    catch (SecurityException e)
     {
-      logger.debug(LocalizableMessage.raw(se.getMessage()));
+      logger.debug(LocalizableMessage.raw(e.getMessage()), e);
     }
   }
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeContext.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeContext.java
index 52421a9..d212c22 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeContext.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeContext.java
@@ -21,13 +21,10 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2013-2014 ForgeRock AS
+ *      Portions Copyright 2013-2016 ForgeRock AS
  */
-
 package org.opends.server.tools.upgrade;
 
-
-
 import static org.opends.messages.ToolMessages.*;
 
 import javax.security.auth.callback.Callback;
@@ -36,14 +33,11 @@
 import javax.security.auth.callback.TextOutputCallback;
 
 import org.forgerock.i18n.LocalizableMessage;
-
-import com.forgerock.opendj.cli.ClientException;
-import com.forgerock.opendj.cli.ReturnCode;
-
 import org.opends.server.types.InitializationException;
 import org.opends.server.util.BuildVersion;
 
-
+import com.forgerock.opendj.cli.ClientException;
+import com.forgerock.opendj.cli.ReturnCode;
 
 /**
  * Context information which is passed to upgrade tasks. This might include
@@ -51,44 +45,23 @@
  */
 public final class UpgradeContext
 {
-
-  /**
-   * The version we upgrade from.
-   */
+  /** The version we upgrade from. */
   private final BuildVersion fromVersion;
-
-  /**
-   * The version we want to upgrade to.
-   */
+  /** The version we want to upgrade to. */
   private final BuildVersion toVersion;
 
-  /**
-   * The call-back handler for interacting with the upgrade application.
-   */
+  /** The call-back handler for interacting with the upgrade application. */
   private final CallbackHandler handler;
 
-  /**
-   * If ignore errors is enabled.
-   */
+  /** If ignore errors is enabled. */
   private boolean isIgnoreErrorsMode;
-
-  /**
-   * If accept license is enabled.
-   */
+  /** If accept license is enabled. */
   private boolean isAcceptLicenseMode;
-
-  /**
-   * If interactive mode is enabled.
-   */
+  /** If interactive mode is enabled. */
   private boolean isInteractiveMode;
-
-  /**
-   * If force upgrade is enabled.
-   */
+  /** If force upgrade is enabled. */
   private boolean isForceUpgradeMode;
 
-
-
   /**
    * Creates a new upgrade context for upgrading from the instance version (as
    * obtained from config/buildinfo) to the binary version.
@@ -104,8 +77,6 @@
     this(BuildVersion.instanceVersion(), BuildVersion.binaryVersion(), handler);
   }
 
-
-
   /**
    * Constructor for the upgrade context.
    *
@@ -125,8 +96,6 @@
     this.handler = handler;
   }
 
-
-
   /**
    * Returns the old version.
    *
@@ -137,8 +106,6 @@
     return fromVersion;
   }
 
-
-
   /**
    * Returns the new version.
    *
@@ -149,8 +116,6 @@
     return toVersion;
   }
 
-
-
   /**
    * Returns the ignore error mode.
    *
@@ -161,8 +126,6 @@
     return isIgnoreErrorsMode;
   }
 
-
-
   /**
    * Sets the ignore errors mode.
    *
@@ -176,8 +139,6 @@
     return this;
   }
 
-
-
   /**
    * Returns the accept license mode.
    *
@@ -188,8 +149,6 @@
     return isAcceptLicenseMode;
   }
 
-
-
   /**
    * Sets the accept license mode.
    *
@@ -203,8 +162,6 @@
     return this;
   }
 
-
-
   /**
    * Returns the callback handler.
    *
@@ -215,8 +172,6 @@
     return handler;
   }
 
-
-
   /**
    * Returns the status of the interactive mode.
    *
@@ -227,8 +182,6 @@
     return isInteractiveMode;
   }
 
-
-
   /**
    * Sets the interactive mode.
    *
@@ -242,8 +195,6 @@
     return this;
   }
 
-
-
   /**
    * Returns the status of the force upgrade mode.
    *
@@ -254,8 +205,6 @@
     return isForceUpgradeMode;
   }
 
-
-
   /**
    * Sets the force upgrade mode.
    *
@@ -269,8 +218,6 @@
     return this;
   }
 
-
-
   /**
    * Sends notification message to the application via the call-back handler.
    *
@@ -293,8 +240,6 @@
     }
   }
 
-
-
   /**
    * Sends notification message to the application via the call-back handler
    * containing specific sub type message.
@@ -320,8 +265,6 @@
     }
   }
 
-
-
   /**
    * Displays a progress callback.
    *
@@ -344,8 +287,6 @@
     }
   }
 
-
-
   /**
    * Asks a confirmation to the user. Answer is yes or no.
    *
@@ -374,4 +315,10 @@
     }
     return confirmYNCallback.getSelectedIndex();
   }
+
+  @Override
+  public String toString()
+  {
+    return "Upgrade from " + fromVersion + " to " + toVersion;
+  }
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
index 90df973..e0de9b3 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
@@ -21,7 +21,7 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2013-2015 ForgeRock AS
+ *      Portions Copyright 2013-2016 ForgeRock AS
  */
 package org.opends.server.tools.upgrade;
 
@@ -57,6 +57,7 @@
 import org.forgerock.opendj.ldap.requests.Requests;
 import org.forgerock.opendj.ldap.requests.SearchRequest;
 import org.forgerock.opendj.ldif.EntryReader;
+import org.forgerock.util.Utils;
 import org.opends.server.backends.pluggable.spi.TreeName;
 import org.opends.server.tools.JavaPropertiesTool;
 import org.opends.server.tools.RebuildIndex;
@@ -72,9 +73,7 @@
 import com.sleepycat.je.Transaction;
 import com.sleepycat.je.TransactionConfig;
 
-/**
- * Factory methods for create new upgrade tasks.
- */
+/** Factory methods for create new upgrade tasks. */
 public final class UpgradeTasks
 {
   /** Logger for the upgrade. */
@@ -151,6 +150,12 @@
               schemaFileTemplate.getName(), e.getMessage()), pnc);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return INFO_UPGRADE_TASK_REPLACE_SCHEMA_FILE.get(fileName).toString();
+      }
     };
   }
 
@@ -190,6 +195,12 @@
               configFile.getName(), e.getMessage()), pnc);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return INFO_UPGRADE_TASK_ADD_CONFIG_FILE.get(fileName).toString();
+      }
     };
   }
 
@@ -287,6 +298,12 @@
               schemaFileTemplate.getName(), e.getMessage()), pnc);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return String.valueOf(summary);
+      }
     };
   }
 
@@ -348,6 +365,12 @@
               schemaFileTemplate.getName(), e.getMessage()), pnc);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return String.valueOf(summary);
+      }
     };
   }
 
@@ -378,6 +401,12 @@
           throw new ClientException(ReturnCode.ERROR_UNEXPECTED, ERR_UPGRADE_DSJAVAPROPERTIES_FAILED.get());
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return String.valueOf(summary);
+      }
     };
   }
 
@@ -407,6 +436,12 @@
       {
         return context.getFromVersion().compareTo(version) >= 0;
       }
+
+      @Override
+      public String toString()
+      {
+        return "Regression in version \"" + versionString + "\"";
+      }
     }, tasks);
   }
 
@@ -431,13 +466,19 @@
       {
         return context.confirmYN(INFO_UPGRADE_TASK_NEEDS_USER_CONFIRM.get(message), defaultResponse) == YES;
       }
+
+      @Override
+      public String toString()
+      {
+        return INFO_UPGRADE_TASK_NEEDS_USER_CONFIRM.get(message).toString();
+      }
     }, tasks);
   }
 
   /** Determines whether conditional tasks should be performed. */
   interface UpgradeCondition
   {
-    boolean shouldPerformUpgradeTasks(final UpgradeContext context) throws ClientException;
+    boolean shouldPerformUpgradeTasks(UpgradeContext context) throws ClientException;
   }
 
   static UpgradeTask conditionalUpgradeTasks(final UpgradeCondition condition, final UpgradeTask... tasks)
@@ -499,6 +540,16 @@
         }
       }
 
+      @Override
+      public String toString()
+      {
+        final StringBuilder sb = new StringBuilder();
+        sb.append(condition).append(" = ").append(shouldPerformUpgradeTasks).append('\n');
+        sb.append('[');
+        Utils.joinAsString(sb, "\n", (Object[]) tasks);
+        sb.append(']');
+        return sb.toString();
+      }
     };
   }
 
@@ -513,7 +564,7 @@
   {
     return new AbstractUpgradeTask()
     {
-      private boolean isATaskToPerform = false;
+      private boolean isATaskToPerform;
 
       @Override
       public void prepare(UpgradeContext context) throws ClientException
@@ -539,11 +590,15 @@
       {
         context.notify(INFO_UPGRADE_ALL_REBUILD_INDEX_DECLINED.get(), TextOutputCallback.WARNING);
       }
+
+      @Override
+      public String toString()
+      {
+        return String.valueOf(summary);
+      }
     };
   }
 
-
-
   /**
    * Creates a rebuild index task for a given single index. As this task is
    * possibly lengthy, it's considered as a post upgrade task. This task is not
@@ -565,7 +620,7 @@
   {
     return new AbstractUpgradeTask()
     {
-      private boolean isATaskToPerform = false;
+      private boolean isATaskToPerform;
 
       @Override
       public void prepare(UpgradeContext context) throws ClientException
@@ -596,6 +651,12 @@
           context.notify(INFO_UPGRADE_REBUILD_INDEX_DECLINED.get(index), TextOutputCallback.WARNING);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return String.valueOf(summary);
+      }
     };
   }
 
@@ -653,44 +714,49 @@
          * upgrade log file.
          */
         final List<String> backends = UpgradeUtils.getIndexedBackendsFromConfig();
-        if (!backends.isEmpty())
-        {
-          for (final String be : backends)
-          {
-            args.add("-b");
-            args.add(be);
-          }
-
-          // Displays info about command line args for log only.
-          logger.debug(INFO_UPGRADE_REBUILD_INDEX_ARGUMENTS, args);
-
-          /*
-           * The rebuild-index process just display a status ok / fails. The
-           * logger stream contains all the log linked to this process. The
-           * complete process is not displayed in the upgrade console.
-           */
-          final String[] commandLineArgs = args.toArray(new String[args.size()]);
-          final int result = new RebuildIndex().rebuildIndexesWithinMultipleBackends(
-              true, UpgradeLog.getPrintStream(), commandLineArgs);
-
-          if (result == 0)
-          {
-            logger.debug(INFO_UPGRADE_REBUILD_INDEX_ENDS);
-            context.notifyProgress(pnc.setProgress(100));
-          }
-          else
-          {
-            final LocalizableMessage msg = ERR_UPGRADE_PERFORMING_POST_TASKS_FAIL.get();
-            context.notifyProgress(pnc.setProgress(-100));
-            throw new ClientException(ReturnCode.ERROR_UNEXPECTED, msg);
-          }
-        }
-        else
+        if (backends.isEmpty())
         {
           logger.debug(INFO_UPGRADE_REBUILD_INDEX_NO_BACKEND_FOUND);
           logger.debug(INFO_UPGRADE_REBUILD_INDEX_DECLINED, indexesToRebuild);
           context.notifyProgress(pnc.setProgress(100));
+          return;
         }
+
+        for (final String be : backends)
+        {
+          args.add("-b");
+          args.add(be);
+        }
+
+        // Displays info about command line args for log only.
+        logger.debug(INFO_UPGRADE_REBUILD_INDEX_ARGUMENTS, args);
+
+        /*
+         * The rebuild-index process just display a status ok / fails. The
+         * logger stream contains all the log linked to this process. The
+         * complete process is not displayed in the upgrade console.
+         */
+        final String[] commandLineArgs = args.toArray(new String[args.size()]);
+        final int result = new RebuildIndex().rebuildIndexesWithinMultipleBackends(
+            true, UpgradeLog.getPrintStream(), commandLineArgs);
+
+        if (result == 0)
+        {
+          logger.debug(INFO_UPGRADE_REBUILD_INDEX_ENDS);
+          context.notifyProgress(pnc.setProgress(100));
+        }
+        else
+        {
+          final LocalizableMessage msg = ERR_UPGRADE_PERFORMING_POST_TASKS_FAIL.get();
+          context.notifyProgress(pnc.setProgress(-100));
+          throw new ClientException(ReturnCode.ERROR_UNEXPECTED, msg);
+        }
+      }
+
+      @Override
+      public String toString()
+      {
+        return "Post upgrade rebuild indexes task";
       }
     };
   }
@@ -719,7 +785,7 @@
 
         try
         {
-          String toRevision = String.valueOf(context.getToVersion().getRevision());
+          String toRevision = context.getToVersion().getRevision();
           updateConfigUpgradeSchemaFile(configSchemaDirectory, toRevision);
 
           context.notifyProgress(pnc.setProgress(100));
@@ -729,6 +795,12 @@
           manageTaskException(context, ERR_UPGRADE_CONFIG_ERROR_UPGRADE_FOLDER.get(ex.getMessage()), pnc);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return INFO_UPGRADE_TASK_REFRESH_UPGRADE_DIRECTORY.get().toString();
+      }
     };
   }
 
@@ -778,6 +850,12 @@
           }
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return String.valueOf(summary);
+      }
     };
   }
 
@@ -808,6 +886,12 @@
           manageTaskException(context, LocalizableMessage.raw(e.getMessage()), pnc);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return INFO_UPGRADE_TASK_DELETE_FILE.get(file).toString();
+      }
     };
   }
 
@@ -954,6 +1038,12 @@
         builder.append("_id2entry");
         return builder.toString();
       }
+
+      @Override
+      public String toString()
+      {
+        return INFO_UPGRADE_TASK_MIGRATE_JE_SUMMARY_1.get("%s").toString();
+      }
     };
   }
 
@@ -965,7 +1055,7 @@
   {
     return new AbstractUpgradeTask()
     {
-      private boolean reimportRequired = false;
+      private boolean reimportRequired;
 
       @Override
       public void perform(UpgradeContext context) throws ClientException
@@ -1019,6 +1109,12 @@
           context.notify(INFO_UPGRADE_TASK_RENAME_JE_DB_DIR_WARNING.get(), TextOutputCallback.WARNING);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return INFO_UPGRADE_TASK_RENAME_JE_DB_DIR.get("%s", "%s").toString();
+      }
     };
   }
 
@@ -1115,6 +1211,12 @@
       {
         performConfigFileUpdate(summary, filter, changeOperationType, context, ldif);
       }
+
+      @Override
+      public String toString()
+      {
+        return String.valueOf(summary);
+      }
     };
   }
 
@@ -1212,6 +1314,12 @@
           manageTaskException(context, LocalizableMessage.raw(e.getLocalizedMessage()), pnc);
         }
       }
+
+      @Override
+      public String toString()
+      {
+        return INFO_UPGRADE_TASK_DELETE_CHANGELOG_SUMMARY.get(replicationDbDir).toString();
+      }
     };
   }
 

--
Gitblit v1.10.0