Pour la réalisation, je propose que Tony et moi nous y attaquions sur la semaine prochaine. Pour ne pas partir seuls, j'ai programmé une réunion de lancement demain à 15h30 dont l'ordre du jour est grosso modo le présent draft de roadmap (merci Brendan). Kevin, Julien, je suis conscient que vous auriez aimé y participer, je vous invite donc à vous exprimer ici avant l'heure de début. Arnaud Le 03/05/2012 15:48, Brendan Le Ny a écrit :
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 ?
_______________________________________________ Topia-devel mailing list Topia-devel@list.nuiton.org http://list.nuiton.org/cgi-bin/mailman/listinfo/topia-devel