Commit c7699de8 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Other fixes for special characters

parent 7e0a7327
Pipeline #7982 passed with stages
in 2 minutes and 33 seconds
...@@ -54,7 +54,7 @@ public class FileServiceClient { ...@@ -54,7 +54,7 @@ public class FileServiceClient {
public String startArchiveJob(Transfer transfer, String jobId) { public String startArchiveJob(Transfer transfer, String jobId) {
String target = transfer.getTarget().substring("vos://".length() + authority.length()); String target = NodeUtils.getVosPath(transfer.getTarget());
String viewUri = transfer.getView().getUri(); String viewUri = transfer.getView().getUri();
......
...@@ -181,8 +181,7 @@ public class UriService { ...@@ -181,8 +181,7 @@ public class UriService {
private String getEndpoint(JobSummary job, Transfer transfer) { private String getEndpoint(JobSummary job, Transfer transfer) {
String relativePath = StringUtils.uriDecode(URIUtils String relativePath = NodeUtils.getVosPath(transfer.getTarget());
.returnVosPathFromNodeURI(transfer.getTarget(), authority), StandardCharsets.UTF_8);
User user = (User) servletRequest.getUserPrincipal(); User user = (User) servletRequest.getUserPrincipal();
String creator = user.getName(); String creator = user.getName();
...@@ -204,7 +203,6 @@ public class UriService { ...@@ -204,7 +203,6 @@ public class UriService {
case pullFromVoSpace: case pullFromVoSpace:
// Refresh relative path: it can differ in case of links followed // Refresh relative path: it can differ in case of links followed
relativePath = NodeUtils.getVosPath(node); relativePath = NodeUtils.getVosPath(node);
relativePath = StringUtils.uriDecode(relativePath, StandardCharsets.UTF_8);
if (!NodeUtils.checkIfReadable(node, creator, groups)) { if (!NodeUtils.checkIfReadable(node, creator, groups)) {
throw PermissionDeniedException.forPath(relativePath); throw PermissionDeniedException.forPath(relativePath);
} }
......
...@@ -101,23 +101,23 @@ public class FileServiceClientTest { ...@@ -101,23 +101,23 @@ public class FileServiceClientTest {
Transfer transfer = new Transfer(); Transfer transfer = new Transfer();
transfer.setDirection("pullFromVoSpace"); transfer.setDirection("pullFromVoSpace");
transfer.setTarget("vos://example.com!vospace/mydir"); transfer.setTarget("vos://example.com!vospace/mydir(%20+%20)x");
View view = new View(); View view = new View();
view.setUri(Views.ZIP_VIEW_URI); view.setUri(Views.ZIP_VIEW_URI);
transfer.setView(view); transfer.setView(view);
ContainerNode node = Mockito.mock(ContainerNode.class); ContainerNode node = Mockito.mock(ContainerNode.class);
when(node.getNodes()).thenReturn(List.of()); when(node.getNodes()).thenReturn(List.of());
when(node.getUri()).thenReturn("vos://example.com!vospace/mydir"); when(node.getUri()).thenReturn("vos://example.com!vospace/mydir(%20+%20)x");
when(nodeDAO.listNode(eq("/mydir"))).thenReturn(Optional.of(node)); when(nodeDAO.listNode(eq("/mydir( + )x"))).thenReturn(Optional.of(node));
when(linkService.followLinksForArchiveService(any())) when(linkService.followLinksForArchiveService(any()))
.thenReturn(List.of(new ArchiveEntryDescriptor("/mydir"))); .thenReturn(List.of(new ArchiveEntryDescriptor("/mydir( + )x")));
ArchiveRequest archiveRequest = testStartArchiveJob(transfer); ArchiveRequest archiveRequest = testStartArchiveJob(transfer);
assertEquals(1, archiveRequest.getEntryDescriptors().size()); assertEquals(1, archiveRequest.getEntryDescriptors().size());
assertEquals("/mydir", archiveRequest.getEntryDescriptors().get(0).getTargetNodeVosPath()); assertEquals("/mydir( + )x", archiveRequest.getEntryDescriptors().get(0).getTargetNodeVosPath());
} }
@Test @Test
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment