From 271b0577f3491236db6f8a4da1f4e4aeded44168 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 26 Jul 2022 15:16:47 +0200 Subject: [PATCH] [Fix] Simplified TimeVariable.getValueAt() and removed value from TimeValue.compareTo() --- .../strolch/model/timevalue/impl/TimeValue.java | 11 +---------- .../model/timevalue/impl/TimeVariable.java | 17 ++++++----------- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/li.strolch.model/src/main/java/li/strolch/model/timevalue/impl/TimeValue.java b/li.strolch.model/src/main/java/li/strolch/model/timevalue/impl/TimeValue.java index caa058c99..0a51d6a8c 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/timevalue/impl/TimeValue.java +++ b/li.strolch.model/src/main/java/li/strolch/model/timevalue/impl/TimeValue.java @@ -67,16 +67,7 @@ public class TimeValue implements ITimeValue, Serializable @SuppressWarnings("unchecked") @Override public int compareTo(final ITimeValue arg0) { - int i = getTime().compareTo(arg0.getTime()); - if (i != 0) - return i; - if (this.value == null && arg0.getValue() == null) - return 0; - if (this.value == null) - return -1; - if (arg0.getValue() == null) - return 1; - return getValue().compareTo(arg0.getValue()); + return getTime().compareTo(arg0.getTime()); } @SuppressWarnings("unchecked") diff --git a/li.strolch.model/src/main/java/li/strolch/model/timevalue/impl/TimeVariable.java b/li.strolch.model/src/main/java/li/strolch/model/timevalue/impl/TimeVariable.java index 050adbbb4..9b15cdb75 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/timevalue/impl/TimeVariable.java +++ b/li.strolch.model/src/main/java/li/strolch/model/timevalue/impl/TimeVariable.java @@ -15,10 +15,13 @@ */ package li.strolch.model.timevalue.impl; -import static java.util.Collections.*; +import static java.util.Collections.unmodifiableNavigableSet; import java.io.Serializable; -import java.util.*; +import java.util.Iterator; +import java.util.NavigableSet; +import java.util.SortedSet; +import java.util.TreeSet; import java.util.stream.Stream; import li.strolch.exception.StrolchModelException; @@ -38,15 +41,7 @@ public class TimeVariable implements ITimeVariable, Seriali @Override public ITimeValue getValueAt(long time) { - ITimeValue tmp = null; - for (ITimeValue value : this.container) { - if (value.getTime() <= time) { - tmp = value; - } else { - break; - } - } - return tmp; + return this.container.floor(new TimeValue<>(time, null)); } @Override