comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFactory.java @ 6755:91c43293e538

issue1433: Filter loaded unknown sediment yields by kind.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 06 Aug 2013 12:25:53 +0200
parents 35f2d32b921d
children 6da574f78d60
comparison
equal deleted inserted replaced
6753:e032e9e6d09e 6755:91c43293e538
135 " JOIN time_intervals ti ON sy.time_interval_id = ti.id " + 135 " JOIN time_intervals ti ON sy.time_interval_id = ti.id " +
136 " JOIN grain_fraction gf ON sy.grain_fraction_id = gf.id " + 136 " JOIN grain_fraction gf ON sy.grain_fraction_id = gf.id " +
137 " JOIN units u ON sy.unit_id = u.id " + 137 " JOIN units u ON sy.unit_id = u.id " +
138 "WHERE r.name = :river " + 138 "WHERE r.name = :river " +
139 " AND gf.name = 'unknown' " + 139 " AND gf.name = 'unknown' " +
140 " AND sy.kind = :type " +
140 " AND u.name = :unit"; 141 " AND u.name = :unit";
141 142
142 public static final String SQL_SELECT_EPOCHS_DATA = 143 public static final String SQL_SELECT_EPOCHS_DATA =
143 "SELECT" + 144 "SELECT" +
144 " sy.description AS description, " + 145 " sy.description AS description, " +
626 } 627 }
627 628
628 /** 629 /**
629 * Return sediment loads with 'unknown' fraction type. 630 * Return sediment loads with 'unknown' fraction type.
630 * @param unit Restrict result set to those of given unit. 631 * @param unit Restrict result set to those of given unit.
632 * @param type Type like year, epoch, off_epoch
631 */ 633 */
632 public static SedimentLoad[] getSedimentLoadUnknown(String river, String unit) { 634 public static SedimentLoad[] getSedimentLoadUnknown(
635 String river,
636 String unit,
637 String type) {
633 Session session = SessionHolder.HOLDER.get(); 638 Session session = SessionHolder.HOLDER.get();
634 SQLQuery sqlQuery = session.createSQLQuery(SQL_SELECT_UNKNOWN) 639 SQLQuery sqlQuery = session.createSQLQuery(SQL_SELECT_UNKNOWN)
635 .addScalar("description", StandardBasicTypes.STRING) 640 .addScalar("description", StandardBasicTypes.STRING)
636 .addScalar("startYear", StandardBasicTypes.DATE) 641 .addScalar("startYear", StandardBasicTypes.DATE)
637 .addScalar("end", StandardBasicTypes.DATE); 642 .addScalar("end", StandardBasicTypes.DATE);
638 sqlQuery.setString("river", river); 643 sqlQuery.setString("river", river);
639 sqlQuery.setString("unit", unit); 644 sqlQuery.setString("unit", unit);
645 if (type.equals("off_epoch")) {
646 sqlQuery.setInteger("type", 1);
647 }
648 else {
649 sqlQuery.setInteger("type", 0);
650 }
640 List<Object[]> results = sqlQuery.list(); 651 List<Object[]> results = sqlQuery.list();
641 SedimentLoad[] loads = new SedimentLoad[results.size()]; 652 SedimentLoad[] loads = new SedimentLoad[results.size()];
642 int counter = 0; 653 int counter = 0;
643 for (Object[] row: results) { 654 for (Object[] row: results) {
644 loads[counter] = new SedimentLoad( 655 loads[counter] = new SedimentLoad(

http://dive4elements.wald.intevation.org