# HG changeset patch # User Ingo Weinzierl # Date 1314004208 0 # Node ID 22eea1c9e9078a8c95b9a8a21c8329819a9d9748 # Parent e2deda3b77a7e6e94decb25f284d273335249946 Added a function in RiverAxis to retrieve the RiverAxis of a given river. flys-backend/trunk@2516 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r e2deda3b77a7 -r 22eea1c9e907 flys-backend/ChangeLog --- a/flys-backend/ChangeLog Thu Aug 18 15:03:20 2011 +0000 +++ b/flys-backend/ChangeLog Mon Aug 22 09:10:08 2011 +0000 @@ -1,3 +1,11 @@ +2011-08-22 Ingo Weinzierl + + * src/main/java/de/intevation/flys/model/RiverAxis.java: Added a function + that returns the RiverAxis for a given River. + + * src/main/java/de/intevation/flys/backend/SpatialInfo.java: Use the new + function of RiverAxis to retrieve the RiverAxis. + 2011-08-18 Ingo Weinzierl * doc/schema/postgresql-spatial.sql: The PostGIS database schema for diff -r e2deda3b77a7 -r 22eea1c9e907 flys-backend/src/main/java/de/intevation/flys/backend/SpatialInfo.java --- a/flys-backend/src/main/java/de/intevation/flys/backend/SpatialInfo.java Thu Aug 18 15:03:20 2011 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/backend/SpatialInfo.java Mon Aug 22 09:10:08 2011 +0000 @@ -88,21 +88,11 @@ protected void doRiverAxisInfo(River river) { - Query query = session.createQuery( - "from RiverAxis where river =:river"); - query.setParameter("river", river); - - List list = query.list(); - - if (list == null || list.size() == 0) { - logger.warn("No Riveraxis for '" + river.getName() + "' found!"); - return; - } - - RiverAxis axis = list.get(0); + RiverAxis axis = RiverAxis.getRiverAxis(river.getName()); if (axis != null) { LineString ls = axis.getGeom(); logger.info("River axis is " + ls.getLength() + " long."); + logger.info("River boundary: " + ls.getBoundary()); } else { logger.warn("River has no RiverAxis."); diff -r e2deda3b77a7 -r 22eea1c9e907 flys-backend/src/main/java/de/intevation/flys/model/RiverAxis.java --- a/flys-backend/src/main/java/de/intevation/flys/model/RiverAxis.java Thu Aug 18 15:03:20 2011 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/model/RiverAxis.java Mon Aug 22 09:10:08 2011 +0000 @@ -1,6 +1,7 @@ package de.intevation.flys.model; import java.io.Serializable; +import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; @@ -9,10 +10,14 @@ import javax.persistence.OneToOne; import javax.persistence.Table; +import org.hibernate.Session; +import org.hibernate.Query; import org.hibernate.annotations.Type; import com.vividsolutions.jts.geom.LineString; +import de.intevation.flys.backend.SessionHolder; + @Entity @Table(name = "river_axes") @@ -73,5 +78,18 @@ public void setGeom(LineString geom) { this.geom = geom; } + + + public static RiverAxis getRiverAxis(String river) { + Session session = SessionHolder.HOLDER.get(); + + Query query = session.createQuery( + "from RiverAxis where river.name =:river"); + query.setParameter("river", river); + + List list = query.list(); + + return list.isEmpty() ? null : list.get(0); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :