Mercurial > dive4elements > river
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( |