org.genealogie.xslt
Class XSLServlet

java.lang.Object
  |
  +--javax.servlet.GenericServlet
        |
        +--javax.servlet.http.HttpServlet
              |
              +--org.genealogie.xslt.XSLServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class XSLServlet
extends javax.servlet.http.HttpServlet

See Also:
Serialized Form

Field Summary
static java.lang.String BALISE_XML_ATRIBUTE
           
static java.lang.String BALISE_XML_ID
           
static java.lang.String BALISE_XML_PAGE
           
static java.lang.String BALISE_XML_REQUEST
           
static java.lang.String BALISE_XML_SESSION
           
private  java.lang.String BASE_FICHIERS_XSL
           
private  java.lang.String cheminMapping
           
private  javax.servlet.ServletConfig config
           
private  javax.xml.parsers.DocumentBuilder documentBuilder
           
private  java.lang.String LANGUE
           
private  java.lang.String LANGUE_DEFAUT
           
private  java.lang.String langueDefaut
           
private  java.util.Hashtable lastReadXsl
           
private  org.exolab.castor.mapping.Mapping mapping
           
private  java.lang.String SKIN
           
private  java.lang.String SKIN_DEFAUT
           
private  java.lang.String skinDefaut
           
private  java.util.Hashtable templatesXsl
           
private  javax.xml.transform.TransformerFactory tFactory
           
private  java.lang.String XML_MAPPING
           
private  java.lang.String XML_OUTPUT
           
private  java.lang.String XSL
           
private  java.lang.String xslFichiersBase
           
 
Fields inherited from class javax.servlet.http.HttpServlet
HEADER_IFMODSINCE, HEADER_LASTMOD, LSTRING_FILE, lStrings, METHOD_DELETE, METHOD_GET, METHOD_HEAD, METHOD_OPTIONS, METHOD_POST, METHOD_PUT, METHOD_TRACE
 
Constructor Summary
XSLServlet()
           
 
Method Summary
private  java.lang.String calculerChaineErreursXsl(java.lang.Exception pileException, java.lang.String fichierXsl)
          Cette méthode permet de formatter de manière lisible les erreurs contenues dans la pile d'exceptions renvoyée par Xalan.
 javax.servlet.ServletContext getServletContext()
           
private  java.util.Vector getTokens(java.lang.String ligne, java.lang.String separateur)
          Decoupage d'une ligne avec un séparateur
 org.w3c.dom.Document getXml(javax.servlet.http.HttpServletRequest req)
          Cette méthode permet de construire le document xml à partir des objets présents dans la requête & la session. Attention, certains objets sont ajoutés par struts ou le serveur d'application lors de la redirection vers la couche de présentation.
 void init(javax.servlet.ServletConfig config)
           
 void processXml(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.lang.String nomPage)
          Cette méthode permet de renvoyer directement le contenu sous forme xml.
 void processXsl(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.lang.String nomPage, java.lang.String skin, java.lang.String langue, java.lang.String fichierXsl)
          Cette méthode permet de transformer le xml généré en html au moyen d'une transformation xslt.
private  javax.xml.transform.Templates readXSL(java.lang.String skin, java.lang.String langue, java.lang.String fichierXsl)
          Cette méthode lit et parse la feuille de style xsl.
private  java.lang.String remplace(java.lang.String chaine, java.lang.String motif, java.lang.String remplacer)
          Remplace un motif par un autre dans une chaîne de caractères
 void service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Main method.
 
Methods inherited from class javax.servlet.http.HttpServlet
, doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getAllDeclaredMethods, getLastModified, maybeSetLastModified, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

SKIN

private final java.lang.String SKIN

LANGUE

private final java.lang.String LANGUE

SKIN_DEFAUT

private final java.lang.String SKIN_DEFAUT

LANGUE_DEFAUT

private final java.lang.String LANGUE_DEFAUT

XSL

private final java.lang.String XSL

BASE_FICHIERS_XSL

private final java.lang.String BASE_FICHIERS_XSL

XML_OUTPUT

private final java.lang.String XML_OUTPUT

XML_MAPPING

private final java.lang.String XML_MAPPING

BALISE_XML_PAGE

public static final java.lang.String BALISE_XML_PAGE

BALISE_XML_SESSION

public static final java.lang.String BALISE_XML_SESSION

BALISE_XML_REQUEST

public static final java.lang.String BALISE_XML_REQUEST

BALISE_XML_ATRIBUTE

public static final java.lang.String BALISE_XML_ATRIBUTE

BALISE_XML_ID

public static final java.lang.String BALISE_XML_ID

