diff options
Diffstat (limited to 'src/main/java/com/c2kernel/persistency')
| -rw-r--r-- | src/main/java/com/c2kernel/persistency/XMLDBClusterStorage.java | 7 |
1 files changed, 6 insertions, 1 deletions
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()]);
}
|
