r2221 - trunk/topia-persistence/src/main/java/org/nuiton/topia/generator
Author: tchemit Date: 2011-03-07 10:54:50 +0100 (Mon, 07 Mar 2011) New Revision: 2221 Url: http://nuiton.org/repositories/revision/topia/2221 Log: Anomalie #1382: NPE in generation if DAO stereotype little clean in DAO transformers Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java 2011-03-04 08:57:47 UTC (rev 2220) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java 2011-03-07 09:54:50 UTC (rev 2221) @@ -43,7 +43,6 @@ import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaDAO; -import org.nuiton.topia.persistence.TopiaDAOImpl; import org.nuiton.topia.persistence.TopiaDAOLegacy; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.StringUtil; @@ -143,6 +142,16 @@ ObjectModelDependency dependency = interfacez.getDependency(TopiaGeneratorUtil.DEPENDENCIES_DAO); + if (dependency == null) { + if (log.isWarnEnabled()) { + log.warn("Could not find dependency " + + TopiaGeneratorUtil.DEPENDENCIES_DAO + + " but DAO stereotype was placed on the interface " + + interfacez.getName()); + + } + return; + } ObjectModelClassifier classifier = dependency.getSupplier(); if (TopiaGeneratorUtil.hasEntityStereotype(classifier)) { @@ -185,11 +194,6 @@ } if (extendClass.length() == 0) { extendClass = daoImplementation.getName() + "<E>"; -// if (extendLegacyDAO) { -// extendClass = TopiaDAOLegacy.class.getName() + "<E>"; -// } else { -// extendClass = TopiaDAOImpl.class.getName() + "<E>"; -// } } if (log.isDebugEnabled()) { log.debug("super class = " + extendClass); @@ -490,7 +494,6 @@ List<<%=attrSimpleType%>> list = getContext() .getDAO(<%=attrSimpleType%>.class) .findAllByProperties(<%=attrSimpleType%>.<%=getConstantName(reverseAttrName)%>, entity); - // .findAllByProperties("<%=reverseAttrName%>", entity); for (<%=attrSimpleType%> item : list) { item.set<%=StringUtils.capitalize(reverseAttrName)%>(null); }*/ Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java 2011-03-04 08:57:47 UTC (rev 2220) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java 2011-03-07 09:54:50 UTC (rev 2221) @@ -25,6 +25,8 @@ package org.nuiton.topia.generator; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.eugene.java.ObjectModelTransformerToJava; import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelClassifier; @@ -45,6 +47,9 @@ */ public class DAOImplTransformer extends ObjectModelTransformerToJava { + /** Logger. */ + static Log log = LogFactory.getLog(DAOImplTransformer.class); + /** * Collection used to identify entities full qualified name that have * a dependency for DAO extra operations. So no need to generate the @@ -67,6 +72,16 @@ ObjectModelDependency dependency = interfacez.getDependency(TopiaGeneratorUtil.DEPENDENCIES_DAO); + if (dependency == null) { + if (log.isWarnEnabled()) { + log.warn("Could not find dependency " + + TopiaGeneratorUtil.DEPENDENCIES_DAO + + " but DAO stereotype was placed on the interface " + + interfacez.getName()); + + } + return; + } ObjectModelClassifier classifier = dependency.getSupplier(); if (TopiaGeneratorUtil.hasEntityStereotype(classifier)) { Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java 2011-03-04 08:57:47 UTC (rev 2220) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java 2011-03-07 09:54:50 UTC (rev 2221) @@ -49,12 +49,12 @@ String clazzName = clazz.getName(); String clazzFQN = clazz.getQualifiedName(); ObjectModelClass result = createClass(clazzName + "DAO", clazz.getPackageName()); - setDocumentation(result,"/**\n" + - " * Cette classe etend le DAOImpl pour parametrer la classe avec le bon type\n" + - " * Cette classe est marque finale car l'heritage entre les DAO se fait\n" + - " * sur les DOAImpl, c-a-d que DAOAbstract peut etendre le DAOImpl\n" + - " */"); - setSuperClass(result,clazzFQN+"DAOImpl<"+clazzName+">"); + setDocumentation(result, "/**\n" + + " * Cette classe etend le DAOImpl pour parametrer la classe avec le bon type\n" + + " * Cette classe est marque finale car l'heritage entre les DAO se fait\n" + + " * sur les DOAImpl, c-a-d que DAOAbstract peut etendre le DAOImpl\n" + + " */"); + setSuperClass(result, clazzFQN + "DAOImpl<" + clazzName + ">"); }
participants (1)
-
tchemit@users.nuiton.org