Téléchargement des produits


Version anglaise


 

La configuration d'Apache FreeMarker se fait à partir du fichier freemarker.properties.

Pour pouvoir faire fonctionner FreeMarker avec vos propres templates, cette configuration est obligatoire.


La première étape consiste à récupérer un exemplaire de ce fichier. Consultez la page MergeTransformMicroService pour plus de détails.

Ce fichier est un fichier .properties Java (syntaxe clé = valeur).


La seconde étape consiste à modifier ou renseigner les clés en fonction des besoins.

La seule clé qui doit être obligatoirement modifiée est la clé "template_loader", permettant de définir le chargeur de templates.


Clé

Description

template_loader


Chargeur de template.

Valeur par défaut :

freemarker.cache.MultiTemplateLoader( \

[com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/com/hardis/adelia/mergedocengine/freemarker/lib")])


Le caractère "\" indique un saut de ligne dans la valeur d'une clé.


Il faut rajouter votre propre chargeur au chargeur par défaut de l'APE.

Vous avez à votre disposition plusieurs types de chargeur, suivant le format de livrable de l'ensemble de vos templates, à savoir :

    • com.hardis.adelia.mergedocengine.freemarker.conf.FileTemplateLoader : Vos templates et vos fichiers de ressources (fichiers images, fichiers polices de caractères, etc.) sont dans un répertoire du système de fichiers ;
    • com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader : Vos templates et vos fichiers de ressources (fichiers class Java, fichiers images, fichiers polices de caractères, etc.) sont dans un fichier au format JAR accessible à partir du CLASSPATH Java ;
    • com.hardis.adelia.mergedocengine.freemarker.conf.ZipFileTemplateLoader : Vos templates et vos fichiers de ressources (fichiers images, fichiers polices de caractères, etc.) sont dans un fichier au format ZIP.


Chargeur com.hardis.adelia.mergedocengine.freemarker.conf.FileTemplateLoader 

Les paramètres sont les suivants :

Nom

Type

Description

Obligatoire

baseDir

String

Chemin absolu ou relatif du répertoire contenant les templates. Si le chemin est relatif, alors il est relatif au répertoire de lancement de l'APE.

O

disableCanonicalPathCheck

Boolean

Désactive les contrôles de sécurité sur le chemin de recherche déduit du template, ce qui empêche le chargeur de chercher des templates en dehors du répertoire baseDir. Si vous voulez que les liens symboliques pointant hors du répertoire de modèles fonctionnent, vous devez désactiver cette fonctionnalité.

N (valeur par défaut : False)

Par exemple, si vos templates utilisateur sont dans les répertoires "c:\billingTemplates" et "c:\reportingTemplates" :

template_loader=freemarker.cache.MultiTemplateLoader( \ 

[com.hardis.adelia.mergedocengine.freemarker.conf.FileTemplateLoader(java.io.File ("c:/billingTemplates")), \ 

com.hardis.adelia.mergedocengine.freemarker.conf.FileTemplateLoader(java.io.File ("c:/reportingTemplates"), true), \ 

com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/com/hardis/adelia/mergedocengine/freemarker/lib")]) 


Chargeur com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader 

Les paramètres sont les suivants :

Nom

Type

Description

Obligatoire

resourceLoaderClass

Java.lang.Class

Classe Java permettant de définir le chargeur de classes utilisé pour la recherche d'un template.

O (valeur initiale : com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION)

basePackagePath

String

Chemin (absolu ou relatif) du package Java servant de base à la recherche d'un tempate. Si le chemin est relatif (ne commencant pas par "/") alors il est relatif au chemin du package de la classe resourceLoaderClass.

O

Par exemple, si vos templates utilisateur sont dans un fichier JAR localisé dans le package "/myTemplates" (le fichier JAR doit être présent dans le CLASSPATH Java) :

template_loader=freemarker.cache.MultiTemplateLoader( \

[com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/myTemplates"), \ 

com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/com/hardis/adelia/mergedocengine/freemarker/lib")]) 


Chargeur com.hardis.adelia.mergedocengine.freemarker.conf.ZipFileTemplateLoader 

Les paramètres sont les suivants :

Nom

Type

Description

Obligatoire

schemeFileURI

String

Chemin absolu ou relatif du fichier au format ZIP contenant les templates. Si le chemin est relatif, alors il est relatif au répertoire de lancement de l'APE.

O

basePackagePath

String

Sous-répertoire dans le fichier ZIP à partir duquel rechercher un template.

N (valeur par défaut : " ")
useCache Boolean Utilise un cache mémoire pour accéder au contenu du fichier ZIP. N (valeur par défaut : "True")

Par exemple, si vos templates utilisateur sont dans les fichiers "c:\billingTemplates.zip" (accessibles depuis la racine du fichier) et "c:\reportingTemplates.zip" (accessibles depuis le sous-répertoire "year2019") :

template_loader=freemarker.cache.MultiTemplateLoader( \

[com.hardis.adelia.mergedocengine.freemarker.conf.ZipFileTemplateLoader("jar:file:///c:/billingTemplates.zip"), \ 

com.hardis.adelia.mergedocengine.freemarker.conf.ZipFileTemplateLoader("jar:file:///c:/reportingTemplates.zip""year2019"), \ 

com.hardis.adelia.mergedocengine.freemarker.conf.ClassTemplateLoader(com.hardis.adelia.mergedocengine.ProcessTemplate.CLASS_FOR_OBJECT_BUILDER_EXPRESSION, "/com/hardis/adelia/mergedocengine/freemarker/lib")]


default_encoding


Encodage par défaut des templates lus à partir d'une locale n'ayant pas d'encodage associé.

Valeur par défaut : UTF-8


template_update_delay


Définit le délai en millisecondes devant s'écouler avant que le module de gestion de cache des templates vérifie s'il existe une version plus récente d'un template que celui en cache. La valeur par défaut est 5 s.


En phase de mise au point de templates, cette valeur indique quelle est la durée minimale d'attente entre l'instant de sauvegarde d'un template (sauvegarder une modification par exemple) et sa disponibilité à être traité (pour tester le résultat de la modification) par le moteur FreeMarker. Il faut donc indiquer une valeur de l'ordre de la seconde.


En phase de production, il peut être intéressant d'avoir une valeur très grande pour ne pas impacter les performances du moteur lors de fortes charges.


locale


Définit la locale utilisée par défaut si aucune locale n'est spécifiée dans les paramètres des services Web.


template_exception_handler


Définit la stratégie de remonté d'erreur lors du traitement d'un template.

Valeur par défaut: "rethrow"


boolean_format


Définit les valeurs alphanumériques utilisées pour convertir une valeur booléenne FreeMarker en chaîne alphanumérique dans l'interpolation ${ booleanValue }.

Valeurs par défaut : yes, no ("yes" pour True et "no" pour False)


extSharedVariables


Permet de définir une ou plusieurs variables partagées par tous les templates.

La syntaxe doit être une Map. Par exemple : extSharedVariables = { "sharedNumberVar": 10, \

"sharedBoolVar" : true, "sharedStringVar" : "string value", \

"sharedDateVar" : java.sql.Date(1531750144138), \

"sharedTimeVar" : java.sql.Time(1531750144138), \

"sharedDateTimeVar" : java.sql. Timesatmp(1531750144138), \

"sharedSequenceVar" : [1, 2, 3], \

"sharedHashVar" : { "subVar1" : 1, "subVar2" : false } \

}


Ces variables peuvent être manipulées dans les templates en utilisant des interpolations ${ sharedNumberVar }, ${sharedSequenceVar[1]} , ${sharedHashVar.subVar1}, etc.


Attention : si une variable de premier niveau dans le data model porte le même nom qu'une variable partagée, la variable du data model va "cacher" la variable partagée.



↑ Haut de page

  • Aucune étiquette