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() + ""); }