use the API response date format when serializing response objects

This commit is contained in:
Kris McQueen 2010-10-29 13:22:48 -07:00
parent ccdf4f77d3
commit 88dac13bb0
2 changed files with 5 additions and 2 deletions

View File

@ -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 "";
}

View File

@ -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) + "</" + serializedName.value() + ">");
} else {
sb.append("<" + serializedName.value() + ">" + fieldValue.toString() + "</" + serializedName.value() + ">");
}