diff options
Diffstat (limited to 'components/core')
3 files changed, 24 insertions, 1 deletions
diff --git a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/interfaces/BluePrintCatalogService.kt b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/interfaces/BluePrintCatalogService.kt index d07d4daba..9186635ee 100644..100755 --- a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/interfaces/BluePrintCatalogService.kt +++ b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/interfaces/BluePrintCatalogService.kt @@ -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 diff --git a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintArchiveUtils.kt b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintArchiveUtils.kt index c1ab4fc6e..beb649134 100644..100755 --- a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintArchiveUtils.kt +++ b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintArchiveUtils.kt @@ -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 diff --git a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt index 2be9f19ca..18896f51d 100755 --- a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt +++ b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt @@ -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. |