La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Implémentation de l'interface IChannel Récupération de paramètres

Présentations similaires


Présentation au sujet: "Implémentation de l'interface IChannel Récupération de paramètres"— Transcription de la présentation:

1 Implémentation de l'interface IChannel Récupération de paramètres
Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Code Java Implémentation de l'interface IChannel Récupération de paramètres Utilisation d'une feuille SSL permettant un rendu différent suivant le navigateur Passage de paramètres aux feuilles XSL Gestion d'un évènement du portail

2 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Code Java

3 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Code Java

4 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Code Java

5 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Feuilles de style XSL

6 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Feuilles de style XSL

7 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Feuilles de style XSL

8 Fichiers de description du canal
Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Organisation des fichiers Distribution du canal *.jar Les documentations et API générées par javadoc Les fichiers relatif à la base de données Librairies spécifiques au canal Les fichiers de configuration (+DTD) Les fichiers .class créés à la compilation Les fichiers de tests Fichiers de projet Eclipse Les fichiers sources Les images et les feuilles de styles Fichiers utilisés par ant Fichiers de description du canal

9 import org.jasig.portal.ChannelCacheKey;
Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Gestion d'un cache Utilisation de : import org.jasig.portal.ChannelCacheKey; import org.jasig.portal.ICacheable; Implémentation : public class CCacheable implements IChannel,Icacheable Méthodes à surcharger public ChannelCacheKey generateKey(): Génère une clé qui va identifier le cache public boolean isCacheValid (Object validity) : Dit si le cache est encore valide ou non

10 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Gestion d'un cache Méthode generateKey Constituée d’une chaîne de caractères ChannelCacheKey k = new ChannelCacheKey(); StringBuffer sbKey = new StringBuffer(1024); sbKey.append("org.esupportail.portal.channels.CCacheable.CCacheable : "); sbKey.append("userId:").append(staticData.getPerson().getID()).append(", "); k.setKey(sbKey.toString()); k.setKeyValidity(new Long(System.currentTimeMillis())); Portée Validité generateKey Cette méthode doit générer une clé qui décrit l'état courrant du canal. Elle est appelé a chaque affichage du canal. Elle renvoie un objet ChannelCacheKey qui peut être généré comme suit : Portée Instance Si vous avez deux fois le même canal dans votre environment (donc 2 instances) chaque instance utilisera un cache différent même si les clés sont les même. k.setKeyScope(ChannelCacheKey.INSTANCE_KEY_SCOPE); Système Le cache est partagé par toutes les instances d'un même canal pour une même clé. k.setKeyScope(ChannelCacheKey.SYSTEM_KEY_SCOPE); Validité On peut utiliser un objet afin de tester la validiter du cache. Lors de la création de la clé on la lie a un objet. Lors du test de validité du cache on pourra accéder à cette objet. (Exemple : on stocke le timestamp lors de la création de la clé) k.setKeyValidity(new Long(System.currentTimeMillis()));

11 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Gestion d'un cache Méthode isCacheValid public boolean isCacheValid(Object validity) { boolean cacheValid = false; if (validity instanceof Long) { Long oldtime = (Long) validity; // Si validity à moins de 60 secondes le cache est valide if (System.currentTimeMillis() - oldtime.longValue() < 60 * 1000) { cacheValid = true; } } } isCacheValid Si elle renvoie TRUE on ne rafraichit pas le cache dans le cas contraire (FALSE) on relance tous le traitement du canal. Cette méthode un objet. Cet objet est celui qi a été stocké lors de l'opération setKeyValidity.

12 Récupération de l'objet IPerson
Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Récupération d'attributs Récupération de l'objet IPerson Utilisation de l'objet ChannelStaticData staticData IPerson userConnect = null; // Get the person object userConnect = staticData.getPerson(); Récupération du login Utilisation de l'objet IPerson String login = null; // Get the login of the person login = (String) userConnect.getAttribute(IPerson.USERNAME); Méthode permettant de récupérer un attribut Constante qui contient le nom de l'attribut pour le nom d'utilisateur

13 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Utilisation de la librairie CAS

14 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Parsing d'un fichier XML

15 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Création dynamique d'objets

16 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Création dynamique d'objets

17 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Création dynamique d'objets

18 Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester
Création dynamique d'objets


Télécharger ppt "Implémentation de l'interface IChannel Récupération de paramètres"

Présentations similaires


Annonces Google