Fixed Service Template Parsing 35/124635/3
authorbrunomilitzer <bruno.militzer@est.tech>
Thu, 30 Sep 2021 16:36:44 +0000 (17:36 +0100)
committerbrunomilitzer <bruno.militzer@est.tech>
Wed, 6 Oct 2021 12:21:36 +0000 (13:21 +0100)
Issue-Id: POLICY-3691
Change-Id: Ie04711cd01e4140b0842e8d0d4ffbbe8e1b83361
Signed-off-by: brunomilitzer <bruno.militzer@est.tech>
runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProvider.java

index 72c153b..d055ba2 100644 (file)
@@ -262,11 +262,19 @@ public class CommissioningProvider {
      * @return the tosca service template
      * @throws PfModelException on errors getting tosca service template
      */
-    public String getToscaServiceTemplateReduced(String name, String version) throws PfModelException {
+    public String getToscaServiceTemplateReduced(String name, String version)
+        throws PfModelException {
 
         var serviceTemplateList = serviceTemplateProvider.getServiceTemplateList(name, version);
 
-        ToscaServiceTemplate fullTemplate = filterToscaNodeTemplateInstance(serviceTemplateList).get(0);
+        List<ToscaServiceTemplate> filteredServiceTemplateList = filterToscaNodeTemplateInstance(
+            serviceTemplateList);
+
+        if (filteredServiceTemplateList.isEmpty()) {
+            throw new PfModelException(Status.BAD_REQUEST, "Invalid Service Template");
+        }
+
+        ToscaServiceTemplate fullTemplate = filteredServiceTemplateList.get(0);
 
         var template = new HashMap<String, Object>();
         template.put("tosca_definitions_version", fullTemplate.getToscaDefinitionsVersion());