Les deux révisions précédentes
Révision précédente
Prochaine révision
|
Révision précédente
|
enseignement:tp:sw:donnees:2014 [2014/09/11 18:27] ecoquery [Ressources] |
enseignement:tp:sw:donnees:2014 [2014/09/23 07:19] (Version actuelle) ecoquery [Travail demandé] |
Ce projet contient: | Ce projet contient: |
* un fichier ''pom.xml'' préconfiguré avec les dépendances vers junit, hibernate et [[http://www.h2database.com|h2]] pour les tests | * un fichier ''pom.xml'' préconfiguré avec les dépendances vers junit, hibernate et [[http://www.h2database.com|h2]] pour les tests |
* un fichier ''src/main/resources/setup-h2.sql'' qui contient le code SQL pour créer des tables dans postgresql | * un fichier ''src/main/resources/setup-h2.sql'' qui contient le code SQL pour créer des tables dans H2 |
* un script ''build-h2.sh'', dont il faut éventuellement éditer la variable ''H2JAR'' pour initialiser une base H2 dans le répertoire target((je suis preneur d'un éventuel ''.bat'' similaire pôur Windows)) | * un script ''build-h2.sh'', dont il faut éventuellement éditer la variable ''H2JAR'' pour initialiser une base H2 dans le répertoire target((je suis preneur d'un éventuel ''.bat'' similaire pôur Windows)) |
* un fichier XML Schema ''src/main/resources/film.xsd'' | * un fichier XML Schema ''src/main/resources/film.xsd'' |
- Comprendre les schémas SQL et XML | - Comprendre les schémas SQL et XML |
- Utiliser JPA (cf TP [[enseignement:tp:bd:tp-orm:2012|Mise en oeuvre de mappings Objet/Relationnels]]) pour annoter les classes du package ''sw.film.model'' (sauf ''FilmCollection'') de façon à pourvoir utiliser une base H2((typiquement celle créée par le script ''build-h2.sh'' décrit ci-dessus)) comme support de persistance. | - Utiliser JPA (cf TP [[enseignement:tp:bd:tp-orm:2012|Mise en oeuvre de mappings Objet/Relationnels]]) pour annoter les classes du package ''sw.film.model'' (sauf ''FilmCollection'') de façon à pourvoir utiliser une base H2((typiquement celle créée par le script ''build-h2.sh'' décrit ci-dessus)) comme support de persistance. |
- Compléter les classes du package ''sw.film.model.dao'' en utilisant JPA. | - Compléter les classes du package ''sw.film.model.dao.jpa'' en utilisant JPA. |
- Ecrire une classe de test unitaire pour vérifier le bon fonctionnement du mapping JPA. | - Ecrire une classe de test unitaire pour vérifier le bon fonctionnement du mapping JPA. |
- Annoter les classes du package ''sw.film.model'' (y compris FilmCollection) avec JAXB pour pouvoir (dé)sérialiser des objets de ces classes au format XML. Le format XML produit/lu devra être valide vis-à-vis du schéma XSD fourni. | - Annoter les classes du package ''sw.film.model'' (y compris FilmCollection) avec JAXB pour pouvoir (dé)sérialiser des objets de ces classes au format XML. Le format XML produit/lu devra être valide vis-à-vis du schéma XSD fourni. |
- Ecrire une classe de test unitaire pour vérifier le bon fonctionnement de la (dé)sérialisation avec JAXB, y compris le respect du schéma XSD. | - Ecrire une((au moins)) classe de test unitaire pour vérifier le bon fonctionnement de la (dé)sérialisation avec JAXB, y compris le respect du schéma XSD. |
<note warning>Attention, il est interdit de modifier les interfaces du package ''sw.film.itf'' et les classes qui implémentent des interfaces de ce package doivent continuer à le faire. Vous pouvez par contre ajouter à loisir des méthodes publiques supplémentaires dans les classes d'implémentation.</note> | <note warning>Attention, il est interdit de modifier les interfaces du package ''sw.film.model.dao'' et les classes qui implémentent des interfaces de ce package doivent continuer à le faire. Vous pouvez par contre ajouter à loisir des méthodes publiques supplémentaires dans les classes d'implémentation. Il est interdit de changer la signature des méthodes publiques des classes fournies.</note> |
<note warning>De même, il est interdit de changer le schéma de la BDD ou le schéma XML</note> | <note warning>De même, il est interdit de changer le schéma de la BDD ou le schéma XML.</note> |
| |
===== Ressources ===== | ===== Ressources ===== |