# HG changeset patch # User Felix Wolfsteller # Date 1381745734 -7200 # Node ID 349730f8a49f2cd75592f8cf4fd4c419a0873c6f # Parent 5ac4c9119aefe4f4601f09461cb3399d3c3a7492 issue1345: Added getDepth() to SedimentDensityFactory. diff -r 5ac4c9119aef -r 349730f8a49f artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensityFactory.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensityFactory.java Mon Oct 14 12:14:20 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensityFactory.java Mon Oct 14 12:15:34 2013 +0200 @@ -48,6 +48,14 @@ " JOIN sediment_density_values sdv ON sd.id = sdv.sediment_density_id" + " WHERE sd.id = :id"; + /** Query to get sediment density depth by sediment density id. */ + private static final String SQL_SELECT_DENSITY_DEPTH_BY_ID = + "SELECT d.lower AS lower, " + + " d.upper AS upper" + + " FROM sediment_density sd " + + " JOIN depths d ON d.id = sd.depth_id " + + " WHERE sd.id = :id"; + /** Query to get sediment density description by id. */ private static final String SQL_SELECT_DESCRIPTION_BY_ID = "SELECT sd.description " + @@ -112,6 +120,21 @@ return density; } + /** Query and return depth of a sediment density entry. */ + public static double[] getDepth(int id) { + log.debug("getDepth"); + Session session = SessionHolder.HOLDER.get(); + SQLQuery sqlQuery = session.createSQLQuery(SQL_SELECT_DENSITY_DEPTH_BY_ID) + .addScalar("lower", StandardBasicTypes.DOUBLE) + .addScalar("upper", StandardBasicTypes.DOUBLE); + sqlQuery.setInteger("id", id); + List results = sqlQuery.list(); + Object[] row = results.get(0); + + return new double[] {(Double)row[0], (Double)row[1]}; + } + + /** Query and return description of a sediment density entry. */ public static String getSedimentDensityDescription(int id) { log.debug("getSedimentDensityDescription"); Session session = SessionHolder.HOLDER.get();