From f6cd63ffc28006e05d3a7c90025f1430732949a9 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 19 Apr 2016 08:16:29 +0000
Subject: [PATCH] Code cleanup

---
 opendj-server-legacy/src/main/java/org/opends/server/tools/BackUpDB.java |  224 ++++++++++++++++++-------------------------------------
 1 files changed, 73 insertions(+), 151 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/BackUpDB.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/BackUpDB.java
index f70d0f6..25b5177 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/BackUpDB.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/BackUpDB.java
@@ -78,7 +78,6 @@
  */
 public class BackUpDB extends TaskTool
 {
-
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
   /**
@@ -154,7 +153,6 @@
                             INFO_BACKUPDB_TOOL_DESCRIPTION.get());
     argParser.setShortToolDescription(REF_SHORT_DESC_BACKUP.get());
 
-
     // Initialize all the command-line argument types and register them with the parser.
     try
     {
@@ -254,7 +252,6 @@
       return 1;
     }
 
-
     // If we should just display usage or version information,
     // then print it and exit.
     if (argParser.usageOrVersionDisplayed())
@@ -328,7 +325,6 @@
       return 1;
     }
 
-
     // Checks the version - if upgrade required, the tool is unusable
     try
     {
@@ -341,10 +337,8 @@
     }
 
     return process(argParser, initializeServer, out, err);
-
   }
 
-  /** {@inheritDoc} */
   @Override
   public void addTaskAttributes(List<RawAttribute> attributes)
   {
@@ -379,24 +373,20 @@
         && !arg.getValue().equals(arg.getDefaultValue());
   }
 
-  /** {@inheritDoc} */
   @Override
   public String getTaskObjectclass() {
     return "ds-task-backup";
   }
 
-  /** {@inheritDoc} */
   @Override
   public Class<?> getTaskClass() {
     return BackupTask.class;
   }
 
-  /** {@inheritDoc} */
   @Override
   protected int processLocal(boolean initializeServer,
                            PrintStream out,
                            PrintStream err) {
-
     // Make sure that the backup directory exists.  If not, then create it.
     File backupDirFile = new File(backupDirectory.getValue());
     if (! backupDirFile.exists())
@@ -503,16 +493,16 @@
         Backend<?> b = backendList.get(i);
         if (requestedBackends.contains(b.getBackendID()))
         {
-          if (!b.supports(BackendOperation.BACKUP))
-          {
-            logger.warn(WARN_BACKUPDB_BACKUP_NOT_SUPPORTED, b.getBackendID());
-          }
-          else
+          if (b.supports(BackendOperation.BACKUP))
           {
             backendsToArchive.add(b);
             configEntries.put(b.getBackendID(), entryList.get(i));
             requestedBackends.remove(b.getBackendID());
           }
+          else
+          {
+            logger.warn(WARN_BACKUPDB_BACKUP_NOT_SUPPORTED, b.getBackendID());
+          }
         }
       }
 
@@ -526,12 +516,10 @@
         return 1;
       }
 
-
       // See if there are multiple backends to archive.
       multiple = backendsToArchive.size() > 1;
     }
 
-
     // If there are no backends to archive, then print an error and exit.
     if (backendsToArchive.isEmpty())
     {
@@ -539,38 +527,21 @@
       return 1;
     }
 
