diff --git a/resources/META-INF/spring/hqapi-context.xml b/resources/META-INF/spring/hqapi-context.xml
index 8d5c9119..0b0f6331 100644
--- a/resources/META-INF/spring/hqapi-context.xml
+++ b/resources/META-INF/spring/hqapi-context.xml
@@ -21,9 +21,6 @@
-
-
-
diff --git a/src/org/hyperic/hq/hqapi1/AgentApi.java b/src/org/hyperic/hq/hqapi1/AgentApi.java
index 39a96f61..1220f976 100644
--- a/src/org/hyperic/hq/hqapi1/AgentApi.java
+++ b/src/org/hyperic/hq/hqapi1/AgentApi.java
@@ -27,15 +27,15 @@
package org.hyperic.hq.hqapi1;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
import org.hyperic.hq.hqapi1.types.Agent;
import org.hyperic.hq.hqapi1.types.AgentResponse;
import org.hyperic.hq.hqapi1.types.AgentsResponse;
import org.hyperic.hq.hqapi1.types.PingAgentResponse;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* The Hyperic HQ Agent API.
*
@@ -68,7 +68,8 @@ public AgentResponse getAgent(int id)
{
Map params = new HashMap();
params.put("id", new String[] { String.valueOf(id) });
- return doGet("agent/get.hqu", params, AgentResponse.class);
+ return doGet("agent/get.hqu", params,
+ new XmlResponseHandler(AgentResponse.class));
}
/**
@@ -90,7 +91,8 @@ public AgentResponse getAgent(String address, int port)
Map params = new HashMap();
params.put("address", new String[] { address });
params.put("port", new String[] { String.valueOf(port) });
- return doGet("agent/get.hqu", params, AgentResponse.class);
+ return doGet("agent/get.hqu", params,
+ new XmlResponseHandler(AgentResponse.class));
}
/**
@@ -106,7 +108,7 @@ public AgentsResponse getAgents()
throws IOException
{
return doGet("agent/list.hqu", new HashMap(),
- AgentsResponse.class);
+ new XmlResponseHandler(AgentsResponse.class));
}
/**
@@ -125,6 +127,7 @@ public PingAgentResponse pingAgent(Agent agent)
{
Map params = new HashMap();
params.put("id", new String[] { String.valueOf(agent.getId()) });
- return doGet("agent/ping.hqu", params, PingAgentResponse.class);
+ return doGet("agent/ping.hqu", params,
+ new XmlResponseHandler(PingAgentResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/AlertApi.java b/src/org/hyperic/hq/hqapi1/AlertApi.java
index 9ecdea7c..52a24f21 100644
--- a/src/org/hyperic/hq/hqapi1/AlertApi.java
+++ b/src/org/hyperic/hq/hqapi1/AlertApi.java
@@ -27,6 +27,7 @@
package org.hyperic.hq.hqapi1;
+import org.hyperic.hq.hqapi1.types.AgentResponse;
import org.hyperic.hq.hqapi1.types.Resource;
import org.hyperic.hq.hqapi1.types.StatusResponse;
import org.hyperic.hq.hqapi1.types.AlertsResponse;
@@ -106,7 +107,8 @@ public AlertsResponse findAlerts(long begin, long end, int count,
params.put("notFixed", new String[] { Boolean.toString(notFixed)});
}
- return doGet("alert/find.hqu", params, AlertsResponse.class);
+ return doGet("alert/find.hqu", params,
+ new XmlResponseHandler(AlertsResponse.class));
}
/**
@@ -146,7 +148,8 @@ public AlertsResponse findAlerts(Resource r, long begin, long end,
params.put("notFixed", new String[] { Boolean.toString(notFixed)});
}
- return doGet("alert/findByResource.hqu", params, AlertsResponse.class);
+ return doGet("alert/findByResource.hqu", params,
+ new XmlResponseHandler(AlertsResponse.class));
}
/**
@@ -229,7 +232,8 @@ public AlertsResponse fixAlerts(Integer[] alertIds, String reason)
params.put("id", ids);
params.put("reason", new String[] { reason });
- return doGet("alert/fix.hqu", params, AlertsResponse.class);
+ return doGet("alert/fix.hqu", params,
+ new XmlResponseHandler(AlertsResponse.class));
}
/**
@@ -284,7 +288,8 @@ public AlertsResponse ackAlerts(Integer[] alertIds, String reason, Long pause)
params.put("reason", new String[] { reason });
params.put("pause", new String[] { Long.toString(pause)});
- return doGet("alert/ack.hqu", params, AlertsResponse.class);
+ return doGet("alert/ack.hqu", params,
+ new XmlResponseHandler(AlertsResponse.class));
}
/**
@@ -323,6 +328,7 @@ public StatusResponse delete(Integer[] alertIds)
}
params.put("id", ids);
- return doGet("alert/delete.hqu", params, StatusResponse.class);
+ return doGet("alert/delete.hqu", params,
+ new XmlResponseHandler(StatusResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/AlertDefinitionApi.java b/src/org/hyperic/hq/hqapi1/AlertDefinitionApi.java
index 19a6e628..6f01015e 100644
--- a/src/org/hyperic/hq/hqapi1/AlertDefinitionApi.java
+++ b/src/org/hyperic/hq/hqapi1/AlertDefinitionApi.java
@@ -28,6 +28,7 @@
package org.hyperic.hq.hqapi1;
import org.hyperic.hq.hqapi1.types.AlertDefinitionsResponse;
+import org.hyperic.hq.hqapi1.types.AlertsResponse;
import org.hyperic.hq.hqapi1.types.StatusResponse;
import org.hyperic.hq.hqapi1.types.AlertDefinition;
import org.hyperic.hq.hqapi1.types.AlertDefinitionResponse;
@@ -119,7 +120,7 @@ public AlertDefinitionsResponse getAlertDefinitions(boolean excludeTypeBased,
}
return doGet("alertdefinition/listDefinitions.hqu", params,
- AlertDefinitionsResponse.class);
+ new XmlResponseHandler(AlertDefinitionsResponse.class));
}
/**
@@ -158,7 +159,7 @@ public AlertDefinitionsResponse getAlertDefinitions(AlertDefinition parent)
params.put("parentId", new String[] { Integer.toString(parent.getId()) });
return doGet("alertdefinition/listDefinitions.hqu", params,
- AlertDefinitionsResponse.class);
+ new XmlResponseHandler(AlertDefinitionsResponse.class));
}
/**
@@ -178,7 +179,7 @@ public AlertDefinitionsResponse getTypeAlertDefinitions(boolean excludeIds)
params.put("excludeIds", new String[] { Boolean.toString(excludeIds)});
return doGet("alertdefinition/listTypeDefinitions.hqu", params,
- AlertDefinitionsResponse.class);
+ new XmlResponseHandler(AlertDefinitionsResponse.class));
}
/**
@@ -198,7 +199,8 @@ public StatusResponse deleteAlertDefinition(int id)
params.put("id", new String[] { Integer.toString(id) });
- return doGet("alertdefinition/delete.hqu", params, StatusResponse.class);
+ return doGet("alertdefinition/delete.hqu", params,
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -218,6 +220,6 @@ public AlertDefinitionsResponse syncAlertDefinitions(List defin
request.getAlertDefinition().addAll(definitions);
return doPost("alertdefinition/sync.hqu", request,
- AlertDefinitionsResponse.class);
+ new XmlResponseHandler(AlertDefinitionsResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/ApplicationApi.java b/src/org/hyperic/hq/hqapi1/ApplicationApi.java
index acf14bea..03bf6911 100644
--- a/src/org/hyperic/hq/hqapi1/ApplicationApi.java
+++ b/src/org/hyperic/hq/hqapi1/ApplicationApi.java
@@ -35,7 +35,8 @@ public ApplicationsResponse listApplications()
throws IOException
{
Map params = new HashMap();
- return doGet("application/list.hqu", params, ApplicationsResponse.class);
+ return doGet("application/list.hqu", params,
+ new XmlResponseHandler(ApplicationsResponse.class));
}
/**
@@ -55,7 +56,7 @@ public ApplicationResponse createApplication(Application app)
ApplicationRequest appRequest = new ApplicationRequest();
appRequest.setApplication(app);
return doPost("application/create.hqu", appRequest,
- ApplicationResponse.class);
+ new XmlResponseHandler(ApplicationResponse.class));
}
/**
@@ -75,7 +76,7 @@ public ApplicationResponse updateApplication(Application app)
ApplicationRequest appRequest = new ApplicationRequest();
appRequest.setApplication(app);
return doPost("application/update.hqu", appRequest,
- ApplicationResponse.class);
+ new XmlResponseHandler(ApplicationResponse.class));
}
/**
@@ -93,7 +94,8 @@ public StatusResponse deleteApplication(int id)
{
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(id)});
- return doGet("application/delete.hqu", params, StatusResponse.class);
+ return doGet("application/delete.hqu", params,
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -112,6 +114,7 @@ public ApplicationsResponse syncApplications(List applications)
ApplicationsRequest applicationsRequest = new ApplicationsRequest();
applicationsRequest.getApplication().addAll(applications);
- return doPost("application/sync.hqu", applicationsRequest, ApplicationsResponse.class);
+ return doPost("application/sync.hqu", applicationsRequest,
+ new XmlResponseHandler(ApplicationsResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/AutodiscoveryApi.java b/src/org/hyperic/hq/hqapi1/AutodiscoveryApi.java
index d1c26dea..4926d2b2 100644
--- a/src/org/hyperic/hq/hqapi1/AutodiscoveryApi.java
+++ b/src/org/hyperic/hq/hqapi1/AutodiscoveryApi.java
@@ -27,6 +27,7 @@
package org.hyperic.hq.hqapi1;
+import org.hyperic.hq.hqapi1.types.ApplicationsResponse;
import org.hyperic.hq.hqapi1.types.QueueResponse;
import org.hyperic.hq.hqapi1.types.StatusResponse;
@@ -63,7 +64,7 @@ public QueueResponse getQueue()
throws IOException
{
return doGet("autodiscovery/getQueue.hqu", new HashMap(),
- QueueResponse.class);
+ new XmlResponseHandler(QueueResponse.class));
}
/**
@@ -84,6 +85,7 @@ public StatusResponse approve(int id)
params.put("id", new String[] { String.valueOf(id) });
- return doGet("autodiscovery/approve.hqu", params, StatusResponse.class);
+ return doGet("autodiscovery/approve.hqu", params,
+ new XmlResponseHandler(StatusResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/BaseApi.java b/src/org/hyperic/hq/hqapi1/BaseApi.java
index 869304ca..ae9459ee 100644
--- a/src/org/hyperic/hq/hqapi1/BaseApi.java
+++ b/src/org/hyperic/hq/hqapi1/BaseApi.java
@@ -49,10 +49,10 @@ abstract class BaseApi {
* parameter may have multiple values.
*/
T doGet(String action, Map params,
- Class resultClass)
+ ResponseHandler responseHandler)
throws IOException
{
- return _conn.doGet(BASE_URI + action, params, resultClass);
+ return _conn.doGet(BASE_URI + action, params, responseHandler);
}
/**
@@ -63,9 +63,9 @@ T doGet(String action, Map params,
* like: '/hqu/hqapi1/user/syncUsers.hqu'
* ex: 'resource/syncResources.hqu'
*/
- T doPost(String action, Object o, Class resultClass)
+ T doPost(String action, Object o, ResponseHandler responseHandler)
throws IOException
{
- return _conn.doPost(BASE_URI + action, o, resultClass);
+ return _conn.doPost(BASE_URI + action, o, responseHandler);
}
}
diff --git a/src/org/hyperic/hq/hqapi1/Connection.java b/src/org/hyperic/hq/hqapi1/Connection.java
index 4d3be228..153c529b 100644
--- a/src/org/hyperic/hq/hqapi1/Connection.java
+++ b/src/org/hyperic/hq/hqapi1/Connection.java
@@ -6,7 +6,7 @@
public interface Connection {
- T doGet(String path, Map params, File targetFile, Class resultClass)
+ T doGet(String path, Map params, File targetFile, ResponseHandler responseHandler)
throws IOException;
/**
@@ -24,7 +24,7 @@ T doGet(String path, Map params, File targetFile, Class
* @throws IOException
* If a network error occurs during the request.
*/
- T doGet(String path, Map params, Class resultClass)
+ T doGet(String path, Map params, ResponseHandler responseHandler)
throws IOException;
/**
@@ -45,7 +45,7 @@ T doGet(String path, Map params, Class resultClass)
* @throws IOException
* If a network error occurs during the request.
*/
- T doPost(String path, Map params, Class resultClass)
+ T doPost(String path, Map params, ResponseHandler responseHandler)
throws IOException;
/**
@@ -65,7 +65,7 @@ T doPost(String path, Map params, Class resultClass)
* If a network error occurs during the request.
*/
T doPost(String path, Map params, File file,
- Class resultClass) throws IOException;
+ ResponseHandler responseHandler) throws IOException;
/**
* Issue a POST against the API.
@@ -82,6 +82,6 @@ T doPost(String path, Map params, File file,
* @throws IOException
* If a network error occurs during the request.
*/
- T doPost(String path, Object o, Class resultClass)
+ T doPost(String path, Object o, ResponseHandler responseHandler)
throws IOException;
}
diff --git a/src/org/hyperic/hq/hqapi1/ControlApi.java b/src/org/hyperic/hq/hqapi1/ControlApi.java
index ce85bc9d..f46d9133 100644
--- a/src/org/hyperic/hq/hqapi1/ControlApi.java
+++ b/src/org/hyperic/hq/hqapi1/ControlApi.java
@@ -29,6 +29,7 @@
import org.hyperic.hq.hqapi1.types.ControlHistoryResponse;
import org.hyperic.hq.hqapi1.types.Group;
+import org.hyperic.hq.hqapi1.types.QueueResponse;
import org.hyperic.hq.hqapi1.types.Resource;
import org.hyperic.hq.hqapi1.types.ControlActionResponse;
import org.hyperic.hq.hqapi1.types.StatusResponse;
@@ -92,7 +93,8 @@ private ControlHistoryResponse getHistory(Integer resourceId)
Map params = new HashMap();
params.put("resourceId", new String[] { Integer.toString(resourceId)});
- return doGet("control/history.hqu", params, ControlHistoryResponse.class);
+ return doGet("control/history.hqu", params,
+ new XmlResponseHandler(ControlHistoryResponse.class));
}
/**
@@ -135,7 +137,8 @@ private ControlActionResponse getActions(Integer resourceId)
Map params = new HashMap();
params.put("resourceId", new String[] { Integer.toString(resourceId)});
- return doGet("control/actions.hqu", params, ControlActionResponse.class);
+ return doGet("control/actions.hqu", params,
+ new XmlResponseHandler(ControlActionResponse.class));
}
/**
@@ -185,6 +188,7 @@ private StatusResponse executeAction(Integer resourceId, String action,
params.put("action", new String[] { action });
params.put("arguments", arguments);
- return doGet("control/execute.hqu", params, StatusResponse.class);
+ return doGet("control/execute.hqu", params,
+ new XmlResponseHandler(StatusResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/EscalationApi.java b/src/org/hyperic/hq/hqapi1/EscalationApi.java
index b895cea0..27ae00ca 100644
--- a/src/org/hyperic/hq/hqapi1/EscalationApi.java
+++ b/src/org/hyperic/hq/hqapi1/EscalationApi.java
@@ -31,6 +31,7 @@
import org.hyperic.hq.hqapi1.types.EscalationResponse;
import org.hyperic.hq.hqapi1.types.EscalationsRequest;
import org.hyperic.hq.hqapi1.types.EscalationsResponse;
+import org.hyperic.hq.hqapi1.types.QueueResponse;
import org.hyperic.hq.hqapi1.types.StatusResponse;
import java.io.IOException;
@@ -68,7 +69,8 @@ public EscalationResponse getEscalation(int id)
throws IOException {
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(id) });
- return doGet("escalation/get.hqu", params, EscalationResponse.class);
+ return doGet("escalation/get.hqu", params,
+ new XmlResponseHandler(EscalationResponse.class));
}
/**
@@ -87,7 +89,7 @@ public EscalationResponse getEscalation(String name)
Map params = new HashMap();
params.put("name", new String[] { name });
return doGet("escalation/get.hqu",
- params, EscalationResponse.class);
+ params, new XmlResponseHandler(EscalationResponse.class));
}
/**
@@ -106,7 +108,7 @@ public EscalationResponse createEscalation(Escalation esc)
EscalationsRequest req = new EscalationsRequest();
req.getEscalation().add(esc);
return doPost("escalation/create.hqu", req,
- EscalationResponse.class);
+ new XmlResponseHandler(EscalationResponse.class));
}
/**
@@ -124,7 +126,7 @@ public EscalationResponse updateEscalation(Escalation esc)
EscalationsRequest req = new EscalationsRequest();
req.getEscalation().add(esc);
return doPost("escalation/update.hqu",
- req, EscalationResponse.class);
+ req, new XmlResponseHandler(EscalationResponse.class));
}
/**
@@ -139,7 +141,7 @@ public EscalationResponse updateEscalation(Escalation esc)
public EscalationsResponse getEscalations()
throws IOException {
return doGet("escalation/list.hqu", new HashMap(),
- EscalationsResponse.class);
+ new XmlResponseHandler(EscalationsResponse.class));
}
/**
@@ -156,7 +158,8 @@ public StatusResponse syncEscalations(Collection escs)
throws IOException {
EscalationsRequest req = new EscalationsRequest();
req.getEscalation().addAll(escs);
- return doPost("escalation/sync.hqu", req, StatusResponse.class);
+ return doPost("escalation/sync.hqu", req,
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -174,6 +177,6 @@ public StatusResponse deleteEscalation(int id)
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(id) });
return doGet("escalation/delete.hqu",
- params, StatusResponse.class);
+ params, new XmlResponseHandler(StatusResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/EventApi.java b/src/org/hyperic/hq/hqapi1/EventApi.java
index 759cb30b..891b9dc8 100644
--- a/src/org/hyperic/hq/hqapi1/EventApi.java
+++ b/src/org/hyperic/hq/hqapi1/EventApi.java
@@ -1,5 +1,6 @@
package org.hyperic.hq.hqapi1;
+import org.hyperic.hq.hqapi1.types.EscalationResponse;
import org.hyperic.hq.hqapi1.types.EventsResponse;
import org.hyperic.hq.hqapi1.types.Resource;
@@ -126,7 +127,8 @@ public EventsResponse findEvents(Resource r, long begin, long end)
params.put("end", new String[] { Long.toString(end)});
params.put("resourceId", new String[] { Integer.toString(r.getId())});
- return doGet("event/findByResource.hqu", params, EventsResponse.class);
+ return doGet("event/findByResource.hqu", params,
+ new XmlResponseHandler(EventsResponse.class));
}
/**
@@ -156,6 +158,7 @@ public EventsResponse findEvents(long begin, long end,
params.put("status", new String[] { status != null ? status.getStatus() : null });
params.put("count", new String[] { Integer.toString(count)});
- return doGet("event/find.hqu", params, EventsResponse.class);
+ return doGet("event/find.hqu", params,
+ new XmlResponseHandler(EventsResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/FileResponseHandler.java b/src/org/hyperic/hq/hqapi1/FileResponseHandler.java
index 8a27936f..ac738b83 100644
--- a/src/org/hyperic/hq/hqapi1/FileResponseHandler.java
+++ b/src/org/hyperic/hq/hqapi1/FileResponseHandler.java
@@ -22,32 +22,34 @@
* @author Jennifer Hickey
*
*/
-public class FileResponseHandler implements ResponseHandler {
+public class FileResponseHandler implements ResponseHandler {
private static Log _log = LogFactory.getLog(FileResponseHandler.class);
private final File targetFile;
+ private Class clazz;
+
/**
*
* @param targetFile
* The local file to which the contents of the method response
* body should be written
*/
- public FileResponseHandler(File targetFile) {
+ public FileResponseHandler(File targetFile, Class clazz) {
this.targetFile = targetFile;
+ this.clazz = clazz;
}
- public T getErrorResponse(Class res, ServiceError error)
+ public T getErrorResponse(ServiceError error)
throws IOException {
try {
- T ret = res.newInstance();
+ T ret = clazz.newInstance();
- Method setResponse = res.getMethod("setStatus",
- ResponseStatus.class);
+ Method setResponse = clazz.getMethod("setStatus", ResponseStatus.class);
setResponse.invoke(ret, ResponseStatus.FAILURE);
- Method setError = res.getMethod("setError", ServiceError.class);
+ Method setError = clazz.getMethod("setError", ServiceError.class);
setError.invoke(ret, error);
return ret;
@@ -62,12 +64,11 @@ public T getErrorResponse(Class res, ServiceError error)
}
}
- private T getSuccessResponse(Class res) throws IOException {
+ private T getSuccessResponse() throws IOException {
try {
- T ret = res.newInstance();
+ T ret = clazz.newInstance();
- Method setResponse = res.getMethod("setStatus",
- ResponseStatus.class);
+ Method setResponse = clazz.getMethod("setStatus", ResponseStatus.class);
setResponse.invoke(ret, ResponseStatus.SUCCESS);
return ret;
} catch (Exception e) {
@@ -81,28 +82,27 @@ private T getSuccessResponse(Class res) throws IOException {
}
}
- public T handleResponse(int responseCode, HttpMethodBase method,
- Class resultClass) throws IOException {
+ public T handleResponse(int responseCode, HttpMethodBase method)
+ throws IOException {
ServiceError error;
switch (responseCode) {
case 200:
FileOutputStream fileOutputStream = null;
InputStream in = method.getResponseBodyAsStream();
try {
- fileOutputStream = new FileOutputStream(targetFile
- .getAbsolutePath());
+ fileOutputStream = new FileOutputStream(targetFile.getAbsolutePath());
final byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
fileOutputStream.write(buf, 0, len);
}
- return getSuccessResponse(resultClass);
+ return getSuccessResponse();
} catch (Exception e) {
error = new ServiceError();
error.setErrorCode("UnexpectedError");
error.setReasonText("Unable to deserialize result");
_log.warn("Unable to deserialize result", e);
- return getErrorResponse(resultClass, error);
+ return getErrorResponse(error);
} finally {
if (fileOutputStream != null) {
try {
@@ -119,7 +119,7 @@ public T handleResponse(int responseCode, HttpMethodBase method,
error.setErrorCode("LoginFailure");
error.setReasonText("The given username and password could "
+ "not be validated");
- return getErrorResponse(resultClass, error);
+ return getErrorResponse(error);
default:
error = new ServiceError();
error.setErrorCode("Unexpected Error");
@@ -128,7 +128,7 @@ public T handleResponse(int responseCode, HttpMethodBase method,
} else {
error.setReasonText("An unexpected error occured");
}
- return getErrorResponse(resultClass, error);
+ return getErrorResponse(error);
}
}
diff --git a/src/org/hyperic/hq/hqapi1/GroupApi.java b/src/org/hyperic/hq/hqapi1/GroupApi.java
index e2d2c9d8..102352d6 100644
--- a/src/org/hyperic/hq/hqapi1/GroupApi.java
+++ b/src/org/hyperic/hq/hqapi1/GroupApi.java
@@ -27,6 +27,7 @@
package org.hyperic.hq.hqapi1;
+import org.hyperic.hq.hqapi1.types.EscalationResponse;
import org.hyperic.hq.hqapi1.types.Group;
import org.hyperic.hq.hqapi1.types.GroupResponse;
import org.hyperic.hq.hqapi1.types.GroupsRequest;
@@ -74,7 +75,8 @@ public GroupResponse getGroup(String name)
{
Map params = new HashMap();
params.put("name", new String[] { name });
- return doGet("group/get.hqu", params, GroupResponse.class);
+ return doGet("group/get.hqu", params,
+ new XmlResponseHandler(GroupResponse.class));
}
/**
@@ -93,7 +95,8 @@ public GroupResponse getGroup(int id)
{
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(id) });
- return doGet("group/get.hqu", params, GroupResponse.class);
+ return doGet("group/get.hqu", params,
+ new XmlResponseHandler(GroupResponse.class));
}
private GroupResponse syncSingleGroup(Group group)
@@ -158,7 +161,8 @@ public StatusResponse deleteGroup(int id)
{
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(id) });
- return doGet("group/delete.hqu", params, StatusResponse.class);
+ return doGet("group/delete.hqu", params,
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -173,7 +177,7 @@ public GroupsResponse getGroups()
throws IOException
{
return doGet("group/list.hqu", new HashMap(),
- GroupsResponse.class);
+ new XmlResponseHandler(GroupsResponse.class));
}
/**
@@ -191,7 +195,8 @@ public GroupsResponse getCompatibleGroups()
{
Map params = new HashMap();
params.put("compatible", new String[] { Boolean.toString(true) });
- return doGet("group/list.hqu", params, GroupsResponse.class);
+ return doGet("group/list.hqu", params,
+ new XmlResponseHandler(GroupsResponse.class));
}
/**
@@ -209,7 +214,8 @@ public GroupsResponse getMixedGroups()
{
Map params = new HashMap();
params.put("compatible", new String[] { Boolean.toString(false) });
- return doGet("group/list.hqu", params, GroupsResponse.class);
+ return doGet("group/list.hqu", params,
+ new XmlResponseHandler(GroupsResponse.class));
}
/**
@@ -257,6 +263,7 @@ public GroupsResponse syncGroups(List groups)
GroupsRequest groupRequest = new GroupsRequest();
groupRequest.getGroup().addAll(groups);
- return doPost("group/sync.hqu", groupRequest, GroupsResponse.class);
+ return doPost("group/sync.hqu", groupRequest,
+ new XmlResponseHandler(GroupsResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/HQApi.java b/src/org/hyperic/hq/hqapi1/HQApi.java
index 0090dd9b..705fc5de 100644
--- a/src/org/hyperic/hq/hqapi1/HQApi.java
+++ b/src/org/hyperic/hq/hqapi1/HQApi.java
@@ -64,7 +64,7 @@ public class HQApi {
* @param password The password for the given user.
*/
public HQApi(String host, int port, boolean isSecure, String user, String password) {
- this(new HQConnection(host,port, isSecure,user,password, new XmlResponseHandler()));
+ this(new HQConnection(host,port, isSecure,user,password));
}
diff --git a/src/org/hyperic/hq/hqapi1/HQConnection.java b/src/org/hyperic/hq/hqapi1/HQConnection.java
index 5daa68d8..e52f3300 100644
--- a/src/org/hyperic/hq/hqapi1/HQConnection.java
+++ b/src/org/hyperic/hq/hqapi1/HQConnection.java
@@ -58,14 +58,11 @@ class HQConnection implements Connection {
private String _user;
private String _password;
- private final ResponseHandler xmlResponseHandler;
-
HQConnection(String host,
int port,
boolean isSecure,
String user,
- String password,
- ResponseHandler xmlResponseHandler)
+ String password)
{
_host = host;
_port = port;
@@ -77,7 +74,6 @@ class HQConnection implements Connection {
// To allow for self signed certificates
UntrustedSSLProtocolSocketFactory.register();
}
- this.xmlResponseHandler = xmlResponseHandler;
}
private String urlEncode(String s) throws IOException {
@@ -95,10 +91,10 @@ private String urlEncode(String s) throws IOException {
* the type given in the resultClass argument.
* @throws IOException If a network error occurs during the request.
*/
- public T doGet(String path, Map params, Class resultClass) throws IOException {
+ public T doGet(String path, Map params, ResponseHandler responseHandler) throws IOException {
GetMethod method = new GetMethod();
method.setDoAuthentication(true);
- return runMethod(method, buildUri(path, params), resultClass, xmlResponseHandler);
+ return runMethod(method, buildUri(path, params), responseHandler);
}
private String buildUri(String path, Map params) throws IOException {
@@ -123,17 +119,17 @@ private String buildUri(String path, Map params) throws IOExce
return uri.toString();
}
- public T doGet(String path, Map params, File targetFile, Class resultClass) throws IOException
+ public T doGet(String path, Map params, File targetFile, ResponseHandler responseHandler) throws IOException
{
GetMethod method = new GetMethod();
method.setDoAuthentication(true);
- return runMethod(method, buildUri(path, params), resultClass, new FileResponseHandler(targetFile));
+ return runMethod(method, buildUri(path, params), responseHandler);
}
- public T doPost(String path, Map params, Class resultClass) throws IOException {
+ public T doPost(String path, Map params, ResponseHandler responseHandler) throws IOException {
PostMethod method = new PostMethod();
method.setDoAuthentication(true);
- return runMethod(method, buildUri(path, params), resultClass, xmlResponseHandler);
+ return runMethod(method, buildUri(path, params), responseHandler);
}
/**
@@ -153,7 +149,7 @@ public T doPost(String path, Map params, Class resultCl
* If a network error occurs during the request.
*/
public T doPost(String path, Map params, File file,
- Class resultClass) throws IOException {
+ ResponseHandler responseHandler) throws IOException {
PostMethod method = new PostMethod();
method.setDoAuthentication(true);
final List parts = new ArrayList();
@@ -165,7 +161,7 @@ public T doPost(String path, Map params, File file,
}
method.setRequestEntity(new MultipartRequestEntity(parts
.toArray(new Part[parts.size()]), method.getParams()));
- return runMethod(method, path, resultClass, xmlResponseHandler);
+ return runMethod(method, path, responseHandler);
}
/**
@@ -179,7 +175,7 @@ public T doPost(String path, Map params, File file,
* the type given in the resultClass argument.
* @throws IOException If a network error occurs during the request.
*/
- public T doPost(String path, Object o, Class resultClass) throws IOException {
+ public T doPost(String path, Object o, ResponseHandler responseHandler) throws IOException {
PostMethod method = new PostMethod();
method.setDoAuthentication(true);
@@ -193,22 +189,23 @@ public T doPost(String path, Object o, Class resultClass) throws IOExcept
if (_log.isDebugEnabled()) {
_log.debug("Unable to serialize response", e);
}
- return xmlResponseHandler.getErrorResponse(resultClass, error);
+ return responseHandler.getErrorResponse(error);
}
Part[] parts = { new StringPart("postdata", bos.toString()) };
method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams()));
- return runMethod(method, path, resultClass, xmlResponseHandler);
+ return runMethod(method, path, responseHandler);
}
- private T runMethod(HttpMethodBase method, String uri, Class resultClass, ResponseHandler responseHandler) throws IOException
+ private T runMethod(HttpMethodBase method, String uri, ResponseHandler responseHandler) throws IOException
{
String protocol = _isSecure ? "https" : "http";
ServiceError error;
URL url = new URL(protocol, _host, _port, uri);
method.setURI(new URI(url.toString(), true));
+ _log.debug("Setting URI: " + url.toString());
try {
HttpClient client = new HttpClient();
@@ -218,14 +215,14 @@ private T runMethod(HttpMethodBase method, String uri, Class resultClass,
error = new ServiceError();
error.setErrorCode("LoginFailure");
error.setReasonText("User name cannot be null or empty");
- return responseHandler.getErrorResponse(resultClass, error);
+ return responseHandler.getErrorResponse(error);
}
if (_password == null || _password.length() == 0) {
error = new ServiceError();
error.setErrorCode("LoginFailure");
error.setReasonText("Password cannot be null or empty");
- return responseHandler.getErrorResponse(resultClass, error);
+ return responseHandler.getErrorResponse(error);
}
// Set Basic auth creds
@@ -237,7 +234,7 @@ private T runMethod(HttpMethodBase method, String uri, Class resultClass,
DefaultHttpMethodRetryHandler retryhandler = new DefaultHttpMethodRetryHandler(0, true);
client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, retryhandler);
int responseCode = client.executeMethod(method);
- return responseHandler.handleResponse(responseCode, method, resultClass);
+ return responseHandler.handleResponse(responseCode, method);
} catch (SocketException e) {
throw new HttpException("Error issuing request", e);
} finally {
diff --git a/src/org/hyperic/hq/hqapi1/MaintenanceApi.java b/src/org/hyperic/hq/hqapi1/MaintenanceApi.java
index 22f3aaa6..c1e3de11 100644
--- a/src/org/hyperic/hq/hqapi1/MaintenanceApi.java
+++ b/src/org/hyperic/hq/hqapi1/MaintenanceApi.java
@@ -76,7 +76,7 @@ public MaintenanceResponse schedule(int groupId, long start, long end)
params.put("start", new String[] { Long.toString(start) });
params.put("end", new String[] { Long.toString(end) });
return doGet("maintenance/schedule.hqu", params,
- MaintenanceResponse.class);
+ new XmlResponseHandler(MaintenanceResponse.class));
}
/**
@@ -93,7 +93,7 @@ public StatusResponse unschedule(int groupId)
Map params = new HashMap();
params.put("groupId", new String[] { Integer.toString(groupId) });
return doGet("maintenance/unschedule.hqu", params,
- StatusResponse.class);
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -112,6 +112,6 @@ public MaintenanceResponse get(int groupId)
Map params = new HashMap();
params.put("groupId", new String[] { Integer.toString(groupId) });
return doGet("maintenance/get.hqu", params,
- MaintenanceResponse.class);
+ new XmlResponseHandler(MaintenanceResponse.class));
}
}
\ No newline at end of file
diff --git a/src/org/hyperic/hq/hqapi1/MetricApi.java b/src/org/hyperic/hq/hqapi1/MetricApi.java
index 9a3a9819..3776460c 100644
--- a/src/org/hyperic/hq/hqapi1/MetricApi.java
+++ b/src/org/hyperic/hq/hqapi1/MetricApi.java
@@ -27,6 +27,7 @@
package org.hyperic.hq.hqapi1;
+import org.hyperic.hq.hqapi1.types.GroupResponse;
import org.hyperic.hq.hqapi1.types.Metric;
import org.hyperic.hq.hqapi1.types.MetricDataResponse;
import org.hyperic.hq.hqapi1.types.MetricResponse;
@@ -85,7 +86,7 @@ public MetricsResponse getMetrics(Resource resource)
Map params = new HashMap();
params.put("resourceId", new String[] { Integer.toString(resource.getId()) });
return doGet("metric/getMetrics.hqu", params,
- MetricsResponse.class);
+ new XmlResponseHandler(MetricsResponse.class));
}
/**
@@ -108,7 +109,7 @@ public MetricsResponse getEnabledMetrics(Resource resource)
params.put("resourceId", new String[] { Integer.toString(resource.getId()) });
params.put("enabled", new String[] { Boolean.toString(true) });
return doGet("metric/getMetrics.hqu", params,
- MetricsResponse.class);
+ new XmlResponseHandler(MetricsResponse.class));
}
/**
@@ -131,7 +132,7 @@ public MetricsResponse getMetrics(Resource resource, boolean enabled)
params.put("resourceId", new String[] { Integer.toString(resource.getId()) });
params.put("enabled", new String[] { Boolean.toString(enabled) });
return doGet("metric/getMetrics.hqu", params,
- MetricsResponse.class);
+ new XmlResponseHandler(MetricsResponse.class));
}
/**
@@ -152,7 +153,7 @@ public MetricResponse getMetric(int id)
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(id) });
return doGet("metric/getMetric.hqu", params,
- MetricResponse.class);
+ new XmlResponseHandler(MetricResponse.class));
}
/**
@@ -171,7 +172,7 @@ public StatusResponse syncMetrics(List metrics)
MetricsRequest syncRequest = new MetricsRequest();
syncRequest.getMetric().addAll(metrics);
return doPost("metric/syncMetrics.hqu", syncRequest,
- StatusResponse.class);
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -192,7 +193,7 @@ public MetricTemplateResponse getMetricTemplate(int id)
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(id) });
return doGet("metric/getMetricTemplate.hqu", params,
- MetricTemplateResponse.class);
+ new XmlResponseHandler(MetricTemplateResponse.class));
}
/**
@@ -213,7 +214,7 @@ public MetricTemplatesResponse getMetricTemplates(ResourcePrototype prototype)
Map params = new HashMap();
params.put("prototype", new String[] { prototype.getName() });
return doGet("metric/getTemplates.hqu", params,
- MetricTemplatesResponse.class);
+ new XmlResponseHandler(MetricTemplatesResponse.class));
}
/**
@@ -232,7 +233,7 @@ public StatusResponse syncMetricTemplates(List templates)
MetricTemplatesRequest syncRequest = new MetricTemplatesRequest();
syncRequest.getMetricTemplate().addAll(templates);
return doPost("metric/syncTemplates.hqu", syncRequest,
- StatusResponse.class);
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -258,7 +259,8 @@ public MetricDataResponse getMetricData(int metricId, long start, long end)
params.put("start", new String[] { Long.toString(start) });
params.put("end", new String[] { Long.toString(end) });
- return doGet("metric/getData.hqu", params, MetricDataResponse.class);
+ return doGet("metric/getData.hqu", params,
+ new XmlResponseHandler(MetricDataResponse.class));
}
/**
@@ -291,7 +293,7 @@ public MetricsDataResponse getMetricData(int groupId, int templateId,
params.put("end", new String[] { Long.toString(end) });
return doGet("metric/getGroupData.hqu", params,
- MetricsDataResponse.class);
+ new XmlResponseHandler(MetricsDataResponse.class));
}
/**
@@ -330,7 +332,7 @@ public MetricsDataResponse getMetricData(int[] resourceIds, int templateId,
params.put("end", new String[] { Long.toString(end) });
return doGet("metric/getResourceData.hqu", params,
- MetricsDataResponse.class);
+ new XmlResponseHandler(MetricsDataResponse.class));
}
// Helper function to unroll a resource and it's children into a single list.
diff --git a/src/org/hyperic/hq/hqapi1/MetricDataApi.java b/src/org/hyperic/hq/hqapi1/MetricDataApi.java
index 29531873..70380a82 100644
--- a/src/org/hyperic/hq/hqapi1/MetricDataApi.java
+++ b/src/org/hyperic/hq/hqapi1/MetricDataApi.java
@@ -3,6 +3,7 @@
import org.hyperic.hq.hqapi1.types.DataPoint;
import org.hyperic.hq.hqapi1.types.MetricDataResponse;
import org.hyperic.hq.hqapi1.types.DataPointsRequest;
+import org.hyperic.hq.hqapi1.types.MetricsResponse;
import org.hyperic.hq.hqapi1.types.StatusResponse;
import org.hyperic.hq.hqapi1.types.LastMetricsDataResponse;
import org.hyperic.hq.hqapi1.types.LastMetricDataResponse;
@@ -51,7 +52,8 @@ public MetricDataResponse getData(Metric metric, long start, long end)
params.put("id", new String[] { Integer.toString(metric.getId()) });
params.put("start", new String[] { Long.toString(start)});
params.put("end", new String[] { Long.toString(end)});
- return doGet("metricData/get.hqu", params, MetricDataResponse.class);
+ return doGet("metricData/get.hqu", params,
+ new XmlResponseHandler(MetricDataResponse.class));
}
/**
@@ -72,7 +74,8 @@ public LastMetricDataResponse getData(Metric metric)
{
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(metric.getId()) });
- return doGet("metricData/getLast.hqu", params, LastMetricDataResponse.class);
+ return doGet("metricData/getLast.hqu", params,
+ new XmlResponseHandler(LastMetricDataResponse.class));
}
/**
@@ -101,7 +104,8 @@ public MetricsDataResponse getData(List metrics, long start, long end)
params.put("id", ids);
params.put("start", new String[] { Long.toString(start)});
params.put("end", new String[] { Long.toString(end)});
- return doGet("metricData/getMulti.hqu", params, MetricsDataResponse.class);
+ return doGet("metricData/getMulti.hqu", params,
+ new XmlResponseHandler(MetricsDataResponse.class));
}
/**
@@ -127,7 +131,8 @@ public LastMetricsDataResponse getData(List metrics)
}
params.put("id", ids);
- return doGet("metricData/getMultiLast.hqu", params, LastMetricsDataResponse.class);
+ return doGet("metricData/getMultiLast.hqu", params,
+ new XmlResponseHandler(LastMetricsDataResponse.class));
}
/**
@@ -149,6 +154,7 @@ public StatusResponse addData(Metric metric, List data)
request.setMetricId(metric.getId());
request.getDataPoint().addAll(data);
- return doPost("metricData/put.hqu", request, StatusResponse.class);
+ return doPost("metricData/put.hqu", request,
+ new XmlResponseHandler(StatusResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/ResourceApi.java b/src/org/hyperic/hq/hqapi1/ResourceApi.java
index 2aa5a138..cf09e018 100644
--- a/src/org/hyperic/hq/hqapi1/ResourceApi.java
+++ b/src/org/hyperic/hq/hqapi1/ResourceApi.java
@@ -31,6 +31,7 @@
import org.hyperic.hq.hqapi1.types.CreatePlatformRequest;
import org.hyperic.hq.hqapi1.types.CreateResourceRequest;
import org.hyperic.hq.hqapi1.types.Ip;
+import org.hyperic.hq.hqapi1.types.MetricDataResponse;
import org.hyperic.hq.hqapi1.types.Resource;
import org.hyperic.hq.hqapi1.types.ResourceConfig;
import org.hyperic.hq.hqapi1.types.ResourcePrototype;
@@ -85,8 +86,8 @@ public ResourcePrototypesResponse getAllResourcePrototypes()
throws IOException
{
return doGet("resource/getResourcePrototypes.hqu",
- new HashMap(),
- ResourcePrototypesResponse.class);
+ new HashMap(),
+ new XmlResponseHandler(ResourcePrototypesResponse.class));
}
/**
@@ -105,7 +106,7 @@ public ResourcePrototypesResponse getResourcePrototypes()
Map params = new HashMap();
params.put("existing", new String[] { Boolean.toString(Boolean.TRUE) });
return doGet("resource/getResourcePrototypes.hqu", params,
- ResourcePrototypesResponse.class);
+ new XmlResponseHandler(ResourcePrototypesResponse.class));
}
/**
@@ -124,7 +125,7 @@ public ResourcePrototypeResponse getResourcePrototype(String name)
Map params = new HashMap();
params.put("name", new String[] { name });
return doGet("resource/getResourcePrototype.hqu",
- params, ResourcePrototypeResponse.class);
+ params, new XmlResponseHandler(ResourcePrototypeResponse.class));
}
/**
@@ -169,7 +170,7 @@ public ResourceResponse createPlatform(Agent agent,
request.getIp().addAll(ips);
return doPost("resource/createPlatform.hqu", request,
- ResourceResponse.class);
+ new XmlResponseHandler(ResourceResponse.class));
}
private ResourceResponse createResource(ResourcePrototype type,
@@ -194,7 +195,7 @@ private ResourceResponse createResource(ResourcePrototype type,
request.setPrototype(type);
return doPost("resource/createResource.hqu", request,
- ResourceResponse.class);
+ new XmlResponseHandler(ResourceResponse.class));
}
/**
@@ -268,7 +269,7 @@ public ResourceResponse getResource(int id, boolean verbose, boolean children)
params.put("verbose", new String[] { Boolean.toString(verbose) });
params.put("children", new String[] { Boolean.toString(children)});
return doGet("resource/get.hqu", params,
- ResourceResponse.class);
+ new XmlResponseHandler(ResourceResponse.class));
}
/**
@@ -295,7 +296,7 @@ public ResourceResponse getPlatformResource(String name, boolean verbose,
params.put("verbose", new String[] { Boolean.toString(verbose) });
params.put("children", new String[] { Boolean.toString(children)});
return doGet("resource/get.hqu", params,
- ResourceResponse.class);
+ new XmlResponseHandler(ResourceResponse.class));
}
/**
@@ -324,7 +325,7 @@ public ResourcesResponse getResources(Agent agent, boolean verbose,
params.put("verbose", new String[] { Boolean.toString(verbose) });
params.put("children", new String[] { Boolean.toString(children)});
return doGet("resource/find.hqu", params,
- ResourcesResponse.class);
+ new XmlResponseHandler(ResourcesResponse.class));
}
/**
@@ -352,7 +353,7 @@ public ResourcesResponse getResources(ResourcePrototype pt, boolean verbose,
params.put("verbose", new String[] { Boolean.toString(verbose) });
params.put("children", new String[] { Boolean.toString(children)});
return doGet("resource/find.hqu", params,
- ResourcesResponse.class);
+ new XmlResponseHandler(ResourcesResponse.class));
}
/**
@@ -371,7 +372,8 @@ public StatusResponse updateResource(Resource resource)
ResourcesRequest request = new ResourcesRequest();
request.getResource().add(resource);
- return doPost("resource/update.hqu", request, StatusResponse.class);
+ return doPost("resource/update.hqu", request,
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -390,7 +392,8 @@ public StatusResponse syncResources(List resources)
ResourcesRequest request = new ResourcesRequest();
request.getResource().addAll(resources);
- return doPost("resource/sync.hqu", request, StatusResponse.class);
+ return doPost("resource/sync.hqu", request,
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -409,7 +412,8 @@ public StatusResponse deleteResource(int id)
{
Map params = new HashMap();
params.put("id", new String[] { Integer.toString(id) });
- return doGet("resource/delete.hqu", params, StatusResponse.class);
+ return doGet("resource/delete.hqu", params,
+ new XmlResponseHandler(StatusResponse.class));
}
/**
@@ -429,6 +433,7 @@ public StatusResponse moveResource(Resource target, Resource destination)
Map params = new HashMap();
params.put("targetId", new String[] { Integer.toString(target.getId()) });
params.put("destinationId", new String[] { Integer.toString(destination.getId() )});
- return doGet("resource/move.hqu", params, StatusResponse.class);
+ return doGet("resource/move.hqu", params,
+ new XmlResponseHandler(StatusResponse.class));
}
}
diff --git a/src/org/hyperic/hq/hqapi1/ResourceEdgeApi.java b/src/org/hyperic/hq/hqapi1/ResourceEdgeApi.java
index c68b7085..e2b31555 100644
--- a/src/org/hyperic/hq/hqapi1/ResourceEdgeApi.java
+++ b/src/org/hyperic/hq/hqapi1/ResourceEdgeApi.java
@@ -27,6 +27,7 @@
package org.hyperic.hq.hqapi1;
+import org.hyperic.hq.hqapi1.types.ResourceResponse;
import org.hyperic.hq.hqapi1.types.ResponseStatus;
import org.hyperic.hq.hqapi1.types.StatusResponse;
import org.hyperic.hq.hqapi1.types.ResourceEdge;
@@ -65,7 +66,7 @@ public ResourceEdgesResponse getResourceEdges(String resourceRelation,
params.put("id", new String[] { resourceId.toString() });
}
return doGet("resource/getResourceEdges.hqu", params,
- ResourceEdgesResponse.class);
+ new XmlResponseHandler(ResourceEdgesResponse.class));
}
public ResourcesResponse getParentResourcesByRelation(String resourceRelation,
@@ -80,7 +81,7 @@ public ResourcesResponse getParentResourcesByRelation(String resourceRelation,
params.put("resourceRelation", new String[] { resourceRelation });
params.put("hasChildren", new String[] { Boolean.valueOf(hasChildren).toString() });
return doGet("resource/getParentResourcesByRelation.hqu", params,
- ResourcesResponse.class);
+ new XmlResponseHandler(ResourcesResponse.class));
}
public ResourcesResponse getResourcesByNoRelation(String resourceRelation,
@@ -93,7 +94,7 @@ public ResourcesResponse getResourcesByNoRelation(String resourceRelation,
params.put("name", new String[] { name });
params.put("resourceRelation", new String[] { resourceRelation });
return doGet("resource/getResourcesByNoRelation.hqu", params,
- ResourcesResponse.class);
+ new XmlResponseHandler(ResourcesResponse.class));
}
public StatusResponse syncResourceEdges(List edges)
@@ -101,7 +102,8 @@ public StatusResponse syncResourceEdges(List