From 6f23dfe4113186d966cd184ef6a925cb30bcbde6 Mon Sep 17 00:00:00 2001 From: nfcalabria <nfcalabria@localhost> Date: Tue, 2 Nov 2021 23:59:50 +0100 Subject: [PATCH] Bugfix --- .../it/inaf/ia2/transfer/service/ArchiveService.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java b/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java index 748e2ef..ec99bfc 100644 --- a/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java +++ b/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java @@ -146,7 +146,7 @@ public class ArchiveService { if (!vosPaths.isEmpty()) { for (FileInfo fileInfo : fileDAO.getArchiveFileInfos(vosPaths)) { - String relPath = fileInfo.getVirtualPath().substring(commonParent.length()); + String relPath = fileInfo.getVirtualPath().substring(commonParent.length()); this.insertEntryIntoArchive(fileInfo, supportDir, relPath, tokenPrincipal, portalLocationUrls, servletRequest, handler); @@ -173,7 +173,7 @@ public class ArchiveService { String relPath = vosPath.substring(commonParent.length()); - + this.insertEntryIntoArchive(fileInfo, supportDir, relPath, tokenPrincipal, portalLocationUrls, servletRequest, handler); } @@ -254,6 +254,11 @@ public class ArchiveService { List<String> vosPaths = entryDescriptors.stream().map(ed -> ed.getVosPath()) .collect(Collectors.toList()); + + if(vosPaths.size() == 1) { + String vosPath = vosPaths.get(0); + return vosPath.substring(0, vosPath.lastIndexOf("/")); + } String commonParent = null; for (String vosPath : vosPaths) { @@ -312,7 +317,7 @@ public class ArchiveService { } @Override - public TarEntry getEntry(File file, String path) { + public TarEntry getEntry(File file, String path) { return new TarEntry(file, path); } -- GitLab