diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2013-05-14 17:17:22 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2013-05-14 17:17:22 +0200 |
| commit | e529c520c79c516eb96a8c1b3c5ae11b53831b77 (patch) | |
| tree | 87f22148ebfac328b94d00e897be2450b3eb8963 | |
| parent | 46e7aaa7d4bf0b5fe605e3b0d0944362f99bd481 (diff) | |
URL decode for listClusterContents
| -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()]);
}
|
