comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensityFactory.java @ 7219:13f0bdeb2b47

issue1435: SedimentDensityFactory: Changed variable name of query to reflect purpose better, added query and method to find description of density by its id.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 01 Oct 2013 10:03:20 +0200
parents 8079e3ba31c9
children 349730f8a49f
comparison
equal deleted inserted replaced
7218:c9e74fe2ed4d 7219:13f0bdeb2b47
37 " FROM sediment_density sd" + 37 " FROM sediment_density sd" +
38 " JOIN rivers r ON sd.river_id = r.id " + 38 " JOIN rivers r ON sd.river_id = r.id " +
39 " JOIN sediment_density_values sdv ON sd.id = sdv.sediment_density_id" + 39 " JOIN sediment_density_values sdv ON sd.id = sdv.sediment_density_id" +
40 " WHERE r.name = :name"; 40 " WHERE r.name = :name";
41 41
42 /** Query to get sediment density values and kms by id and year. */ 42 /** Query to get sediment density values and kms by id. */
43 private static final String SQL_SELECT_DENSITY_BY_ID_YEAR = 43 private static final String SQL_SELECT_DENSITY_BY_ID =
44 "SELECT sdv.station AS km, " + 44 "SELECT sdv.station AS km, " +
45 " sdv.density AS density," + 45 " sdv.density AS density," +
46 " sdv.year AS year " + 46 " sdv.year AS year " +
47 " FROM sediment_density sd" + 47 " FROM sediment_density sd" +
48 " JOIN sediment_density_values sdv ON sd.id = sdv.sediment_density_id" + 48 " JOIN sediment_density_values sdv ON sd.id = sdv.sediment_density_id" +
49 " WHERE sd.id = :id";
50
51 /** Query to get sediment density description by id. */
52 private static final String SQL_SELECT_DESCRIPTION_BY_ID =
53 "SELECT sd.description " +
54 " FROM sediment_density sd" +
49 " WHERE sd.id = :id"; 55 " WHERE sd.id = :id";
50 56
51 private SedimentDensityFactory() {} 57 private SedimentDensityFactory() {}
52 58
53 public static SedimentDensity getSedimentDensity( 59 public static SedimentDensity getSedimentDensity(
104 110
105 density.cleanUp(); 111 density.cleanUp();
106 return density; 112 return density;
107 } 113 }
108 114
115 public static String getSedimentDensityDescription(int id) {
116 log.debug("getSedimentDensityDescription");
117 Session session = SessionHolder.HOLDER.get();
118 SQLQuery sqlQuery = session.createSQLQuery(SQL_SELECT_DESCRIPTION_BY_ID)
119 .addScalar("description", StandardBasicTypes.STRING);
120 sqlQuery.setInteger("id", id);
121 List<Object> results = sqlQuery.list();
122
123 return (String) results.get(0);
124 }
125
109 public static SedimentDensity getSedimentDensityUncached( 126 public static SedimentDensity getSedimentDensityUncached(
110 int id 127 int id
111 ) { 128 ) {
112 log.debug("getSedimentDensityUncached id/year"); 129 log.debug("getSedimentDensityUncached id/year");
113 Session session = SessionHolder.HOLDER.get(); 130 Session session = SessionHolder.HOLDER.get();
114 SQLQuery sqlQuery = session.createSQLQuery(SQL_SELECT_DENSITY_BY_ID_YEAR) 131 SQLQuery sqlQuery = session.createSQLQuery(SQL_SELECT_DENSITY_BY_ID)
115 .addScalar("km", StandardBasicTypes.DOUBLE) 132 .addScalar("km", StandardBasicTypes.DOUBLE)
116 .addScalar("density", StandardBasicTypes.DOUBLE) 133 .addScalar("density", StandardBasicTypes.DOUBLE)
117 .addScalar("year", StandardBasicTypes.INTEGER); 134 .addScalar("year", StandardBasicTypes.INTEGER);
118 sqlQuery.setInteger("id", id); 135 sqlQuery.setInteger("id", id);
119 List<Object[]> results = sqlQuery.list(); 136 List<Object[]> results = sqlQuery.list();

http://dive4elements.wald.intevation.org