Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6d76d00

Browse files
author
Bob Garner
committed
Changed repository classes to essentially copy the release ID into the returned object.
1 parent 326cdde commit 6d76d00

File tree

4 files changed

+56
-77
lines changed

4 files changed

+56
-77
lines changed

release/ReleasedUnifiedObjectsAuthor.eml

Lines changed: 0 additions & 36 deletions
This file was deleted.

release/RepositoryReleasedGetAuthor.eml

Lines changed: 53 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,18 @@ $[* Only process composite entities here. *]
4747
$[ let responseModelName = responseEntity|domain:Model|name ]
4848
$[ let responseDatabaseName = responseEntity|domain:Database|name ]
4949
$[ if responseEntity.hasPrimaryKey ]
50+
/**
51+
* Gets a ${responseModelName} object from its ID.
52+
*/
5053
$[ if versionEntity == null ]
5154
@Query(value =
52-
"SELECT * " +
55+
"SELECT *, :releaseId AS ${releaseEntityPKAttribute|domain:Database|name} " +
5356
"FROM ${objectEntity|domain:Database|name} " +
54-
"WHERE ${objectPKColumnName} = ?2", nativeQuery = true)
55-
Optional<${responseModelName}> getById(${releaseEntityPKAttribute.type|language} unused, ${responseEntity.pkType|language} id);
57+
"WHERE ${objectPKColumnName} = :id", nativeQuery = true)
58+
Optional<${responseModelName}> getById(@Param("releaseId") ${releaseEntityPKAttribute.type|language} releaseId, @Param("id") ${responseEntity.pkType|language} id);
5659
$[ else ]
5760
@Query(value =
58-
"SELECT * " +
61+
"SELECT *, r.${releasePKColumnName} " +
5962
"FROM ${binderEntity|domain:Database|name} r " +
6063
"JOIN ${objectEntity|domain:Database|name} o ON r.${objectPKColumnName} = o.${objectPKColumnName} " +
6164
"JOIN ${versionEntity|domain:Database|name} v ON r.${versionPKColumnName} = v.${versionPKColumnName} " +
@@ -65,6 +68,7 @@ $[* Only process composite entities here. *]
6568
$[/ if ]
6669
$[ send imports ]
6770
import ${responseEntity|domain:Model|fullname};
71+
import org.springframework.data.repository.query.Param;
6872
$[/ send ]
6973
/**
7074
* Gets the full list of ${responseModelName} objects with paging.
@@ -74,16 +78,16 @@ $[/ send ]
7478
*/
7579
$[ if versionEntity == null ]
7680
@Query(value =
77-
"SELECT * " +
81+
"SELECT *, :releaseId AS ${releaseEntityPKAttribute|domain:Database|name} " +
7882
"FROM ${objectEntity|domain:Database|name} " +
7983
$[ if sortByAttribute != null ]
8084
"ORDER BY ${sortByAttribute|domain:Database|name} ${ascending ? "ASC":"DESC"} " +
8185
$[/ if ]
82-
"LIMIT ?3 OFFSET ?2", nativeQuery = true)
83-
List<${responseModelName}> get${responseModelName}List(${releaseEntityPKAttribute.type|language} unused, long start, int limit);
86+
"LIMIT :limit OFFSET :start", nativeQuery = true)
87+
List<${responseModelName}> get${responseModelName}List(@Param("releaseId") ${releaseEntityPKAttribute.type|language} releaseId, @Param("start") long start, @Param("limit") int limit);
8488
$[ else ]
8589
@Query(value =
86-
"SELECT * " +
90+
"SELECT *, r.${releasePKColumnName} " +
8791
"FROM ${binderEntity|domain:Database|name} r " +
8892
"JOIN ${objectEntity|domain:Database|name} o ON r.${objectPKColumnName} = o.${objectPKColumnName} " +
8993
"JOIN ${versionEntity|domain:Database|name} v ON r.${versionPKColumnName} = v.${versionPKColumnName} " +
@@ -103,15 +107,18 @@ $[/ send ]
103107
@Query(value =
104108
"SELECT COUNT(*) " +
105109
"FROM ${objectEntity|domain:Database|name} ", nativeQuery = true)
106-
Long count(${releaseEntityPKAttribute.type|language} unused);
110+
Long count_internal();
111+
default Long count(${releaseEntityPKAttribute.type|language} unused) {
112+
return count_internal();
113+
}
107114
$[ else ]
108115
@Query(value =
109116
"SELECT COUNT(*) " +
110117
"FROM ${binderEntity|domain:Database|name} r " +
111118
"JOIN ${objectEntity|domain:Database|name} o ON r.${objectPKColumnName} = o.${objectPKColumnName} " +
112119
"JOIN ${versionEntity|domain:Database|name} v ON r.${versionPKColumnName} = v.${versionPKColumnName} " +
113-
"WHERE r.${releasePKColumnName} = ?1 ", nativeQuery = true)
114-
Long count(${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name});
120+
"WHERE r.${releasePKColumnName} = :releaseId ", nativeQuery = true)
121+
Long count(@Param("releaseId") ${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name});
115122
$[/ if ]
116123