-
     // Iterate through the backends to archive and back them up individually.
     boolean errorsEncountered = false;
     for (Backend<?> b : backendsToArchive)
     {
-      // Acquire a shared lock for this backend.
-      try
+      if (!acquireSharedLock(b))
       {
-        String        lockFile      = LockFileManager.getBackendLockFileName(b);
-        StringBuilder failureReason = new StringBuilder();
-        if (! LockFileManager.acquireSharedLock(lockFile, failureReason))
-        {
-          logger.error(ERR_BACKUPDB_CANNOT_LOCK_BACKEND, b.getBackendID(), failureReason);
-          errorsEncountered = true;
-          continue;
-        }
-      }
-      catch (Exception e)
-      {
-        logger.error(ERR_BACKUPDB_CANNOT_LOCK_BACKEND, b.getBackendID(), getExceptionMessage(e));
         errorsEncountered = true;
         continue;
       }
 
-
       logger.info(NOTE_BACKUPDB_STARTING_BACKUP, b.getBackendID());
 
-
       // Get the config entry for this backend.
       BackendCfg configEntry = configEntries.get(b.getBackendID());
 
-
       // Get the path to the directory to use for this backup.  If we will be
       // backing up multiple backends (or if we are backing up all backends,
       // even if there's only one of them), then create a subdirectory for each
@@ -586,7 +557,6 @@
         backupDirPath = backupDirectory.getValue();
       }
 
-
       // If the directory doesn't exist, then create it.  If it does exist, then
       // see if it has a backup descriptor file.
       BackupDirectory backupDir;
@@ -607,42 +577,14 @@
           {
             logger.error(ERR_BACKUPDB_CANNOT_PARSE_BACKUP_DESCRIPTOR, descriptorPath, ce.getMessage());
             errorsEncountered = true;
-
-            try
-            {
-              String lockFile = LockFileManager.getBackendLockFileName(b);
-              StringBuilder failureReason = new StringBuilder();
-              if (! LockFileManager.releaseLock(lockFile, failureReason))
-              {
-                logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
-              }
-            }
-            catch (Exception e)
-            {
-              logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e));
-            }
-
+            releaseSharedLock(b);
             continue;
           }
           catch (Exception e)
           {
             logger.error(ERR_BACKUPDB_CANNOT_PARSE_BACKUP_DESCRIPTOR, descriptorPath, getExceptionMessage(e));
             errorsEncountered = true;
-
-            try
-            {
-              String lockFile = LockFileManager.getBackendLockFileName(b);
-              StringBuilder failureReason = new StringBuilder();
-              if (! LockFileManager.releaseLock(lockFile, failureReason))
-              {
-                logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
-              }
-            }
-            catch (Exception e2)
-            {
-              logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e2));
-            }
-
+            releaseSharedLock(b);
             continue;
           }
         }
@@ -661,28 +603,13 @@
         {
           logger.error(ERR_BACKUPDB_CANNOT_CREATE_BACKUP_DIR, backupDirPath, getExceptionMessage(e));
           errorsEncountered = true;
-
-          try
-          {
-            String lockFile = LockFileManager.getBackendLockFileName(b);
-            StringBuilder failureReason = new StringBuilder();
-            if (! LockFileManager.releaseLock(lockFile, failureReason))
-            {
-              logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
-            }
-          }
-          catch (Exception e2)
-          {
-            logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e2));
-          }
-
+          releaseSharedLock(b);
           continue;
         }
 
         backupDir = new BackupDirectory(backupDirPath, configEntry.dn());
       }
 
-
       // Create a backup configuration and determine whether the requested
       // backup can be performed using the selected backend.
       BackupConfig backupConfig = new BackupConfig(backupDir, backupID,
@@ -697,25 +624,10 @@
       {
         logger.error(ERR_BACKUPDB_CANNOT_BACKUP, b.getBackendID());
         errorsEncountered = true;
-
-        try
-        {
-          String lockFile = LockFileManager.getBackendLockFileName(b);
-          StringBuilder failureReason = new StringBuilder();
-          if (! LockFileManager.releaseLock(lockFile, failureReason))
-          {
-            logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
-          }
-        }
-        catch (Exception e2)
-        {
-          logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e2));
-        }
-
+        unlockBackend(b);
         continue;
       }
 
