View packaging in progress

This commit is contained in:
Claude Brisson
2023-06-12 19:58:03 +02:00
parent 453d6d6570
commit 82bb0115ae
64 changed files with 81333 additions and 119 deletions

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<!-- https://www.eclipse.org/jetty/documentation/jetty-9/index.html#file-alias-serving -->
<Call name="addAliasCheck">
<Arg>
<New class="org.eclipse.jetty.server.handler.AllowSymLinkAliasChecker" />
</Arg>
</Call>
</Configure>

View File

@@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Pairgoth</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Pairgoth Go Paring Engine">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="stylesheet" href="/lib/fork-awesome-1.2.0/fork-awesome.min.css">
<link rel="stylesheet" href="/css/main.css">
</head>
<body class="vert flex">
<div id="header" class="horz flex">
<div id="left-header" class="horz flex">
<div id="logo" class="vert flex">
<img src="/img/logo.svg"/>
</div>
</div>
<div id="right-header">
[flag]
</div>
</div>
<div id="center">
#translate($page)
</div>
<div id="footer" class="horz flex">
<div id="version">pairgoth v0.1</div>
<div id="contact"><a href="mailto:pairgoth@jeudego.org">contact</a></div>
</div>
<script type="text/javascript" src="/js/store2-2.14.2.min.js"></script>
<script type="text/javascript" src="/js/tablesort-5.4.0.min.js"></script>
<script type="text/javascript" src="/js/formproxy.js"></script>
<script type="text/javascript" src="/js/api.js"></script>
<script type="text/javascript" src="/js/main.js"></script>
</body>
</html>

View File

@@ -0,0 +1,44 @@
#macro(forward $url)
## $log.debug("forwarding towards $url")
$request.session.servletContext.getRequestDispatcher($url).forward($request,$response)
#end
#macro(redirect $url)
$log.debug("redirecting towards $url")
$response.sendRedirect($url)
#end
#macro(seterror $msg)##
$log.error($msg)##
$session.setAttribute('error',$msg)##
#end
#macro(clearerror)##
$session.removeAttribute('error')##
#end
#macro(setmessage $msg)##
$log.info($msg)##
#if($message)##
$session.setAttribute('message',"$message<br/>$msg")##
#else##
$session.setAttribute('message',$msg)##
#end##
#end
#macro(clearmessage)##
$session.removeAttribute('message')##
#end
#macro(api_error $message)
$api.exception($message)
#end
#macro(euro $amount)
$number.format('#0.00 €', $amount)##
#end
#macro(ttc $amount)
#set($ttc = $amount * 1.2)##
$number.format('#0.00 €', $ttc)##
#end

View File

@@ -0,0 +1,19 @@
# webapp
env = dev
webapp.url = https://localhost:8080
api.url = https://localhost:8085/api
# store
store = file
store.file.path = tournamentfiles
# smtp
smtp.sender =
smtp.host =
smtp.port = 587
smtp.user =
smtp.password =
# logging
logger.level = trace
logger.format = [%level] %ip [%logger] %message

View File

@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<tools xmlns:xi="http://www.w3.org/2001/XInclude">
<toolbox scope="application">
<!--
<tool key="number" format="#0.00"/>
<tool key="date" locale="fr_FR" format="yyyy-MM-dd"/>
<tool key="inflector" class="org.atteo.evo.inflector.English"/>
<tool key="strings" class="org.apache.commons.lang3.StringUtils"/>
-->
</toolbox>
<toolbox scope="session">
<!--
<tool key="oauth" class="org.jeudego.egc2024.tool.OAuthTool"/>
-->
</toolbox>
<toolbox scope="request">
<tool key="translate" class="org.jeudego.pairgoth.view.TranslationTool"/>
<tool key="api" class="org.jeudego.pairgoth.view.ApiTool"/>
</toolbox>
</tools>

View File

@@ -0,0 +1,2 @@
New tournament Nouveau tournoi
Open Ouvrir

View File

@@ -0,0 +1,51 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
runtime.log.name = velocity
runtime.log.track_location = true
runtime.strict_mode.enable = true
runtime.introspector.uberspect = org.apache.velocity.util.introspection.UberspectImpl, org.apache.velocity.tools.view.WebappUberspector
resource.manager.log_when_found = false
# fichier de macros globales
velocimacro.library=/WEB-INF/macros.vtl
# definition inline des macros
velocimacro.permissions.allow.inline=true
velocimacro.permissions.allow.inline.to.replace.global = true
velocimacro.permissions.allow.inline.local.scope = true
directive.set.null.allowed = true
#encoding
input.encoding = UTF8
output.encoding = UTF8
# content type
default.contentType = text/html
# relative loading
# eventhandler.include.class = com.axonia.web.IncludeRelativeTreePath
resource.loaders = webapp,string
# custom directive
runtime.custom_directives = org.jeudego.pairgoth.view.TranslateDirective

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!-- Listeners -->
<!-- we're not using @WebListener annotations so that our manager is initialized *after* the webapp logger -->
<listener>
<listener-class>com.republicate.slf4j.impl.ServletContextLoggerListener</listener-class>
</listener>
<listener>
<listener-class>org.jeudego.pairgoth.web.WebappManager</listener-class>
</listener>
<!-- filters -->
<filter>
<filter-name>webapp-slf4j-logger-ip-tag-filter</filter-name>
<filter-class>com.republicate.slf4j.impl.IPTagFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<filter>
<filter-name>dispatching-filter</filter-name>
<filter-class>org.jeudego.pairgoth.web.DispatchingFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<filter>
<filter-name>language-filter</filter-name>
<filter-class>org.jeudego.pairgoth.web.LanguageFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<!-- filters mapping -->
<filter-mapping>
<filter-name>webapp-slf4j-logger-ip-tag-filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>dispatching-filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>language-filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<!-- servlets -->
<servlet>
<servlet-name>view</servlet-name>
<servlet-class>org.jeudego.pairgoth.web.ViewServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>sse</servlet-name>
<servlet-class>org.jeudego.pairgoth.web.SSEServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<!-- servlet mappings -->
<servlet-mapping>
<servlet-name>view</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>sse</servlet-name>
<url-pattern>/events/*</url-pattern>
</servlet-mapping>
<!-- context params -->
<context-param>
<param-name>webapp-slf4j-logger.format</param-name>
<param-value>%logger [%level] [%ip] %message @%file:%line:%column</param-value>
</context-param>
</web-app>