117124
$[ outlet methods
@@ -122,14 +129,14 @@ $[/ outlet ]
122129
$[ if attribute.isParent ]
123130
$[ if versionEntity == null ]
124131
@Query(value =
125-
"SELECT * " +
132+
"SELECT *, :releaseId AS ${releaseEntityPKAttribute|domain:Database|name} " +
126133
"FROM ${objectEntity|domain:Database|name} " +
127-
"WHERE ${attribute|domain:Database|name} = ?2 " +
134+
"WHERE ${attribute|domain:Database|name} = :attrValue " +
128135
$[ if sortByAttribute != null ]
129136
"ORDER BY ${sortTableAlias}.${sortByAttribute|domain:Database|name} ${ascending ? "ASC":"DESC"} " +
130137
$[/ if ]
131-
"LIMIT ?4 OFFSET ?3", nativeQuery = true)
132-
List<${responseModelName}> get${responseModelName}ListBy${attribute.name|capitalize}(${releaseEntityPKAttribute.type|language} unused, $[ if attribute.type.isEnumType() ]int$[ else ]${attribute.type|language}$[/ if ] ${attribute|domain|name}, long start, int limit);
138+
"LIMIT :limit OFFSET :start", nativeQuery = true)
139+
List<${responseModelName}> get${responseModelName}ListBy${attribute.name|capitalize}(@Param("releaseId") ${releaseEntityPKAttribute.type|language} releaseId, @Param("attrValue") $[ if attribute.type.isEnumType() ]int$[ else ]${attribute.type|language}$[/ if ] ${attribute|domain|name}, @Param("start") long start, @Param("limit") int limit);
133140
$[ else ]
134141
$[ let tableAlias = versionEntity.hasAttributeNamed(attribute.name) ? "v":"o" ]
135142
/**
@@ -140,17 +147,17 @@ $[/ outlet ]
140147
* @return List of ${responseModelName} objects fetched.
141148
*/
142149
@Query(value =
143-
"SELECT * " +
150+
"SELECT *, r.${releasePKColumnName} " +
144151
"FROM ${binderEntity|domain:Database|name} r " +
145152
"JOIN ${objectEntity|domain:Database|name} o ON r.${objectPKColumnName} = o.${objectPKColumnName} " +
146153
"JOIN ${versionEntity|domain:Database|name} v ON r.${versionPKColumnName} = v.${versionPKColumnName} " +
147-
"WHERE r.${releasePKColumnName} = ?1 " +
148-
"AND ${tableAlias}.${attribute|domain:Database|name} = ?2 " +
154+
"WHERE r.${releasePKColumnName} = :releaseId " +
155+
"AND ${tableAlias}.${attribute|domain:Database|name} = :attrValue " +
149156
$[ if sortByAttribute != null ]
150157
"ORDER BY ${sortTableAlias}.${sortByAttribute|domain:Database|name} ${ascending ? "ASC":"DESC"} " +
151158
$[/ if ]
152-
"LIMIT ?4 OFFSET ?3", nativeQuery = true)
153-
List<${responseModelName}> get${responseModelName}ListBy${attribute.name|capitalize}(${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, $[ if attribute.type.isEnumType() ]int$[ else ]${attribute.type|language}$[/ if ] ${attribute|domain|name}, long start, int limit);
159+
"LIMIT :limit OFFSET :start", nativeQuery = true)
160+
List<${responseModelName}> get${responseModelName}ListBy${attribute.name|capitalize}(@Param("releaseId") ${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, @Param("attrValue") $[ if attribute.type.isEnumType() ]int$[ else ]${attribute.type|language}$[/ if ] ${attribute|domain|name}, @Param("start") long start, @Param("limit") int limit);
154161

155162
$[/ if ]
156163
$[/ if ]
@@ -166,28 +173,28 @@ $[/ outlet ]
166173
*/
167174
$[ if versionEntity == null ]
168175
@Query(value =
169-
"SELECT * " +
176+
"SELECT *, :releaseId AS ${releaseEntityPKAttribute|domain:Database|name} " +
170177
"FROM ${objectEntity|domain:Database|name} " +
171-
"WHERE ${relationship|domain:Database|name}_id = ?2 " +
178+
"WHERE ${relationship|domain:Database|name}_id = :relationshipId " +
172179
$[ if sortByAttribute != null ]
173180
"ORDER BY ${sortTableAlias}.${sortByAttribute|domain:Database|name} ${ascending ? "ASC":"DESC"} " +
174181
$[/ if ]
175-
"LIMIT ?4 OFFSET ?3", nativeQuery = true)
176-
List<${responseModelName}> get${responseModelName}ListBy${relationship.name|capitalize}(${releaseEntityPKAttribute.type|language} unused, ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id, long start, int limit);
182+
"LIMIT :limit OFFSET :start", nativeQuery = true)
183+
List<${responseModelName}> get${responseModelName}ListBy${relationship.name|capitalize}(@Param("releaseId") ${releaseEntityPKAttribute.type|language} releaseId, @Param("relationshipId") ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id, @Param("start") long start, @Param("limit") int limit);
177184
$[ else ]
178185
$[ let tableAlias = versionEntity.hasRelationshipNamed(relationship.name) ? "v":"o" ]
179186
@Query(value =
180-
"SELECT * " +
187+
"SELECT *, r.${releasePKColumnName} " +
181188
"FROM ${binderEntity|domain:Database|name} r " +
182189
"JOIN ${objectEntity|domain:Database|name} o ON r.${objectPKColumnName} = o.${objectPKColumnName} " +
183190
"JOIN ${versionEntity|domain:Database|name} v ON r.${versionPKColumnName} = v.${versionPKColumnName} " +
184-
"WHERE r.${releasePKColumnName} = ?1 " +
185-
"AND ${tableAlias}.${relationship|domain:Database|name}_id = ?2 " +
191+
"WHERE r.${releasePKColumnName} = :releaseId " +
192+
"AND ${tableAlias}.${relationship|domain:Database|name}_id = :relationshipId " +
186193
$[ if sortByAttribute != null ]
187194
"ORDER BY ${sortTableAlias}.${sortByAttribute|domain:Database|name} ${ascending ? "ASC":"DESC"} " +
188195
$[/ if ]
189-
"LIMIT ?4 OFFSET ?3", nativeQuery = true)
190-
List<${responseModelName}> get${responseModelName}ListBy${relationship.name|capitalize}(${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id, long start, int limit);
196+
"LIMIT :limit OFFSET :start", nativeQuery = true)
197+
List<${responseModelName}> get${responseModelName}ListBy${relationship.name|capitalize}(@Param("releaseId") ${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, @Param("relationshipId") ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id, @Param("start") long start, @Param("limit") int limit);
191198
$[/ if ]
192199

193200
/**
@@ -199,17 +206,20 @@ $[/ outlet ]
199206
@Query(value =
200207
"SELECT count(*) " +
201208
"FROM ${objectEntity|domain:Database|name} " +
202-
"WHERE ${relationship|domain:Database|name}_id = ?2 ", nativeQuery = true)
203-
Long count${responseModelName}By${relationship.name|capitalize}Id(${releaseEntityPKAttribute.type|language} unused, ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id);
209+
"WHERE ${relationship|domain:Database|name}_id = :relationshipId ", nativeQuery = true)
210+
Long count${responseModelName}By${relationship.name|capitalize}Id_internal(@Param("relationshipId") ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id);
211+
default Long count${responseModelName}By${relationship.name|capitalize}Id(${releaseEntityPKAttribute.type|language} releaseId, ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id) {
212+
return count${responseModelName}By${relationship.name|capitalize}Id_internal(${relationship|domain|name}Id);
213+
}
204214
$[ else ]
205215
@Query(value =
206216
"SELECT count(*) " +
207217
"FROM ${binderEntity|domain:Database|name} r " +
208218
"JOIN ${objectEntity|domain:Database|name} o ON r.${objectPKColumnName} = o.${objectPKColumnName} " +
209219
"JOIN ${versionEntity|domain:Database|name} v ON r.${versionPKColumnName} = v.${versionPKColumnName} " +
210-
"WHERE r.${releasePKColumnName} = ?1 " +
211-
"AND ${tableAlias}.${relationship|domain:Database|name}_id = ?2 ", nativeQuery = true)
212-
Long count${responseModelName}By${relationship.name|capitalize}Id(${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id);
220+
"WHERE r.${releasePKColumnName} = :releaseId " +
221+
"AND ${tableAlias}.${relationship|domain:Database|name}_id = :relationshipId ", nativeQuery = true)
222+
Long count${responseModelName}By${relationship.name|capitalize}Id(@Param("releaseId") ${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, @Param("relationshipId") ${relationship.to.entity.primaryKey.type|language} ${relationship|domain|name}Id);
213223

214224
$[/ if ]
215225
$[/ if ]
@@ -232,23 +242,26 @@ $[/ outlet ]
232242
$[ let destPKVarName = destMMEntity.primaryKeyAttribute|domain|name ]
233243
$[ let destPKDBName = destMMEntity.primaryKeyAttribute|domain:Database|name ]
234244
@Query(value =
235-
"SELECT pt.* " +
245+
"SELECT pt.*, :releaseId AS ${releaseEntityPKAttribute|domain:Database|name} " +
236246
"FROM ${entityForQuery|domain:Database|name} pt " +
237247
"WHERE pt.${sourcePKDBName} IN " +
238248
"(SELECT ${sourcePKDBName} " +
239249
"FROM ${manyToManyEntity|domain:Database|name} " +
240-
"WHERE ${destPKDBName} = ?1) " +
241-
"ORDER BY pt.created_on DESC LIMIT ?3 OFFSET ?2", nativeQuery = true)
242-
List<${modelName}> get${modelName}ListAssociatedWith${destMMEntity|domain:Model|name}(${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, ${destPKType} ${destPKVarName}, long start, int limit);
250+
"WHERE ${destPKDBName} = :withId) " +
251+
"ORDER BY pt.created_on DESC LIMIT :limit OFFSET :start", nativeQuery = true)
252+
List<${modelName}> get${modelName}ListAssociatedWith${destMMEntity|domain:Model|name}(@Param("releaseId") ${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, @Param("withId") ${destPKType} ${destPKVarName}, @Param("start") long start, @Param("limit") int limit);
243253

244254
@Query(value =
245255
"SELECT COUNT(pt.*) " +
246256
"FROM ${entity|domain:Database|name} pt " +
247257
"WHERE pt.${sourcePKDBName} IN " +
248258
"(SELECT ${sourcePKDBName} " +
249259
"FROM ${manyToManyEntity|domain:Database|name} " +
250-
"WHERE ${destPKDBName} = ?1) ", nativeQuery = true)
251-
Long count${modelName}By${destMMEntity|domain:Model|name}Id(${releaseEntityPKAttribute.type|language} ${releaseEntityPKAttribute.name}, ${destPKType} ${destPKVarName});
260+
"WHERE ${destPKDBName} = :withId) ", nativeQuery = true)
261+
Long count${modelName}By${destMMEntity|domain:Model|name}Id_internal(@Param("withId") ${destPKType} ${destPKVarName});
262+
default Long count${modelName}By${destMMEntity|domain:Model|name}Id(${releaseEntityPKAttribute.type|language} unused, ${destPKType} ${destPKVarName}) {
263+
return count${modelName}By${destMMEntity|domain:Model|name}Id_internal(${destPKVarName});
264+
}
252265
$[/ if ]
253266
$[/ foreach ]
254267
$[/ author ]

system/SpringBootApplicationPublisher.eml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ $[receive distinct imports]
88
import org.springframework.boot.SpringApplication;
99
import org.springframework.boot.autoconfigure.SpringBootApplication;
1010

11+
$[outlet annotation D "This outlet is just above the `main()` method of the class and just above @SpringBootApplication."]
12+
$[/outlet]
1113
@SpringBootApplication
1214
public class ${applicationName}Application {
1315

web/thymeleaf-bootstrap/admin/AdminHomePageTemplate.eml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ $[/ send ]
297297
$[ call rolesContains(accessType: "read", rolesArrayName: "roles", entity: topEntity)->(hasRoles: hasRoles, rolesExpr: rolesExpr) ]
298298
$[ if hasRoles ]
299299
if (${rolesExpr}) {
300-
model.addAttribute("${topEntityListName}", ${serviceClassName|uncapitalize}.get${topEntity|domain:JSONDTO|name}List(${pageArgs}, 1 /*levels*/));
300+
model.addAttribute("${topEntityListName}", ${serviceClassName|uncapitalize}.get${topEntity|domain:JSONDTO|name}List($[if isReleasedEntity]null, $[/if]${pageArgs}, 1 /*levels*/));
301301
$[ if hasPaging ]
302302
model.addAttribute("${topEntity|name|uncapitalize}Count", totalItemCount);
303303
model.addAttribute("lastPage", (totalItemCount-1) / ${pageSize});

0 commit comments

Comments
 (0)