chelloworld code java ccachablecgetlogincgetticketcdigester quelques exemples implémentation de...

18
CHelloWorld Code Java CCachable CGetLogin CGetTicket CDigester Quelques exemples • 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

Upload: ferrant-durant

Post on 03-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Code Java

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

• 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

Page 2: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Code Java

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 3: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Code Java

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 4: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Code Java

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 5: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Feuilles de style XSL

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 6: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Feuilles de style XSL

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 7: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Feuilles de style XSL

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 8: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Organisation des fichiers

CCachable CGetLogin CGetTicket CDigester

Fichiers utilisés par ant

Les fichiers sources

Les images et les feuilles de styles

Fichiers de projet Eclipse

Fichiers de description du canal

Les fichiers de configuration (+DTD)

Librairies spécifiques au canal

Les documentations et API générées par javadoc

Les fichiers de tests

Les fichiers .class créés à la compilation

Les fichiers relatif à la base de données

Distribution du canal *.jar

Quelques exemples

Page 9: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Gestion d'un cache

CCachable CGetLogin CGetTicket CDigester

• 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

Quelques exemples

Page 10: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Gestion d'un cache

CCachable CGetLogin CGetTicket CDigester

• Méthode generateKeyConstitué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é

Quelques exemples

Page 11: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Gestion d'un cache

CCachable CGetLogin CGetTicket CDigester

• 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 valideif (System.currentTimeMillis() -

oldtime.longValue() < 60 * 1000) {cacheValid = true;

} }}

Quelques exemples

Page 12: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Récupération d'attributs

CCachable CGetLogin CGetTicket CDigester

• Récupération de l'objet IPersonUtilisation de l'objet ChannelStaticData staticData

IPerson userConnect = null;

// Get the person object

userConnect = staticData.getPerson();

• Récupération du loginUtilisation 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'attributpour le nom d'utilisateur

Quelques exemples

Page 13: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Utilisation de la librairie CAS

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 14: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Parsing d'un fichier XML

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 15: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Création dynamique d'objets

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 16: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Création dynamique d'objets

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 17: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Création dynamique d'objets

CCachable CGetLogin CGetTicket CDigester

Quelques exemples

Page 18: CHelloWorld Code Java CCachableCGetLoginCGetTicketCDigester Quelques exemples Implémentation de l'interface IChannel Récupération de paramètres Utilisation

CHelloWorld

Création dynamique d'objets

CCachable CGetLogin CGetTicket CDigester

Quelques exemples