org.esupportail.portal.utils.channels
Class MainChannel

java.lang.Object
  extended byorg.esupportail.portal.utils.channels.MainChannel
All Implemented Interfaces:
org.jasig.portal.ICacheable, org.jasig.portal.IChannel

public abstract class MainChannel
extends java.lang.Object
implements org.jasig.portal.IChannel, org.jasig.portal.ICacheable

MainChannel

Implémentation "type" d'une classe principale d'un channel (MainChannel)

(c)Copyright ESup-Portail 2004

Version:
1.0
Author:
Olivier Ziller

Constructor Summary
MainChannel()
           
 
Method Summary
 void calcCurrentAction(org.jasig.portal.ChannelRuntimeData rd)
          Détermination de l'action en cours à partir des paramères HTTP
 void clearChannelsMap()
          Effacement de la liste des subChannels déjà instanciées
 void clearServantResults()
          Mise à null du résultat d'un servant
 org.jasig.portal.ChannelCacheKey generateKey()
           
 Action getAction(java.lang.String actionName)
          Retourne une action de la channel connaissant son nom
 ActionParam getActionParam(java.lang.String actionName, java.lang.String paramName)
          Retourne le paramètre d'une action connaissant le nom de l'action et du paramètre
 IConfigActions getConfigActions()
          Retourne une référence vers la configuration des actions
 Action getCurrentAction()
          Action en cours
 org.jasig.portal.ChannelCacheKey getDefaultCacheKey()
          Retourne la clé par défaut du cache pour l'action en cours
 boolean getDefaultCacheValid(java.lang.Object validity)
          Comportement par défaut pour indiquer si le cache est encore valide : si l'action est cachée au niveau channel ou instance alors le cache est toujours valide sinon cela dépend de isInCache (la channel n'a pas reçu de paramètres).
 java.lang.String getPrefForm()
          Retourne l'identifiant à utiliser dans les pages html pour les noms d'objets
 java.lang.String getPrefParam(java.lang.String param)
          Permet de rendre unique un nom de paramètre en le préfixant par l'identifiant unique de la classe
 Action getPreviousAction()
          Action précédente
 org.jasig.portal.ChannelRuntimeProperties getRuntimeProperties()
          Process layout-level events coming from the portal.
 java.lang.Object[] getServantResults()
          Donne le résultat du servant
 org.jasig.portal.ChannelStaticData getStaticData()
          Retourne les staticData de la channel principale
 void initServant(org.jasig.portal.IServant servant)
          Initialisation du servant Cette méthode est appellée par ServantFactory juste après l'instanciation du servant.
 boolean isCacheValid(java.lang.Object validity)
           
 boolean isCurrentAction(java.lang.String actionName)
          Permet de tester si l'action en cours est celle dont le nom est passé en paramètre
 boolean isInCache()
          Indique si le cache est actif
 void log(org.apache.log4j.Priority level, java.lang.String logMessage)
          Envoi d'un message dans le fichier de log selon le niveau passé en paramètre
 void log(java.lang.String logMessage)
          Envoi d'un message dans le fichier de log pour le niveau de log par défaut
 void logConfigActions()
          Loggue les actions de la channel dans le log uPortal
 void logParams()
          Loggue les paramètres runtimeData reçus par la MainChannel A retrouver dans le log principale uPortal
 void receiveEvent(org.jasig.portal.PortalEvent ev)
          Process layout-level events coming from the portal.
 void redirect(org.jasig.portal.ChannelRuntimeData rd, java.lang.String action)
          Effectue une "redirection" depuis une action vers une autre Attention : cette redirection ne peut-être faite que dans les méthode init, setXML ou setOutput!!!
 void renderXML(org.xml.sax.ContentHandler out)
          Rendu XML/XSLT de la channel principale qui consiste en une déléguation du rendu soit à la sous-channel en cours soit au servant en cours La MainChannel n'effectue pas de rendu propre.
 void setConfigActions(IConfigActions actions)
          Positionne la référence vers la configuration des actions
 void setRuntimeData(org.jasig.portal.ChannelRuntimeData rd)
          Positionnement des RuntimeData Il s'agit du "coeur" du processus qui va soit : - Instancier(ou réutiliser) une sous-channel et lancer son cycle de vie : init/setXML/setOutput - Instancier un servant ou passer la main au servant déjà instancié
 void setStaticData(org.jasig.portal.ChannelStaticData sd)
          Receive static channel data from the portal
