Fix use of Optional in ToscaAnalyzerServiceImpl 04/126604/2
authorfranciscovila <javier.paradela.vila@est.tech>
Thu, 13 Jan 2022 11:54:10 +0000 (11:54 +0000)
committerMichael Morris <michael.morris@est.tech>
Mon, 17 Jan 2022 10:21:11 +0000 (10:21 +0000)
Checking the Optionals are present before getting
their values in the ToscaAnalyzerServiceImpl class

Issue-ID: SDC-3836
Signed-off-by: franciscovila <javier.paradela.vila@est.tech>
Change-Id: I206877115abf36d8b80a8d38dac2415407828c4b

openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/impl/ToscaAnalyzerServiceImpl.java

index c5deee4..1a37f90 100644 (file)
@@ -407,25 +407,25 @@ public class ToscaAnalyzerServiceImpl implements ToscaAnalyzerService {
                 if (requirementMapping != null && !requirementMapping.isEmpty()) {
                     String mappedNodeTemplateId = requirementMapping.get(0);
                     Optional<NodeTemplate> mappedNodeTemplate = getNodeTemplateById(substituteServiceTemplate, mappedNodeTemplateId);
-                    mappedNodeTemplate.orElseThrow(
-                        () -> new CoreException(new ToscaInvalidEntryNotFoundErrorBuilder("Node Template", mappedNodeTemplateId).build()));
-                    Map.Entry<String, NodeTemplate> mappedNodeTemplateEntry = new Map.Entry<String, NodeTemplate>() {
-                        @Override
-                        public String getKey() {
-                            return mappedNodeTemplateId;
-                        }
-
-                        @Override
-                        public NodeTemplate getValue() {
-                            return mappedNodeTemplate.get();
-                        }
-
-                        @Override
-                        public NodeTemplate setValue(NodeTemplate value) {
-                            return null;
-                        }
-                    };
-                    return Optional.of(mappedNodeTemplateEntry);
+                    if (mappedNodeTemplate.isPresent()) {
+                        final NodeTemplate nodeTemplate = mappedNodeTemplate.get();
+                        return Optional.of(new HashMap.Entry<>() {
+                            @Override
+                            public String getKey() {
+                                return mappedNodeTemplateId;
+                            }
+                            @Override
+                            public NodeTemplate getValue() {
+                                return nodeTemplate;
+                            }
+                            @Override
+                            public NodeTemplate setValue(final NodeTemplate nodeTemplate) {
+                                return null;
+                            }
+                        });
+                    } else {
+                        throw new CoreException(new ToscaInvalidEntryNotFoundErrorBuilder("Node Template", mappedNodeTemplateId).build());
+                    }
                 }
             }
         }