Compare commits
7 commits
143df42993
...
633ceced4b
Author | SHA1 | Date | |
---|---|---|---|
633ceced4b | |||
516296a314 | |||
7f85f79f4d | |||
df19b3b732 | |||
ac1527f2c4 | |||
f46b775833 | |||
6512d3e213 |
50 changed files with 578 additions and 234 deletions
|
@ -16,5 +16,10 @@
|
|||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/StatoolInfos"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/kiss4web"/>
|
||||
<classpathentry kind="src" path=".apt_generated">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="build/classes"/>
|
||||
</classpath>
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
/build/
|
||||
*~
|
||||
/.apt_generated/
|
||||
|
|
5
.settings/org.eclipse.jdt.apt.core.prefs
Normal file
5
.settings/org.eclipse.jdt.apt.core.prefs
Normal file
|
@ -0,0 +1,5 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.apt.aptEnabled=true
|
||||
org.eclipse.jdt.apt.genSrcDir=.apt_generated
|
||||
org.eclipse.jdt.apt.genTestSrcDir=.apt_generated_tests
|
||||
org.eclipse.jdt.apt.reconcileEnabled=true
|
|
@ -21,6 +21,7 @@ org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
|||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.processAnnotations=enabled
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
|
||||
|
@ -30,7 +31,7 @@ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
|
|||
org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
|
||||
org.eclipse.jdt.core.formatter.align_with_spaces=false
|
||||
org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant=49
|
||||
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant=0
|
||||
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=49
|
||||
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=49
|
||||
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method=49
|
||||
|
@ -356,7 +357,7 @@ org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constan
|
|||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
|
||||
org.eclipse.jdt.core.formatter.join_lines_in_comments=true
|
||||
org.eclipse.jdt.core.formatter.join_wrapped_lines=false
|
||||
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
|
||||
org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never
|
||||
org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never
|
||||
org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never
|
||||
|
@ -379,7 +380,7 @@ org.eclipse.jdt.core.formatter.keep_switch_body_block_on_one_line=one_line_never
|
|||
org.eclipse.jdt.core.formatter.keep_switch_case_with_arrow_on_one_line=one_line_never
|
||||
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
|
||||
org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never
|
||||
org.eclipse.jdt.core.formatter.lineSplit=200
|
||||
org.eclipse.jdt.core.formatter.lineSplit=150
|
||||
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
|
||||
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
|
||||
org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0
|
||||
|
|
|
@ -25,9 +25,9 @@ cleanup.comparison_statement=false
|
|||
cleanup.controlflow_merge=false
|
||||
cleanup.convert_functional_interfaces=false
|
||||
cleanup.convert_to_enhanced_for_loop=false
|
||||
cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
|
||||
cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
|
||||
cleanup.convert_to_switch_expressions=false
|
||||
cleanup.correct_indentation=true
|
||||
cleanup.correct_indentation=false
|
||||
cleanup.do_while_rather_than_while=true
|
||||
cleanup.double_negation=false
|
||||
cleanup.else_if=false
|
||||
|
@ -82,7 +82,7 @@ cleanup.redundant_comparator=false
|
|||
cleanup.redundant_falling_through_block_end=false
|
||||
cleanup.remove_private_constructors=true
|
||||
cleanup.remove_redundant_modifiers=false
|
||||
cleanup.remove_redundant_semicolons=false
|
||||
cleanup.remove_redundant_semicolons=true
|
||||
cleanup.remove_redundant_type_arguments=true
|
||||
cleanup.remove_trailing_whitespaces=true
|
||||
cleanup.remove_trailing_whitespaces_all=true
|
||||
|
@ -139,18 +139,18 @@ cleanup.use_var=false
|
|||
cleanup.useless_continue=false
|
||||
cleanup.useless_return=false
|
||||
cleanup.valueof_rather_than_instantiation=false
|
||||
cleanup_profile=_StaoolInfos
|
||||
cleanup_profile=_StatoolInfosWeb
|
||||
cleanup_settings_version=2
|
||||
eclipse.preferences.version=1
|
||||
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
|
||||
formatter_profile=_StatoolInfos
|
||||
formatter_profile=_StatoolInfosWeb
|
||||
formatter_settings_version=23
|
||||
jautodoc.cleanup.add_header=false
|
||||
jautodoc.cleanup.javadoc=false
|
||||
jautodoc.cleanup.replace_header=false
|
||||
org.eclipse.jdt.ui.exception.name=exception
|
||||
org.eclipse.jdt.ui.gettersetter.use.is=true
|
||||
org.eclipse.jdt.ui.keywordthis=false
|
||||
org.eclipse.jdt.ui.keywordthis=true
|
||||
org.eclipse.jdt.ui.overrideannotation=true
|
||||
org.eclipse.jdt.ui.text.custom_code_templates=
|
||||
sp_cleanup.add_all=false
|
||||
|
@ -213,7 +213,7 @@ sp_cleanup.no_string_creation=false
|
|||
sp_cleanup.no_super=false
|
||||
sp_cleanup.number_suffix=false
|
||||
sp_cleanup.objects_equals=false
|
||||
sp_cleanup.on_save_use_additional_actions=false
|
||||
sp_cleanup.on_save_use_additional_actions=true
|
||||
sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
|
||||
sp_cleanup.operand_factorization=false
|
||||
sp_cleanup.organize_imports=true
|
||||
|
|
|
@ -1,23 +1,47 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
|
||||
|
||||
|
||||
<wb-module deploy-name="StatoolInfosWeb">
|
||||
|
||||
|
||||
|
||||
<wb-resource deploy-path="/" source-path="/webapp" tag="defaultRootSource"/>
|
||||
|
||||
|
||||
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
|
||||
|
||||
|
||||
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/test"/>
|
||||
<dependent-module archiveName="SikevaDB.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/StatoolInfos/StatoolInfos">
|
||||
<dependency-type>uses</dependency-type>
|
||||
</dependent-module>
|
||||
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/.apt_generated"/>
|
||||
|
||||
|
||||
<dependent-module archiveName="kiss4web.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/kiss4web/kiss4web">
|
||||
|
||||
|
||||
<dependency-type>uses</dependency-type>
|
||||
|
||||
|
||||
</dependent-module>
|
||||
<dependent-module archiveName="StatooInfos.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/StatoolInfos/StatoolInfos">
|
||||
<dependency-type>uses</dependency-type>
|
||||
</dependent-module>
|
||||
|
||||
|
||||
|
||||
<property name="context-root" value="StatoolInfosWeb"/>
|
||||
|
||||
|
||||
|
||||
<property name="java-output-path" value="/StatoolInfosWeb/build/classes"/>
|
||||
|
||||
|
||||
|
||||
</wb-module>
|
||||
|
||||
|
||||
|
||||
</project-modules>
|
||||
|
|
85
README.md
85
README.md
|
@ -55,6 +55,7 @@ Read CONCEPT.md and ONTOLOGY.md files.
|
|||
|
||||
## INSTALL
|
||||
|
||||
### Requirements
|
||||
Install Java :
|
||||
|
||||
```
|
||||
|
@ -63,9 +64,87 @@ apt-get install openjdk-17-jre-headless
|
|||
|
||||
Download the last release: https://forge.devinsy.fr/statool/statoolinfosweb/releases
|
||||
|
||||
### Apache Web Server
|
||||
|
||||
TODO
|
||||
Add a JK section:
|
||||
```
|
||||
# Configure du mod-jk.
|
||||
JkUnMount /.well-known/statoolinfos/* ajp13_worker
|
||||
JkUnMount /.well-known/acme-challenge/* ajp13_worker
|
||||
JkMount /* ajp13_worker
|
||||
```
|
||||
|
||||
## Usage
|
||||
Enable the JK module:
|
||||
```
|
||||
a2enmod jk
|
||||
```
|
||||
|
||||
### Tomcat Server
|
||||
Create a dedicated directory:
|
||||
|
||||
```
|
||||
mkdir /srv/infos.mydomain.eu/
|
||||
```
|
||||
|
||||
Create a log configuration file:
|
||||
|
||||
```
|
||||
cd /srv/infos.mydomain.eu/
|
||||
wget https://forge.devinsy.fr/statool/statoolinfosweb/src/branch/main/webapp/WEB-INF/log4j2.properties
|
||||
```
|
||||
|
||||
Edit the `/srv/infos.mydomain.eu/log4j2.properties`:
|
||||
|
||||
```
|
||||
appender.logfile.fileName = /var/log/tomcat10/statoolinfosweb.log
|
||||
appender.logfile.filePattern = /var/log/tomcat10/statoolinfosweb-%i.log.gz
|
||||
```
|
||||
|
||||
Create a directory dedicated to webapps:
|
||||
|
||||
```
|
||||
mkdir /var/log/tomcat10# cd /var/lib/tomcat10/webapps/statoolinfoweb
|
||||
cd /srv/infos.mydomain.eu/
|
||||
ln -s /var/log/tomcat10# cd /var/lib/tomcat10/webapps/statoolinfoweb webapps
|
||||
```
|
||||
|
||||
Put the StatoolInfosWeb WAR file in `/srv/infos.mydomain.eu/` and create a link into the webapps directory:
|
||||
|
||||
```
|
||||
cd /srv/infos.mydomain.eu/webapps/
|
||||
ln -s /srv/infos.mydomain.eu/SIW.ar ROOT.war
|
||||
```
|
||||
|
||||
Create a context file:
|
||||
|
||||
```
|
||||
cd /etc/tomcat10/Catalina
|
||||
mkdir infos.mydomain.eu
|
||||
cd infos.mydomain.eu
|
||||
wget https://forge.devinsy.fr/statool/statoolinfosweb/src/branch/main/webapp/META-INF/context.xml -o ROOT.xml
|
||||
```
|
||||
|
||||
Edit it:
|
||||
|
||||
```
|
||||
<Environment name="kiss4web.environment.name" value="PROD" type="java.lang.String" override="true"/>
|
||||
<Environment name="kiss4web.website.url" value="https://infos.mydomain.eu/" type="java.lang.String" override="true"/>
|
||||
<Environment name="kiss4web.log4j2.path" value="/srv/infos.mydomain.eu/log4j2.properties" type="java.lang.String" override="true"/>
|
||||
<Environment name="statoosinfosweb.configuration.file" value="/srv/statoolinfos/conf/mydomain.eu.conf" type="java.lang.String" override="true"/>
|
||||
```
|
||||
|
||||
Add a dedicated `host` section in `/etc/tomcat10/server.xml`:
|
||||
|
||||
```
|
||||
<Host name="infos.libre-service.eu" appBase="webapps/infoslibreserviceeu"
|
||||
unpackWARs="true" autoDeploy="true">
|
||||
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
|
||||
prefix="infos.libre-service.eu-access_log" suffix=".txt"
|
||||
pattern="%h %l %u %t "%r" %s %b" />
|
||||
</Host>
|
||||
```
|
||||
|
||||
### StatoolInfos
|
||||
|
||||
The `cache` directory must be readable by Tomcat.
|
||||
|
||||
TODO
|
112
src/fr/devinsy/statoolinfosweb/CrawlCacheChecker.java
Normal file
112
src/fr/devinsy/statoolinfosweb/CrawlCacheChecker.java
Normal file
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* Copyright (C) 2021-2024 Christian Pierre MOMON christian.momon@devinsy.fr>>
|
||||
*
|
||||
* This file is part of StatoolInfosWeb, webapp to value service statistics.
|
||||
*
|
||||
* StatoolInfosWeb 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.
|
||||
*
|
||||
* StatoolInfosWeb 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 StatoolInfosWeb. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package fr.devinsy.statoolinfosweb;
|
||||
|
||||
import jakarta.servlet.ServletContextEvent;
|
||||
import jakarta.servlet.ServletContextListener;
|
||||
import jakarta.servlet.annotation.WebListener;
|
||||
|
||||
/**
|
||||
* The Class Checker.
|
||||
*/
|
||||
@WebListener
|
||||
public class CrawlCacheChecker implements ServletContextListener
|
||||
{
|
||||
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(CrawlCacheChecker.class);
|
||||
|
||||
private static final int CHECK_DELAY = 60 * 1000;
|
||||
|
||||
private Thread checker;
|
||||
|
||||
@Override
|
||||
public void contextInitialized(ServletContextEvent event)
|
||||
{
|
||||
logger.info("Starting checker thread…");
|
||||
this.checker = new Thread()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
// while (!Thread.currentThread().isInterrupted())
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// Thread.sleep(CHECK_DELAY);
|
||||
// StatoolInfosWeb.instance().check();
|
||||
// }
|
||||
// catch (InterruptedException exception)
|
||||
// {
|
||||
// Thread.currentThread().interrupt();
|
||||
// logger.error("Check sleep interrupted so ending checker: {}",
|
||||
// exception.getMessage());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// boolean ended = false;
|
||||
// while (!ended)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// Thread.sleep(CHECK_DELAY);
|
||||
// StatoolInfosWeb.instance().check();
|
||||
// if (Thread.currentThread().isInterrupted())
|
||||
// {
|
||||
// logger.error("Interrupted status detected so ending
|
||||
// checker.");
|
||||
// ended = true;
|
||||
// }
|
||||
// }
|
||||
// catch (InterruptedException exception)
|
||||
// {
|
||||
// logger.error("Check sleep interrupted so ending checker: {}",
|
||||
// exception.getMessage());
|
||||
// ended = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
try
|
||||
{
|
||||
boolean ended = false;
|
||||
while (!ended)
|
||||
{
|
||||
Thread.sleep(CHECK_DELAY);
|
||||
StatoolInfosWeb.instance().check();
|
||||
if (Thread.currentThread().isInterrupted())
|
||||
{
|
||||
logger.error("Interrupted status detected so ending checker.");
|
||||
ended = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (InterruptedException exception)
|
||||
{
|
||||
logger.error("Check sleep interrupted so ending checker: {}", exception.getMessage());
|
||||
}
|
||||
}
|
||||
};
|
||||
this.checker.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void contextDestroyed(ServletContextEvent event)
|
||||
{
|
||||
logger.info("Stopping checker thread…");
|
||||
this.checker.interrupt();
|
||||
}
|
||||
}
|
|
@ -28,12 +28,14 @@ import org.apache.commons.lang3.StringUtils;
|
|||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
|
||||
import fr.devinsy.kiss4web.EnvironmentInformation;
|
||||
import fr.devinsy.kiss4web.HtmlCache;
|
||||
import fr.devinsy.kiss4web.Kiss4web;
|
||||
import fr.devinsy.kiss4web.Kiss4web.Mode;
|
||||
import fr.devinsy.kiss4web.dispatcher.KissDispatcher;
|
||||
import fr.devinsy.kiss4web.dispatcher.hooks.BlankHook;
|
||||
import fr.devinsy.kiss4web.dispatcher.hooks.FolderHook;
|
||||
import fr.devinsy.kiss4web.dispatcher.hooks.Hook;
|
||||
import fr.devinsy.kiss4web.dispatcher.hooks.HookRegister;
|
||||
import fr.devinsy.kiss4web.dispatcher.hooks.RewriteHook;
|
||||
import fr.devinsy.kiss4web.dispatcher.hooks.RootHook;
|
||||
import fr.devinsy.kiss4web.dispatcher.hooks.WebContentHook;
|
||||
import fr.devinsy.kiss4web.dispatcher.hooks.WebInfHook;
|
||||
|
@ -46,6 +48,7 @@ import fr.devinsy.statoolinfos.core.Organization;
|
|||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.core.Software;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosContext;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
import fr.devinsy.statoolinfos.crawl.CrawlCache;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.xidyn.XidynException;
|
||||
|
@ -64,8 +67,10 @@ public class StatoolInfosWeb
|
|||
private static final StatoolInfosWeb instance = new StatoolInfosWeb();
|
||||
}
|
||||
|
||||
private File configurationFile;
|
||||
private BuildInformation buildInformation;
|
||||
private StatoolInfosContext context;
|
||||
private HtmlCache htmlCache;
|
||||
|
||||
/**
|
||||
* Instantiates a new manager.
|
||||
|
@ -78,6 +83,9 @@ public class StatoolInfosWeb
|
|||
//
|
||||
try
|
||||
{
|
||||
//
|
||||
this.htmlCache = new HtmlCache();
|
||||
|
||||
//
|
||||
currentLog = "StatoolInfosWeb";
|
||||
logger.info("StatoolInfosWeb initializing...");
|
||||
|
@ -91,7 +99,7 @@ public class StatoolInfosWeb
|
|||
logInit(currentLog, "PASSED");
|
||||
|
||||
//
|
||||
File configurationFile = new EnvironmentInformation().getStatoolInfosConfigurationFile();
|
||||
configurationFile = new EnvironmentInformation().getStatoolInfosConfigurationFile();
|
||||
if (configurationFile == null)
|
||||
{
|
||||
throw new StatoolInfosWebException("StatoolInfos configuration file is null.");
|
||||
|
@ -120,62 +128,29 @@ public class StatoolInfosWeb
|
|||
|
||||
hooks.register(new BlankHook());
|
||||
hooks.register(new RootHook());
|
||||
hooks.register(new RewriteHook("^/federation/logo.(jpg|png|gif|svg)$", "website.federation.LogoDo"));
|
||||
hooks.register(new RewriteHook("^/federation/[^./]+\\.properties$", "website.federation.PropertiesDo"));
|
||||
hooks.register(new RewriteHook("^/federation/categories/[^/]+\\.xhtml", "website.federation.categories.CategoryPage"));
|
||||
hooks.register(new RewriteHook("^/federation/exports/[^/]+\\.(csv|json|ods)", "website.federation.exports.ExportDo"));
|
||||
hooks.register(new RewriteHook("^/federation/metrics/summary.xhtml$", "website.federation.metrics.MetricSummaryPage"));
|
||||
hooks.register(new RewriteHook("^/federation/metrics/generic.xhtml$", "website.federation.metrics.MetricGenericPage"));
|
||||
hooks.register(new RewriteHook("^/federation/metrics/specific.xhtml$", "website.federation.metrics.MetricSpecificPage"));
|
||||
hooks.register(new RewriteHook("^/federation/metrics/web.xhtml$", "website.federation.metrics.MetricWebPage"));
|
||||
hooks.register(KissDispatcher.instance().getAnnotationHooks());
|
||||
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/$", "website.federation.organizations.organization.IndexPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/logo.(jpg|png|gif|svg)$", "website.federation.organizations.organization.LogoDo"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/[^./]+\\.properties$", "website.federation.organizations.organization.PropertiesDo"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/crawl.xhtml$", "website.federation.organizations.organization.CrawlPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/propertyAlert.xhtml$", "website.federation.organizations.organization.PropertyAlertPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/propertyCheck.xhtml$", "website.federation.organizations.organization.PropertyCheckPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services.xhtml$", "website.federation.organizations.organization.ServicesPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/stats.xhtml$", "website.federation.organizations.organization.StatsPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/uptime.xhtml$", "website.federation.organizations.organization.UptimePage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/softwares/", "website.federation.organizations.organization.softwares.IndexPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/softwares/[^/]+.xhtml", "website.federation.organizations.organization.softwares.SoftwarePage"));
|
||||
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/metrics/", "website.federation.organizations.organization.metrics.IndexPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/metrics/summary.xhtml$", "website.federation.organizations.organization.metrics.MetricSummaryPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/metrics/generic.xhtml$", "website.federation.organizations.organization.metrics.MetricGenericPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/metrics/specific.xhtml$", "website.federation.organizations.organization.metrics.MetricSpecificPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/metrics/web.xhtml$", "website.federation.organizations.organization.metrics.MetricWebPage"));
|
||||
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/$", "website.federation.organizations.organization.services.service.IndexPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/logo.(jpg|png|gif|svg)$", "website.federation.organizations.organization.services.service.LogoDo"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/[^./]+\\.properties$", "website.federation.organizations.organization.services.service.PropertiesDo"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/crawl.xhtml$", "website.federation.organizations.organization.services.service.CrawlPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/propertyAlert.xhtml$", "website.federation.organizations.organization.services.service.PropertyAlertPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/propertyCheck.xhtml$", "website.federation.organizations.organization.services.service.PropertyCheckPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/services.xhtml$", "website.federation.organizations.organization.services.service.ServicesPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/stats.xhtml$", "website.federation.organizations.organization.services.service.StatsPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/uptime.xhtml$", "website.federation.organizations.organization.services.service.UptimePage"));
|
||||
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/metrics/", "website.federation.organizations.organization.services.service.metrics.IndexPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/metrics/summary.xhtml$",
|
||||
"website.federation.organizations.organization.services.service.metrics.MetricSummaryPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/metrics/generic.xhtml$",
|
||||
"website.federation.organizations.organization.services.service.metrics.MetricGenericPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/metrics/specific.xhtml$",
|
||||
"website.federation.organizations.organization.services.service.metrics.MetricSpecificPage"));
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/metrics/web.xhtml$",
|
||||
"website.federation.organizations.organization.services.service.metrics.MetricWebPage"));
|
||||
|
||||
hooks.register(new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/softwares/", "website.federation.organizations.organization.services.service.softwares.IndexPage"));
|
||||
hooks.register(
|
||||
new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/softwares/", "website.federation.organizations.organization.services.service.softwares.IndexPage"));
|
||||
hooks.register(
|
||||
new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/softwares/index.xhtml", "website.federation.organizations.organization.services.service.softwares.IndexPage"));
|
||||
hooks.register(
|
||||
new RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/softwares/[^/]+.xhtml", "website.federation.organizations.organization.services.service.softwares.SoftwarePage"));
|
||||
|
||||
hooks.register(new RewriteHook("^/federation/softwares/[^/]+\\.xhtml", "website.federation.softwares.SoftwarePage"));
|
||||
// hooks.register(new
|
||||
// RewriteHook("^/federation/organizations/[^/]+/softwares/",
|
||||
// "website.federation.organizations.organization.softwares.IndexPage"));
|
||||
// hooks.register(new
|
||||
// RewriteHook("^/federation/organizations/[^/]+/softwares/[^/]+.xhtml",
|
||||
// "website.federation.organizations.organization.softwares.SoftwarePage"));
|
||||
// hooks.register(new
|
||||
// RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/softwares/",
|
||||
// "website.federation.organizations.organization.services.service.softwares.IndexPage"));
|
||||
// hooks.register(
|
||||
// new
|
||||
// RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/softwares/",
|
||||
// "website.federation.organizations.organization.services.service.softwares.IndexPage"));
|
||||
// hooks.register(
|
||||
// new
|
||||
// RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/softwares/index.xhtml",
|
||||
// "website.federation.organizations.organization.services.service.softwares.IndexPage"));
|
||||
// hooks.register(
|
||||
// new
|
||||
// RewriteHook("^/federation/organizations/[^/]+/services/[^/]+/softwares/[^/]+.xhtml",
|
||||
// "website.federation.organizations.organization.services.service.softwares.SoftwarePage"));
|
||||
|
||||
// hooks.register(new LongURLHook());
|
||||
hooks.register(new FolderHook());
|
||||
|
@ -185,8 +160,23 @@ public class StatoolInfosWeb
|
|||
hooks.register(new WebInfHook());
|
||||
|
||||
Kiss4web.instance().setModeCustom(hooks);
|
||||
|
||||
// System.out.println("AAAANNOTATION=" +
|
||||
// website.federation.organizations.organization.IndexPage.class.isAnnotationPresent(fr.devinsy.kiss4web.dispatcher.annotation.KissServlet.class));
|
||||
// website.federation.organizations.organization.IndexPage page =
|
||||
// new website.federation.organizations.organization.IndexPage();
|
||||
// System.out.println("REGEXXXXXXX=" +
|
||||
// page.getClass().getAnnotation(KissServlet.class).value());
|
||||
|
||||
System.out.println("Annotation hooks:");
|
||||
for (Hook hook : KissDispatcher.instance().getAnnotationHooks())
|
||||
{
|
||||
System.out.println(hook.toString());
|
||||
}
|
||||
catch (Exception exception)
|
||||
}
|
||||
catch (
|
||||
|
||||
Exception exception)
|
||||
{
|
||||
logInit(currentLog, "FAILED");
|
||||
logger.warn("StatoolInfosWeb INIT FAILED: " + exception.getMessage());
|
||||
|
@ -196,18 +186,55 @@ public class StatoolInfosWeb
|
|||
}
|
||||
|
||||
/**
|
||||
* Log init.
|
||||
*
|
||||
* @param currentLogItem
|
||||
* the current log item
|
||||
* @param status
|
||||
* the status
|
||||
* Check.
|
||||
*/
|
||||
private static void logInit(final String currentLogItem, final String status)
|
||||
public void check()
|
||||
{
|
||||
logger.info(String.format("%s%s%s", currentLogItem, StringUtils.repeat('.', 40 - StringUtils.length(currentLogItem)), status));
|
||||
try
|
||||
{
|
||||
if (this.context.isExpired())
|
||||
{
|
||||
logger.info("Context expiration: KO, reloading context…");
|
||||
StatoolInfosContext newContext = new StatoolInfosContext(this.configurationFile);
|
||||
this.context = newContext;
|
||||
clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.info("Context expiration: OK.");
|
||||
}
|
||||
}
|
||||
catch (StatoolInfosException | IOException exception)
|
||||
{
|
||||
logger.error("Context update failed: {}", exception.getMessage());
|
||||
exception.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear caches.
|
||||
*/
|
||||
public void clear()
|
||||
{
|
||||
KissDispatcher.instance().clear();
|
||||
this.htmlCache.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the html cache.
|
||||
*
|
||||
* @return the html cache
|
||||
*/
|
||||
public HtmlCache getHtmlCache()
|
||||
{
|
||||
return this.htmlCache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the builds the information.
|
||||
*
|
||||
* @return the builds the information
|
||||
*/
|
||||
public BuildInformation getBuildInformation()
|
||||
{
|
||||
return this.buildInformation;
|
||||
|
@ -243,74 +270,6 @@ public class StatoolInfosWeb
|
|||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the configuration.
|
||||
*
|
||||
* @return the configuration
|
||||
*/
|
||||
public Configuration getConfiguration()
|
||||
{
|
||||
Configuration result;
|
||||
|
||||
result = this.context.getConfiguration();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the federation.
|
||||
*
|
||||
* @return the federation
|
||||
*/
|
||||
public Federation getFederation()
|
||||
{
|
||||
Federation result;
|
||||
|
||||
result = this.context.getFederation();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the organization from pathinfo.
|
||||
*
|
||||
* @param pathinfo
|
||||
* the pathinfo
|
||||
* @return the organization from pathinfo
|
||||
*/
|
||||
public Organization getOrganizationFromPathinfo(String pathinfo)
|
||||
{
|
||||
Organization result;
|
||||
|
||||
String technicalName = StatoolInfosWebUtils.unrewriteOrganizationTechnicalName(pathinfo);
|
||||
|
||||
result = this.context.getFederation().getOrganizations().getByTechnicalName(technicalName);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the software from pathinfo.
|
||||
*
|
||||
* @param pathinfo
|
||||
* the pathinfo
|
||||
* @return the software from pathinfo
|
||||
*/
|
||||
public Software getSoftwareFromPathinfo(String pathinfo)
|
||||
{
|
||||
Software result;
|
||||
|
||||
String technicalName = StatoolInfosWebUtils.unrewriteSoftwareTechnicalName(pathinfo);
|
||||
|
||||
result = this.context.getFederation().getSoftwares().get(technicalName);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the category from pathinfo.
|
||||
*
|
||||
|
@ -331,66 +290,20 @@ public class StatoolInfosWeb
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the service by technical name.
|
||||
* Gets the configuration.
|
||||
*
|
||||
* @param organizationTechnicalName
|
||||
* the organization technical name
|
||||
* @param serviceTechnicalName
|
||||
* the service technical name
|
||||
* @return the service by technical name
|
||||
* @return the configuration
|
||||
*/
|
||||
public Service getServiceByTechnicalName(String organizationTechnicalName, String serviceTechnicalName)
|
||||
public Configuration getConfiguration()
|
||||
{
|
||||
Service result;
|
||||
Configuration result;
|
||||
|
||||
Organization organization = this.context.getFederation().getOrganizations().getByTechnicalName(organizationTechnicalName);
|
||||
result = organization.getServices().getByTechnicalName(serviceTechnicalName);
|
||||
result = this.context.getConfiguration();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the service from pathinfo.
|
||||
*
|
||||
* @param pathinfo
|
||||
* the pathinfo
|
||||
* @return the service from pathinfo
|
||||
*/
|
||||
public Service getServiceFromPathinfo(String pathinfo)
|
||||
{
|
||||
Service result;
|
||||
|
||||
String[] data = StatoolInfosWebUtils.unrewriteServicePathinfo(pathinfo);
|
||||
String organizationTechnicalName = data[0];
|
||||
String serviceTechnicalName = data[1];
|
||||
|
||||
result = getServiceByTechnicalName(organizationTechnicalName, serviceTechnicalName);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the uptime journal.
|
||||
*
|
||||
* @return the uptime journal
|
||||
*/
|
||||
public UptimeJournal getUptimeJournal()
|
||||
{
|
||||
return this.context.getUptimeJournal();
|
||||
}
|
||||
|
||||
/**
|
||||
* Instance.
|
||||
*
|
||||
* @return the manager
|
||||
*/
|
||||
public static StatoolInfosWeb instance()
|
||||
{
|
||||
return SingletonHolder.instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the edito.
|
||||
*
|
||||
|
@ -440,4 +353,131 @@ public class StatoolInfosWeb
|
|||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the federation.
|
||||
*
|
||||
* @return the federation
|
||||
*/
|
||||
public Federation getFederation()
|
||||
{
|
||||
Federation result;
|
||||
|
||||
result = this.context.getFederation();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the organization from pathinfo.
|
||||
*
|
||||
* @param pathinfo
|
||||
* the pathinfo
|
||||
* @return the organization from pathinfo
|
||||
*/
|
||||
public Organization getOrganizationFromPathinfo(String pathinfo)
|
||||
{
|
||||
Organization result;
|
||||
|
||||
String technicalName = StatoolInfosWebUtils.unrewriteOrganizationTechnicalName(pathinfo);
|
||||
|
||||
result = this.context.getFederation().getOrganizations().getByTechnicalName(technicalName);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the service by technical name.
|
||||
*
|
||||
* @param organizationTechnicalName
|
||||
* the organization technical name
|
||||
* @param serviceTechnicalName
|
||||
* the service technical name
|
||||
* @return the service by technical name
|
||||
*/
|
||||
public Service getServiceByTechnicalName(String organizationTechnicalName, String serviceTechnicalName)
|
||||
{
|
||||
Service result;
|
||||
|
||||
Organization organization = this.context.getFederation().getOrganizations().getByTechnicalName(organizationTechnicalName);
|
||||
result = organization.getServices().getByTechnicalName(serviceTechnicalName);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the service from pathinfo.
|
||||
*
|
||||
* @param pathinfo
|
||||
* the pathinfo
|
||||
* @return the service from pathinfo
|
||||
*/
|
||||
public Service getServiceFromPathinfo(String pathinfo)
|
||||
{
|
||||
Service result;
|
||||
|
||||
String[] data = StatoolInfosWebUtils.unrewriteServicePathinfo(pathinfo);
|
||||
String organizationTechnicalName = data[0];
|
||||
String serviceTechnicalName = data[1];
|
||||
|
||||
result = getServiceByTechnicalName(organizationTechnicalName, serviceTechnicalName);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the software from pathinfo.
|
||||
*
|
||||
* @param pathinfo
|
||||
* the pathinfo
|
||||
* @return the software from pathinfo
|
||||
*/
|
||||
public Software getSoftwareFromPathinfo(String pathinfo)
|
||||
{
|
||||
Software result;
|
||||
|
||||
String technicalName = StatoolInfosWebUtils.unrewriteSoftwareTechnicalName(pathinfo);
|
||||
|
||||
result = this.context.getFederation().getSoftwares().get(technicalName);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the uptime journal.
|
||||
*
|
||||
* @return the uptime journal
|
||||
*/
|
||||
public UptimeJournal getUptimeJournal()
|
||||
{
|
||||
return this.context.getUptimeJournal();
|
||||
}
|
||||
|
||||
/**
|
||||
* Instance.
|
||||
*
|
||||
* @return the manager
|
||||
*/
|
||||
public static StatoolInfosWeb instance()
|
||||
{
|
||||
return SingletonHolder.instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log init.
|
||||
*
|
||||
* @param currentLogItem
|
||||
* the current log item
|
||||
* @param status
|
||||
* the status
|
||||
*/
|
||||
private static void logInit(final String currentLogItem, final String status)
|
||||
{
|
||||
logger.info(String.format("%s%s%s", currentLogItem, StringUtils.repeat('.', 40 - StringUtils.length(currentLogItem)), status));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory;
|
|||
|
||||
import fr.devinsy.catgenerator.core.CatGenerator;
|
||||
import fr.devinsy.kiss4web.dispatcher.KissDispatcherUtils;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfos.crawl.CrawlCache;
|
||||
import fr.devinsy.statoolinfos.util.URLUtils;
|
||||
|
@ -40,6 +41,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
|||
/**
|
||||
* The Class LogoDo.
|
||||
*/
|
||||
@KissServlet("^/federation/logo.(jpg|png|gif|svg)$")
|
||||
public class LogoDo extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -8274687319890495722L;
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.KissDispatcherUtils;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
import jakarta.servlet.ServletException;
|
||||
|
@ -35,6 +36,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
|||
/**
|
||||
* The Class PropertiesDo.
|
||||
*/
|
||||
@KissServlet("^/federation/[^./]+\\.properties$")
|
||||
public class PropertiesDo extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 2011776119103724440L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Category;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfos.core.Services;
|
||||
|
@ -47,6 +48,7 @@ import website.views.ServiceListView;
|
|||
/**
|
||||
* The Class CategoryPage.
|
||||
*/
|
||||
@KissServlet("^/federation/categories/[^/]+\\.xhtml")
|
||||
public class CategoryPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -8941975927886103680L;
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.KissDispatcherUtils;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Categories;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfos.io.CSVFile;
|
||||
|
@ -43,6 +44,7 @@ import website.charter.ErrorView;
|
|||
/**
|
||||
* The Class ExportDo.
|
||||
*/
|
||||
@KissServlet("^/federation/exports/[^/]+\\.(csv|json|ods)")
|
||||
public class ExportDo extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -5777871435901453590L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -48,6 +49,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricGenericPage.
|
||||
*/
|
||||
@KissServlet("^/federation/metrics/generic.xhtml$")
|
||||
public class MetricGenericPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -336093970361316946L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
|
@ -48,6 +49,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class FederationMetricSpecificPage.
|
||||
*/
|
||||
@KissServlet("^/federation/metrics/specific.xhtml$")
|
||||
public class MetricSpecificPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -5683860151390848979L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
|
@ -49,6 +50,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class FederationMetricSummaryPage.
|
||||
*/
|
||||
@KissServlet("^/federation/metrics/summary.xhtml$")
|
||||
public class MetricSummaryPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 7230118796571304083L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -48,6 +49,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class FederationMetricWebPage.
|
||||
*/
|
||||
@KissServlet("^/federation/metrics/web.xhtml$")
|
||||
public class MetricWebPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 8775832114835327758L;
|
||||
|
|
|
@ -51,6 +51,9 @@ public class IndexPage extends HttpServlet
|
|||
public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws IOException, ServletException
|
||||
{
|
||||
try
|
||||
{
|
||||
String html = StatoolInfosWeb.instance().getHtmlCache().get(IndexPage.class.getCanonicalName());
|
||||
if (html == null)
|
||||
{
|
||||
// Get parameters.
|
||||
// ===============
|
||||
|
@ -69,7 +72,9 @@ public class IndexPage extends HttpServlet
|
|||
trail.add(federation.getName(), "/federation/organizations/");
|
||||
trail.add("Organisations", "/federation/organizations/");
|
||||
|
||||
String html = WebCharterView.build(headerView, contentView, trail);
|
||||
html = WebCharterView.build(headerView, contentView, trail);
|
||||
StatoolInfosWeb.instance().getHtmlCache().put(IndexPage.class.getCanonicalName(), html);
|
||||
}
|
||||
|
||||
// Display page.
|
||||
response.setContentType("application/xhtml+xml; charset=UTF-8");
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -39,6 +40,7 @@ import website.views.CrawlView;
|
|||
/**
|
||||
* The Class CrawlJournalOrganizationPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/crawl.xhtml$")
|
||||
public class CrawlPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 7853379029845860784L;
|
||||
|
|
|
@ -21,6 +21,7 @@ package website.federation.organizations.organization;
|
|||
import java.io.IOException;
|
||||
|
||||
import fr.devinsy.kiss4web.Redirector;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
import jakarta.servlet.ServletException;
|
||||
|
@ -32,6 +33,7 @@ import website.charter.ErrorView;
|
|||
/**
|
||||
* The Class IndexPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/$")
|
||||
public class IndexPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 2821248331871306876L;
|
||||
|
|
|
@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory;
|
|||
|
||||
import fr.devinsy.catgenerator.core.CatGenerator;
|
||||
import fr.devinsy.kiss4web.dispatcher.KissDispatcherUtils;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.crawl.CrawlCache;
|
||||
import fr.devinsy.statoolinfos.util.URLUtils;
|
||||
|
@ -40,6 +41,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
|||
/**
|
||||
* The Class LogoDo.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/logo.(jpg|png|gif|svg)$")
|
||||
public class LogoDo extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -1543822343614877475L;
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.KissDispatcherUtils;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
import jakarta.servlet.ServletException;
|
||||
|
@ -35,6 +36,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
|||
/**
|
||||
* The Class PropertiesDo.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/[^./]+\\.properties$")
|
||||
public class PropertiesDo extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 2011776119103724440L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -39,6 +40,7 @@ import website.views.PropertyAlertView;
|
|||
/**
|
||||
* The Class OrganizationPropertyFileAlertPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/propertyAlert.xhtml$")
|
||||
public class PropertyAlertPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -3993435430180839228L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -39,6 +40,7 @@ import website.views.PropertyCheckView;
|
|||
/**
|
||||
* The Class OrganizationPropertyFileCheckView.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/propertyCheck.xhtml$")
|
||||
public class PropertyCheckPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 4502376450331214457L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -39,6 +40,7 @@ import website.views.ServiceListView;
|
|||
/**
|
||||
* The Class ServicesPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services.xhtml$")
|
||||
public class ServicesPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -2335594717538422436L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Services;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
|
@ -47,6 +48,7 @@ import website.views.ChartViews;
|
|||
/**
|
||||
* The Class StatsPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/stats.xhtml$")
|
||||
public class StatsPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 2693926398275508310L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -39,6 +40,7 @@ import website.views.UptimeView;
|
|||
/**
|
||||
* The Class OrganizationUptimePage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/uptime.xhtml$")
|
||||
public class UptimePage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 5127514597658312329L;
|
||||
|
|
|
@ -21,6 +21,7 @@ package website.federation.organizations.organization.metrics;
|
|||
import java.io.IOException;
|
||||
|
||||
import fr.devinsy.kiss4web.Redirector;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
import jakarta.servlet.ServletException;
|
||||
|
@ -32,6 +33,7 @@ import website.charter.ErrorView;
|
|||
/**
|
||||
* The Class IndexPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/metrics/")
|
||||
public class IndexPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 2794788000773558854L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
|
@ -49,6 +50,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricGenericPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/metrics/generic.xhtml$")
|
||||
public class MetricGenericPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -4940164173332474735L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -47,6 +48,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricSpecificPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/metrics/specific.xhtml$")
|
||||
public class MetricSpecificPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -4487103076137276432L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
|
@ -49,6 +50,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricSummaryPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/metrics/summary.xhtml$")
|
||||
public class MetricSummaryPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -7774639830678053490L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -48,6 +49,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricWebPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/metrics/web.xhtml$")
|
||||
public class MetricWebPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -8920766780112028933L;
|
||||
|
|
|
@ -21,6 +21,7 @@ package website.federation.organizations.organization.services;
|
|||
import java.io.IOException;
|
||||
|
||||
import fr.devinsy.kiss4web.Redirector;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -33,6 +34,7 @@ import website.charter.ErrorView;
|
|||
/**
|
||||
* The Class IndexPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/$")
|
||||
public class IndexPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -5951233202690068343L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
|
@ -40,6 +41,7 @@ import website.views.CrawlView;
|
|||
/**
|
||||
* The Class CrawlPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/crawl.xhtml$")
|
||||
public class CrawlPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 7711286112554720912L;
|
||||
|
|
|
@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory;
|
|||
|
||||
import fr.devinsy.catgenerator.core.BirdGenerator;
|
||||
import fr.devinsy.kiss4web.dispatcher.KissDispatcherUtils;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.crawl.CrawlCache;
|
||||
import fr.devinsy.statoolinfos.util.URLUtils;
|
||||
|
@ -40,6 +41,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
|||
/**
|
||||
* The Class LogoDo.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/logo.(jpg|png|gif|svg)$")
|
||||
public class LogoDo extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -6159108918214689665L;
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.KissDispatcherUtils;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
import jakarta.servlet.ServletException;
|
||||
|
@ -35,6 +36,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
|||
/**
|
||||
* The Class PropertiesDo.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/[^./]+\\.properties$")
|
||||
public class PropertiesDo extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 2011776119103724440L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
|
@ -40,6 +41,7 @@ import website.views.PropertyAlertView;
|
|||
/**
|
||||
* The Class PropertyAlertPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/propertyAlert.xhtml$")
|
||||
public class PropertyAlertPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 1909664271041998161L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
|
@ -40,6 +41,7 @@ import website.views.PropertyCheckView;
|
|||
/**
|
||||
* The Class PropertyCheckPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/propertyCheck.xhtml$")
|
||||
public class PropertyCheckPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 9023877491741295660L;
|
||||
|
|
|
@ -27,7 +27,6 @@ import fr.devinsy.statoolinfos.core.Service;
|
|||
import fr.devinsy.statoolinfos.core.Services;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
import fr.devinsy.statoolinfos.uptime.UptimeJournal;
|
||||
import fr.devinsy.statoolinfos.uptime.Uptimes;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWebException;
|
||||
import fr.devinsy.xidyn.XidynException;
|
||||
import fr.devinsy.xidyn.data.DisplayMode;
|
||||
|
@ -54,7 +53,6 @@ public class ServiceHeaderView
|
|||
public static String htmlize(final Service service, UptimeJournal uptimeJournal) throws StatoolInfosWebException
|
||||
{
|
||||
String result;
|
||||
Uptimes a;
|
||||
|
||||
try
|
||||
{
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.core.Services;
|
||||
|
@ -41,6 +42,7 @@ import website.views.ServiceListView;
|
|||
/**
|
||||
* The Class ServicesPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/services.xhtml$")
|
||||
public class ServicesPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -7825055903028045121L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.core.Services;
|
||||
|
@ -48,6 +49,7 @@ import website.views.ChartViews;
|
|||
/**
|
||||
* The Class StatsPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/stats.xhtml$")
|
||||
public class StatsPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -7295638589683428352L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.core.Services;
|
||||
|
@ -41,6 +42,7 @@ import website.views.UptimeView;
|
|||
/**
|
||||
* The Class UptimePage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/uptime.xhtml$")
|
||||
public class UptimePage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -1383909448472707593L;
|
||||
|
|
|
@ -21,6 +21,7 @@ package website.federation.organizations.organization.services.service.metrics;
|
|||
import java.io.IOException;
|
||||
|
||||
import fr.devinsy.kiss4web.Redirector;
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfosweb.StatoolInfosWeb;
|
||||
|
@ -33,6 +34,7 @@ import website.charter.ErrorView;
|
|||
/**
|
||||
* The Class IndexPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/metrics/")
|
||||
public class IndexPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 2794788000773558854L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
|
@ -50,6 +51,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricGenericPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/metrics/generic.xhtml$")
|
||||
public class MetricGenericPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -5178693752168992169L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
|
@ -50,6 +51,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricSpecificPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/metrics/specific.xhtml$")
|
||||
public class MetricSpecificPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = 7386092658784966221L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
|
@ -50,6 +51,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricSummaryPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/metrics/summary.xhtml$")
|
||||
public class MetricSummaryPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -2897466506555028353L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Organization;
|
||||
import fr.devinsy.statoolinfos.core.Service;
|
||||
import fr.devinsy.statoolinfos.core.StatoolInfosException;
|
||||
|
@ -50,6 +51,7 @@ import website.views.MetricMenuView.ViewMenu;
|
|||
/**
|
||||
* The Class MetricWebPage.
|
||||
*/
|
||||
@KissServlet("^/federation/organizations/[^/]+/services/[^/]+/metrics/web.xhtml$")
|
||||
public class MetricWebPage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -715467405788148758L;
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.dispatcher.annotation.KissServlet;
|
||||
import fr.devinsy.statoolinfos.core.Federation;
|
||||
import fr.devinsy.statoolinfos.core.Services;
|
||||
import fr.devinsy.statoolinfos.core.Software;
|
||||
|
@ -47,6 +48,7 @@ import website.views.ServiceListView;
|
|||
/**
|
||||
* The Class SoftwarePage.
|
||||
*/
|
||||
@KissServlet("^/federation/softwares/[^/]+\\.xhtml")
|
||||
public class SoftwarePage extends HttpServlet
|
||||
{
|
||||
private static final long serialVersionUID = -6466067659488945069L;
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
fr.devinsy.kiss4web.dispatcher.annotation.KissServletProcessor
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||||
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
|
||||
id="WebApp_ID" version="6.0">
|
||||
<display-name>StatoolInfosWeb</display-name>
|
||||
<description>
|
||||
|
|
Loading…
Reference in a new issue