Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/common/EpochYearAccessHelper.java @ 9155:9b4f5e61c02e
Changed to list of DateRange, added methods in DateRange to support year ranges
author | mschaefer |
---|---|
date | Tue, 19 Jun 2018 14:15:32 +0200 |
parents | 611a523fc42f |
children | 2f5052835b76 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/common/EpochYearAccessHelper.java Thu Jun 14 17:51:30 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/common/EpochYearAccessHelper.java Tue Jun 19 14:15:32 2018 +0200 @@ -9,10 +9,15 @@ */ package org.dive4elements.river.artifacts.common; +import java.util.ArrayList; +import java.util.List; + import org.apache.log4j.Logger; import org.dive4elements.artifacts.Artifact; import org.dive4elements.river.artifacts.D4EArtifact; import org.dive4elements.river.artifacts.access.Access; +import org.dive4elements.river.artifacts.model.DateRange; +import org.dive4elements.river.backend.utils.DateUtil; import gnu.trove.TIntArrayList; @@ -68,8 +73,8 @@ return null; } - public int[][] getEpochs(final String epochSelectedValue, final String epochKey) { - int epochs[][] = null; + public List<DateRange> getEpochs(final String epochSelectedValue, final String epochKey) { + final List<DateRange> epochs = new ArrayList<>(); // if (epochs != null) { // return epochs; // } @@ -79,23 +84,15 @@ } final String data = getString(epochKey); - if (data == null) { log.warn("No 'epochs' parameter specified!"); return null; } - final String[] parts = data.split(";"); - - epochs = new int[parts.length][]; - - for (int i = 0; i < parts.length; i++) { - final String[] values = parts[i].split(","); - final TIntArrayList ints = new TIntArrayList(); + for (final String part : data.split(";")) { + final String[] values = part.split(","); try { - ints.add(Integer.parseInt(values[0])); - ints.add(Integer.parseInt(values[1])); - epochs[i] = ints.toNativeArray(); + epochs.add(new DateRange(DateUtil.getStartDateFromYear(Integer.parseInt(values[0])), DateUtil.getEndDateFromYear(Integer.parseInt(values[1])))); } catch (final NumberFormatException nfe) { log.warn("Cannot parse int from string: '" + values + "'");