r3060 - in trunk: topia-persistence/src/main/java/org/nuiton/topia/persistence/internal topia-templates/src/main/java/org/nuiton/topia/templates
Author: bleny Date: 2014-04-11 16:51:41 +0200 (Fri, 11 Apr 2014) New Revision: 3060 Url: http://forge.nuiton.org/projects/topia/repository/revisions/3060 Log: fixes #3134 introduce AbstractProjectTopiaDao Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaDao.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaGeneratorUtil.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaDao.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaDao.java 2014-04-09 15:46:51 UTC (rev 3059) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaDao.java 2014-04-11 14:51:41 UTC (rev 3060) @@ -533,7 +533,7 @@ return result; } - public <K> List<K> find(String hql, Map<String, Object> hqlParameters, TopiaPagerBean pager) { + protected <K> List<K> find(String hql, Map<String, Object> hqlParameters, TopiaPagerBean pager) { Preconditions.checkNotNull(hql); Preconditions.checkNotNull(hqlParameters); Preconditions.checkNotNull(pager); Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java 2014-04-09 15:46:51 UTC (rev 3059) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java 2014-04-11 14:51:41 UTC (rev 3060) @@ -115,6 +115,8 @@ usages = TopiaGeneratorUtil.searchDirectUsages(model); + generateParentDao(); + // keep all classifiers on the model which are entities List<ObjectModelClass> allEntities = TopiaGeneratorUtil.getEntityClasses(model, true); @@ -347,6 +349,26 @@ } + protected void generateParentDao() { + + String parentDaoFqn = TopiaGeneratorUtil.getParentDaoFqn(this, model); + + if ( ! isInClassPath(parentDaoFqn)) { + + ObjectModelClass parentDao = + createAbstractClass( + TopiaGeneratorUtil.getParentDaoName(model) + "<E extends " + TopiaEntity.class.getSimpleName() + ">", + TopiaGeneratorUtil.getDaoPackage(this, model) + ); + addImport(parentDao, TopiaEntity.class); + + // super class + setSuperClass(parentDao, AbstractTopiaDao.class.getName() + "<E>"); + + } + + } + protected void generateGeneratedDao(ObjectModelClass clazz, String clazzName, String clazzFQN) { @@ -366,7 +388,8 @@ if (superClassName == null) { superClassName = TopiaGeneratorUtil.getDaoSuperClassTagValue(clazz, model); if (superClassName == null) { - superClassName = AbstractTopiaDao.class.getName(); + superClassName = TopiaGeneratorUtil.getParentDaoFqn(this, model); + addImport(daoAbstractClass, superClassName); } superClassName += "<E>"; } Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaGeneratorUtil.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaGeneratorUtil.java 2014-04-09 15:46:51 UTC (rev 3059) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaGeneratorUtil.java 2014-04-11 14:51:41 UTC (rev 3060) @@ -133,27 +133,27 @@ public static String getApplicationContextPackage(ObjectModelTransformerToJava transformer, ObjectModel model) { - String result = transformer.getDefaultPackageName(); - return result; } public static String getPersistenceContextPackage(ObjectModelTransformerToJava transformer, ObjectModel model) { + String result = transformer.getDefaultPackageName(); + return result; + } + public static String getDaoPackage(ObjectModelTransformerToJava transformer, ObjectModel model) { String result = transformer.getDefaultPackageName(); - return result; } - public static String getDaoPackage(ObjectModelTransformerToJava transformer, - ObjectModel model, - ObjectModelClassifier input) { + public static String getParentDaoName(ObjectModel model) { + return "Abstract" + model.getName() + "TopiaDao"; + } - Preconditions.checkState(isEntity(input), "Cant' find dao package name for a none entity " + input); - String result = input.getPackageName(); - return result; + public static String getParentDaoFqn(ObjectModelTransformerToJava transformer, ObjectModel model) { + return getDaoPackage(transformer, model) + "." + getParentDaoName(model); } public static String getApplicationContextInterfaceName(ObjectModel model) {
participants (1)
-
bleny@users.nuiton.org