mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-27 07:56:38 +00:00
aligned boat class icon file names with BoatClassMasterdata enum literals and expose icons through gwt.ui web bundle;
added icon URLs and further fields to BoatClassesResource Change-Id: Ib0bc71521fbe173883ff9d55524a338f0b672f5b
This commit is contained in:
+20
-1
@@ -1,19 +1,38 @@
|
||||
package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.common.BoatClassMasterdata;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
|
||||
public class BoatClassJsonSerializer implements JsonSerializer<BoatClass> {
|
||||
public static final String FIELD_NAME = "name";
|
||||
public static final String FIELD_TYPICALLY_STARTS_UPWIND = "typicallyStartsUpwind";
|
||||
|
||||
public static final String FIELD_HULL_LENGTH_IN_METERS = "hullLengthInMeters";
|
||||
public static final String FIELD_HULL_BEAM_IN_METERS = "hullBeamInMeters";
|
||||
public static final String FIELD_DISPLAY_NAME = "displayName";
|
||||
public static final String FIELD_ALIAS_NAMES = "aliasNames";
|
||||
public static final String FIELD_ICON_URL = "iconUrl";
|
||||
|
||||
@Override
|
||||
public JSONObject serialize(BoatClass boatClass) {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put(FIELD_NAME, boatClass.getName());
|
||||
result.put(FIELD_TYPICALLY_STARTS_UPWIND, boatClass.typicallyStartsUpwind());
|
||||
result.put(FIELD_HULL_LENGTH_IN_METERS, boatClass.getHullLength().getMeters());
|
||||
result.put(FIELD_HULL_BEAM_IN_METERS, boatClass.getHullBeam().getMeters());
|
||||
result.put(FIELD_DISPLAY_NAME, boatClass.getDisplayName());
|
||||
final BoatClassMasterdata masterData = BoatClassMasterdata.resolveBoatClass(boatClass.getDisplayName());
|
||||
final JSONArray aliasNames = new JSONArray();
|
||||
if (masterData != null) {
|
||||
result.put(FIELD_ICON_URL, "/gwt/src/main/resources/com/sap/sailing/gwt/ui/client/images/boatclass/"+masterData.name().replaceAll("^_", "")+".png");
|
||||
aliasNames.addAll(Arrays.asList(masterData.getAlternativeNames()));
|
||||
}
|
||||
result.put(FIELD_ALIAS_NAMES, aliasNames);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user