forked from External/mage
44 lines
1.4 KiB
Java
44 lines
1.4 KiB
Java
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 final 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;
|
|
}
|
|
|
|
}
|