+ *
+ * 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.xidyn.XidynException;
+import fr.devinsy.xidyn.data.DisplayMode;
+import fr.devinsy.xidyn.data.TagDataManager;
+import fr.devinsy.xidyn.presenters.PresenterUtils;
+import fr.devinsy.xidyn.utils.XidynUtils;
+
+/**
+ * The Class ServiceListView.
+ */
+public class ServiceListView
+{
+ private static Logger logger = LoggerFactory.getLogger(ServiceListView.class);
+
+ /**
+ * Builds the.
+ *
+ * @param services
+ * the services
+ * @return the string
+ * @throws StatoolInfosException
+ * the statool infos exception
+ */
+ public static String build(final Services services) throws StatoolInfosException
+ {
+ String result;
+
+ try
+ {
+ logger.debug("Building service list view.");
+
+ TagDataManager data = new TagDataManager();
+
+ int index = 0;
+ for (Service service : services.sortByName())
+ {
+ data.setAttribute("serviceListLine", index, "serviceListLineLogo", "src", service.getOrganization().getTechnicalName() + "-" + service.getTechnicalName() + "-logo.png");
+ data.setEscapedContent("serviceListLine", index, "serviceListLineNameValue", service.getName());
+ data.setAttribute("serviceListLine", index, "serviceListLineNameLink", "href", service.getOrganization().getTechnicalName() + "-" + service.getTechnicalName() + ".xhtml");
+
+ data.setAttribute("serviceListLine", index, "serviceListLineOrganizationLink", "href", service.getOrganization().getTechnicalName() + ".xhtml");
+ data.setAttribute("serviceListLine", index, "serviceListLineOrganizationLogo", "src", service.getOrganization().getTechnicalName() + "-logo.png");
+ data.setEscapedContent("serviceListLine", index, "serviceListLineOrganizationValue", service.getOrganization().getName());
+
+ data.setEscapedContent("serviceListLine", index, "serviceListLineUrlLink", service.getWebsite());
+ data.setEscapedContent("serviceListLine", index, "serviceListLineWebsiteLink", service.getWebsite());
+ data.setAttribute("serviceListLine", index, "serviceListLineWebsiteLink", "href", service.getWebsite());
+ data.setEscapedContent("serviceListLine", index, "serviceListLineSoftware", service.getSoftwareName());
+ data.setEscapedContent("serviceListLine", index, "serviceListLineDate", service.getCrawledDate().toString());
+
+ if (service.isRegistrationNone())
+ {
+ data.setAttribute("serviceListLine", index, "serviceListLineRegistrationNoneImg", "class", "toto");
+ data.getIdData("serviceListLine", index, "serviceListLineRegistrationNoneImg").getAttribute("class").setMode(DisplayMode.REPLACE);
+ }
+ if (service.isRegistrationFree())
+ {
+ data.setAttribute("serviceListLine", index, "serviceListLineRegistrationFreeImg", "class", "");
+ data.getIdData("serviceListLine", index, "serviceListLineRegistrationFreeImg").getAttribute("class").setMode(DisplayMode.REPLACE);
+ }
+ if (service.isRegistrationMember())
+ {
+ data.setAttribute("serviceListLine", index, "serviceListLineRegistrationMemberImg", "class", "");
+ data.getIdData("serviceListLine", index, "serviceListLineRegistrationMemberImg").getAttribute("class").setMode(DisplayMode.REPLACE);
+ }
+ if (service.isRegistrationClient())
+ {
+ data.setAttribute("serviceListLine", index, "serviceListLineRegistrationClientImg", "class", "");
+ data.getIdData("serviceListLine", index, "serviceListLineRegistrationClientImg").getAttribute("class").setMode(DisplayMode.REPLACE);
+ }
+
+ index += 1;
+ }
+
+ result = PresenterUtils.dynamize("/fr/devinsy/statoolinfos/htmlize/serviceListView.xhtml", data).toString();
+ result = XidynUtils.extractBodyContent(result);
+ }
+ catch (XidynException exception)
+ {
+ throw new StatoolInfosException("Error building service page: " + exception.getMessage(), exception);
+ }
+
+ //
+ return result;
+ }
+}
diff --git a/src/fr/devinsy/statoolinfos/htmlize/ServicesPage.java b/src/fr/devinsy/statoolinfos/htmlize/ServicesPage.java
index 5a6319f..4d27759 100644
--- a/src/fr/devinsy/statoolinfos/htmlize/ServicesPage.java
+++ b/src/fr/devinsy/statoolinfos/htmlize/ServicesPage.java
@@ -21,11 +21,9 @@ 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.xidyn.XidynException;
-import fr.devinsy.xidyn.data.DisplayMode;
import fr.devinsy.xidyn.data.TagDataManager;
import fr.devinsy.xidyn.presenters.PresenterUtils;
@@ -56,47 +54,7 @@ public class ServicesPage
TagDataManager data = new TagDataManager();
data.setContent("serviceCount", services.size());
-
- int index = 0;
- for (Service service : services.sortByName())
- {
- data.setAttribute("serviceListLine", index, "serviceListLineLogo", "src", service.getOrganization().getTechnicalName() + "-" + service.getTechnicalName() + "-logo.png");
- data.setEscapedContent("serviceListLine", index, "serviceListLineNameValue", service.getName());
- data.setAttribute("serviceListLine", index, "serviceListLineNameLink", "href", service.getOrganization().getTechnicalName() + "-" + service.getTechnicalName() + ".xhtml");
-
- data.setAttribute("serviceListLine", index, "serviceListLineOrganizationLink", "href", service.getOrganization().getTechnicalName() + ".xhtml");
- data.setAttribute("serviceListLine", index, "serviceListLineOrganizationLogo", "src", service.getOrganization().getTechnicalName() + "-logo.png");
- data.setEscapedContent("serviceListLine", index, "serviceListLineOrganizationValue", service.getOrganization().getName());
-
- data.setEscapedContent("serviceListLine", index, "serviceListLineUrlLink", service.getWebsite());
- data.setEscapedContent("serviceListLine", index, "serviceListLineWebsiteLink", service.getWebsite());
- data.setAttribute("serviceListLine", index, "serviceListLineWebsiteLink", "href", service.getWebsite());
- data.setEscapedContent("serviceListLine", index, "serviceListLineSoftware", service.getSoftwareName());
- data.setEscapedContent("serviceListLine", index, "serviceListLineDate", service.getCrawledDate().toString());
-
- if (service.isRegistrationNone())
- {
- data.setAttribute("serviceListLine", index, "serviceListLineRegistrationNoneImg", "class", "toto");
- data.getIdData("serviceListLine", index, "serviceListLineRegistrationNoneImg").getAttribute("class").setMode(DisplayMode.REPLACE);
- }
- if (service.isRegistrationFree())
- {
- data.setAttribute("serviceListLine", index, "serviceListLineRegistrationFreeImg", "class", "");
- data.getIdData("serviceListLine", index, "serviceListLineRegistrationFreeImg").getAttribute("class").setMode(DisplayMode.REPLACE);
- }
- if (service.isRegistrationMember())
- {
- data.setAttribute("serviceListLine", index, "serviceListLineRegistrationMemberImg", "class", "");
- data.getIdData("serviceListLine", index, "serviceListLineRegistrationMemberImg").getAttribute("class").setMode(DisplayMode.REPLACE);
- }
- if (service.isRegistrationClient())
- {
- data.setAttribute("serviceListLine", index, "serviceListLineRegistrationClientImg", "class", "");
- data.getIdData("serviceListLine", index, "serviceListLineRegistrationClientImg").getAttribute("class").setMode(DisplayMode.REPLACE);
- }
-
- index += 1;
- }
+ data.setContent("serviceListView", ServiceListView.build(services));
String content = PresenterUtils.dynamize("/fr/devinsy/statoolinfos/htmlize/services.xhtml", data).toString();
diff --git a/src/fr/devinsy/statoolinfos/htmlize/category.xhtml b/src/fr/devinsy/statoolinfos/htmlize/category.xhtml
index 6d86247..b455054 100644
--- a/src/fr/devinsy/statoolinfos/htmlize/category.xhtml
+++ b/src/fr/devinsy/statoolinfos/htmlize/category.xhtml
@@ -19,36 +19,7 @@
Logiciels : Bla bla logiciels
Nombre de services : n/a
-
-
-
- Nom du service |
- Organisation |
- URL |
- Logiciel |
- Utilisateurs mensuels |
-
-
-
-
-
-
-
- n/a
-
- |
-
-
-
- n/a
-
- |
- n/a |
- n/a |
- n/a |
-
-
-
+