@Override public JsonElement serialize(CRMaterial material, Type type, JsonSerializationContext context) { return context.serialize(material); } }
@Override public JsonElement serialize(CRArtifact crArtifact, Type type, JsonSerializationContext context) { return context.serialize(crArtifact).getAsJsonObject(); } }
@Override public JsonElement serialize(PipelinesDataResponse src, Type typeOfSrc, JsonSerializationContext context) { JsonObject serialized = new JsonObject(); serialized.add("pipelines", context.serialize(src.getPipelineConfigs(), GROUPS_TYPE)); return serialized; } }
@Override public JsonElement serialize(CRTask crTask, Type type, JsonSerializationContext context) { JsonObject retValue = context.serialize(crTask).getAsJsonObject(); CRTask onCancel = crTask.getOnCancel(); if (onCancel != null) { retValue.remove("onCancel"); retValue.add("onCancel", context.serialize(onCancel)); } return retValue; } }
@Override public JsonElement serialize(Filters src, Type typeOfSrc, JsonSerializationContext context) { final JsonObject result = new JsonObject(); final JsonArray viewFilters = new JsonArray(); for (DashboardFilter f : src.filters()) { viewFilters.add(context.serialize(f, DashboardFilter.class)); } result.add(KEY_FILTERS, viewFilters); return result; } }
@Override public JsonElement serialize(DashboardFilter src, Type typeOfSrc, JsonSerializationContext context) { final JsonElement serialized; if (src instanceof WhitelistFilter) { serialized = context.serialize(src, WhitelistFilter.class); serialized.getAsJsonObject().addProperty(KEY_TYPE, TYPE_WHITELIST); } else if (src instanceof BlacklistFilter) { serialized = context.serialize(src, BlacklistFilter.class); serialized.getAsJsonObject().addProperty(KEY_TYPE, TYPE_BLACKLIST); } else { throw new IllegalArgumentException("Don't know how to handle DashboardFilter implementation: " + src.getClass().getCanonicalName()); } serialized.getAsJsonObject().addProperty(KEY_NAME, src.name()); return serialized; } }
class CollectionAdapter implements JsonSerializer<Collection<?>> { @Override public JsonElement serialize(Collection<?> src, Type typeOfSrc, JsonSerializationContext context) { if (src == null || src.isEmpty()) // exclusion is made here return null; JsonArray array = new JsonArray(); for (Object child : src) { JsonElement element = context.serialize(child); array.add(element); } return array; } }
@Override public <T> PersistedData create(Collection<T> data, Class<T> type) { JsonArray array = new JsonArray(); for (T item : data) { array.add(context.serialize(item, type)); } return new GsonPersistedData(array); }
@Override public JsonElement serialize(Resolution src, Type typeOfSrc, JsonSerializationContext context) { if (src instanceof LwjglResolution) { return context.serialize(((LwjglResolution) src).getDisplayMode()); } else { return null; } } }
@Override public JsonElement serialize(PipelineSelectionResponse src, Type typeOfSrc, JsonSerializationContext context) { JsonObject serialized = new JsonObject(); JsonArray filters = new JsonArray(); src.filters().filters().forEach((f) -> { filters.add(context.serialize(f, DashboardFilter.class)); }); serialized.add("filters", filters); return serialized; } }
@Override public JsonElement serialize(List<PipelineConfigs> src, Type typeOfSrc, JsonSerializationContext context) { JsonObject serialized = new JsonObject(); for (PipelineConfigs group : src) { final List<PipelineConfig> pipelines = group.getPipelines(); if (!pipelines.isEmpty()) { List<CaseInsensitiveString> pipelineNames = pipelines.stream().map(PipelineConfig::name).collect(Collectors.toList()); serialized.add(group.getGroup(), context.serialize(pipelineNames)); } } return serialized; } }
@Override public <T> PersistedData create(T data, Class<? extends T> type) { return new GsonPersistedData(context.serialize(data, type)); }
@Override public JsonElement serialize(SetMultimap src, Type typeOfSrc, JsonSerializationContext context) { return context.serialize(src.asMap()); } }
@Override public JsonElement serialize(EntityData.GlobalStore src, Type typeOfSrc, JsonSerializationContext context) { JsonObject result = new JsonObject(); for (Map.Entry<Descriptors.FieldDescriptor, Object> field : src.getAllFields().entrySet()) { result.add(field.getKey().getName(), context.serialize(field.getValue())); } return result; }
@Override public JsonElement serialize(SecurityConfig src, Type typeOfSrc, JsonSerializationContext context) { JsonObject result = new JsonObject(); result.add(SERVER_PUBLIC_CERTIFICATE, context.serialize(src.serverPublicCertificate)); result.add(SERVER_PRIVATE_CERTIFICATE, context.serialize(src.serverPrivateCertificate)); JsonArray clientArray = new JsonArray(); for (Map.Entry<PublicIdentityCertificate, ClientIdentity> entry : src.clientCertificates.entrySet()) { ClientEntry clientEntry = new ClientEntry(); clientEntry.server = entry.getKey(); clientEntry.clientPublic = entry.getValue().getPlayerPublicCertificate(); clientEntry.clientPrivate = entry.getValue().getPlayerPrivateCertificate(); clientArray.add(context.serialize(clientEntry)); } result.add(CLIENT_IDENTITIES, clientArray); return result; } }
public class PairSerializer implements JsonSerializer<Pair> { public PairSerializer() { super(); } @Override public JsonElement serialize(final Pair value, final Type type, final JsonSerializationContext context) { final JsonObject jsonObj = new JsonObject(); jsonObj.add("first", context.serialize(value.getFirst())); jsonObj.add("second", context.serialize(value.getSecond())); return jsonObj; } }
@Override public JsonElement serialize(EntityData.Component src, Type typeOfSrc, JsonSerializationContext context) { JsonObject result = new JsonObject(); for (EntityData.NameValue field : src.getFieldList()) { result.add(field.getName(), context.serialize(field.getValue())); } return result; }
@Override public JsonElement serialize(BindsConfig bindsConfig, Type typeOfBindsConfig, JsonSerializationContext context) { JsonObject result = new JsonObject(); SetMultimap<Name, SimpleUri> bindingByModuleName = listBindingsByModuleName(bindsConfig); List<Name> sortedModuleNames = bindingByModuleName.keySet().stream().sorted().collect(toList()); for (Name moduleName : sortedModuleNames) { SetMultimap<String, Input> moduleBinds = HashMultimap.create(); for (SimpleUri bindingUri : bindingByModuleName.get(moduleName)) { moduleBinds.putAll(bindingUri.getObjectName().toString(), bindsConfig.uriBoundInputs.get(bindingUri)); } JsonElement map = context.serialize(moduleBinds, SetMultimap.class); result.add(moduleName.toString(), map); } return result; }
@Override public JsonElement serialize(OAuth2AccessTokenEntity src, Type typeOfSrc, JsonSerializationContext context) { JsonObject o = new JsonObject(); o.addProperty("value", src.getValue()); o.addProperty("id", src.getId()); o.addProperty("refreshTokenId", src.getRefreshToken() != null ? src.getRefreshToken().getId() : null); o.add("scopes", context.serialize(src.getScope())); o.addProperty("clientId", src.getClient().getClientId()); o.addProperty("userId", src.getAuthenticationHolder().getAuthentication().getName()); o.add("expiration", context.serialize(src.getExpiration())); return o; }
@Override public JsonElement serialize(Holder src, Type type, JsonSerializationContext context) { JsonObject root = new JsonObject(); JsonElement value = context.serialize(src.value()); root.addProperty("id", src.id()); if (value.isJsonObject()) { value.getAsJsonObject().addProperty(Holder.TYPE_PROPERTY, src.value().getClass().getName()); } root.add(VALUE_PROPERTY, value); return root; }