static java.lang.String stack2html(java.lang.Exception e)
          Récupération de la stacktrace dans une string suite à une exception lors de l'invocation dynamaique de méthodes
static java.lang.String stack2string(java.lang.Exception e)
          Récupération de la stacktrace dans une string suite à une exception lors de l'invocation dynamaique de méthodes
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MainChannel

public MainChannel()
Method Detail

setRuntimeData

public void setRuntimeData(org.jasig.portal.ChannelRuntimeData rd)
                    throws org.jasig.portal.PortalException
Positionnement des RuntimeData Il s'agit du "coeur" du processus qui va soit : - Instancier(ou réutiliser) une sous-channel et lancer son cycle de vie : init/setXML/setOutput - Instancier un servant ou passer la main au servant déjà instancié

Specified by:
setRuntimeData in interface org.jasig.portal.IChannel
Parameters:
rd - Les runtimeData fourni par le socle uPortal
Throws:
org.jasig.portal.PortalException

calcCurrentAction

public void calcCurrentAction(org.jasig.portal.ChannelRuntimeData rd)
                       throws org.jasig.portal.PortalException
Détermination de l'action en cours à partir des paramères HTTP

Parameters:
rd - runtimeData de la channel principale
Throws:
org.jasig.portal.PortalException

renderXML

public void renderXML(org.xml.sax.ContentHandler out)
               throws org.jasig.portal.PortalException
Rendu XML/XSLT de la channel principale qui consiste en une déléguation du rendu soit à la sous-channel en cours soit au servant en cours La MainChannel n'effectue pas de rendu propre.

Specified by:
renderXML in interface org.jasig.portal.IChannel
Parameters:
out -
Throws:
org.jasig.portal.PortalException

redirect

public void redirect(org.jasig.portal.ChannelRuntimeData rd,
                     java.lang.String action)
              throws org.jasig.portal.PortalException
Effectue une "redirection" depuis une action vers une autre Attention : cette redirection ne peut-être faite que dans les méthode init, setXML ou setOutput!!!

Parameters:
rd - runtimeData à utiliser pour la nouvelle action
action - action vers laquelle se rediriger
Throws:
org.jasig.portal.PortalException

initServant

public void initServant(org.jasig.portal.IServant servant)
                 throws org.jasig.portal.PortalException
Initialisation du servant Cette méthode est appellée par ServantFactory juste après l'instanciation du servant. Elle permet par exemple de positionner des paramètres dans la staticData (dans ce cas, surclasser la méthode initServant mais ne pas oublier de faire un super.initServant(servant) à la fin)

Parameters:
servant - le servant à initialiser
Throws:
org.jasig.portal.PortalException

isCurrentAction

public boolean isCurrentAction(java.lang.String actionName)
Permet de tester si l'action en cours est celle dont le nom est passé en paramètre

Parameters:
actionName - nom de l'action à comparer à celui de l'action en cours
Returns:

getConfigActions

public IConfigActions getConfigActions()
Retourne une référence vers la configuration des actions

Returns:

setConfigActions

public void setConfigActions(IConfigActions actions)
                      throws org.jasig.portal.PortalException
Positionne la référence vers la configuration des actions

Parameters:
actions -
Throws:
org.jasig.portal.PortalException

getCurrentAction

public Action getCurrentAction()
Action en cours

Returns:
le nom de l'action en cours

getPreviousAction

public Action getPreviousAction()
Action précédente

Returns:
le nom de l'action précédente

getServantResults

public java.lang.Object[] getServantResults()
Donne le résultat du servant

Returns:
retourne le résultat du servant

logParams

