From 88dac13bb0fcbbea853e04f17d2462abc4f7d8f5 Mon Sep 17 00:00:00 2001 From: Kris McQueen Date: Fri, 29 Oct 2010 13:22:48 -0700 Subject: [PATCH] use the API response date format when serializing response objects --- server/src/com/cloud/api/BaseCmd.java | 2 +- server/src/com/cloud/api/response/ApiResponseSerializer.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/api/BaseCmd.java b/server/src/com/cloud/api/BaseCmd.java index ad27127a2b7..8acc98ea263 100755 --- a/server/src/com/cloud/api/BaseCmd.java +++ b/server/src/com/cloud/api/BaseCmd.java @@ -113,7 +113,7 @@ public abstract class BaseCmd { _responseObject = responseObject; } - public String getDateString(Date date) { + public static String getDateString(Date date) { if (date == null) { return ""; } diff --git a/server/src/com/cloud/api/response/ApiResponseSerializer.java b/server/src/com/cloud/api/response/ApiResponseSerializer.java index ce424c254fc..4156e743a68 100644 --- a/server/src/com/cloud/api/response/ApiResponseSerializer.java +++ b/server/src/com/cloud/api/response/ApiResponseSerializer.java @@ -4,6 +4,7 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.util.Date; import java.util.List; import org.apache.log4j.Logger; @@ -28,7 +29,7 @@ public class ApiResponseSerializer { private static String toJSONSerializedString(ResponseObject result) { if (result != null) { - Gson gson = GsonHelper.getBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).create(); + Gson gson = GsonHelper.getBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").create(); StringBuilder sb = new StringBuilder(); sb.append("{ \"" + result.getResponseName() + "\" : "); @@ -133,6 +134,8 @@ public class ApiResponseSerializer { if (fieldValue instanceof ResponseObject) { ResponseObject subObj = (ResponseObject)fieldValue; serializeResponseObjXML(sb, subObj); + } else if (fieldValue instanceof Date) { + sb.append("<" + serializedName.value() + ">" + BaseCmd.getDateString((Date)fieldValue) + ""); } else { sb.append("<" + serializedName.value() + ">" + fieldValue.toString() + ""); }