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 "";
+    }
 }

http://dive4elements.wald.intevation.org