/******************************************************************************* * Copyright 2014 Miami-Dade County * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package org.sharegov.cirm.stats; import java.util.Map; import mjson.Json; /** * Rendered CirmStatistics Json in a format that may later be parsed. * * @author Thomas Hilpold */ public class CirmStatisticsRenderer { public static final String property = CirmClusterStatisticsStore.CIRM_STATS_PROPERTY; Json render(CirmStatistics s) { Json result = Json.object(); Json array = Json.array(); for (Map.Entry<CirmStatistics.StatsKey,CirmStatistics.StatsValue> e : s.getStatistics().entrySet()) { CirmStatistics.StatsKey k = e.getKey(); CirmStatistics.StatsValue v = e.getValue(); Json eJson = Json.object(); eJson.set(renderKey(k), v.toJson()); array.add(eJson); }; result.set(property, array); return result; } public String renderKey(CirmStatistics.StatsKey k) { return k.getComponent() + "/" + k.getAction() + "/" + k.gettype(); } }