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

Slides:



Advertisements
Présentations similaires
FragmentsManuelle : XML Publication et Fragments La publication de canaux Processus de mise à disposition de nouveaux contenus extérieurs au portail :
Advertisements

Introduction Les types de canaux Les simplesRSSWeb ProxyTransformation Les différents types de canaux Les canaux prédéfinis.
IChannelIPrivilegedIMultithreadedIServantICacheableIMimeResponse Type custom : les interfaces de programmations IChannel : canal standard, stateful 5 méthodes.
Introduction Fonctionnement PluginsConfigurationLes données Le framework MAG Framework de conception de canaux complexes Implémente IChannel Possède son.
Personnalisation du rendu Skin uPortal :
Architecture uPortal uPortal_2-4-3-quick-start Ant_1-6-2 HSQL_ Tomcat_ uPortal_rel build properties source webpages Distribution uPortal.
Introspection et Réflexion Manipulation dynamique de code Java.
Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.
Au programme du jour …. Introduction à lhéritage Un concept important de la programmation objet Livraison de code Organisation des répertoires et packages.
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Au programme du jour …. Livraison de code Organisation des répertoires et packages Ce que vous navez pas encore vraiment vu Constantes et variables de.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Au programme du jour …. Livraison de code Organisation des répertoires et packages Ce que vous navez pas encore vraiment vu Constantes et variables de.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Approfondissement du langage
(Classes prédéfinies – API Java)
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Programmer en JAVA par Tama
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
JAV - TD 6 Structures de données JAVA
Présentation JAXB et STRUTS²
PROJET HANDICAPS Certificat de Qualification Professionnelle
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
Génération automatique du code d'un device UPnP Utilisation de l'utilitaire de Didier Donsez Présentation écrite par Michel DHooge.
Langage Oriente Objet Cours 4.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Interfaces : comment classifier ?
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
POO-L3 H. Fauconnier1 Supplément gratuit…. POO-L3 H. Fauconnier2 Entrée-sortie public static void main(String[] args) { // sortie avec printf ou double.
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI1502 Principes fondamentaux en conception des logiciels
CSI 1502 Principes fondamentaux de conception de logiciels
Java, les objets : tout de suite ! Rassembler, grouper les objets
XML Plan du cours Introduction au fichier XML
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
BOUSQUET Alexis - GUILLEMIN Vincent - PETIT Cédric
Projet de semestre Responsable :Prof. Claude Petitpierre Superviseur :Duy Vo Duc.
La notion de type revisitée en POO
Factory Design Patterns. Contents Factory patterns: principesFactory patterns: principes The Factory Method patternThe Factory Method pattern The Abstract.
Introduction à Visual Studio C++ (VC++)
Réaliser par: Sadok Amel Cheboui hassiba
Strings et Tableaux en Java
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Struts.
Cours du 5 novembre.
 Formulaires HTML : traiter les entrées utilisateur
Modélisation des documents: DTD et Schéma
Héritage Conception par Objet et programmation Java
LDAP La gestion des groupes Gestionnaire de groupes uPortal permet de brancher plusieurs types (services) de gestion de groupes. Les groupes peuvent être.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Classes abstraites, interface Classe interne Classes enveloppes
Présentation de Qt Iris 1
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Java Remote Method Invocation
** Flash séance 2 Action script. ** Action Script Ajoute de l’interactivité Permet de contrôler les clips  Langage de programmation orienté objet.
LES CLASSES ET LES OBJETS
Transcription de la présentation:

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

Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Code Java

Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Code Java

Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Code Java

Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Feuilles de style XSL

Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Feuilles de style XSL

Quelques exemples CHelloWorld CCachable CGetLogin CGetTicket CDigester Feuilles de style XSL

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

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

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()));

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.

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

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

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

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

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

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

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