Skip navigation links

Package org.nuiton.topia

TODO-FD20100507 : Need update this javadoc for ToPIA 2.4 ToPIA est un framework de persistence basé sur Hibernate.

See: Description

Package org.nuiton.topia Description

TODO-FD20100507 : Need update this javadoc for ToPIA 2.4

ToPIA est un framework de persistence basé sur Hibernate. Il contient un point d'entré le TopiaContext qui permet d'ouvrir des transactions qui retourne des TopiaContext fils sur lequel on peut récupéré des DAO pour accèder aux entités.

ToPIA offre en plus la possibilité de générer à partir d'une fichier XMI toutes les classes utiles pour la persistence. Ce qui permet d'évité un travail fastidieux d'ecriture de classe, d'être sur que le jour on l'on veut ajouter une méthode technique (getXML, ...) à toutes ces entités cela sera fait de façon simple et automatique (modification du générateur puis regénération). Et surtout d'avoir des classes générés qui permettent un typage fort de l'application (pas de cast, pas de générique)

Bien sur il est possible d'utilisé ToPIA sans générateur, il est d'ailleurs utilisé ainsi pour les tests

ToPIA contient aussi des classes techniques réutilisables dans ses applications pour tout ce qui touche à l'authentification et l'autorisation (TopiaUser, TopiaGroup, TopiaPermission) (partie non encore développé)

La persistance

La persistence se base complètement sur hibernate, mais il est aussi possible d'indiquer que certaine classe doivent être sauvé dans des fichiers textes plutot qu'une base de données, cette persistence est appelée FlatFile.

Le TopiaContext doit être configuré avec un objet Properties. Celui-ci peut contenir différentes entrées. Vu que la persistence est complètement basé sur hibernate, même si vous n'avez que des entités sauvé en FlatFile il vous faudra fournir à hibernate un accès à une base de données. Celle-ci peu très bien être une base embarqué comme hsql, mckoi ou derby.

topia.persistence.properties.file
le fichier de propriété a utiliser pour configurer hibernate
topia.persistence.directories
la liste des repertoires contenant les mappings hibernates (.hbm.xml) la liste de repertoire est separer par des virgules ','
topia.persistence.classes
la liste des classes que doit géré ToPIA. On peut tres bien utiliser topia.persistence.directories pour un ensemble d'entié du meme repertoire et topia.persistence.classes pour d'autres classes
topia.dao.flatfile.properties.file
indique le fichier de configuration a utiliser en plus de la configuration du context
topia.dao.flatfile.directory
indique le répertoire au sauver les entités
topia.dao.flatfile.directory.[fqn-entity]
permet de spécifier un répertoire différent pour une entity spécifique
topia.dao.flatfile.mapping
permet d'indique le mapping a utiliser pour les entités
topia.dao.flatfile.mapping.[fqn-entity]
permet d'indique un mapping différent pour entité

à la place flatfile il est possible de mettre le FQN du DAO utilisé par exemple org.nuiton.topia.persistence.flatfile.TopiaDAOFlatFile

Si directory est absent alors "." est utilisé

les mappings s'écrivent de la façon suivant:

Si key est absent alors on utilise le topiaId, key est utilisé comme nom de fichier de sauvegarde

Si body est absent alors on utilise un fichier de propriété pour sauver l'entity. Si body est présent seul cet attribut sera sauvé.

    topia.dao.flatfile.mapping.key=topiaId

    topia.dao.flatfile.mapping.fr.ifremer.isisfish.entities.Script.key=name
    topia.dao.flatfile.mapping.fr.ifremer.isisfish.entities.Script.body=script
  
Skip navigation links

Copyright © 2004–2022 Code Lutin. All rights reserved.