Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/DateUniqueMaker.java @ 7899:8333b9b06c98 3.1.3
Return NaN for width if no width exists for the requested station in bedheights data.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 21 May 2014 17:03:02 +0200 |
parents | 2d96d8240e3e |
children | a805211690f7 |
line wrap: on
line source
package org.dive4elements.river.artifacts.model.fixings; import java.util.Date; import gnu.trove.TIntObjectHashMap; import gnu.trove.TLongHashSet; public class DateUniqueMaker { private TLongHashSet times; private TIntObjectHashMap already; public DateUniqueMaker() { times = new TLongHashSet(); already = new TIntObjectHashMap(); } public <T extends QWI> void makeUnique(T t) { // Map same index to same new value if (already.containsKey(t.index)) { t.date = (Date)already.get(t.index); return; } long time = t.date.getTime(); if (!times.add(time)) { // same found before do { time += 30L*1000L; // Add 30secs } while (!times.add(time)); Date newDate = new Date(time); already.put(t.index, newDate); // Write back modified time. t.date = newDate; } else { // register as seen. already.put(t.index, t.date); } } }