summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.core
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-03-09 18:14:39 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-03-09 18:14:39 +0530
commit08fdcf4de0919b2f8b5e5c1232e7659b566a358b (patch)
treef96b25c00a8f8d45f01c6b4ae913fe35c2a73fca /com.gluster.storage.management.core
parentbe766e623e6c79333cafa382888e9b9e64a7aa38 (diff)
renamed interface ServerResponse to Response
Diffstat (limited to 'com.gluster.storage.management.core')
-rw-r--r--com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AbstractServerResponse.java2
-rw-r--r--com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GenericResponse.java51
-rw-r--r--com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Response.java (renamed from com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerResponse.java)4
-rw-r--r--com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerDetailsResponse.java19
-rw-r--r--com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerListResponse.java28
5 files changed, 65 insertions, 39 deletions
diff --git a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AbstractServerResponse.java b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AbstractServerResponse.java
index 97d1abfe..c03194dd 100644
--- a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AbstractServerResponse.java
+++ b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AbstractServerResponse.java
@@ -18,7 +18,7 @@
*******************************************************************************/
package com.gluster.storage.management.core.model;
-public abstract class AbstractServerResponse implements ServerResponse {
+public abstract class AbstractServerResponse implements Response {
private Status status;
@Override
diff --git a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GenericResponse.java b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GenericResponse.java
new file mode 100644
index 00000000..776a0b6c
--- /dev/null
+++ b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GenericResponse.java
@@ -0,0 +1,51 @@
+/**
+ * GenericServerResponse.java
+ *
+ * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+package com.gluster.storage.management.core.model;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement(name="response")
+public class GenericResponse<T> implements Response<T> {
+ private T data;
+ private Status status;
+
+ @Override
+ public Status getStatus() {
+ return status;
+ }
+
+ public void setStatus(Status status) {
+ this.status = status;
+ }
+
+ public GenericResponse(Status status, T data) {
+ setStatus(status);
+ this.data = data;
+ }
+
+ /* (non-Javadoc)
+ * @see com.gluster.storage.management.core.model.ServerResponse#getData()
+ */
+ @Override
+ public T getData() {
+ return data;
+ }
+}
diff --git a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerResponse.java b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Response.java
index a0d653fa..96ea8497 100644
--- a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerResponse.java
+++ b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Response.java
@@ -23,7 +23,7 @@ package com.gluster.storage.management.core.model;
* Server will result in a response that must be an instance of a class
* implementing this interface.
*/
-public interface ServerResponse {
+public interface Response<T> {
/**
* @return Status of request processing
*/
@@ -33,5 +33,5 @@ public interface ServerResponse {
* @return Data associated with the response. e.g. A "discover servers"
* request will return the list of discovered servers.
*/
- public Object getData();
+ public T getData();
}
diff --git a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerDetailsResponse.java b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerDetailsResponse.java
deleted file mode 100644
index ee8d6d8a..00000000
--- a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerDetailsResponse.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.gluster.storage.management.core.model;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-@XmlRootElement(name="response")
-public class ServerDetailsResponse<T extends Server> extends AbstractServerResponse {
- @XmlElement(name="server", type=Server.class)
- private Server server;
-
- public Server getServer() {
- return server;
- }
-
- @Override
- public Server getData() {
- return getServer();
- }
-}
diff --git a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerListResponse.java b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerListResponse.java
index 82f31b77..6899f67d 100644
--- a/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerListResponse.java
+++ b/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerListResponse.java
@@ -18,28 +18,22 @@
*******************************************************************************/
package com.gluster.storage.management.core.model;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="response")
-public class ServerListResponse<T extends Server> extends AbstractServerResponse {
- private List<T> servers;
+public class ServerListResponse<T extends Server> extends GenericResponse {
+ public ServerListResponse(Status status, List<T> servers) {
+ super(status, servers);
+ }
+ @SuppressWarnings("unchecked")
@XmlElementWrapper(name="servers")
@XmlElement(name="server", type=Server.class)
public List<T> getServers() {
- return servers;
- }
-
- @Override
- public List<T> getData() {
- return getServers();
- }
-
- public void setServers(List<T> data) {
- this.servers = data;
+ return (List<T>)getData();
}
}