Lower cyclomatic complexity of copyDirectory 89/18189/1
authorHarry Huang <huangxiangyu5@huawei.com>
Wed, 11 Oct 2017 07:18:34 +0000 (15:18 +0800)
committerHarry Huang <huangxiangyu5@huawei.com>
Wed, 11 Oct 2017 07:38:16 +0000 (15:38 +0800)
major: L73

Change-Id: Ib5b5edd8e6c1eed7e8b209893cb73b5cc15311a0
Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
Issue-Id: VNFSDK-85

vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/filemanage/http/ToolUtil.java

index e45d31b..48a7d0c 100644 (file)
@@ -34,7 +34,7 @@ public class ToolUtil {
   }
 
   /**
-   * copy in directory.
+   * simple copy directory
    * @param srcDirName source directory name
    * @param destDirName destination directory name
    * @param files file list in directory
@@ -42,24 +42,44 @@ public class ToolUtil {
    * @return boolean
    * @throws IOException e
    */
-  public static boolean copyInDirectory(String srcDirName, String destDirName, File[] files, boolean overlay)
+  public static boolean simpleCopyDirectory(String srcDirName, String destDirName)
       throws IOException
   {
+    File srcDir = new File(srcDirName);
+    File[] files = srcDir.listFiles();
     for (int i = 0; i < files.length; i++) {
         boolean flag = false;
         if (files[i].isFile()) {
           flag = copyFile(files[i].getAbsolutePath(), destDirName + files[i].getName(), true);
         }
         if (files[i].isDirectory()) {
-          flag = copyDirectory(files[i].getAbsolutePath(), destDirName + files[i].getName(), overlay);
+          flag = simpleCopyDirectory(files[i].getAbsolutePath(), destDirName + files[i].getName());
         }
         if (!flag) {
           String message = "Copy catagory " + srcDirName + " to " + destDirName + " failed!";
           LOGGER.error(message);
           return false;
         }
-      }
-      return true;
+     }
+     return true;
+  }
+
+  /**
+   * create destDir
+   * @param destDirName destination directory name
+   * @param overlay overwrite or not
+   * @return boolean
+   */
+  public static boolean createDestDir(String destDirName, boolean overlay)
+  {
+    File destDir = new File(destDirName);
+    if (destDir.exists() && overlay) {
+        new File(destDirName).delete();
+    } else if (destDir.exists() && !overlay) {
+        return false;
+    }
+
+    return destDir.mkdirs();
   }
 
   /**
@@ -77,24 +97,17 @@ public class ToolUtil {
       return false;
     }
 
-    String useDestDirName = destDirName;
-    if (!useDestDirName.endsWith(File.separator)) {
-      useDestDirName += File.separator;
-    }
-    File destDir = new File(useDestDirName);
-    if (destDir.exists() && overlay) {
-        new File(useDestDirName).delete();
-    } else if (destDir.exists() && !overlay) {
-        return false;
+    String fullDestDirName = destDirName;
+    if (!fullDestDirName.endsWith(File.separator)) {
+      fullDestDirName += File.separator;
     }
 
-    if (!destDir.mkdirs()) {
-        return false;
+    if (!createDestDir(fullDestDirName, overlay))
+    {
+      return false;
     }
 
-    File[] files = srcDir.listFiles();
-
-    return copyInDirectory(srcDirName, destDirName, files, overlay);
+    return simpleCopyDirectory(srcDirName, fullDestDirName);
   }
 
   /**