invalid yaml exception 81/24681/2
authortalio <tali.orenbach@amdocs.com>
Tue, 21 Nov 2017 07:53:17 +0000 (09:53 +0200)
committerAvi Gaffa <avi.gaffa@amdocs.com>
Tue, 21 Nov 2017 09:22:17 +0000 (09:22 +0000)
throw an invalid yaml exception if one of the retrieved service templates is corrupted, while submitting a VSP

Issue - Id : SDC-693

Change-Id: Icf37cf1aa847385ef118a1395b1afdfe99e9d79d
Signed-off-by: talio <tali.orenbach@amdocs.com>
openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/errors/RetrieveServiceTemplateFromDbErrorBuilder.java [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/ServiceModelDaoZusammenImpl.java

diff --git a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/errors/RetrieveServiceTemplateFromDbErrorBuilder.java b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/errors/RetrieveServiceTemplateFromDbErrorBuilder.java
new file mode 100644 (file)
index 0000000..f47eca3
--- /dev/null
@@ -0,0 +1,18 @@
+package org.openecomp.core.model.errors;
+
+import org.openecomp.sdc.common.errors.BaseErrorBuilder;
+import org.openecomp.sdc.common.errors.ErrorCategory;
+
+public class RetrieveServiceTemplateFromDbErrorBuilder extends BaseErrorBuilder {
+  private static final String CANT_RETRIEVE_SERVICE_TEMPLATE = "Could not retrirve service " +
+      "template named %s. Reason - %s";
+  private static final String CREATE_SERVICE_TEMPLATE = "CREATE_SERVICE_TEMPLATE";
+
+  public RetrieveServiceTemplateFromDbErrorBuilder(String serviceTemplateName,
+                                                   String reason){
+    this.getErrorCodeBuilder()
+        .withCategory(ErrorCategory.APPLICATION)
+        .withId(CREATE_SERVICE_TEMPLATE)
+        .withMessage(String.format(CANT_RETRIEVE_SERVICE_TEMPLATE, serviceTemplateName, reason));
+  }
+}
index 88a1c75..b5e3627 100644 (file)
@@ -11,10 +11,12 @@ import com.amdocs.zusammen.datatypes.item.Info;
 import com.amdocs.zusammen.datatypes.item.ItemVersion;
 import org.apache.commons.io.IOUtils;
 import org.openecomp.core.model.dao.ServiceModelDao;
+import org.openecomp.core.model.errors.RetrieveServiceTemplateFromDbErrorBuilder;
 import org.openecomp.core.model.types.ServiceElement;
 import org.openecomp.core.utilities.file.FileContentHandler;
 import org.openecomp.core.zusammen.api.ZusammenAdaptor;
 import org.openecomp.core.zusammen.api.ZusammenUtil;
+import org.openecomp.sdc.common.errors.CoreException;
 import org.openecomp.sdc.logging.api.Logger;
 import org.openecomp.sdc.logging.api.LoggerFactory;
 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
@@ -84,17 +86,12 @@ public class ServiceModelDaoZusammenImpl
         context, elementContext, serviceModelElementId, StructureElement.Templates.name());
 
     if (templatesElementInfo.isPresent()) {
-
-      //Map<String, ServiceTemplate> serviceTemplateMap = new HashMap<>();
       Collection<Element> elements = zusammenAdaptor.listElementData(context, elementContext,
           templatesElementInfo.get().getId());
 
       return elements.stream().collect(Collectors.toMap(
           element -> element.getInfo().getName(),
           this::elementToServiceTemplate));
-    /*elements.stream().forEach(element ->serviceTemplateMap.put(element.getInfo().getName(),
-        elementToServiceTemplate(element)));
-    return serviceTemplateMap;*/
     }
     return null;
   }
@@ -186,8 +183,9 @@ public class ServiceModelDaoZusammenImpl
       return new ToscaExtensionYamlUtil().
           yamlToObject(yamlContent, ServiceTemplate.class);
     }catch (Exception e){
-      logger.debug("",e);
-      return null;
+      throw new CoreException(
+          new RetrieveServiceTemplateFromDbErrorBuilder(
+              element.getInfo().getName(), e.getMessage()).build());
     }
   }