Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/model/sinfo/InfrastructureValue.java @ 9625:07f02019065e
Nachtrag Pos. 20: infrastructure query added, calculation updated for extended access class
author | mschaefer |
---|---|
date | Mon, 14 Oct 2019 08:14:58 +0200 |
parents | 02ca823ec9c6 |
children |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/model/sinfo/InfrastructureValue.java Fri Oct 11 18:30:36 2019 +0200 +++ b/backend/src/main/java/org/dive4elements/river/model/sinfo/InfrastructureValue.java Mon Oct 14 08:14:58 2019 +0200 @@ -32,6 +32,7 @@ import org.hibernate.Query; import org.hibernate.Session; + /** * Hibernate binding for the DB table infrastructure_values * @@ -56,6 +57,7 @@ private Double height; + /***** CONSTRUCTORS *****/ public InfrastructureValue() { @@ -75,6 +77,7 @@ this(infrastructure, Double.valueOf(km), attribute, Double.valueOf(height)); } + /***** METHODS *****/ @Id @@ -137,8 +140,8 @@ */ public static List<InfrastructureValue> getValues(final Infrastructure parent, final double kmLo, final double kmHi) { final Session session = SessionHolder.HOLDER.get(); - final Query query = session - .createQuery("FROM InfrastructureValue WHERE (infrastructure=:parent)" + " AND (station >= :kmLo - 0.0001) AND (station <= :kmHi + 0.0001)"); + final Query query = session.createQuery("FROM InfrastructureValue WHERE (infrastructure=:parent)" + + " AND (station >= :kmLo - 0.0001) AND (station <= :kmHi + 0.0001)"); query.setParameter("parent", parent); query.setParameter("kmLo", new Double(kmLo)); query.setParameter("kmHi", new Double(kmHi)); @@ -151,9 +154,12 @@ public static List<InfrastructureValue> getValues(final River river, final double kmLo, final double kmHi, final AttributeKey riverside, final Set<String> groupTypes) { final Session session = SessionHolder.HOLDER.get(); - final Query query = session - .createQuery("FROM InfrastructureValue" + " WHERE (infrastructure.river=:river)" + " AND (station BETWEEN :kmLo - 0.0001 AND :kmHi + 0.0001)" - + getRiversideClause(riverside, "", "attr_id") + getGroupTypeClause(groupTypes, "") + " ORDER BY station, attribute.id"); + final Query query = session.createQuery("FROM InfrastructureValue" + + " WHERE (infrastructure.river=:river)" + + " AND (station BETWEEN :kmLo - 0.0001 AND :kmHi + 0.0001)" + + getRiversideClause(riverside, "", "attr_id") + + getGroupTypeClause(groupTypes, "") + + " ORDER BY station, attribute.id"); query.setParameter("river", river); query.setParameter("kmLo", new Double(kmLo)); query.setParameter("kmHi", new Double(kmHi)); @@ -171,8 +177,8 @@ String clause = " AND ("; String sep = ""; for (final String groupType : groupTypes) { - clause += sep + "(" + tableprefix + "infrastructure.group.name='" + groupType.split("\t")[0] + "'" + " AND " + tableprefix - + "infrastructure.type.name='" + groupType.split("\t")[1] + "')"; + clause += sep + "(" + tableprefix + "infrastructure.group.name='" + groupType.split("\t")[0] + "'" + + " AND " + tableprefix + "infrastructure.type.name='" + groupType.split("\t")[1] + "')"; sep = " OR "; } if (sep.length() >= 1)