Les processus K-Sup
Point d'entrée
Le point d'entrée pour tous les processus de K-Sup est la servlet SGController. SGContoller effectue une appel à TraitementRequeteHTTP#traiterRequeteHTTP qui renvoie un objet de type ResponseEntity/ModelAndView.
TraitementRequeteHTTP#traiterRequeteHTTP permet de générer le flux retourné par le SGController en fonction du type de flux attendu URL/JSP/XML/HTML/Objet sérialisé.
Affichage d'un flux JSP
Dans le cas d'un flux de type JSP, le viewAdapterSelector pouvant prendre en charge la requête courante est récupéré et son adapter est appelé afin de généré le flux attendu.
L'affichage des écrans de processus back-office sont gérés par le DefaultViewAdapter qui génère le flux de retour à partir de la jsp correspondant au processus et l'écrit directement dans la réponse. Une ResponseEntity.ok() est retournée au controller.
Les Selector
Les Selector sont des beans ordonnés qui étendent AbstractViewAdapterSelector.
Chaque selector prend en charge un contexte, connu à partir de la requête courante.
public boolean accept(final HttpServletRequest request) {
...
}
Le selector est directement lié à un ViewAdapter qui est en charge de généré le flux attendu.
public abstract class AbstractViewAdapterSelector<R extends AbstractViewAdapter<?>> implements Selector<HttpServletRequest> {}
Les Adapter
Les Adapter étendent AbstractViewAdapter.
Ils définissent un méthode process en charge de généré le flux de retour pour l'affichage du processus.
public class MonViewAdapter extends AbstractViewAdapter<ModelAndView> {
@Override
public ModelAndView process(final DescriptifPageRetour desc, final HttpServletRequest req, final HttpServletResponse res, ProcedureBean bean) {
...
}
}