Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/model/RiverAxis.java @ 8747:e9d912c97fa8
We expect that every river has only one RiverAxis of kind 1
This allowed to reduce code duplication and some cleanups.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 05 Jun 2015 16:56:47 +0200 |
parents | 4c3ccf2b0304 |
children | 5e38e2924c07 |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/model/RiverAxis.java Fri Jun 05 16:53:07 2015 +0200 +++ b/backend/src/main/java/org/dive4elements/river/model/RiverAxis.java Fri Jun 05 16:56:47 2015 +0200 @@ -29,6 +29,8 @@ import org.hibernate.annotations.Type; +import org.apache.log4j.Logger; + /** * A river has one axis that is used for calculation. * Additional axes of a river can be used to be painted int maps etc. @@ -39,6 +41,8 @@ public class RiverAxis implements Serializable { + private static Logger log = Logger.getLogger(RiverAxis.class); + private Integer id; private AxisKind kind; private River river; @@ -119,11 +123,6 @@ } - public static List<RiverAxis> getRiverAxis(String river) - throws IllegalArgumentException { - return getRiverAxis(river, KIND_CURRENT); - } - public static List<RiverAxis> getRiverAxis(String river, String name, int kind) throws HibernateException { Session session = SessionHolder.HOLDER.get(); @@ -139,16 +138,23 @@ return list.isEmpty() ? null : list; } - public static List<RiverAxis> getRiverAxis(String river, int kind) + public static RiverAxis getRiverAxis(String river) throws HibernateException { Session session = SessionHolder.HOLDER.get(); Query query = session.createQuery( "from RiverAxis where river.name =:river AND kind.id =:kind"); query.setParameter("river", river); - query.setParameter("kind", kind); + query.setParameter("kind", KIND_CURRENT); List<RiverAxis> list = query.list(); - return list.isEmpty() ? null : list; + + /* We expect that every river has only one RiverAxis of kind 1 + thow this is not currently enforced in database schema. */ + if (list.size() > 1) { + log.error("River " + river + " has more than one current axis."); + } + + return list.isEmpty() ? null : list.get(0); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :