Added columns in service list view.

This commit is contained in:
Christian P. MOMON 2020-10-04 02:50:08 +02:00
parent cd6708592a
commit 8b3918fae4
9 changed files with 186 additions and 71 deletions

View file

@ -42,7 +42,7 @@ public class Service extends PathPropertyList
ALERT,
ERROR,
OVER,
UNKNOWN
VOID
}
private Organization organization;
@ -340,9 +340,9 @@ public class Service extends PathPropertyList
String value = get("service.status", "service.status.level");
if ((StringUtils.isBlank(value)) || (StringUtils.equals(value, "unknonw")))
if ((StringUtils.isBlank(value)) || (StringUtils.equalsAnyIgnoreCase(value, "unknown", "void")))
{
result = Status.UNKNOWN;
result = Status.VOID;
}
else if (StringUtils.equalsAnyIgnoreCase(value, "ON", "OK"))
{
@ -352,17 +352,17 @@ public class Service extends PathPropertyList
{
result = Status.ALERT;
}
else if (StringUtils.equalsAnyIgnoreCase(value, "error", "KO", "broken"))
else if (StringUtils.equalsAnyIgnoreCase(value, "error", "ko", "broken", "off"))
{
result = Status.ERROR;
}
else if (StringUtils.equalsAnyIgnoreCase(value, "over", "terminated", "closed"))
else if (StringUtils.equalsAnyIgnoreCase(value, "over", "terminated", "closed", "ended"))
{
result = Status.OVER;
}
else
{
result = Status.UNKNOWN;
result = Status.VOID;
}
//
@ -384,11 +384,14 @@ public class Service extends PathPropertyList
return result;
}
/**
* @return
*/
public String getTechnicalDocWebsite()
{
String result;
result = get("service.documentation.technical", "service.documentation.technical.url");
result = get("service.documentation.technical", "service.documentationtechnical.url", "service.technical", "service.technical.url", "service.guide.technical", "service.guide.technical.url");
//
return result;
@ -433,7 +436,10 @@ public class Service extends PathPropertyList
{
String result;
result = get("service.documentation.user", "service.documentation.user.url", "service.documentation.tutorial", "service.documentation.tutorial.url");
result = get("service.documentation", "service.documentation.url", "service.documentation.user", "service.documentation.user.url", "service.documentation.tutorial",
"service.documentation.tutorial.url",
"service.guide.user",
"service.guide.user.url");
//
return result;

View file

@ -18,6 +18,7 @@
*/
package fr.devinsy.statoolinfos.htmlize;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -73,6 +74,41 @@ public class ServiceListView
data.setEscapedContent("serviceListLine", index, "serviceListLineSoftware", service.getSoftwareName());
data.setEscapedContent("serviceListLine", index, "serviceListLineDate", service.getCrawledDate().toString());
data.setAttribute("serviceListLine", index, "serviceStatusImg", "src", "status-" + service.getStatus().toString().toLowerCase() + ".png");
data.setAttribute("serviceListLine", index, "serviceStatusImg", "title", StringUtils.defaultIfBlank(service.getStatusDescription(), service.getStatus().toString()));
if (StringUtils.isNotBlank(service.getLegalWebsite()))
{
data.setAttribute("serviceListLine", index, "legalLink", "href", service.getLegalWebsite());
data.setAttribute("serviceListLine", index, "legalLinkImg", "class", "");
data.getIdData("serviceListLine", index, "legalLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
if (StringUtils.isNotBlank(service.getContactWebsite()))
{
data.setAttribute("serviceListLine", index, "contactLink", "href", service.getContactWebsite());
data.setAttribute("serviceListLine", index, "contactLinkImg", "class", "");
data.getIdData("serviceListLine", index, "contactLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
if (StringUtils.isNotBlank(service.getContactEmail()))
{
data.setAttribute("serviceListLine", index, "emailLink", "href", "mailto:" + service.getContactEmail());
data.setAttribute("serviceListLine", index, "emailLinkImg", "class", "");
data.getIdData("serviceListLine", index, "emailLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
if (StringUtils.isNotBlank(service.getUserDocWebsite()))
{
data.setAttribute("serviceListLine", index, "userDocLink", "href", service.getUserDocWebsite());
data.setAttribute("serviceListLine", index, "userDocLinkImg", "class", "");
data.getIdData("serviceListLine", index, "userDocLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
if (StringUtils.isNotBlank(service.getTechnicalDocWebsite()))
{
data.setAttribute("serviceListLine", index, "technicalDocLink", "href", service.getTechnicalDocWebsite());
data.setAttribute("serviceListLine", index, "technicalDocLinkImg", "class", "");
data.getIdData("serviceListLine", index, "technicalDocLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
//
if (service.isRegistrationNone())
{
data.setAttribute("serviceListLine", index, "serviceListLineRegistrationNoneImg", "class", "toto");
@ -94,6 +130,29 @@ public class ServiceListView
data.getIdData("serviceListLine", index, "serviceListLineRegistrationClientImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
//
data.setContent("softwareName", StringUtils.defaultIfBlank(service.getSoftwareName(), "n/a"));
data.setContent("softwareVersion", StringUtils.defaultIfBlank(service.getSoftwareVersion(), "n/a"));
data.setContent("softwareLicenseName", StringUtils.defaultIfBlank(service.getSoftwareLicenseName(), "n/a"));
if (StringUtils.isNotBlank(service.getSoftwareWebsite()))
{
data.setAttribute("serviceListLine", index, "softwareWebsiteLink", "href", service.getSoftwareWebsite());
data.setAttribute("serviceListLine", index, "softwareWebsiteLinkImg", "class", "");
data.getIdData("serviceListLine", index, "softwareWebsiteLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
if (StringUtils.isNotBlank(service.getSoftwareLicenseWebpage()))
{
data.setAttribute("serviceListLine", index, "softwareLicenseLink", "href", service.getSoftwareLicenseWebpage());
data.setAttribute("serviceListLine", index, "softwareLicenseLinkImg", "class", "");
data.getIdData("serviceListLine", index, "softwareLicenseLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
if (StringUtils.isNotBlank(service.getSoftwareSourceWebsite()))
{
data.setAttribute("serviceListLine", index, "softwareSourceLink", "href", service.getSoftwareSourceWebsite());
data.setAttribute("serviceListLine", index, "softwareSourceLinkImg", "class", "");
data.getIdData("serviceListLine", index, "softwareSourceLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
index += 1;
}

View file

@ -91,12 +91,6 @@ public class ServicePage
data.setAttribute("emailLinkImg", "class", "");
data.getIdData("emailLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
if (StringUtils.isNotBlank(service.getContactEmail()))
{
data.setAttribute("contactDocLink", "href", service.getContactWebsite());
data.setAttribute("contactDocLinkImg", "class", "");
data.getIdData("contactDocLinkImg").getAttribute("class").setMode(DisplayMode.REPLACE);
}
if (StringUtils.isNotBlank(service.getUserDocWebsite()))
{
data.setAttribute("userDocLink", "href", service.getUserDocWebsite());

View file

@ -11,15 +11,13 @@
<script src="Chart.bundle.min.js"></script>
</head>
<body>
<div class="center_table" style="width: 900px;">
<div class="center" >
<h2>Catégorie <span id="categoryName">n/a</span></h2>
<div class="center" >
<h2>Catégorie <span id="categoryName">n/a</span></h2>
<p id="categoryDescription">Bla bla description</p>
<div>Logiciels : <span id="categorySoftwares">Bla bla logiciels</span></div>
<div>Nombre de services : <span id="serviceCount">n/a</span></div>
</div>
<div id="serviceListView" />
<p id="categoryDescription">n/a</p>
<div>Logiciels : <span id="categorySoftwares">n/a</span></div>
<div>Nombre de services : <span id="serviceCount">n/a</span></div>
</div>
<div id="serviceListView" />
</body>
</html>

View file

@ -11,17 +11,15 @@
<script src="Chart.bundle.min.js"></script>
</head>
<body>
<div class="center_table" style="width: 900px;">
<div class="center" >
<h2><img id="organizationLogo" src="#" style="width: 100px; heigth: 100px; vertical-align: middle;"/> <span id="organizationName">Organization name</span></h2>
<div class="center">
<h2><img id="organizationLogo" src="#" style="width: 100px; heigth: 100px; vertical-align: middle;"/> <span id="organizationName">Organization name</span></h2>
<div style="margin: 5px;">
<a id="organizationRawButton" href="#" class="button">Raw</a>
</div>
<p id="organizationDescription">Bla bla description</p>
<div>Nombre de services : <span id="serviceCount">n/a</span></div>
<div style="margin: 5px;">
<a id="organizationRawButton" href="#" class="button">Raw</a>
</div>
<div id="serviceListView" />
<p id="organizationDescription">n/a</p>
<div>Nombre de services : <span id="serviceCount">n/a</span></div>
</div>
<div id="serviceListView" />
</body>
</html>

View file

@ -23,29 +23,29 @@
</div>
</div>
<div>Date ouverture : <span id="serviceStartDate">n/a</span> Date fermeture : <span id="serviceEndDate">n/a</span> Statut : <img id="serviceStatusImg" src="status-void.png" style="width: 25px; vertical-align: bottom;" /></div>
<div style="border: 0px solid blue; border-radius: 8px; margin: 5px;">
<div>Date ouverture : <span id="serviceStartDate">n/a</span> Date fermeture : <span id="serviceEndDate">n/a</span> Statut : <img id="serviceStatusImg" src="status-void.png" style="width: 25px; vertical-align: bottom;" /></div>
<div class="content_infos" style="border: 0px solid blue; border-radius: 8px; margin: 5px;">
Inscription :
<img id="registrationNoneImg" src="circle-icons/mono/global.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Sans compte"/>
<img id="registrationFreeImg" src="circle-icons/mono/profile.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Compte libre"/>
<img id="registrationMemberImg" src="circle-icons/mono/money.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Réservé aux adhérents"/>
<img id="registrationClientImg" src="circle-icons/mono/creditcard.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Réservé aux clients"/>
<img id="registrationNoneImg" src="circle-icons/mono/global.png" class="disabled" title="Sans compte"/>
<img id="registrationFreeImg" src="circle-icons/mono/profile.png" class="disabled" title="Compte libre"/>
<img id="registrationMemberImg" src="circle-icons/mono/money.png" class="disabled" title="Réservé aux adhérents"/>
<img id="registrationClientImg" src="circle-icons/mono/creditcard.png" class="disabled" title="Réservé aux clients"/>
</div>
<div style="margin: 5px;">
Service :
<a id="legalLink" href="#"><img id="legalLinkImg" src="circle-icons/color/ribbon.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Mentions légales"/></a>
<a id="contactLink" href="#"><img id="contactLinkImg" src="circle-icons/color/contacts.png" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Page web de contact"/></a>
<a id="emailLink" href="#"><img id="emailLinkImg" src="circle-icons/color/mail.png" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Courriel de contact/support"/></a>
<a id="userDocLink" href="#"><img id="userDocLinkImg" src="circle-icons/color/bookshelf.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Documentation"/></a>
<a id="technicalDocLink" href="#"><img id="technicalDocLinkImg" src="circle-icons/color/tools.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Documentation technique"/></a>
<a id="rawLink" href="#"><img id="rawLinkImg" src="circle-icons/mono/document.png" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Fichier propriétés"/></a>
<div class="content_infos" style="margin: 5px;">
Liens :
<a id="legalLink" href="#"><img id="legalLinkImg" src="circle-icons/color/ribbon.png" class="disabled" title="Mentions légales"/></a>
<a id="contactLink" href="#"><img id="contactLinkImg" src="circle-icons/color/contacts.png" title="Page web de contact"/></a>
<a id="emailLink" href="#"><img id="emailLinkImg" src="circle-icons/color/mail.png" title="Courriel de contact/support"/></a>
<a id="userDocLink" href="#"><img id="userDocLinkImg" src="circle-icons/color/bookshelf.png" class="disabled" title="Documentation"/></a>
<a id="technicalDocLink" href="#"><img id="technicalDocLinkImg" src="circle-icons/color/tools.png" class="disabled" title="Documentation technique"/></a>
<a id="rawLink" href="#"><img id="rawLinkImg" src="circle-icons/mono/document.png" title="Fichier propriétés"/></a>
</div>
<div style="margin: 5px;">
<div class="content_infos" style="margin: 5px;">
Logiciel :
<span id="softwareName">n/a</span>, version <span id="softwareVersion">n/a</span>, licence <span id="softwareLicenseName">n/a</span>&#160;&#160;
<a id="softwareWebsiteLink" href="#"><img id="softwareWebsiteLinkImg" src="circle-icons/color/cruise.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Site web"/></a>
<a id="softwareLicenseLink" href="#"><img id="softwareLicenseLinkImg" src="circle-icons/color/booklet.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Licence"/></a>
<a id="softwareSourceLink" href="#"><img id="softwareSourceLinkImg" src="circle-icons/color/dev.png" class="disabled" style="width: 50px; height: 50px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Sources"/></a>
<a id="softwareWebsiteLink" href="#"><img id="softwareWebsiteLinkImg" src="circle-icons/color/cruise.png" class="disabled" title="Site web"/></a>
<a id="softwareLicenseLink" href="#"><img id="softwareLicenseLinkImg" src="circle-icons/color/booklet.png" class="disabled" title="Licence"/></a>
<a id="softwareSourceLink" href="#"><img id="softwareSourceLinkImg" src="circle-icons/color/dev.png" class="disabled" title="Sources"/></a>
</div>
</div>
</body>

View file

@ -11,8 +11,8 @@
<script src="Chart.bundle.min.js"></script>
</head>
<body>
<div class="center_table" style="width: 1000px;">
<table class="table_classic sortable left">
<div class="center_table" style="width: 1300px;">
<table class="center_table table_classic sortable left">
<thead>
<tr>
<th class="" style="width: 200px;">Nom du service</th>
@ -20,19 +20,22 @@
<th class="">URL</th>
<th class="">Logiciel</th>
<th class="" style="width: 100px;">Utilisateurs mensuels</th>
<th class="" style="width: 25px;">Statut</th>
<th class="" style="width: 25px;" colspan="4">Registration</th>
<th class="" style="width: 25px;" colspan="5">Liens</th>
<th class="" style="width: 25px;" colspan="3">Logiciel</th>
<th class="" style="width: 100px;">Date</th>
</tr>
</thead>
<tbody>
<tr id="serviceListLine">
<td id="serviceListLineName" style="padding-top: 0; padding-bottom: 0;">
<tr id="serviceListLine" class="serviceListLine">
<td id="serviceListLineName">
<a href="#" id="serviceListLineNameLink">
<img id="serviceListLineLogo" src="" style="width: 26px; height: 26px; padding-top:0; padding-bottom: 0; vertical-align: middle;"/>
&#160;<span id="serviceListLineNameValue">n/a</span>
</a>
</td>
<td id="serviceListLineOrganization" style="padding-top: 0; padding-bottom: 0;">
<td id="serviceListLineOrganization">
<a href="#" id="serviceListLineOrganizationLink">
<img id="serviceListLineOrganizationLogo" src="" style="width: 26px; height: 26px; padding-top:0; padding-bottom: 0; vertical-align: middle;"/>
&#160;<span id="serviceListLineOrganizationValue">n/a</span>
@ -41,17 +44,48 @@
<td id="serviceListLineWebsite"><a href="#" id="serviceListLineWebsiteLink">n/a</a></td>
<td id="serviceListLineSoftware">n/a</td>
<td id="serviceListLineUserCount" class="td_number">n/a</td>
<td id="serviceListLineRegistrationNone" class="td_center" style="padding-top: 0; padding-bottom: 0;">
<img id="serviceListLineRegistrationNoneImg" src="circle-icons/mono/global.png" class="disabled" style="width: 25px; height: 25px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Sans compte"/>
<td id="" class="td_icon_alone">
<img id="serviceStatusImg" src="status-void.png" title="n/a"/>
</td>
<td id="serviceListLineRegistrationFree" class="td_center" style="padding-top: 0; padding-bottom: 0;">
<img id="serviceListLineRegistrationFreeImg" src="circle-icons/mono/profile.png" class="disabled" style="width: 25px; height: 25px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Compte libre"/>
<td id="serviceListLineRegistrationNone" class="td_icon_alone">
<img id="serviceListLineRegistrationNoneImg" src="circle-icons/mono/global.png" class="disabled" title="Sans compte" style="margin: 0; padding: 0;"/>
</td>
<td id="serviceListLineRegistrationMember" class="td_center" style="padding-top: 0; padding-bottom: 0;">
<img id="serviceListLineRegistrationMemberImg" src="circle-icons/mono/money.png" class="disabled" style="width: 25px; height: 25px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Réservé aux adhérents"/>
<td id="serviceListLineRegistrationFree" class="td_icon_alone">
<img id="serviceListLineRegistrationFreeImg" src="circle-icons/mono/profile.png" class="disabled" title="Compte libre"/>
</td>
<td id="serviceListLineRegistrationClient" class="td_center" style="padding-top: 0; padding-bottom: 0;">
<img id="serviceListLineRegistrationClientImg" src="circle-icons/mono/creditcard.png" class="disabled" style="width: 25px; height: 25px; padding-top:0; padding-bottom: 0; vertical-align: middle;" title="Réservé aux clients"/>
<td id="serviceListLineRegistrationMember" class="td_icon_alone">
<img id="serviceListLineRegistrationMemberImg" src="circle-icons/mono/money.png" class="disabled" title="Réservé aux adhérents"/>
</td>
<td id="serviceListLineRegistrationClient" class="td_icon_alone">
<img id="serviceListLineRegistrationClientImg" src="circle-icons/mono/creditcard.png" class="disabled" title="Réservé aux clients"/>
</td>
<td id="" class="td_icon_alone">
<a id="legalLink" href="#"><img id="legalLinkImg" src="circle-icons/color/ribbon.png" class="disabled" title="Mentions légales"/></a>
</td>
<td id="" class="td_icon_alone">
<a id="contactLink" href="#"><img id="contactLinkImg" src="circle-icons/color/contacts.png" class="disabled" title="Page web de contact"/></a>
</td>
<td id="" class="td_icon_alone">
<a id="emailLink" href="#"><img id="emailLinkImg" src="circle-icons/color/mail.png" class="disabled" title="Courriel de contact/support"/></a>
</td>
<td id="" class="td_icon_alone">
<a id="userDocLink" href="#"><img id="userDocLinkImg" src="circle-icons/color/bookshelf.png" class="disabled" title="Documentation"/></a>
</td>
<td id="" class="td_icon_alone">
<a id="technicalDocLink" href="#"><img id="technicalDocLinkImg" src="circle-icons/color/tools.png" class="disabled" title="Documentation technique"/></a>
</td>
<td id="" class="td_icon_alone">
<a id="softwareWebsiteLink" href="#"><img id="softwareWebsiteLinkImg" src="circle-icons/color/cruise.png" class="disabled" title="Site web"/></a>
</td>
<td id="" class="td_icon_alone">
<a id="softwareLicenseLink" href="#"><img id="softwareLicenseLinkImg" src="circle-icons/color/booklet.png" class="disabled" title="Licence"/></a>
</td>
<td id="" class="td_icon_alone">
<a id="softwareSourceLink" href="#"><img id="softwareSourceLinkImg" src="circle-icons/color/dev.png" class="disabled" title="Sources"/></a>
</td>
<td id="serviceListLineDate" class="center">n/a</td>
</tr>

View file

@ -11,13 +11,12 @@
<script src="Chart.bundle.min.js"></script>
</head>
<body>
<div class="center_table" style="width: 1000px;">
<div class="center" >
<h2>Tous les services</h2>
<div class="center" style="">
<h2>Tous les services</h2>
<div>Nombre de services : <span id="serviceCount">n/a</span></div>
</div>
<div id="serviceListView" />
<div>Nombre de services : <span id="serviceCount">n/a</span></div>
</div>
<div id="serviceListView" />
</body>
</html>

View file

@ -744,3 +744,30 @@ table > tfoot > tr > th.danger
font-family: ITCAvantGardeStd-Md, Arial, Helvetica, sans-serif;
text-decoration: none;
}
.content_infos img,
.content_infos a img
{
width: 50px;
height: 50px;
padding-top:0;
padding-bottom: 0;
vertical-align: middle;"
}
.td_icon_alone
{
margin: 0 !important;
padding: 0 0 !important;
text-align: center;
}
.td_icon_alone a img,
.td_icon_alone img
{
width: 25px;
height: 25px;
padding: 0;
vertical-align: middle;
}