From 33a4512b6eb6204e2209a788b06153a889629f4e Mon Sep 17 00:00:00 2001 From: Francis Toth Date: Fri, 24 Apr 2020 10:29:03 -0400 Subject: Refactor CsarUtils::getEntryData Change-Id: I1732ae05cfbe93c1bef8c249e16088a0cad34106 Issue-ID: SDC-2812 Signed-off-by: Francis Toth --- .../java/org/openecomp/sdc/be/tosca/CsarUtils.java | 38 ++++++++++------------ 1 file changed, 18 insertions(+), 20 deletions(-) (limited to 'catalog-be') diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java index 39c0a09f9c..22b655ad40 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java @@ -21,6 +21,7 @@ package org.openecomp.sdc.be.tosca; +import fj.F; import fj.data.Either; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; @@ -609,26 +610,23 @@ public class CsarUtils { return Either.left(zip); } - private Either getEntryData(String cassandraId, Component childComponent) { - byte[] content; - if (cassandraId == null || cassandraId.isEmpty()) { - Either exportRes = toscaExportUtils.exportComponent(childComponent); - if (exportRes.isRight()) { - log.debug("Failed to export tosca template for child component {} error {}", - childComponent.getUniqueId(), exportRes.right().value()); - return Either.right(componentsUtils.convertFromToscaError(exportRes.right().value())); - } - content = exportRes.left().value().getMainYaml().getBytes(); - } else { - Either fromCassandra = getFromCassandra(cassandraId); - if (fromCassandra.isRight()) { - return Either.right(fromCassandra.right().value()); - } else { - content = fromCassandra.left().value(); - } - } - return Either.left(content); - } + private Either getEntryData(String cassandraId, Component childComponent) { + if (cassandraId == null || cassandraId.isEmpty()) { + return toscaExportUtils.exportComponent(childComponent) + .right().map(toscaErrorToActionStatus(childComponent)) + .left().map(toscaRepresentation -> toscaRepresentation.getMainYaml().getBytes()); + } else { + return getFromCassandra(cassandraId); + } + } + + private F toscaErrorToActionStatus(Component childComponent) { + return toscaError -> { + log.debug("Failed to export tosca template for child component {} error {}", + childComponent.getUniqueId(), toscaError); + return componentsUtils.convertFromToscaError(toscaError); + }; + } private Either getLatestSchemaFilesFromCassandra() { Either, CassandraOperationStatus> specificSchemaFiles = sdcSchemaFilesCassandraDao.getSpecificSchemaFiles(getVersionFirstThreeOctets(), CONFORMANCE_LEVEL); -- cgit 1.2.3-korg