From e529c520c79c516eb96a8c1b3c5ae11b53831b77 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 14 May 2013 17:17:22 +0200 Subject: URL decode for listClusterContents --- src/main/java/com/c2kernel/persistency/XMLDBClusterStorage.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/c2kernel') diff --git a/src/main/java/com/c2kernel/persistency/XMLDBClusterStorage.java b/src/main/java/com/c2kernel/persistency/XMLDBClusterStorage.java index 3a177de..0a6767b 100644 --- a/src/main/java/com/c2kernel/persistency/XMLDBClusterStorage.java +++ b/src/main/java/com/c2kernel/persistency/XMLDBClusterStorage.java @@ -20,6 +20,8 @@ package com.c2kernel.persistency; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; import java.util.ArrayList; import org.xmldb.api.DatabaseManager; @@ -248,7 +250,7 @@ public class XMLDBClusterStorage extends ClusterStorage { try { for (String res: coll.listResources()) { if (res.startsWith(resPrefix.toString())) { - String resName = res.substring(resPrefix.length()); + String resName = URLDecoder.decode(res.substring(resPrefix.length()), "UTF-8"); if (resName.indexOf('.')>-1) resName = resName.substring(0, resName.indexOf('.')); if (!contents.contains(resName)) contents.add(resName); @@ -257,6 +259,9 @@ public class XMLDBClusterStorage extends ClusterStorage { } catch (XMLDBException e) { Logger.error(e); throw new ClusterStorageException("Error listing collection resources for item "+strSysKey); + } catch (UnsupportedEncodingException e) { + Logger.error(e); + throw new ClusterStorageException("Error listing decoding resource name for item "+strSysKey); } return contents.toArray(new String[contents.size()]); } -- cgit v1.2.3