Bonjour, Premier draft pour la roadmap ToPIA 3, ça reprend et synthétise la précédente discussion : Pré-travail en vue d'un changement de version majeure ===================================================== - Déprécier immédiatement et supprimer dans ToPIA 3 tout le code qu'on ne veut plus dans ToPIA - un paquet util qui pourrait redescendre dans ObServe - ServiceTransformer - TopiaQuery - Supprimer tout le code déprécié Migration vers JPA ================== - Réécrire TopiaContextImpl en utilisant l'API JPA (EntityManager...) - Vérifier/Corriger les mappings générés - Utiliser OpenJPA comme implémentation de JPA par défaut et permettre d'utiliser Hibernate 4 Améliorations diverses ====================== - Arrêter de modéliser les DAO (ne garder que le nécessaire dans le transformer) - Avoir des entités POJO (sans topiaContext dedans) par défaut et avoir un mode pour Isis-Fish - Une approche « bonne pratique par défaut » pour ne pas avoir de boilerplate tagValues (0 config = config propre). Exemple : model.tagvalue.constantPrefix=PROPERTY_ model.tagValue.doNotGenerateBooleanGetMethods=true - Forcer l'encapsulation du code spécifique JPA : rendre DAO#createQuery() et findByQuery, countByQuery protected. A contrario, dans le DAO, laisser l'accès à l'intégralité de la sous-couche pour usage exceptionnel - TopiaException extends RuntimeException - Permettre de déclarer tout un package du modèle (stéréotype) pour que toutes les classes à l'intérieur soient considérées comme entités (sans besoin de mettre le stéréotype sur chaque classe) - Introduire un contrat TopiaIdFactory, Un TopiaRootContext est lié à une instance de cette factory (qu'on peut changer par configuration), ainsi que trois implémentations - L'actuelle, corrigée en utilisant RandomStringUtils (pas de boucle), implémentation par défaut - Une déterministe (Random avec graine et/ou compteur) - Une qui utilise l'implémentation fournie par l'implémentation JPA (par Hibernate ou autre) Autre chose ? -- Brendan Le Ny, Code Lutin bleny@codelutin.com (+33) 02 40 50 29 28