package com.xmage.ws.json;
import com.xmage.core.entity.model.ServerStats;
import com.xmage.ws.resource.Resource;
import net.minidev.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
/**
* Converts {@link com.xmage.core.entity.model.ServerStats} resource to json.
*
* @author noxx
*/
public class XMageStatsJSONBuilder implements JSONBuilder<ServerStats> {
private static final Logger logger = LoggerFactory.getLogger(XMageStatsJSONBuilder.class);
private static final SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
static class StaticHolder {
static XMageStatsJSONBuilder instance = new XMageStatsJSONBuilder();
}
public static XMageStatsJSONBuilder getInstance() {
return StaticHolder.instance;
}
public JSONObject buildFrom(Resource<ServerStats> resource) {
ServerStats serverStats = resource.getDefault();
JSONObject statsJson = new JSONObject();
statsJson.put("numberOfGamesPlayed", serverStats.getNumberOfGamesPlayed());
statsJson.put("numberOfUniquePlayers", serverStats.getNumberOfUniquePlayers());
statsJson.put("numberOfPlayersPlayedOnlyOnce", serverStats.getNumberOfPlayersPlayedOnce());
statsJson.put("top3Players", serverStats.getTop3Players());
return statsJson;
}
}