templatesXsl

private java.util.Hashtable templatesXsl

lastReadXsl

private java.util.Hashtable lastReadXsl

xslFichiersBase

private java.lang.String xslFichiersBase

cheminMapping

private java.lang.String cheminMapping

skinDefaut

private java.lang.String skinDefaut

langueDefaut

private java.lang.String langueDefaut

documentBuilder

private javax.xml.parsers.DocumentBuilder documentBuilder

tFactory

private javax.xml.transform.TransformerFactory tFactory

mapping

private org.exolab.castor.mapping.Mapping mapping

config

private javax.servlet.ServletConfig config
Constructor Detail

XSLServlet

public XSLServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Overrides:
init in class javax.servlet.GenericServlet

getServletContext

public javax.servlet.ServletContext getServletContext()
Overrides:
getServletContext in class javax.servlet.GenericServlet

getTokens

private java.util.Vector getTokens(java.lang.String ligne,
                                   java.lang.String separateur)
Decoupage d'une ligne avec un séparateur
Parameters:
ligne - ligne entrée
separateur - séparateur
Returns:
liste des élémenets contenue dans un vecteur

calculerChaineErreursXsl

private java.lang.String calculerChaineErreursXsl(java.lang.Exception pileException,
                                                  java.lang.String fichierXsl)

Cette méthode permet de formatter de manière lisible les erreurs contenues dans la pile d'exceptions renvoyée par Xalan.

Parameters:
pileException - l'exception levée par Xalan
Returns:
une chaîne contenant les erreurs xsl formattées de manière lisible

readXSL

private javax.xml.transform.Templates readXSL(java.lang.String skin,
                                              java.lang.String langue,
                                              java.lang.String fichierXsl)
                                       throws XSLException

Cette méthode lit et parse la feuille de style xsl. Pour des raisons de performance, le fichier n'est lu uniquement que lorsque des changements ont eu lieu.

Les exceptions lors du parse du fichier xsl sont lévées dans cette méthode.

Parameters:
fichierXsl - le nom du fichier xsl
Returns:
une instance sur la feuille de style
Throws:
elyseesfonds.sae.exception.XSLException -  

getXml

public org.w3c.dom.Document getXml(javax.servlet.http.HttpServletRequest req)

Cette méthode permet de construire le document xml à partir des objets présents dans la requête & la session.

Attention, certains objets sont ajoutés par struts ou le serveur d'application lors de la redirection vers la couche de présentation. Il est donc nécessaire de les filtrer, car il s'agit d'objets inutiles pour cette couche et assez conséquents ( donc qui prennent du temps dans la génération xml! ). Le filtrage se fait actuellement sur toutes les clés ( donc les packages des classes ) commençant par org.apache.struts & com.ibm.websphere.

Parameters:
req - instance de la requête du client http
Returns:
le document xml

processXml

public void processXml(javax.servlet.http.HttpServletRequest req,
                       javax.servlet.http.HttpServletResponse res,
                       java.lang.String nomPage)
                throws XMLException

Cette méthode permet de renvoyer directement le contenu sous forme xml.

Parameters:
req - instance de la requête du client http
res - instance de la réponse au client http
nomPage - le nom de la page appelée
Throws:
elyseesfonds.sae.exception.XSLException -  

processXsl

public void processXsl(javax.servlet.http.HttpServletRequest req,
                       javax.servlet.http.HttpServletResponse res,
                       java.lang.String nomPage,
                       java.lang.String skin,
                       java.lang.String langue,
                       java.lang.String fichierXsl)
                throws XSLException

Cette méthode permet de transformer le xml généré en html au moyen d'une transformation xslt.

Parameters:
req - instance de la requête du client http
res - instance de la réponse au client http
nomPage - le nom de la page appelée
fichierXsl - le nom du fichier xsl associé
Throws:
elyseesfonds.sae.exception.XSLException -  

remplace

private java.lang.String remplace(java.lang.String chaine,
                                  java.lang.String motif,
                                  java.lang.String remplacer)
Remplace un motif par un autre dans une chaîne de caractères
Parameters:
chaine - la chaîne à traiter
motif - le motif à rechercher
remplacer - la chaîne par laquelle le motif doit être remplacé
Returns:
la chaîne transformée

service

public void service(javax.servlet.http.HttpServletRequest req,
                    javax.servlet.http.HttpServletResponse res)
             throws javax.servlet.ServletException
Main method. We introspect the beans, serialize them and call the XSLT processor
Overrides:
service in class javax.servlet.http.HttpServlet


Copyright © 2002 JGenea Web. All Rights Reserved.