Index: topia-service/src/site/fr/rst/Migration.rst diff -u topia-service/src/site/fr/rst/Migration.rst:1.2 topia-service/src/site/fr/rst/Migration.rst:1.3 --- topia-service/src/site/fr/rst/Migration.rst:1.2 Fri Apr 27 08:20:05 2007 +++ topia-service/src/site/fr/rst/Migration.rst Tue Nov 20 15:04:18 2007 @@ -9,7 +9,7 @@ Ce service doit disposer de quelques proprietés de configuration pour effectuer la migration d'une base de données. -Ces proprietés sont fournit au service via un TopiaContext et font donc partie +Ces propriétés sont fournies au service via un TopiaContext et font donc partie de la configuration de l'application. @@ -18,7 +18,7 @@ :: - hibernate.dialect=org.hibernate.dialect.HSQLDialect + hibernate.dialect=org.hibernate.dialect.H2Dialect hibernate.connection.username=sa hibernate.connection.password= hibernate.connection.driver_class=org.h2.Driver @@ -45,7 +45,7 @@ topia.service.migration.mappingsdir=oldmappings topia.service.migration.modelnames=model1,model2,model3 -qui spécifie le répertoire de recherche des anciens mappings pour les differents +qui spécifie le répertoire de recherche des anciens mappings pour les différents modèles. Ce dossier contient ensuite un sous-dossier par modèle comportant chacun un @@ -74,45 +74,71 @@ Configuration de la version ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -La configuration doit contenir une propriete : +La configuration doit contenir une propriété : :: - topia.service.migration.version=3.5.1 (example) + topia.service.migration.version=3.5.1 (exemple) -Cette proprietés renseigne la version *courante* de l'application. +Cette propriétés renseigne la version *courante* de l'application. + + +Configuration du callback +~~~~~~~~~~~~~~~~~~~~~~~~~ +Il est possible de définir une classe de type MigrationCallbackHandler, pour +interagir, par exemple, avec l'utilisateur et lui demander s'il faut migrer la +base de données. + +Ces //callback// doivent implémenter MigrationCallbackHandler et se trouver dans +la configuration: + +:: + + topia.service.migration.callbackhandlers=org.codelutin.test.SwingCallbackHandler + + +Configuration du service +~~~~~~~~~~~~~~~~~~~~~~~~ +Enfin pour utiliser le service, il faut l'activer. La configuration doit +contenir la propriétés suivante : + +:: + + topia.service.migration=org.codelutin.topia.security.TopiaSecurityServiceImpl Utilisation ----------- Ce module étant un service ToPIA, il doit être activé pour pouvoir s'exécuter. -Il se commence par se connecter au SGBD, vérifie si les versions diffèrent, et +Il commence par se connecter au SGBD, vérifie si les versions diffèrent, et effectue la migration si besoin. Classes de migration ~~~~~~~~~~~~~~~~~~~~ -Pour savoir comment migrer le données, le développeur utilisant le module de -migration doit produire des classes Java de migration (une par classe nécéssitant -une modification et par version). +Pour savoir comment migrer les données, le développeur utilisant le module de +migration doit produire des classes Java de migration (une par classe +nécéssitant une modification et par version). Ces classes doivent : - hériter de la classe ``AbstractMigration`` ou de l'interface ``Migration`` -- se trouver dans le même package que les classes d'implémentation référencées - par les mappings +- se trouver dans un sous package des classes d'implémentation référencées + par les mappings. Ce package doit se nommer VnVm où: + + - *n* est la version de départ de migration + - *m* la version d'arrivée + - respecter une convention de nommage de la forme - MigrationClassVnVm où: + MigrationClass où: - *Class* est le nom de l'entité devant être migrée - - *n* est la version de départ de migration - - *m* la version d'arrivée Exemple, pour migrer une Personne d'une version 2 à 2.1: - ``MigratePersonneV2V2_1.java`` + ``V2V2_1.MigratePersonne.java`` - Note: les "." étant interdits dans le nom de fichier, ils sont remplacés par le - caractère "_". + Note: les "." étant interdits dans le nom de fichier, ils sont remplacés par + le caractère "_". Ensuite, chaque classe doit : @@ -120,8 +146,9 @@ cette méthode prend une MapAdapter en paramètre, pour modifier un tuple et un MapHelper pouvant servir à retrouver des informations sur le reste des tuples de la base -- surcharger (si besoin) la méthode ``public ProxyClass migrateFrom()`` dans le cas - où les tuples à modifier proviennent d'une classe différente de la classe courante. +- surcharger (si besoin) la méthode ``public ProxyClass migrateFrom()`` dans le + cas où les tuples à modifier proviennent d'une classe différente de la classe + courante. Exemple : @@ -155,8 +182,9 @@ Donc cette classe : -- doit se nommer ``MigrateNaissanceV1V2.java`` et se trouver dans le package ``domaine`` +- doit se nommer ``MigrateNaissance.java`` et se trouver dans le package + ``domaine.V1V2`` - redéfinit la methode migrateFrom() pour indiquer que les donnees proviennent de ``domaine.Personne`` -- implémente ``migrate()`` pour produire des tuples de type ``domaine.Naissance`` à partir - de tuples ``domaine.Personne`` +- implémente ``migrate()`` pour produire des tuples de type ``domaine.Naissance`` + à partir de tuples ``domaine.Personne`` Index: topia-service/src/site/fr/rst/History.rst diff -u /dev/null topia-service/src/site/fr/rst/History.rst:1.1 --- /dev/null Tue Nov 20 15:04:23 2007 +++ topia-service/src/site/fr/rst/History.rst Tue Nov 20 15:04:18 2007 @@ -0,0 +1,4 @@ +ToPIA Historique Service +======================== + +Permet de conserver l'ensemble des actions réalisées sur la base de données. \ No newline at end of file Index: topia-service/src/site/fr/rst/index.rst diff -u /dev/null topia-service/src/site/fr/rst/index.rst:1.1 --- /dev/null Tue Nov 20 15:04:23 2007 +++ topia-service/src/site/fr/rst/index.rst Tue Nov 20 15:04:18 2007 @@ -0,0 +1,24 @@ +ToPIA-service +============= + +.. contents:: + + +Présentation +------------ + +Le framework ToPIA peut être complèté par une multitude de services. Il existe +actuellement trois : + + - service pour la **sécurité** : permet la gestion des authentification et des + autorisations. Il repose sur le mécanisme de JAAS. + - service pour la gestion d'un **historique** : permet de conserver l'ensemble + des actions réalisées sur la base de données. + - service pour la **recherche** : permet de rechercher un mot clé parmis les + entités de l'application. Il repose sur la librairie lucene d'apache. + - service pour la **migration** : permet de rechercher un mot clé parmis les + entités de l'application. Il repose sur la librairie lucene d'apache. + +**Veuillez consulter le site +http://topia.labs.libre-entreprise.org/topia pour de plus amples détails +sur le framework ToPIA.** \ No newline at end of file Index: topia-service/src/site/fr/rst/Security.rst diff -u /dev/null topia-service/src/site/fr/rst/Security.rst:1.1 --- /dev/null Tue Nov 20 15:04:23 2007 +++ topia-service/src/site/fr/rst/Security.rst Tue Nov 20 15:04:18 2007 @@ -0,0 +1,5 @@ +ToPIA Sécurité Service +====================== + +Permet la gestion des authentifications et des autorisations. Il repose sur le +mécanisme de JAAS. \ No newline at end of file Index: topia-service/src/site/fr/rst/Search.rst diff -u /dev/null topia-service/src/site/fr/rst/Search.rst:1.1 --- /dev/null Tue Nov 20 15:04:24 2007 +++ topia-service/src/site/fr/rst/Search.rst Tue Nov 20 15:04:18 2007 @@ -0,0 +1,5 @@ +ToPIA Recherche Service +======================= + +Permet de rechercher un mot clé parmis les entités de l'application. Il repose +sur la librairie lucene d'apache. \ No newline at end of file