Split property stats page.
This commit is contained in:
parent
d9524597b4
commit
037eb02d59
3 changed files with 107 additions and 177 deletions
|
@ -345,12 +345,22 @@ public class Htmlizer
|
|||
//
|
||||
{
|
||||
logger.info("Htmlize propertyStats page.");
|
||||
|
||||
PropertyStats stats = StatAgent.statAllProperties(federation);
|
||||
PropertyStats federationStats = StatAgent.statFederationProperties(federation);
|
||||
PropertyStats organizationsStats = StatAgent.statOrganizationsProperties(federation.getOrganizations());
|
||||
PropertyStats servicesStats = StatAgent.statServicesProperties(federation.getAllServices());
|
||||
page = PropertyStatsPage.build(stats, federationStats, organizationsStats, servicesStats);
|
||||
page = PropertyStatsPage.build("Toutes les propriétés", stats);
|
||||
FileUtils.write(new File(htmlizeDirectory, "propertyStats.xhtml"), page, StandardCharsets.UTF_8);
|
||||
|
||||
PropertyStats federationStats = StatAgent.statFederationProperties(federation);
|
||||
page = PropertyStatsPage.build("Les propriétés de la fédération", federationStats);
|
||||
FileUtils.write(new File(htmlizeDirectory, "propertyStats-federation.xhtml"), page, StandardCharsets.UTF_8);
|
||||
|
||||
PropertyStats organizationsStats = StatAgent.statOrganizationsProperties(federation.getOrganizations());
|
||||
page = PropertyStatsPage.build("Les propriétés des organizations", organizationsStats);
|
||||
FileUtils.write(new File(htmlizeDirectory, "propertyStats-organizations.xhtml"), page, StandardCharsets.UTF_8);
|
||||
|
||||
PropertyStats servicesStats = StatAgent.statServicesProperties(federation.getAllServices());
|
||||
page = PropertyStatsPage.build("Les propriétés des services", servicesStats);
|
||||
FileUtils.write(new File(htmlizeDirectory, "propertyStats-services.xhtml"), page, StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -18,18 +18,14 @@
|
|||
*/
|
||||
package fr.devinsy.statoolinfos.htmlize;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosUtils;
|
||||
import fr.devinsy.statoolinfos.stats.properties.PropertyStat;
|
||||
import fr.devinsy.statoolinfos.stats.properties.PropertyStatList;
|
||||
import fr.devinsy.statoolinfos.stats.properties.PropertyStats;
|
||||
import fr.devinsy.statoolinfos.util.BuildInformation;
|
||||
import fr.devinsy.xidyn.XidynException;
|
||||
import fr.devinsy.xidyn.data.TagDataManager;
|
||||
import fr.devinsy.xidyn.presenters.PresenterUtils;
|
||||
|
@ -56,7 +52,7 @@ public class PropertyStatsPage
|
|||
* @throws StatoolInfosException
|
||||
* the statool infos exception
|
||||
*/
|
||||
public static String build(final PropertyStats stats, final PropertyStats federationStats, final PropertyStats organizationsStats, final PropertyStats servicesStats) throws StatoolInfosException
|
||||
public static String build(final String title, final PropertyStats stats) throws StatoolInfosException
|
||||
{
|
||||
String result;
|
||||
|
||||
|
@ -66,73 +62,37 @@ public class PropertyStatsPage
|
|||
|
||||
TagDataManager data = new TagDataManager();
|
||||
|
||||
data.setContent("versionsup", BuildInformation.instance().version());
|
||||
data.setContent("lastUpdateDate", LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH':'mm", Locale.FRANCE)));
|
||||
|
||||
//
|
||||
data.setContent("statsTitle", "Tous");
|
||||
data.setContent("statsTitle", title);
|
||||
data.setContent("propertyCount", stats.getPropertyCount());
|
||||
data.setContent("fileCount", stats.getFileCount());
|
||||
|
||||
//
|
||||
PropertyStatList generalStats = stats.getGeneralPropertyStats().getList().sortByReverseFilledCount();
|
||||
data.setContent("generalPropertyCount", generalStats.size());
|
||||
int index = 0;
|
||||
for (PropertyStat stat : stats.getList().sortByReverseFilledCount())
|
||||
for (PropertyStat stat : generalStats)
|
||||
{
|
||||
data.setEscapedContent("propertyLine", index, "propertyLinePath", stat.getPath());
|
||||
data.setContent("propertyLine", index, "propertyLineBlankCount", stat.getBlankCount());
|
||||
data.setContent("propertyLine", index, "propertyLineBlankCountPercentage", StatoolInfosUtils.toPercentage(stat.getBlankCount(), stats.getFileCount()));
|
||||
data.setContent("propertyLine", index, "propertyLineFilledCount", stat.getFilledCount());
|
||||
data.setContent("propertyLine", index, "propertyLineFilledCountPercentage", StatoolInfosUtils.toPercentage(stat.getFilledCount(), stats.getFileCount()));
|
||||
data.setEscapedContent("generalPropertyLine", index, "generalPropertyLinePath", stat.getPath());
|
||||
data.setContent("generalPropertyLine", index, "generalPropertyLineBlankCount", stat.getBlankCount());
|
||||
data.setContent("generalPropertyLine", index, "generalPropertyLineBlankCountPercentage", StatoolInfosUtils.toPercentage(stat.getBlankCount(), stats.getFileCount()));
|
||||
data.setContent("generalPropertyLine", index, "generalPropertyLineFilledCount", stat.getFilledCount());
|
||||
data.setContent("generalPropertyLine", index, "generalPropertyLineFilledCountPercentage", StatoolInfosUtils.toPercentage(stat.getFilledCount(), stats.getFileCount()));
|
||||
|
||||
index += 1;
|
||||
}
|
||||
|
||||
//
|
||||
data.setContent("statsTitleF", "Fédération");
|
||||
data.setContent("propertyCountF", federationStats.getPropertyCount());
|
||||
data.setContent("fileCountF", federationStats.getFileCount());
|
||||
|
||||
PropertyStatList metricStats = stats.getMetricPropertyStats().getList().sortByReverseFilledCount();
|
||||
data.setContent("metricPropertyCount", metricStats.size());
|
||||
index = 0;
|
||||
for (PropertyStat stat : federationStats.getList().sortByReverseFilledCount())
|
||||
for (PropertyStat stat : metricStats)
|
||||
{
|
||||
data.setEscapedContent("propertyLineF", index, "propertyLinePathF", stat.getPath());
|
||||
data.setContent("propertyLineF", index, "propertyLineBlankCountF", stat.getBlankCount());
|
||||
data.setContent("propertyLineF", index, "propertyLineBlankCountPercentageF", StatoolInfosUtils.toPercentage(stat.getBlankCount(), federationStats.getFileCount()));
|
||||
data.setContent("propertyLineF", index, "propertyLineFilledCountF", stat.getFilledCount());
|
||||
data.setContent("propertyLineF", index, "propertyLineFilledCountPercentageF", StatoolInfosUtils.toPercentage(stat.getFilledCount(), federationStats.getFileCount()));
|
||||
|
||||
index += 1;
|
||||
}
|
||||
|
||||
//
|
||||
data.setContent("statsTitleO", "Organisations");
|
||||
data.setContent("propertyCountO", organizationsStats.getPropertyCount());
|
||||
data.setContent("fileCountO", organizationsStats.getFileCount());
|
||||
|
||||
index = 0;
|
||||
for (PropertyStat stat : organizationsStats.getList().sortByReverseFilledCount())
|
||||
{
|
||||
data.setEscapedContent("propertyLineO", index, "propertyLinePathO", stat.getPath());
|
||||
data.setContent("propertyLineO", index, "propertyLineBlankCountO", stat.getBlankCount());
|
||||
data.setContent("propertyLineO", index, "propertyLineBlankCountPercentageO", StatoolInfosUtils.toPercentage(stat.getBlankCount(), organizationsStats.getFileCount()));
|
||||
data.setContent("propertyLineO", index, "propertyLineFilledCountO", stat.getFilledCount());
|
||||
data.setContent("propertyLineO", index, "propertyLineFilledCountPercentageO", StatoolInfosUtils.toPercentage(stat.getFilledCount(), organizationsStats.getFileCount()));
|
||||
|
||||
index += 1;
|
||||
}
|
||||
|
||||
//
|
||||
data.setContent("statsTitleS", "Services");
|
||||
data.setContent("propertyCountS", servicesStats.getPropertyCount());
|
||||
data.setContent("fileCountS", servicesStats.getFileCount());
|
||||
|
||||
index = 0;
|
||||
for (PropertyStat stat : servicesStats.getList().sortByReverseFilledCount())
|
||||
{
|
||||
data.setEscapedContent("propertyLineS", index, "propertyLinePathS", stat.getPath());
|
||||
data.setContent("propertyLineS", index, "propertyLineBlankCountS", stat.getBlankCount());
|
||||
data.setContent("propertyLineS", index, "propertyLineBlankCountPercentageS", StatoolInfosUtils.toPercentage(stat.getBlankCount(), servicesStats.getFileCount()));
|
||||
data.setContent("propertyLineS", index, "propertyLineFilledCountS", stat.getFilledCount());
|
||||
data.setContent("propertyLineS", index, "propertyLineFilledCountPercentageS", StatoolInfosUtils.toPercentage(stat.getFilledCount(), servicesStats.getFileCount()));
|
||||
data.setEscapedContent("metricPropertyLine", index, "metricPropertyLinePath", stat.getPath());
|
||||
data.setContent("metricPropertyLine", index, "metricPropertyLineBlankCount", stat.getBlankCount());
|
||||
data.setContent("metricPropertyLine", index, "metricPropertyLineBlankCountPercentage", StatoolInfosUtils.toPercentage(stat.getBlankCount(), stats.getFileCount()));
|
||||
data.setContent("metricPropertyLine", index, "metricPropertyLineFilledCount", stat.getFilledCount());
|
||||
data.setContent("metricPropertyLine", index, "metricPropertyLineFilledCountPercentage", StatoolInfosUtils.toPercentage(stat.getFilledCount(), stats.getFileCount()));
|
||||
|
||||
index += 1;
|
||||
}
|
||||
|
|
|
@ -12,121 +12,81 @@
|
|||
</head>
|
||||
<body>
|
||||
<div class="row center_table" style="width: 1100px;">
|
||||
<div class="column center">
|
||||
<h2 id="statsTitleO">Statistics des property</h2>
|
||||
<div>Nombre de property : <span id="propertyCountO">n/a</span></div>
|
||||
<div>Nombre de fichiers : <span id="fileCountO">n/a</span></div>
|
||||
<div class="left">
|
||||
<table class="table_classic center_table sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;">Chemin</th>
|
||||
<th style="width: 10px;">Remplis</th>
|
||||
<th style="width: 10px;">%</th>
|
||||
<th style="width: 10px;">Vides</th>
|
||||
<th style="width: 10px;">%</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="propertyLineO">
|
||||
<td id="propertyLinePathO" class="">n/a</td>
|
||||
<td id="propertyLineFilledCountO" class="td_number">n/a</td>
|
||||
<td id="propertyLineFilledCountPercentageO" class="td_number">n/a</td>
|
||||
<td id="propertyLineBlankCountO" class="td_number">n/a</td>
|
||||
<td id="propertyLineBlankCountPercentageO" class="td_number">n/a</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div style="margin: 5px;">
|
||||
<a id="" href="propertyStats.xhtml" class="button">Toutes</a>
|
||||
<a id="" href="propertyStats-federation.xhtml" class="button">Fédération</a>
|
||||
<a id="" href="propertyStats-organizations.xhtml" class="button">Organizations</a>
|
||||
<a id="" href="propertyStats-services.xhtml" class="button">Services</a>
|
||||
</div>
|
||||
|
||||
<div class="column" style="width: 20px;"> </div>
|
||||
|
||||
<div class="column center">
|
||||
<h2 id="statsTitleS">Statistics des property</h2>
|
||||
<div>Nombre de property : <span id="propertyCountS">n/a</span></div>
|
||||
<div>Nombre de fichiers : <span id="fileCountS">n/a</span></div>
|
||||
<div class="left">
|
||||
<table class="table_classic center_table sortable " style="margin-left: auto; margin-right: auto;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;">Path</th>
|
||||
<th style="width: 10px;">Filled Count</th>
|
||||
<th style="width: 10px;">File %</th>
|
||||
<th style="width: 10px;">Blank Count</th>
|
||||
<th style="width: 10px;">File %</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="propertyLineS">
|
||||
<td id="propertyLinePathS" class="">n/a</td>
|
||||
<td id="propertyLineFilledCountS" class="td_number">n/a</td>
|
||||
<td id="propertyLineFilledCountPercentageS" class="td_number">n/a</td>
|
||||
<td id="propertyLineBlankCountS" class="td_number">n/a</td>
|
||||
<td id="propertyLineBlankCountPercentageS" class="td_number">n/a</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row center_table" style="width: 1100px;">
|
||||
<div class="column center">
|
||||
<h2 id="statsTitle">Statistics des property</h2>
|
||||
<div>Nombre de property : <span id="propertyCount">n/a</span></div>
|
||||
<div class="center">
|
||||
<h2 id="statsTitle">n/a</h2>
|
||||
<div>Nombre de propriétés : <span id="propertyCount">n/a</span></div>
|
||||
<div>Nombre de fichiers : <span id="fileCount">n/a</span></div>
|
||||
<div class="left">
|
||||
<table class="table_classic center_table sortable " style="margin-left: auto; margin-right: auto;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;">Path</th>
|
||||
<th style="width: 10px;">Filled Count</th>
|
||||
<th style="width: 10px;">File %</th>
|
||||
<th style="width: 10px;">Blank Count</th>
|
||||
<th style="width: 10px;">File %</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="propertyLine">
|
||||
<td id="propertyLinePath" class="">n/a</td>
|
||||
<td id="propertyLineFilledCount" class="td_number">n/a</td>
|
||||
<td id="propertyLineFilledCountPercentage" class="td_number">n/a</td>
|
||||
<td id="propertyLineBlankCount" class="td_number">n/a</td>
|
||||
<td id="propertyLineBlankCountPercentage" class="td_number">n/a</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="row center">
|
||||
<div class="column">
|
||||
<div class="left">
|
||||
<div>Nombre de propriétés : <span id="generalPropertyCount">n/a</span></div>
|
||||
<table class="table_classic center_table sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;" rowspan="2">Chemin</th>
|
||||
<th style="width: 10px;" colspan="2">Remplissage</th>
|
||||
<th style="width: 10px;" colspan="2">Vides</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 10px;">Nombre</th>
|
||||
<th style="width: 25px;">%</th>
|
||||
<th style="width: 10px;">Nombre</th>
|
||||
<th style="width: 10px;">%</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="generalPropertyLine">
|
||||
<td id="generalPropertyLinePath" class="">n/a</td>
|
||||
<td id="generalPropertyLineFilledCount" class="td_number">n/a</td>
|
||||
<td id="generalPropertyLineFilledCountPercentage" class="td_number">n/a</td>
|
||||
<td id="generalPropertyLineBlankCount" class="td_number">n/a</td>
|
||||
<td id="generalPropertyLineBlankCountPercentage" class="td_number">n/a</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column" style="width: 20px;"> </div>
|
||||
<div class="column" style="width: 20px;"> </div>
|
||||
|
||||
<div class="column center">
|
||||
<h2 id="statsTitleF">Statistics des property</h2>
|
||||
<div>Nombre de property : <span id="propertyCountF">n/a</span></div>
|
||||
<div>Nombre de fichiers : <span id="fileCountF">n/a</span></div>
|
||||
<div class="left">
|
||||
<table class="table_classic center_table sortable " style="margin-left: auto; margin-right: auto;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;">Path</th>
|
||||
<th style="width: 10px;">Filled Count</th>
|
||||
<th style="width: 10px;">File %</th>
|
||||
<th style="width: 10px;">Blank Count</th>
|
||||
<th style="width: 10px;">File %</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="propertyLineF">
|
||||
<td id="propertyLinePathF" class="">n/a</td>
|
||||
<td id="propertyLineFilledCountF" class="td_number">n/a</td>
|
||||
<td id="propertyLineFilledCountPercentageF" class="td_number">n/a</td>
|
||||
<td id="propertyLineBlankCountF" class="td_number">n/a</td>
|
||||
<td id="propertyLineBlankCountPercentageF" class="td_number">n/a</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="column">
|
||||
<div class="left">
|
||||
<div>Nombre de propriétés : <span id="metricPropertyCount">n/a</span></div>
|
||||
<table class="table_classic center_table sortable " style="margin-left: auto; margin-right: auto;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;" rowspan="2">Chemin</th>
|
||||
<th style="width: 10px;" colspan="2">Remplissage</th>
|
||||
<th style="width: 10px;" colspan="2">Vides</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 10px;">Nombre</th>
|
||||
<th style="width: 25px;">%</th>
|
||||
<th style="width: 10px;">Nombre</th>
|
||||
<th style="width: 10px;">%</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="metricPropertyLine">
|
||||
<td id="metricPropertyLinePath" class="">n/a</td>
|
||||
<td id="metricPropertyLineFilledCount" class="td_number">n/a</td>
|
||||
<td id="metricPropertyLineFilledCountPercentage" class="td_number">n/a</td>
|
||||
<td id="metricPropertyLineBlankCount" class="td_number">n/a</td>
|
||||
<td id="metricPropertyLineBlankCountPercentage" class="td_number">n/a</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue