From e41e8f8c3bc9f5edab1d271464364f95620ece8c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 19 Nov 2015 17:55:38 -0500 Subject: [PATCH] Create filestore directory on startup --- src/main/java/com/gitblit/utils/JsonUtils.java | 49 +++++++++++++++++++++++++++++-------------------- 1 files changed, 29 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/gitblit/utils/JsonUtils.java b/src/main/java/com/gitblit/utils/JsonUtils.java index e924182..f389776 100644 --- a/src/main/java/com/gitblit/utils/JsonUtils.java +++ b/src/main/java/com/gitblit/utils/JsonUtils.java @@ -46,6 +46,7 @@ import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; @@ -54,9 +55,9 @@ /** * Utility methods for json calls to a Gitblit server. - * + * * @author James Moger - * + * */ public class JsonUtils { @@ -68,7 +69,7 @@ /** * Creates JSON from the specified object. - * + * * @param o * @return json */ @@ -82,9 +83,12 @@ * * @param json * @param clazz - * @return an object + * @return the deserialized object + * @throws JsonParseException + * @throws JsonSyntaxException */ - public static <X> X fromJsonString(String json, Class<X> clazz) { + public static <X> X fromJsonString(String json, Class<X> clazz) throws JsonParseException, + JsonSyntaxException { return gson().fromJson(json, clazz); } @@ -92,16 +96,19 @@ * Convert a json string to an object of the specified type. * * @param json - * @param clazz - * @return an object + * @param type + * @return the deserialized object + * @throws JsonParseException + * @throws JsonSyntaxException */ - public static <X> X fromJsonString(String json, Type type) { + public static <X> X fromJsonString(String json, Type type) throws JsonParseException, + JsonSyntaxException { return gson().fromJson(json, type); } /** * Reads a gson object from the specified url. - * + * * @param url * @param type * @return the deserialized object @@ -114,7 +121,7 @@ /** * Reads a gson object from the specified url. - * + * * @param url * @param type * @return the deserialized object @@ -127,7 +134,7 @@ /** * Reads a gson object from the specified url. - * + * * @param url * @param type * @param username @@ -146,7 +153,7 @@ /** * Reads a gson object from the specified url. - * + * * @param url * @param clazz * @param username @@ -165,7 +172,7 @@ /** * Retrieves a JSON message. - * + * * @param url * @return the JSON message as a string * @throws {@link IOException} @@ -205,7 +212,7 @@ /** * Sends a JSON message. - * + * * @param url * the url to write to * @param json @@ -219,7 +226,7 @@ /** * Sends a JSON message. - * + * * @param url * the url to write to * @param json @@ -274,10 +281,10 @@ return builder.create(); } - private static class GmtDateTypeAdapter implements JsonSerializer<Date>, JsonDeserializer<Date> { + public static class GmtDateTypeAdapter implements JsonSerializer<Date>, JsonDeserializer<Date> { private final DateFormat dateFormat; - private GmtDateTypeAdapter() { + public GmtDateTypeAdapter() { dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); } @@ -296,7 +303,7 @@ JsonDeserializationContext jsonDeserializationContext) { try { synchronized (dateFormat) { - Date date = dateFormat.parse(jsonElement.getAsString()); + Date date = dateFormat.parse(jsonElement.getAsString()); return new Date((date.getTime() / 1000) * 1000); } } catch (ParseException e) { @@ -304,7 +311,7 @@ } } } - + private static class AccessPermissionTypeAdapter implements JsonSerializer<AccessPermission>, JsonDeserializer<AccessPermission> { private AccessPermissionTypeAdapter() { @@ -319,7 +326,7 @@ @Override public synchronized AccessPermission deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) { - return AccessPermission.fromCode(jsonElement.getAsString()); + return AccessPermission.fromCode(jsonElement.getAsString()); } } @@ -334,10 +341,12 @@ this.fieldName = fqfn.substring(fqfn.lastIndexOf(".") + 1); } + @Override public boolean shouldSkipClass(Class<?> arg0) { return false; } + @Override public boolean shouldSkipField(FieldAttributes f) { return (f.getDeclaringClass() == c && f.getName().equals(fieldName)); } -- Gitblit v1.9.1