Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/model/sinfo/InfrastructureValue.java @ 9614:d889ffe2fb05
Nachtrag Pos. 20: rename type/part to group/type, group added in Infrastructure class
author | mschaefer |
---|---|
date | Wed, 09 Oct 2019 19:17:06 +0200 |
parents | 1614cb14308f |
children | 26e113e8224f |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/model/sinfo/InfrastructureValue.java Wed Oct 09 16:17:16 2019 +0200 +++ b/backend/src/main/java/org/dive4elements/river/model/sinfo/InfrastructureValue.java Wed Oct 09 19:17:06 2019 +0200 @@ -152,19 +152,26 @@ */ public static List<InfrastructureValue> getValues(final River river, final double kmLo, final double kmHi, final AttributeKey riverside) { final Session session = SessionHolder.HOLDER.get(); - String riversideClause = ""; - if ((riverside == AttributeKey.LEFT) || (riverside == AttributeKey.RIGHT)) - riversideClause = " AND (v.attribute.id=:attr_id)"; final Query query = session.createQuery("FROM InfrastructureValue v" + " WHERE (v.infrastructure.river=:river)" + " AND (v.station BETWEEN :kmLo - 0.0001 AND :kmHi + 0.0001)" - + riversideClause + + getRiversideClause(riverside, "v", "attr_id") + " ORDER BY v.station, v.attribute.id"); query.setParameter("river", river); query.setParameter("kmLo", new Double(kmLo)); query.setParameter("kmHi", new Double(kmHi)); - if (!riversideClause.isEmpty()) + if (!getRiversideClause(riverside, "v", "attr_id").isEmpty()) query.setParameter("attr_id", riverside.getId()); return query.list(); } + + /** + * Gets a query's and-where-clause for a riverside key + */ + public static String getRiversideClause(final AttributeKey riverside, final String tablealias, final String variable) { + if ((riverside == AttributeKey.LEFT) || (riverside == AttributeKey.RIGHT)) + return " AND (" + tablealias + ".attribute.id=:" + variable + ")"; + else + return ""; + } }