| | |
| | | import java.util.Map;
|
| | | import java.util.TimeZone;
|
| | |
|
| | | import com.gitblit.Constants.AccessPermission;
|
| | | import com.gitblit.GitBlitException.ForbiddenException;
|
| | | import com.gitblit.GitBlitException.NotAllowedException;
|
| | | import com.gitblit.GitBlitException.UnauthorizedException;
|
| | |
| | | public static Gson gson(ExclusionStrategy... strategies) {
|
| | | GsonBuilder builder = new GsonBuilder();
|
| | | builder.registerTypeAdapter(Date.class, new GmtDateTypeAdapter());
|
| | | builder.registerTypeAdapter(AccessPermission.class, new AccessPermissionTypeAdapter());
|
| | | builder.setPrettyPrinting();
|
| | | if (!ArrayUtils.isEmpty(strategies)) {
|
| | | builder.setExclusionStrategies(strategies);
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | private static class AccessPermissionTypeAdapter implements JsonSerializer<AccessPermission>, JsonDeserializer<AccessPermission> {
|
| | |
|
| | | private AccessPermissionTypeAdapter() {
|
| | | }
|
| | |
|
| | | @Override
|
| | | public synchronized JsonElement serialize(AccessPermission permission, Type type,
|
| | | JsonSerializationContext jsonSerializationContext) {
|
| | | return new JsonPrimitive(permission.code);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public synchronized AccessPermission deserialize(JsonElement jsonElement, Type type,
|
| | | JsonDeserializationContext jsonDeserializationContext) {
|
| | | return AccessPermission.fromCode(jsonElement.getAsString()); |
| | | }
|
| | | }
|
| | |
|
| | | public static class ExcludeField implements ExclusionStrategy {
|
| | |
|