Principe
Ce gestionnaire d’opérations s’appuie sur le moteur de règles Drools pour exécuter une table de décisions. Une table de décisions est un fichier Microsoft Excel composé de deux types de colonnes :
- les conditions : détermine les cas dans lesquels appliquer une règle
- les actions : les actions à exécuter pour une règle donnée
Pour chaque règle définie (ou ligne), les actions définies sont exécutées si toutes les conditions sont remplies.
La table de décisions est stockée comme contenu du document utilisé pour configurer l’abonnement à l’exécution d’une opération.
Conditions & Actions
Les conditions et les actions définies doivent être du code Java compilable au sein de la JVM de FlowerDocs Core.
Pour faciliter leur développement, un objet accessible à travers la variable util
est mise à disposition dont les méthodes exposées sont listées ici.
Afin de contextualiser la prise de décisions dans un contexte, les variables context
et component
sont fournies lors de l’évaluation d’une table de décision. Elles peuvent donc être utilisées dans les conditions ou les actions. La variable context
contient un objet
OperationContext stockant le contexte d’exécution de l’opération.
Il est possible de récupérer le composant avant l’action grâce à la méthode getOld()
disponible sur la variable context
de type UpdateComponentOperationContext
ou TaskOperationContext
.
La variable component
contient le composant (cf.
Component) concerné par l’opération (si disponible).
com.flower.docs.core.tsp.operation.DroolsOperationHandler
peut être utilisé comme valeur du tag OperationHandler
.
- sur les objets d’administration (classes de composants, objets de sécurité, etc.)
- à la modification de version d’un documents