Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/BedQualityD50TimeRangeConfig.java @ 9522:23d97d60b889
Selection range of D50 values for tkh calculation can now be configured with a river specific table.
author | gernotbelger |
---|---|
date | Mon, 01 Oct 2018 16:37:12 +0200 |
parents | 787fc085459b |
children | 8e6b9cb9486a |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/BedQualityD50TimeRangeConfig.java Mon Oct 01 16:35:03 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/BedQualityD50TimeRangeConfig.java Mon Oct 01 16:37:12 2018 +0200 @@ -19,6 +19,7 @@ import org.dive4elements.river.artifacts.model.Calculation; import org.dive4elements.river.artifacts.model.DateRange; +import org.dive4elements.river.artifacts.sinfo.tkhcalculation.BedQualityD50KmValueFinder; import org.dive4elements.river.artifacts.sinfo.tkhstate.TsvHelper.TsvReaderException; import org.dive4elements.river.model.River; @@ -39,13 +40,17 @@ private static final long serialVersionUID = 1L; - private BedQualityParseException(final String string) { - super(string); + BedQualityParseException(final String message) { + super(message); + } + + BedQualityParseException(final String message, final Throwable cause) { + super(message, cause); } } public static synchronized DateRange getDefaults(final River river, final int soundingYear, final Calculation problems) - throws BedQualityParseException, IOException, TsvReaderException { + throws BedQualityParseException { return INSTANCE.getBedHeightDefaultsForRiver(river, soundingYear, problems); } @@ -92,11 +97,11 @@ return Integer.valueOf(value); } catch (final NumberFormatException e) { - throw new BedQualityParseException("Invalid input; should be year ('yyyy') or 'MIN' or 'MAX'"); + throw new BedQualityParseException("Invalid input; should be year ('yyyy') or 'MIN' or 'MAX'", e); } } - private static class CalRange { + private static final class CalRange { private final long startTimeSounding; private final long endTimeSounding; @@ -105,23 +110,20 @@ private final static Calendar cal = Calendar.getInstance(); - private Date getStartTimeQuery() { + public Date getStartTimeQuery() { return new Date(this.startTimeQuery); } - private Date getEndTimeQuery() { + public Date getEndTimeQuery() { return new Date(this.endTimeQuery); } - private CalRange(final Integer startYearSounding, final Integer endYearSounding, final Integer startYearQuery, final Integer endYearQuery) { + public CalRange(final Integer startYearSounding, final Integer endYearSounding, final Integer startYearQuery, final Integer endYearQuery) { - this.startTimeSounding = 1L;// (startYearSounding != null) ? getLongValForYear(startYearSounding, 0, 1) : - // BedQualityD50KmValueFinder.MIN_DATE.getTime(); - this.startTimeQuery = 1L;// (startYearQuery != null) ? getLongValForYear(startYearQuery, 0, 1) : BedQualityD50KmValueFinder.MIN_DATE.getTime(); - this.endTimeSounding = 1L;// (endYearSounding != null) ? getLongValForYear(endYearSounding, 11, 31) : - // BedQualityD50KmValueFinder.MAX_DATE.getTime(); - this.endTimeQuery = 1L;// (endYearQuery != null) ? getLongValForYear(endYearQuery, 11, 31) : BedQualityD50KmValueFinder.MAX_DATE.getTime(); - + this.startTimeSounding = (startYearSounding != null) ? getLongValForYear(startYearSounding, 0, 1) : BedQualityD50KmValueFinder.MIN_DATE.getTime(); + this.startTimeQuery = (startYearQuery != null) ? getLongValForYear(startYearQuery, 0, 1) : BedQualityD50KmValueFinder.MIN_DATE.getTime(); + this.endTimeSounding = (endYearSounding != null) ? getLongValForYear(endYearSounding, 11, 31) : BedQualityD50KmValueFinder.MAX_DATE.getTime(); + this.endTimeQuery = (endYearQuery != null) ? getLongValForYear(endYearQuery, 11, 31) : BedQualityD50KmValueFinder.MAX_DATE.getTime(); } private long getLongValForYear(final int year, final int month0based, final int dayOfMonth) { @@ -131,7 +133,7 @@ return cal.getTimeInMillis(); } - private boolean isSoundingYearInRange(final int soundingYear) { + public boolean isSoundingYearInRange(final int soundingYear) { cal.clear(); cal.set(soundingYear, 5, 5); // random date in the middle of the year @@ -143,7 +145,5 @@ return false; } - } - -} +} \ No newline at end of file