1st drop integration with BluePrintCatalogService
authorSteve Alphonse Siani <alphonse.steve.siani.djissitchi@ibm.com>
Fri, 28 Dec 2018 19:58:27 +0000 (14:58 -0500)
committerSteve Alphonse Siani <alphonse.steve.siani.djissitchi@ibm.com>
Fri, 4 Jan 2019 15:54:21 +0000 (10:54 -0500)
Change-Id: I0824dcaf0a36e4616c12f3ac53530e6863bee290
Issue-ID: CCSDK-418
Signed-off-by: Steve Alphonse Siani <alphonse.steve.siani.djissitchi@ibm.com>
components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/interfaces/BluePrintCatalogService.kt [changed mode: 0644->0755]
components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintArchiveUtils.kt [changed mode: 0644->0755]
components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt

old mode 100644 (file)
new mode 100755 (executable)
index d07d4da..9186635
@@ -21,7 +21,7 @@ interface BluePrintCatalogService {
     /**
      * Upload the CBA Zip fle to data base and return the Database identifier
      */
-    fun uploadToDataBase(file: String): String
+    fun uploadToDataBase(file: String, validate : Boolean): String
 
     /**
      * Download the CBA zip file from the data base and place it in a path and return the CBA zip absolute path
@@ -32,4 +32,9 @@ interface BluePrintCatalogService {
      * Get the Blueprint from Data Base and Download it under working directory and return the path path
      */
     fun prepareBluePrint(name: String, version: String): String
+
+    /**
+     * Get blueprint archive with zip file from Data Base
+     */
+    fun downloadFromDataBase(uuid: String, path: String): String
 }
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index c1ab4fc..beb6491
@@ -1,5 +1,6 @@
 /*
  * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2019 Bell Canada.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,10 +22,13 @@ import kotlinx.coroutines.runBlocking
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry
 import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream
 import org.apache.commons.io.IOUtils
+import org.apache.commons.io.filefilter.DirectoryFileFilter
 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException
 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintProcessorException
+import reactor.core.publisher.zip
 import java.io.*
 import java.nio.charset.Charset
+import java.nio.file.Files
 import java.util.zip.ZipFile
 
 class BluePrintArchiveUtils {
@@ -139,8 +143,10 @@ class BluePrintArchiveUtils {
                 val entry = enumeration.nextElement()
                 val destFilePath = File(targetPath, entry.name)
                 destFilePath.parentFile.mkdirs()
+
                 if (entry.isDirectory)
                     continue
+
                 val bufferedIs = BufferedInputStream(zip.getInputStream(entry))
                 bufferedIs.use {
                     destFilePath.outputStream().buffered(1024).use { bos ->
@@ -153,8 +159,19 @@ class BluePrintArchiveUtils {
             check(destinationDir.isDirectory && destinationDir.exists()) {
                 throw BluePrintProcessorException("failed to decompress blueprint(${zipFile.absolutePath}) to ($targetPath) ")
             }
+
             return destinationDir
         }
+
+        /**
+         * Get the first item in directory
+         *
+         * @param zipFile
+         * @return string
+         */
+        fun getFirstItemInDirectory(dir: File): String {
+            return dir.walk().map { it.name }.elementAt(1)
+        }
     }
 
 }
\ No newline at end of file
index 2be9f19..18896f5 100755 (executable)
@@ -1,5 +1,6 @@
 /*
  * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2019 Bell Canada.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.