Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

enseignement:tp:sw:xml [2012/07/03 13:42]
ecoquery créée
enseignement:tp:sw:xml [2012/07/06 13:03] (Version actuelle)
ecoquery
Ligne 1: Ligne 1:
-{{fields>PKG=m2ti.ti3.icalxml}} 
 ====== Services Web - TP XML ====== ====== Services Web - TP XML ======
  
Ligne 51: Ligne 50:
  
     * {{:enseignement:sw:petit-calendrier.ics|Un petit fichier}}     * {{:enseignement:sw:petit-calendrier.ics|Un petit fichier}}
-    * [[http://www710.univ-lyon1.fr/plannings/DATABASE/2009-2010/M2TIP.ics|L'emploi du temps du M2TI]]+    * [[http://liris.cnrs.fr/~ecoquery/files/M2TIP.ics|L'emploi du temps du M2TI 2009-2010]]
  
 On se limitera dans ce TP aux événements (VEVENT) et choses à faire (VTODO). On se limitera dans ce TP aux événements (VEVENT) et choses à faire (VTODO).
  
-Regarder l'interface 'ICalLoader' dans le package ''{{fields>PKG}}'', puis créer une classe ICalLoaderImpl, toujours dans le package ''{{fields>PKG}}'', qui implémente cette interface.+Regarder l'interface 'ICalLoader' dans le package ''m2ti.ti3.icalxml'', puis créer une classe ICalLoaderImpl, toujours dans le package ''m2ti.ti3.icalxml'', qui implémente cette interface.
  
 Créer une classe de test JUnit pour la classe ''ICalLoaderImpl'' (s'inspirer de la classe générée par maven pour tester la classe ''App'' et voir [[:enseignement:sw:apis#junit|l'aide sur JUnit]]). Créer une classe de test JUnit pour la classe ''ICalLoaderImpl'' (s'inspirer de la classe générée par maven pour tester la classe ''App'' et voir [[:enseignement:sw:apis#junit|l'aide sur JUnit]]).
Ligne 87: Ligne 86:
 ==== Création de XML ==== ==== Création de XML ====
  
-Regarder l'interface ''{{fields>PKG}}.XMLGenerator'', puis créer une classe l'implémentant pour convertir des calendriers lus par iCal4j au format XML.+Regarder l'interface ''m2ti.ti3.icalxml.XMLGenerator'', puis créer une classe l'implémentant pour convertir des calendriers lus par iCal4j au format XML.
  
 **Remarque:** Dans l'API iCal4j, les sous-composants ne sont pas directement accessibles dans la classe composant. Pour pouvoir y accéder, il voir le Component avec sa vraie classe en effectuant un cast vers la bonne sous-classe. Par exemple, dans le cas d'un ''VEVENT'': **Remarque:** Dans l'API iCal4j, les sous-composants ne sont pas directement accessibles dans la classe composant. Pour pouvoir y accéder, il voir le Component avec sa vraie classe en effectuant un cast vers la bonne sous-classe. Par exemple, dans le cas d'un ''VEVENT'':
Ligne 110: Ligne 109:
 Créer une classe de test pour votre implémentation du générateur XML. Créer une classe de test pour votre implémentation du générateur XML.
  
-Changer le code de la méthode de la classe ''{{fields>PKG}}.XMLGeneratorFactory'' de façon à renvoyer une instance de votre implémentation du générateur XML.+Changer le code de la méthode de la classe ''m2ti.ti3.icalxml.XMLGeneratorFactory'' de façon à renvoyer une instance de votre implémentation du générateur XML.
  
 ===== E/S dans une base relationnelle ===== ===== E/S dans une base relationnelle =====
  
-Consulter l'interface ''{{fields>PKG}}.DbXmlCalStore''.+Consulter l'interface ''m2ti.ti3.icalxml.DbXmlCalStore''.
  
 Créer dans votre compte Oracle un schéma de base de données pour représenter des emplois du temps (on veut pouvoir stocker plusieurs emplois du temps et les distinguer les uns des autres). Créer dans votre compte Oracle un schéma de base de données pour représenter des emplois du temps (on veut pouvoir stocker plusieurs emplois du temps et les distinguer les uns des autres).
  
-Implémenter l'interface ''{{fields>PKG}}.DbXmlCalStore'' (voir le [[:enseignement:bdav:tp-jdbc|TP JDBC]] pour l'accès à Oracle en Java). +Implémenter l'interface ''m2ti.ti3.icalxml.DbXmlCalStore'' (voir le [[:enseignement:bdav:tp-jdbc|TP JDBC]] pour l'accès à Oracle en Java). 
  
 Le constructeur de votre classe prendra un objet de type [[http://java.sun.com/javase/6/docs/api/javax/sql/DataSource.html|javax.sql.DataSource]] en argument. Le constructeur de votre classe prendra un objet de type [[http://java.sun.com/javase/6/docs/api/javax/sql/DataSource.html|javax.sql.DataSource]] en argument.
Ligne 136: Ligne 135:
  
 ==== Classe donnant accès aux programmes XSL ==== ==== Classe donnant accès aux programmes XSL ====
-Regarder la classe ''{{fields>PKG}}.XSLFactory'', puis changer le code des méthodes pour renvoyer les fichiers XSL demandés.+Regarder la classe ''m2ti.ti3.icalxml.XSLFactory'', puis changer le code des méthodes pour renvoyer les fichiers XSL demandés.
 Les fichiers XSL doivent être chargés via le //classloader// de façon à être disponible lorsqu'on l'utilise sous forme d'une archive .jar. Les fichiers XSL doivent être chargés via le //classloader// de façon à être disponible lorsqu'on l'utilise sous forme d'une archive .jar.