Artifacts in CSAR 35/20135/3
authortalio <tali.orenbach@amdocs.com>
Mon, 23 Oct 2017 13:27:16 +0000 (16:27 +0300)
committertalio <tali.orenbach@amdocs.com>
Mon, 23 Oct 2017 13:27:16 +0000 (16:27 +0300)
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>
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 348739e..9b694c5 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,