From: Chad B. <cwb...@us...> - 2004-11-04 16:24:18
|
User: cwbrandon Date: 04/11/04 08:24:09 Modified: andromda-spring/src/templates/spring/hibernate SpringHibernateDaoBase.vsl andromda-spring/src/templates/spring SpringDao.vsl andromda-spring/src/test/expected cartridge-output.zip Log: fix issue with not being able to override query strings (without cutting and pasting a lot of code) Revision Changes Path 1.10 +31 -6 cartridges/andromda-spring/src/templates/spring/hibernate/SpringHibernateDaoBase.vsl Index: SpringHibernateDaoBase.vsl =================================================================== RCS file: /cvsroot/andromda/cartridges/andromda-spring/src/templates/spring/hibernate/SpringHibernateDaoBase.vsl,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- SpringHibernateDaoBase.vsl 24 Oct 2004 22:20:34 -0000 1.9 +++ SpringHibernateDaoBase.vsl 4 Nov 2004 16:24:07 -0000 1.10 @@ -232,18 +232,43 @@ return $finderCall } + /** + * @see ${entity.fullyQualifiedName}#${finder.name}(java.lang.String#if(!$finder.arguments.empty), ${finder.argumentTypeNames}#end) + */ + $finder.visibility $returnType ${finder.name}(final java.lang.String queryString#if(!$finder.arguments.empty), ${finder.getTypedArgumentList('final')}#end) +#if ($finder.exceptionsPresent) + throws $finder.exceptionList +#end + { +#set ($finderCall = "this.${finder.name}(false, queryString#if(!$finder.arguments.empty), ${finder.argumentNames}#end);") +#if (!$finder.returnType.collectionType) +#set ($finderCall = "($returnType)$finderCall") +#end + return $finderCall + } + #if (!$finder.returnType.collectionType) #set ($returnType = "Object") #end -## /** - * @see ${entity.fullyQualifiedName}#${finder.name}(false#if(!$finder.arguments.empty), ${finder.argumentTypeNames}#end) + * @see ${entity.fullyQualifiedName}#${finder.name}(boolean#if(!$finder.arguments.empty), ${finder.argumentTypeNames}#end) */ $finder.visibility $returnType ${finder.name}(final boolean transform#if(!$finder.arguments.empty), ${finder.getTypedArgumentList('final')}#end) #if ($finder.exceptionsPresent) throws $finder.exceptionList #end { + return this.${finder.name}(transform, "$finder.query"#if(!$finder.arguments.empty), ${finder.argumentNames}#end); + } + + /** + * @see ${entity.fullyQualifiedName}#${finder.name}(boolean, java.lang.String#if(!$finder.arguments.empty), ${finder.argumentTypeNames}#end) + */ + $finder.visibility $returnType ${finder.name}(final boolean transform, final java.lang.String queryString#if(!$finder.arguments.empty), ${finder.getTypedArgumentList('final')}#end) +#if ($finder.exceptionsPresent) + throws $finder.exceptionList +#end + { final $entity.fullyQualifiedDaoBaseName dao = this; org.springframework.orm.hibernate.HibernateCallback callback = new org.springframework.orm.hibernate.HibernateCallback() { @@ -253,7 +278,7 @@ net.sf.hibernate.Query queryObject = getHibernateTemplate().createQuery( session, - "$finder.query"); + queryString); #foreach($argument in $finder.arguments) #set ($count = $velocityCount - 1) queryObject.setParameter($count, $argument.name); @@ -275,7 +300,7 @@ throw new org.springframework.dao.InvalidDataAccessResourceUsageException( "More than one instance of '" + ${finder.returnType.fullyQualifiedName}.class.getName() - + "' was found when executing query --> '${finder.query}'"); + + "' was found when executing query --> '" + queryString + "'"); } else if (results.size() == 1) 1.5 +31 -1 cartridges/andromda-spring/src/templates/spring/SpringDao.vsl Index: SpringDao.vsl =================================================================== RCS file: /cvsroot/andromda/cartridges/andromda-spring/src/templates/spring/SpringDao.vsl,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- SpringDao.vsl 13 Oct 2004 16:19:38 -0000 1.4 +++ SpringDao.vsl 4 Nov 2004 16:24:07 -0000 1.5 @@ -108,12 +108,28 @@ $operation.visibility $returnType $operation.signature; #end #if ($operation.query) + + /** + * <p> + * Does the same thing as {@link #${operation.getSignature(false)}} with an + * additional argument called <code>queryString</code>, this <code>queryString</code> + * argument allows you to override the query string defined in {@link #${operation.getSignature(false)}}. + * </p> + */ +#if ($operation.exceptionsPresent) + $operation.visibility $returnType ${operation.name}(String queryString#if(!$operation.arguments.empty), ${operation.typedArgumentList}#end) + throws $operation.exceptionList; +#else + $operation.visibility $returnType ${operation.name}(String queryString#if(!$operation.arguments.empty), ${operation.typedArgumentList}#end); +#end + #if ($operation.query && !$operation.returnType.collectionType) #set ($returnType = "Object") #end + /** * <p> - * Does the same thing as {@link #${operation.getSignature(false)}) with an + * Does the same thing as {@link #${operation.getSignature(false)}} with an * additional flag called <code>transform</code> if this flag is set to <code>false</code> then * finder results will not be transformed during retrieval. If this flag is <code>true</code> * then finder results <strong>WILL BE</strong> passed through an operation which can optionally @@ -127,6 +143,20 @@ #else $operation.visibility $returnType ${operation.name}(boolean transform#if(!$operation.arguments.empty), ${operation.typedArgumentList}#end); #end + + /** + * <p> + * Does the same thing as {@link #${operation.name}(boolean#if(!$operation.arguments.empty), ${operation.argumentTypeNames}#end)} with an + * additional argument called <code>queryString</code>, this <code>queryString</code> + * argument allows you to override the query string defined in {@link #${operation.name}(boolean, ${operation.argumentTypeNames})}. + * </p> + */ +#if ($operation.exceptionsPresent) + $operation.visibility $returnType ${operation.name}(boolean transform, String queryString#if(!$operation.arguments.empty), ${operation.typedArgumentList}#end) + throws $operation.exceptionList; +#else + $operation.visibility $returnType ${operation.name}(boolean transform, String queryString#if(!$operation.arguments.empty), ${operation.typedArgumentList}#end); +#end #end #end 1.27 +118 -111 cartridges/andromda-spring/src/test/expected/cartridge-output.zip <<Binary file>> |