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/commands/ListTemplatesCmd.java b/server/src/com/cloud/api/commands/ListTemplatesCmd.java index ccb33ea9dcd..65fe5c875a3 100644 --- a/server/src/com/cloud/api/commands/ListTemplatesCmd.java +++ b/server/src/com/cloud/api/commands/ListTemplatesCmd.java @@ -33,6 +33,7 @@ import com.cloud.async.AsyncJobVO; import com.cloud.dc.DataCenterVO; import com.cloud.host.HostVO; import com.cloud.storage.GuestOS; +import com.cloud.storage.Storage; import com.cloud.storage.VMTemplateHostVO; import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; import com.cloud.storage.VMTemplateVO; @@ -152,9 +153,7 @@ public class ListTemplatesCmd extends BaseListCmd { List templateResponses = new ArrayList(); for (VMTemplateVO template : templates) { - // Since we've added multiple domR templates and with different DB ids, I'm changing - // this to filter out any templates with names that start with system for now. - if (!showDomr && template.getName().startsWith("SystemVM")) { + if (!showDomr && template.getTemplateType() == Storage.TemplateType.SYSTEM) { continue; } 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() + ""); }