From 39fbdb12c017d5cd449523b935c83e1762ea08a2 Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Tue, 2 Nov 2021 11:31:52 +0100
Subject: [PATCH] Fixed issue with encoding of '+' character

---
 .../src/main/java/it/inaf/ia2/vospace/ui/service/NodeInfo.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/service/NodeInfo.java b/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/service/NodeInfo.java
index e7137be..2108e33 100644
--- a/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/service/NodeInfo.java
+++ b/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/service/NodeInfo.java
@@ -45,7 +45,7 @@ public class NodeInfo {
     public NodeInfo(Node node, User user, String authority, Node linkedNode) {
         this.authority = authority;
         this.path = getPath(node);
-        this.name = URLDecoder.decode(path.substring(path.lastIndexOf("/") + 1), StandardCharsets.UTF_8);
+        this.name = URLDecoder.decode(path.substring(path.lastIndexOf("/") + 1).replace("+", "%2B"), StandardCharsets.UTF_8);
         this.size = getSize(node);
         this.type = node.getType();
         this.creator = getCreator(node);
@@ -80,6 +80,7 @@ public class NodeInfo {
     private String decodePath(String uri, String prefix) {
 
         return String.join("/", Arrays.stream(uri.substring(prefix.length()).split("/"))
+                .map(p -> p.replace("+", "%2B"))
                 .map(p -> URLDecoder.decode(p, StandardCharsets.UTF_8))
                 .collect(Collectors.toList()));
     }
-- 
GitLab