Artifacts in CSAR 91/20291/1
authortalio <tali.orenbach@amdocs.com>
Mon, 23 Oct 2017 13:27:16 +0000 (16:27 +0300)
committertali orenbach <tali.orenbach@amdocs.com>
Tue, 24 Oct 2017 07:25:27 +0000 (07:25 +0000)
pack all artifact files under Artifacts/ directory, and not under Artifacts/Artifacts (in import CSAR scenario)

Issue - Id : SDC-495

Change-Id: I65299d449ed87a6fb492a802c40e1ab12535453a
Signed-off-by: talio <tali.orenbach@amdocs.com>
(cherry picked from commit d4e5d3c532f6d71cc3ff79047068ff904972ea42)

openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-api/src/main/java/org/openecomp/core/converter/datatypes/CsarFileTypes.java
openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterImpl.java

index f38d7f2..55f92aa 100644 (file)
@@ -54,7 +54,8 @@ public class ToscaConverterImpl implements ToscaConverter {
                     break;
 
                 case externalFile:
-                    artifacts.addFile(fileEntry.getKey(), fileEntry.getValue());
+                    artifacts.addFile(
+                        getConcreteArtifactFileName(fileEntry.getKey()), fileEntry.getValue());
                     break;
 
                 case definitionsFile:
@@ -94,6 +95,17 @@ public class ToscaConverterImpl implements ToscaConverter {
         }
     }
 
+    private String getConcreteArtifactFileName(String fileName){
+        int artifactIndex = fileName.indexOf(CsarFileTypes.Artifacts.name());
+        if(artifactIndex < 0){
+            return fileName;
+        }
+
+        int artifactDirectoryIndex =
+            artifactIndex + CsarFileTypes.Artifacts.name().length() + 1;
+        return fileName.substring(artifactDirectoryIndex);
+    }
+
     private void updateToscaServiceModel(ToscaServiceModel toscaServiceModel,
                                          Map<String, ServiceTemplate> serviceTemplates,
                                          FileContentHandler externalFilesHandler,