-
       // Perform the backup.
       try
       {
@@ -725,81 +637,91 @@
       {
         logger.error(ERR_BACKUPDB_ERROR_DURING_BACKUP, b.getBackendID(), de.getMessageObject());
         errorsEncountered = true;
-
-        try
-        {
-          String lockFile = LockFileManager.getBackendLockFileName(b);
-          StringBuilder failureReason = new StringBuilder();
-          if (! LockFileManager.releaseLock(lockFile, failureReason))
-          {
-            logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
-          }
-        }
-        catch (Exception e)
-        {
-          logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e));
-        }
-
+        unlockBackend(b);
         continue;
       }
       catch (Exception e)
       {
         logger.error(ERR_BACKUPDB_ERROR_DURING_BACKUP, b.getBackendID(), getExceptionMessage(e));
         errorsEncountered = true;
-
-        try
-        {
-          String lockFile = LockFileManager.getBackendLockFileName(b);
-          StringBuilder failureReason = new StringBuilder();
-          if (! LockFileManager.releaseLock(lockFile, failureReason))
-          {
-            logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
-          }
-        }
-        catch (Exception e2)
-        {
-          logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e2));
-        }
-
+        unlockBackend(b);
         continue;
       }
 
-
-      // Release the shared lock for the backend.
-      try
+      if (!releaseSharedLock(b))
       {
-        String lockFile = LockFileManager.getBackendLockFileName(b);
-        StringBuilder failureReason = new StringBuilder();
-        if (! LockFileManager.releaseLock(lockFile, failureReason))
-        {
-          logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
-          errorsEncountered = true;
-        }
-      }
-      catch (Exception e)
-      {
-        logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e));
         errorsEncountered = true;
       }
     }
 
-
     // Print a final completed message, indicating whether there were any errors
     // in the process.
-    int ret = 0;
     if (errorsEncountered)
     {
       logger.info(NOTE_BACKUPDB_COMPLETED_WITH_ERRORS);
-      ret = 1;
+      return 1;
     }
-    else
-    {
-      logger.info(NOTE_BACKUPDB_COMPLETED_SUCCESSFULLY);
-    }
-    return ret;
+    logger.info(NOTE_BACKUPDB_COMPLETED_SUCCESSFULLY);
+    return 0;
   }
 
-  /** {@inheritDoc} */
+  private boolean acquireSharedLock(Backend<?> b)
+  {
+    try
+    {
+      String lockFile = LockFileManager.getBackendLockFileName(b);
+      StringBuilder failureReason = new StringBuilder();
+      if (!LockFileManager.acquireSharedLock(lockFile, failureReason))
+      {
+        logger.error(ERR_BACKUPDB_CANNOT_LOCK_BACKEND, b.getBackendID(), failureReason);
+        return false;
+      }
+      return true;
+    }
+    catch (Exception e)
+    {
+      logger.error(ERR_BACKUPDB_CANNOT_LOCK_BACKEND, b.getBackendID(), getExceptionMessage(e));
+      return false;
+    }
+  }
+
+  private boolean releaseSharedLock(Backend<?> b)
+  {
+    try
+    {
+      String lockFile = LockFileManager.getBackendLockFileName(b);
+      StringBuilder failureReason = new StringBuilder();
+      if (!LockFileManager.releaseLock(lockFile, failureReason))
+      {
+        logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
+        return false;
+      }
+      return true;
+    }
+    catch (Exception e)
+    {
+      logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e));
+      return false;
+    }
+  }
+
+  private void unlockBackend(Backend<?> b)
+  {
+    try
+    {
+      String lockFile = LockFileManager.getBackendLockFileName(b);
+      StringBuilder failureReason = new StringBuilder();
+      if (!LockFileManager.releaseLock(lockFile, failureReason))
+      {
+        logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), failureReason);
+      }
+    }
+    catch (Exception e)
+    {
+      logger.warn(WARN_BACKUPDB_CANNOT_UNLOCK_BACKEND, b.getBackendID(), getExceptionMessage(e));
+    }
+  }
+
   @Override
   public String getTaskId() {
     return backupIDString != null ? backupIDString.getValue() : null;

--
Gitblit v1.10.0