mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 21:25:38 +00:00
bug5311: MigrateLeaderboardgroupResource now manages remote server references in a more fine-grained way, respecting individual event IDs
This commit is contained in:
+31
@@ -0,0 +1,31 @@
|
||||
package com.sap.sailing.server.gateway.deserialization.impl;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.RemoteSailingServerReference;
|
||||
import com.sap.sailing.domain.base.impl.RemoteSailingServerReferenceImpl;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RemoteSailingServerReferenceJsonSerializer;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.shared.json.JsonDeserializationException;
|
||||
import com.sap.sse.shared.json.JsonDeserializer;
|
||||
|
||||
public class RemoteSailingServerReferenceJsonDeserializer implements JsonDeserializer<RemoteSailingServerReference> {
|
||||
@Override
|
||||
public RemoteSailingServerReference deserialize(JSONObject object) throws JsonDeserializationException {
|
||||
final String name = (String) object.get(RemoteSailingServerReferenceJsonSerializer.NAME);
|
||||
URL url;
|
||||
try {
|
||||
url = new URL((String) object.get(RemoteSailingServerReferenceJsonSerializer.URL));
|
||||
} catch (MalformedURLException e) {
|
||||
throw new JsonDeserializationException(e);
|
||||
}
|
||||
final boolean include = (Boolean) object.get(RemoteSailingServerReferenceJsonSerializer.INCLUDE);
|
||||
final JSONArray eventIds = (JSONArray) object.get(RemoteSailingServerReferenceJsonSerializer.EVENT_IDS);
|
||||
return new RemoteSailingServerReferenceImpl(name, url, include, Util.map(eventIds, id->UUID.fromString(id.toString())));
|
||||
}
|
||||
}
|
||||
-2
@@ -6,7 +6,6 @@ import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.shared.json.JsonSerializer;
|
||||
|
||||
public class DurationJsonSerializer implements JsonSerializer<Duration> {
|
||||
|
||||
public static final String MILLIS = "millis";
|
||||
|
||||
@Override
|
||||
@@ -15,5 +14,4 @@ public class DurationJsonSerializer implements JsonSerializer<Duration> {
|
||||
result.put(MILLIS, object.asMillis());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.RemoteSailingServerReference;
|
||||
import com.sap.sse.shared.json.JsonSerializer;
|
||||
|
||||
public class RemoteSailingServerReferenceJsonSerializer implements JsonSerializer<RemoteSailingServerReference> {
|
||||
public static final String NAME = "name";
|
||||
public static final String URL = "url";
|
||||
public static final String INCLUDE = "include";
|
||||
public static final String EVENT_IDS = "eventIds";
|
||||
|
||||
@Override
|
||||
public JSONObject serialize(RemoteSailingServerReference object) {
|
||||
final JSONObject result = new JSONObject();
|
||||
result.put(NAME, object.getName());
|
||||
result.put(URL, object.getURL());
|
||||
result.put(INCLUDE, object.isInclude());
|
||||
final JSONArray eventIds = new JSONArray();
|
||||
object.getSelectedEventIds().forEach(id->eventIds.add(id.toString()));
|
||||
result.put(EVENT_IDS, eventIds);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user