...
- Il est alors possible de récupérer l'identifiant du groupe via une appel du type :
| Bloc de code |
|---|
Config.getInstance().getGroupmapping().get("group1");
|
...
- A partir du moment où l'action "servant " est appelée, l'ensemble des runtimedata sont passées au servant tant que la méthode isFinished() du servant ne renvoie pas "true"
- A la fin de l'exécution du servant, ses résultats sont stockées dans un tableau d'objet, variable d'instance de l'objet mainChannel. On les récupère grâce à la méthode getServantResults() de mainChannel. Les résultats restent disponibles tant que la méthode clearServantResults() n'est pas appellée
Services utiles fournis par le framework
...
- La méthode redirect permet, depuis une des méthode init, setXML ou setOutput d'une SubChannel, de se rediriger vers une autre action que l'action en cours. Dans ce cas, ne pas oublier de renvoyer Boolean.FALSE comme résultat de la méthode en cours (voir exemple)
- La méthode setConfigActions prend en paramètre une instance de fichier de configuration de type IConfigActions et remplit la liste des actions de la mainChannel
- Les méthodes getCurrentAction et getPreviousAction renvoient les actions en cours et précédentes (peuvent être NULL)
- La méthode getServantResults retourne la liste des objets résultats lorsqu'un servant est finished.
- La méthode logParams liste dans le fichier de log uPortal la liste des paramètres GET ou POST reçus par la MainChannel
- La méthode logConfigActions liste dans le fichier de log uPortal la liste des actions de la MainChannel
- La méthode getPrefForm renvoie une chaine unique pour l'instance de la channel qui peut servir à identifier de manière unique des objects javascipt (voir services de la SubChannel)
- La méthode clearServantResults efface le résultat de l'exécution d'un servant
- La méthode statique stack2string permet de renvoyer la pile d'exception sous forme de String.
- La méthode statique stack2html permet de renvoyer la pile d'exception sous forme de flux html (pour les mails d'erreur).
- La méthode log permet de d'enregistrer des informations dans uportal.log tout en profitant du paramétrage du niveau de log de la balise <actions> - Cette methode ne doit plus être utilisée
SubChannel
- La méthode clearChannel est la méthode qui est appelée lorsqu'une action a déjà été instanciée et qu'elle est réutilisée. Par défaut elle efface la liste des paramètres XSL. Il est possible de la surcharger.
- La méthode getXML est utilisée dans renderXML pour retourner la chaine XML qui a été fixée par setXML. Elle a la particularité d'envelopper le XML si cela n'a pas été fait par le développeur. Par exemple, si dans setXML on a fait :
...
- La méthode addDefaultXslParameters ajoute les paramètres XSL suivants à la liste des paramètres de l'action. Elle est appelée systématiquement dans renderXML donc vous en bénéficiez automatiquement :
- baseActionURL qui permet de construire un lien http vers la channel elle-même
- prefForm qui renvoie une chaine d'identification unique pour l'instance de la channel et peut donc servir à identifier de manière unique un formulaire javascript
- mediaPath qui donne le chemin vers les médias de la channel (images par exemple)
- La méthode setDefaultXslParameters remplace les paramètres XSL courants par les paramètres par défaut.
- Les méthodes generateKey et isCacheValid gèrent le cache au niveau de la SubChannel. Il est possible de les surcharger.
- La méthode getMainChannel renvoie l'instance en cours de la MainChannel
- La méthode log permet de d'enregistrer des informations dans uportal.log tout en profitant du paramétrage du niveau de log de la balise <action> - Cette methode ne doit plus être utilisée
Autres classes du framework
...
- L'action default (obligatoire) sera celle qui présente la liste des liens
- On aura une action par type d'affichage mais qui pointeront toutes vers une même classe et une même méthode d'initialisation qui elle utilisera le plugin todo
- la page principale a un cache du type channel c'est à dire qu'elle est cachée pour la channel (quel que soit l'utilisateur)
| Bloc de code |
|---|
<actions>
<action name="default"
classname="RenderStatic"
cachetype="channel"/>
<action name="etat_civil"
classname="RenderStatic"
init="temp"/>
<action name="inscriptions"
classname="RenderStatic"
init="temp"/>
<action name="calendrier"
classname="RenderStatic"
init="temp"/>
<action name="notes"
classname="RenderStatic"
init="temp"/>
</actions>
|
...
- On implémente le mécanisme de singleton //déclaration des variables de la classe
* On implémente la méthode getConfigFile qui indique où se trouve le fichier de configurationBloc de code private static Config singleton = null; static { singleton = new Config(); } /** * * @return ConfigChannel Instance * @throws IOException * @throws JspException */ public static Config getInstance() { return singleton; }
| Bloc de code |
|---|
protected String getConfigFile() {
return "/properties/channels/org_esup/CMonDossierWeb/CMonDossierWeb.xml";
}
|
...
- Cette classe étend MainChannelpublic class CMonDossierWeb extends MainChannel* Création du constructeur qui charge la liste des actions avec la méthode setConfigActions et qui enregistre le plugin Todo à cette liste.
| Bloc de code |
|---|
public CMonDossierWeb() {
setConfigActions(Config.getInstance());
Todo.register(getConfigAction().getActions());
}
|
- Les méthodes ChannelRuntimeProperties, receiveEvent et setStaticData ont un comportement par défaut dans la classe mainChannel
| Bloc de code |
|---|
public ChannelRuntimeProperties getRuntimeProperties() {
return new ChannelRuntimeProperties();
}
|
| Bloc de code |
|---|
public void receiveEvent(PortalEvent ev) {
}
|
| Bloc de code |
|---|
public void setStaticData(ChannelStaticData sd) throws PortalException {
staticData = sd;
}
|
...