diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-06-22 21:29:26 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-06-22 21:42:42 +0530 |
| commit | 18d81acc64bc166073f8772c748e2cb31fdd2b65 (patch) | |
| tree | d12924252a1ec30c10de9315f335d6d54b6c2be2 /src/com.gluster.storage.management.core | |
| parent | a0c4177e29c2c3157f610c9143427662e8cd337f (diff) | |
REST API Enhancements
Diffstat (limited to 'src/com.gluster.storage.management.core')
5 files changed, 68 insertions, 75 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java index 83acb9a3..fef8f969 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java @@ -86,5 +86,9 @@ public class Brick extends Entity { return StringUtil.filterString(getServerName() + getBrickDirectory() + getDiskName(), filterString, caseSensitive); } - + + @Override + public String toString() { + return getQualifiedName(); + } } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeOption.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeOption.java index 2e3871b6..f4ca3e81 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeOption.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeOption.java @@ -51,4 +51,9 @@ public class VolumeOption { public void setValue(String value) { this.value = value; } + + @Override + public String toString() { + return key + "=" + value; + } } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java index 4c291a33..f375905c 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java @@ -34,41 +34,24 @@ import com.gluster.storage.management.core.model.Status; /** * */ -@XmlRootElement(name = "response") -public class GlusterServerListResponse extends AbstractResponse { +@XmlRootElement(name = "servers") +public class GlusterServerListResponse { private List<GlusterServer> servers = new ArrayList<GlusterServer>(); public GlusterServerListResponse() { } - public GlusterServerListResponse(Status status, List<GlusterServer> servers) { - setStatus(status); + public GlusterServerListResponse(List<GlusterServer> servers) { setServers(servers); } - @XmlElementWrapper(name = "servers") @XmlElement(name = "server", type=GlusterServer.class) public List<GlusterServer> getServers() { return servers; } - /** - * @param servers - * the servers to set - */ public void setServers(List<GlusterServer> servers) { this.servers = servers; } - - /* - * (non-Javadoc) - * - * @see com.gluster.storage.management.core.model.Response#getData() - */ - @Override - @XmlTransient - public List<GlusterServer> getData() { - return getServers(); - } } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java index 14bad4fd..c238cad7 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java @@ -21,9 +21,7 @@ package com.gluster.storage.management.core.utils; import java.util.ArrayList; -import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; import com.gluster.storage.management.core.model.Brick; import com.gluster.storage.management.core.model.Disk; @@ -46,50 +44,4 @@ public class GlusterCoreUtil { } return qualifiedBricks; } - - /** - * Extracts a list from a string by splitting it on given delimiter - * @param input the input string - * @return A {@link List} of extracted tokens - */ - public List<String> extractList(String input, String delim) { - String[] arr = input.split(delim); - List<String> output = new ArrayList<String>(); - for(String str : arr) { - String brick = str.trim(); - if(!brick.isEmpty()) { - output.add(brick); - } - } - return null; - } - - /** - * Extracts a map from a string by splitting it on the given primary and secondary delimiter. e.g. The input string - * <i>k1=v1,k2=v2,k3=v3</i> will yield the following map:<br> - * k1 -> v1<br> - * k2 -> v2<br> - * k3 -> v3<br> - * where <b>,</b> is the primary delimiter and <b>=</b> is the secondary delimiter. - * - * @param input - * @param majorDelim - * @param minorDelim - * @return Map of key value pairs - */ - public Map<String, String> extractMap(String input, String majorDelim, String minorDelim) { - String[] arr = input.split(majorDelim); - Map<String, String> output = new LinkedHashMap<String, String>(); - for(String str : arr) { - String[] elements = str.split(minorDelim); - if(elements.length == 2) { - String key = elements[0].trim(); - String value = elements[1].trim(); - if(!key.isEmpty() && !value.isEmpty()) { - output.put(key, value); - } - } - } - return output; - } } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java index 1b7335ee..2fce81cb 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java @@ -19,7 +19,10 @@ package com.gluster.storage.management.core.utils; import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; public class StringUtil { public static boolean filterString(String sourceString, String filterString, boolean caseSensitive) { @@ -31,13 +34,13 @@ public class StringUtil { return str.replaceAll("\\s+", ""); } - public static String ListToString(List<String> list, String delimiter) { + public static String collectionToString(Collection<? extends Object> list, String delimiter) { if (list.size() == 0) { return ""; } StringBuilder output = new StringBuilder(); - for (String element : list) { - output.append(element).append(delimiter); + for (Object element : list) { + output.append(element.toString()).append(delimiter); } String outputStr = output.toString(); int endIndex = outputStr.length() - delimiter.length(); @@ -51,18 +54,64 @@ public class StringUtil { } return enumAsArray; } + + /** + * Extracts a list from a string by splitting it on given delimiter + * @param input the input string + * @return A {@link List} of extracted tokens + */ + public static List<String> extractList(String input, String delim) { + String[] arr = input.split(delim); + List<String> output = new ArrayList<String>(); + for(String str : arr) { + String brick = str.trim(); + if(!brick.isEmpty()) { + output.add(brick); + } + } + return output; + } + + /** + * Extracts a map from a string by splitting it on the given primary and secondary delimiter. e.g. The input string + * <i>k1=v1,k2=v2,k3=v3</i> will yield the following map:<br> + * k1 -> v1<br> + * k2 -> v2<br> + * k3 -> v3<br> + * where <b>,</b> is the primary delimiter and <b>=</b> is the secondary delimiter. + * + * @param input + * @param majorDelim + * @param minorDelim + * @return Map of key value pairs + */ + public static Map<String, String> extractMap(String input, String majorDelim, String minorDelim) { + String[] arr = input.split(majorDelim); + Map<String, String> output = new LinkedHashMap<String, String>(); + for(String str : arr) { + String[] elements = str.split(minorDelim); + if(elements.length == 2) { + String key = elements[0].trim(); + String value = elements[1].trim(); + if(!key.isEmpty() && !value.isEmpty()) { + output.put(key, value); + } + } + } + return output; + } public static void main(String args[]) { //Test case for "ListToString" List<String> string = new ArrayList<String>(); // Empty list - System.out.println(StringUtil.ListToString(string, ", ")); + System.out.println(StringUtil.collectionToString(string, ", ")); // Only one string.add("test"); - System.out.println(StringUtil.ListToString(string, ",:")); + System.out.println(StringUtil.collectionToString(string, ",:")); // Multiple string.add("welcome to java"); - System.out.println(StringUtil.ListToString(string, "")); + System.out.println(StringUtil.collectionToString(string, "")); } } |
