Author: tchemit Date: 2009-01-26 16:52:42 +0000 (Mon, 26 Jan 2009) New Revision: 1314 Modified: topia/trunk/topia-persistence/src/site/fr/rst/Todo.rst Log: liste des todos ?\195?\160 faire pour nettoyer les templates. Modified: topia/trunk/topia-persistence/src/site/fr/rst/Todo.rst =================================================================== --- topia/trunk/topia-persistence/src/site/fr/rst/Todo.rst 2009-01-26 16:49:57 UTC (rev 1313) +++ topia/trunk/topia-persistence/src/site/fr/rst/Todo.rst 2009-01-26 16:52:42 UTC (rev 1314) @@ -143,3 +143,76 @@ - pouvoir monitorer un attribut (user, date, oldValue, new Value) Ces attributs ont une valeur tagguée versioned à vrai ou faux. -> getHistory[Attribut]():list<History> + +Amélioration templates +====================== + +- préférer définir des variables plutôt que d'injecter du code dans les templates : + +Example : + +avant +:: + + /*{table="<%=GeneratorUtil.getDBName(attr.getDeclaringElement()) + "_" + getName(attr)%>"*/ + + +après + +:: + + String dbName = GeneratorUtil.getDBName(attr.getDeclaringElement()) + "_" + getName(attr); + +ou + +:: + + String attrName = getName(attr); + String dbName = GeneratorUtil.getDBName(attr.getDeclaringElement()); + + /*{table="<%=dbName+"_"+attrName%>"}*/ + +- mettre une javadoc pour dire ce que la méthode va faire + +- incorporer des tests unitaires de génération :) + +- créer des constantes pour les stereotypes tagValues et les utiliser... + +- aller à la chasse aux constantes (exemple propertiesPattern dans DAOAbstractGenerator) + +- faire la chasse au code inutilisé + +- ajouter hasTagValue sur ObjectModelElement dans lutingenerator + +- réfléchir comment générer les imports pour ne plus utilisers les FQN + +- vérifier les javadocs générées (ajouter les exceptions,...) + +- reussir a résoudre les casts dans les DAOAbstraxct sur la méthode getEntityClass + +- réusiner les codes de génération d'attributs : + +:: + + String lazy = " lazy=\""; + if (notEmpty(attr.getTagValue(GeneratorUtil.TAG_LAZY))){ + lazy += attr.getTagValue(GeneratorUtil.TAG_LAZY); + } else { + lazy += "true"; + } + lazy += "\""; + +mais il ya d'autres cas à prévoir... : + +:: + + String fetch = ""; + if (notEmpty(attr.getTagValue(GeneratorUtil.TAG_FETCH))){ + fetch = " fetch=\"" + attr.getTagValue(GeneratorUtil.TAG_FETCH) + "\""; + } + +- Dans lutingenerator, renommer Util en GeneratorUtil et dans ToPIA, + GeneratorUtil en TopiaGeneratorUtil + +- supprimer les les boucles sur Iterator quand c'est possible et utiliser pluot des for-each +