From: Vance K. <va...@us...> - 2006-05-04 02:44:55
|
User: vancek Date: 06/05/03 19:44:53 Modified: andromda-ejb3/src/main/resources/templates/ejb3 DaoBase.vsl Log: added composite PK support to load and remove methods. support for finder methods to execute queries without returning object(s) ie delete and updates. Revision Changes Path 1.5 +65 -37 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/DaoBase.vsl Index: DaoBase.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/DaoBase.vsl,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- DaoBase.vsl 2 May 2006 01:57:47 -0000 1.4 +++ DaoBase.vsl 4 May 2006 02:44:53 -0000 1.5 @@ -79,27 +79,32 @@ } #end -#set ($identifier = $entity.identifiers.iterator().next()) +#if (!$entity.compositePrimaryKeyPresent) +#**##set ($identifier = $entity.identifiers.iterator().next()) +#end #set ($argumentName = $stringUtils.uncapitalize($entity.name)) /** - * @see ${entity.fullyQualifiedDaoName}#load(int, $identifier.type.fullyQualifiedName) + * @see ${entity.fullyQualifiedDaoName}#load(int,#foreach($identifier in $entity.identifers) $identifier.type.fullyQualifiedName#if ($velocityCount != $entity.identifiers.size()),#end#end) */ - public Object load(final int transform, final $identifier.type.fullyQualifiedName $identifier.name) + public Object load(final int transform,#foreach($identifier in $entity.identifiers) final $identifier.type.fullyQualifiedName $identifier.name#if ($velocityCount != $entity.identifiers.size()),#end#end) throws ${entity.fullyQualifiedDaoDefaultExceptionName} { -#set ($argument = $identifier.name) -#if($identifier.type.primitive) -#**##set ($argument = "new ${identifier.type.wrapperName}(${identifier.name})") -#else - if ($argument == null) +#foreach ($identifier in $entity.identifiers) +#**##if(!$identifier.type.primitive) + if ($identifier.name == null) { throw new IllegalArgumentException( - "${entity.name}.load - '$argument' can not be null"); + "${entity.name}.load - '$identifier.name' can not be null"); } +#**##end #end try { - final Object entity = (${entity.fullyQualifiedEntityName})emanager.find(${entity.fullyQualifiedEntityName}.class, $argument); +#if ($entity.compositePrimaryKeyPresent) + final Object entity = (${entity.fullyQualifiedEntityName})emanager.find(${entity.fullyQualifiedEntityName}.class, new ${entity.fullyQualifiedEntityCompositePrimaryKeyName}(#foreach ($identifier in $entity.identifiers)#if($identifier.type.primitive) new ${identifier.type.wrapperName}(${identifier.name})#else $identifier.name#end#if ($velocityCount != $entity.identifiers.size()),#end#end)); +#else + final Object entity = (${entity.fullyQualifiedEntityName})emanager.find(${entity.fullyQualifiedEntityName}.class, $identifier.name); +#end return transformEntity(transform, ($entity.fullyQualifiedName)entity); } catch (Exception ex) @@ -109,12 +114,12 @@ } /** - * @see ${entity.fullyQualifiedDaoName}#load($identifier.type.fullyQualifiedName) + * @see ${entity.fullyQualifiedDaoName}#load(#foreach($identifier in $entity.identifers) $identifier.type.fullyQualifiedName#if ($velocityCount != $entity.identifiers.size()),#end#end) */ - public $rootEntityType load($identifier.type.fullyQualifiedName $identifier.name) + public $rootEntityType load(#foreach($identifier in $entity.identifiers) final $identifier.type.fullyQualifiedName $identifier.name#if ($velocityCount != $entity.identifiers.size()),#end#end) throws ${entity.fullyQualifiedDaoDefaultExceptionName} { - return ($entity.fullyQualifiedEntityName)this.load($entity.daoNoTransformationConstantName, $identifier.name); + return ($entity.fullyQualifiedEntityName)this.load($entity.daoNoTransformationConstantName,#foreach($identifier in $entity.identifiers) $identifier.name#if ($velocityCount != $entity.identifiers.size()),#end#end); } /** @@ -368,22 +373,25 @@ } /** - * @see ${entity.fullyQualifiedDaoName}#remove($identifier.type.fullyQualifiedName) + * @see ${entity.fullyQualifiedDaoName}#remove(#foreach ($identifier in $entity.identifiers)$identifier.type.fullyQualifiedName#if ($velocityCount != $entity.identifiers.size()), #end#end) */ - public void remove($identifier.type.fullyQualifiedName $identifier.name) + public void remove(#foreach ($identifier in $entity.identifiers)$identifier.type.fullyQualifiedName $identifier.name#if ($velocityCount != $entity.identifiers.size()), #end#end) throws ${entity.fullyQualifiedDaoDefaultExceptionName} { -#set ($argument = $identifier.name) -#if($identifier.type.primitive) -#**##set ($argument = "new ${identifier.type.wrapperName}(${identifier.name})") -#else - if ($argument == null) +#foreach ($identifier in $entity.identifiers) +#**##if(!$identifier.type.primitive) + if ($identifier.name == null) { throw new IllegalArgumentException( "${entity.name}.remove - '$identifier.name' can not be null"); } +#**##end +#end +#if (!$entity.compositePrimaryKeyPresent) +#**##set ($loadCall = "this.load($identifier.name)") +#else +#**##set ($loadCall = "this.load(#foreach ($identifier in $entity.identifiers)$identifier.name#if ($velocityCount != $entity.identifiers.size()), #end#end)") #end -#set ($loadCall = "this.load($identifier.name)") #if ($entity.generalization) #**##set ($loadCall = "($entity.fullyQualifiedEntityName)${loadCall}") #end @@ -438,10 +446,14 @@ #**##end { #**##set ($finderCall = "this.${finder.name}($entity.daoNoTransformationConstantName#if(!$finder.arguments.empty), ${finder.argumentNames}#end);") +#**##if ($finder.returnTypePresent) #**##if (!$finder.returnType.collectionType) #* *##set ($finderCall = "($returnType)$finderCall") #**##end return $finderCall +#**##else + $finderCall +#**##end } /** @@ -455,10 +467,14 @@ #**##end { #**##set ($finderCall = "this.${finder.name}($entity.daoNoTransformationConstantName, queryString#if(!$finder.arguments.empty), ${finder.argumentNames}#end);") +#**##if ($finder.returnTypePresent) #**##if (!$finder.returnType.collectionType) #* *##set ($finderCall = "($returnType)$finderCall") #**##end return $finderCall +#**##else + $finderCall +#**##end } #**##if (!$finder.returnType.collectionType) @@ -467,7 +483,7 @@ /** * @see ${entity.fullyQualifiedDaoName}#${finder.name}(int#if(!$finder.arguments.empty), ${finder.argumentTypeNames}#end) */ - $finder.visibility $returnType ${finder.name}(final int transform#if(!$finder.arguments.empty), ${finder.getTypedArgumentList('final')}#end) + $finder.visibility#if ($finder.returnTypePresent) $returnType#else void#end ${finder.name}(final int transform#if(!$finder.arguments.empty), ${finder.getTypedArgumentList('final')}#end) #**##if ($finder.exceptionsPresent) throws $finder.exceptionList, ${entity.fullyQualifiedDaoDefaultExceptionName} #**##else @@ -513,6 +529,7 @@ #* *##if ($finder.useQueryCache && !$entity.useDefaultCacheRegion) queryObject.setHint("org.hibernate.cacheRegion", "/${entity.fullyQualifiedNamePath}_${finder.name}"); #* *##end +#* *##if ($finder.returnTypePresent) #* *##if ($finder.returnType.setType) java.util.Set results = new java.util.LinkedHashSet(queryObject.getResultList()); transformEntities(transform, results); @@ -522,24 +539,31 @@ transformEntities(transform, results); return results; #* *##else - $finder.returnType.fullyQualifiedName result = ($finder.returnType.fullyQualifiedName)queryObject.getSingleResult(); + Object result = queryObject.getSingleResult(); result = transformEntity(transform, ($entity.fullyQualifiedName)result); return result; #* *##end +#* *##else + queryObject.executeUpdate(); +#* *##end } catch (Exception ex) { throw new ${entity.fullyQualifiedDaoDefaultExceptionName}(ex); } #**##else +#* *##if ($finder.returnTypePresent) return this.${finder.name}(transform, "$finder.getQuery($entity)"#if(!$finder.arguments.empty), ${finder.argumentNames}#end); +#* *##else + this.${finder.name}(transform, "$finder.getQuery($entity)"#if(!$finder.arguments.empty), ${finder.argumentNames}#end); +#* *##end #**##end } /** * @see ${entity.fullyQualifiedDaoName}#${finder.name}(int, java.lang.String#if(!$finder.arguments.empty), ${finder.argumentTypeNames}#end) */ - $finder.visibility $returnType ${finder.name}(final int transform, final java.lang.String queryString#if(!$finder.arguments.empty), ${finder.getTypedArgumentList('final')}#end) + $finder.visibility#if ($finder.returnTypePresent) $returnType#else void#end ${finder.name}(final int transform, final java.lang.String queryString#if(!$finder.arguments.empty), ${finder.getTypedArgumentList('final')}#end) #**##if ($finder.exceptionsPresent) throws ${finder.exceptionList}, ${entity.fullyQualifiedDaoDefaultExceptionName} #**##else @@ -584,6 +608,7 @@ #**##if ($finder.useQueryCache && !$entity.useDefaultCacheRegion) queryObject.setHint("org.hibernate.cacheRegion", "/${entity.fullyQualifiedNamePath}_${finder.name}"); #**##end +#**##if ($finder.returnTypePresent) #**##if ($finder.returnType.setType) java.util.Set results = new java.util.LinkedHashSet(queryObject.getResultList()); transformEntities(transform, results); @@ -593,10 +618,13 @@ transformEntities(transform, results); return results; #**##else - $finder.returnType.fullyQualifiedName result = ($finder.returnType.fullyQualifiedName)queryObject.getSingleResult(); + Object result = queryObject.getSingleResult(); result = transformEntity(transform, ($entity.fullyQualifiedName)result); return result; #**##end +#**##else + queryObject.executeUpdate(); +#**##end } catch (Exception ex) { |