/* * Copyright (C) 2020-2021 Christian Pierre MOMON * * This file is part of StatoolInfos, simple service statistics tool. * * StatoolInfos is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * StatoolInfos is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with StatoolInfos. If not, see . */ package fr.devinsy.statoolinfos.htmlize; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import fr.devinsy.statoolinfos.core.Service; import fr.devinsy.statoolinfos.core.Services; import fr.devinsy.statoolinfos.core.StatoolInfosException; import fr.devinsy.statoolinfos.htmlize.ServiceMetricMenuView.MenuItem; import fr.devinsy.statoolinfos.stats.StatAgent; import fr.devinsy.statoolinfos.stats.services.RegistrationStats; import fr.devinsy.xidyn.XidynException; import fr.devinsy.xidyn.data.TagDataManager; import fr.devinsy.xidyn.presenters.PresenterUtils; import fr.devinsy.xidyn.utils.XidynUtils; /** * The Class ServiceStatsPage. */ public class ServiceStatsView { private static Logger logger = LoggerFactory.getLogger(ServiceStatsView.class); /** * Builds the. * * @param service * the service * @return the string * @throws StatoolInfosException * the statool infos exception */ public static String htmlize(final Service service) throws StatoolInfosException { String result; try { logger.debug("Building service stats view {}…", service.get("service.name")); TagDataManager data = new TagDataManager(); // data.setContent("metricMenuView", ServiceMetricMenuView.htmlize(service, MenuItem.GENERAL)); // data.setContent("turnoutChart", ChartHtmlizer.htmlizeOrganizationTurnoutChart(service)); Services mock = Services.of(service); data.setContent("hostServerTypeChart", ChartHtmlizer.htmlizeHostServerTypeChart(mock)); data.setContent("hostProviderTypeChart", ChartHtmlizer.htmlizeHostProviderTypeChart(mock)); data.setContent("serviceInstallTypeChart", ChartHtmlizer.htmlizeServiceInstallTypeChart(mock)); data.setContent("serviceCountryChart", ChartHtmlizer.htmlizeServiceCountryChart(mock)); // { RegistrationStats stats = StatAgent.statRegistrationTypes(mock); data.setContent("registrationTypeChart", ChartHtmlizer.htmlizeRegistrationBarChart(stats)); data.setContent("registrationNoneTypeChart", ChartHtmlizer.htmlizeRegistrationNonePieChart(stats)); data.setContent("registrationFreeTypeChart", ChartHtmlizer.htmlizeRegistrationFreePieChart(stats)); data.setContent("registrationMemberTypeChart", ChartHtmlizer.htmlizeRegistrationMemberPieChart(stats)); data.setContent("registrationClientTypeChart", ChartHtmlizer.htmlizeRegistrationClientPieChart(stats)); } data.setContent("serviceCountYearChart", ChartHtmlizer.htmlizeServiceCountYearChart(mock)); data.setContent("serviceDateStatusChart", ChartHtmlizer.htmlizeServiceDateStatusChart(mock)); // String content = PresenterUtils.dynamize("/fr/devinsy/statoolinfos/htmlize/serviceStatsView.xhtml", data).toString(); result = XidynUtils.extractBodyContent(content); } catch (XidynException exception) { throw new StatoolInfosException("Error building service view: " + exception.getMessage(), exception); } // return result; } }