Mercurial > hg > release > thermostat-1.0
changeset 1295:fa405a7ac9c5
Make Range immutible/thread-safe
Reviewed-by: jerboaa
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-October/008593.html
author | Omair Majid <omajid@redhat.com> |
---|---|
date | Thu, 31 Oct 2013 11:55:57 -0400 |
parents | cf49a3a699bd |
children | 0ecd20f2a7b7 |
files | client/swing/src/main/java/com/redhat/thermostat/client/swing/components/timeline/TimelineRulerHeader.java common/core/src/main/java/com/redhat/thermostat/common/model/Range.java common/core/src/test/java/com/redhat/thermostat/common/model/LongRangeNormalizerTest.java thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTimelineController.java thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/SwingThreadTimelineView.java |
diffstat | 5 files changed, 17 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/timeline/TimelineRulerHeader.java Thu Oct 31 16:37:07 2013 +0100 +++ b/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/timeline/TimelineRulerHeader.java Thu Oct 31 11:55:57 2013 -0400 @@ -89,6 +89,10 @@ return range; } + public void setRange(Range<Long> range) { + this.range = range; + } + @Override public int getHeight() { return DEFAULT_HEIGHT; @@ -187,5 +191,6 @@ increment++; } } + }
--- a/common/core/src/main/java/com/redhat/thermostat/common/model/Range.java Thu Oct 31 16:37:07 2013 +0100 +++ b/common/core/src/main/java/com/redhat/thermostat/common/model/Range.java Thu Oct 31 11:55:57 2013 -0400 @@ -43,11 +43,13 @@ * * The units and the meaning of the range are left to the user, including the * fact that the range are inclusive or exclusive of the extremes. + * <p> + * This class is immutable and thread safe. */ public class Range<T extends Number> { - T min; - T max; + final T min; + final T max; /** * Creates a new Range that span from min to max. @@ -57,18 +59,10 @@ this.max = max; } - public void setMax(T max) { - this.max = max; - } - public T getMax() { return max; } - public void setMin(T min) { - this.min = min; - } - public T getMin() { return min; }
--- a/common/core/src/test/java/com/redhat/thermostat/common/model/LongRangeNormalizerTest.java Thu Oct 31 16:37:07 2013 +0100 +++ b/common/core/src/test/java/com/redhat/thermostat/common/model/LongRangeNormalizerTest.java Thu Oct 31 11:55:57 2013 -0400 @@ -81,8 +81,9 @@ Assert.assertEquals(150, model.getValueNormalized(5)); - range.setMax(100l); - range.setMin(0l); + range = new Range<>(0l, 100l); + + model = new LongRangeNormalizer(range); model.setMaxNormalized(1); model.setMinNormalized(0);
--- a/thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTimelineController.java Thu Oct 31 16:37:07 2013 +0100 +++ b/thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTimelineController.java Thu Oct 31 11:55:57 2013 -0400 @@ -97,10 +97,10 @@ timeline.add(info); if (range.getMin() > timestamp) { - range.setMin(timestamp); + range = new Range<>(timestamp, range.getMax()); } if (range.getMax() < timestamp) { - range.setMax(timestamp); + range = new Range<>(range.getMin(), timestamp); } } timelines.add(timeline);
--- a/thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/SwingThreadTimelineView.java Thu Oct 31 16:37:07 2013 +0100 +++ b/thread/client-swing/src/main/java/com/redhat/thermostat/thread/client/swing/impl/SwingThreadTimelineView.java Thu Oct 31 11:55:57 2013 -0400 @@ -146,7 +146,8 @@ SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - range.setMax(range.getMax() + (int) (2 * header.getUnitIncrementInMillis())); + Range<Long> dataTimeRange = new Range<>(range.getMax(), + range.getMax() + (int) (2 * header.getUnitIncrementInMillis())); chartModel.removeAllElements(); for (Timeline timeline : timelines) { @@ -156,8 +157,7 @@ chartModel.addElement(timelineComp); } - header.getRange().setMin(range.getMin()); - header.getRange().setMax(range.getMax()); + header.setRange(range); handleScrollBar(); }