public void logParams()
Loggue les paramètres runtimeData reçus par la MainChannel A retrouver dans le log principale uPortal


logConfigActions

public void logConfigActions()
Loggue les actions de la channel dans le log uPortal


clearChannelsMap

public void clearChannelsMap()
Effacement de la liste des subChannels déjà instanciées


getPrefForm

public java.lang.String getPrefForm()
Retourne l'identifiant à utiliser dans les pages html pour les noms d'objets

Returns:
un identifiant unique qui correspond à la chaîne "pref" + id de la channel

getPrefParam

public java.lang.String getPrefParam(java.lang.String param)
Permet de rendre unique un nom de paramètre en le préfixant par l'identifiant unique de la classe

Parameters:
param - nom du paramètre
Returns:

clearServantResults

public void clearServantResults()
Mise à null du résultat d'un servant


getStaticData

public org.jasig.portal.ChannelStaticData getStaticData()
Retourne les staticData de la channel principale

Returns:

setStaticData

public void setStaticData(org.jasig.portal.ChannelStaticData sd)
                   throws org.jasig.portal.PortalException
Receive static channel data from the portal

Specified by:
setStaticData in interface org.jasig.portal.IChannel
Parameters:
sd - static channel data
Throws:
org.jasig.portal.PortalException

getRuntimeProperties

public org.jasig.portal.ChannelRuntimeProperties getRuntimeProperties()
Process layout-level events coming from the portal. Satisfies implementation of IChannel Interface.

Specified by:
getRuntimeProperties in interface org.jasig.portal.IChannel

receiveEvent

public void receiveEvent(org.jasig.portal.PortalEvent ev)
Process layout-level events coming from the portal. Satisfies implementation of IChannel Interface.

Specified by:
receiveEvent in interface org.jasig.portal.IChannel

isInCache

public boolean isInCache()
Indique si le cache est actif

Returns:
retourne inCache.

generateKey

public org.jasig.portal.ChannelCacheKey generateKey()
Specified by:
generateKey in interface org.jasig.portal.ICacheable

isCacheValid

public boolean isCacheValid(java.lang.Object validity)
Specified by:
isCacheValid in interface org.jasig.portal.ICacheable

getDefaultCacheKey

public org.jasig.portal.ChannelCacheKey getDefaultCacheKey()
Retourne la clé par défaut du cache pour l'action en cours

Returns:

getDefaultCacheValid

public boolean getDefaultCacheValid(java.lang.Object validity)
Comportement par défaut pour indiquer si le cache est encore valide : si l'action est cachée au niveau channel ou instance alors le cache est toujours valide sinon cela dépend de isInCache (la channel n'a pas reçu de paramètres).

Parameters:
validity -
Returns:

stack2string

public static java.lang.String stack2string(java.lang.Exception e)
Récupération de la stacktrace dans une string suite à une exception lors de l'invocation dynamaique de méthodes

Parameters:
e - Exception pour laquelle on veut la stacktrace
Returns:
Stacktrace sous forme de string

stack2html

public static java.lang.String stack2html(java.lang.Exception e)
Récupération de la stacktrace dans une string suite à une exception lors de l'invocation dynamaique de méthodes

Parameters:
e - Exception pour laquelle on veut la stacktrace
Returns:
Stacktrace sous forme d'un flux html

getAction

public Action getAction(java.lang.String actionName)
Retourne une action de la channel connaissant son nom

Parameters:
actionName -
Returns:

getActionParam

public ActionParam getActionParam(java.lang.String actionName,
                                  java.lang.String paramName)
Retourne le paramètre d'une action connaissant le nom de l'action et du paramètre

Parameters:
actionName -
paramName -
Returns:

log

public void log(java.lang.String logMessage)
Envoi d'un message dans le fichier de log pour le niveau de log par défaut

Parameters:
logMessage -

log

public void log(org.apache.log4j.Priority level,
                java.lang.String logMessage)
Envoi d'un message dans le fichier de log selon le niveau passé en paramètre

Parameters:
level -
logMessage -