diff --git a/pdb-js/src/app/visualization-page/visualization-page.component.html b/pdb-js/src/app/visualization-page/visualization-page.component.html index 5aaad68..193daeb 100644 --- a/pdb-js/src/app/visualization-page/visualization-page.component.html +++ b/pdb-js/src/app/visualization-page/visualization-page.component.html @@ -36,6 +36,7 @@ Intervals (only bar chart): - + second minute hour day diff --git a/pdb-plotting/src/main/java/org/lucares/pdb/plot/api/Interval.java b/pdb-plotting/src/main/java/org/lucares/pdb/plot/api/Interval.java index 2059c22..1e45139 100644 --- a/pdb-plotting/src/main/java/org/lucares/pdb/plot/api/Interval.java +++ b/pdb-plotting/src/main/java/org/lucares/pdb/plot/api/Interval.java @@ -28,6 +28,8 @@ public class Interval { private String toDateFormatForBucketer(final IntervalTimeUnit intervalTimeUnit) { switch (intervalTimeUnit) { + case SECOND: + return "yyyy-MM-dd'\\n'HH:mm:ss"; case MINUTE: return "yyyy-MM-dd'\\n'HH:mm"; case HOUR: diff --git a/pdb-plotting/src/main/java/org/lucares/pdb/plot/api/IntervalTimeUnit.java b/pdb-plotting/src/main/java/org/lucares/pdb/plot/api/IntervalTimeUnit.java index a30af50..d8cd732 100644 --- a/pdb-plotting/src/main/java/org/lucares/pdb/plot/api/IntervalTimeUnit.java +++ b/pdb-plotting/src/main/java/org/lucares/pdb/plot/api/IntervalTimeUnit.java @@ -3,7 +3,7 @@ package org.lucares.pdb.plot.api; import org.lucares.utils.DateBucketUnit; public enum IntervalTimeUnit { - MINUTE, HOUR, DAY, WEEK, MONTH, YEAR; + SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR; public static boolean isValid(final String value) { for (final IntervalTimeUnit e : values()) { @@ -16,6 +16,8 @@ public enum IntervalTimeUnit { public DateBucketUnit toChronoUnit() { switch (this) { + case SECOND: + return DateBucketUnit.SECOND; case MINUTE: return DateBucketUnit.MINUTE; case HOUR: diff --git a/pdb-utils/src/main/java/org/lucares/utils/BeginningOfNextInterval.java b/pdb-utils/src/main/java/org/lucares/utils/BeginningOfNextInterval.java index f7f7ffb..d039c2e 100644 --- a/pdb-utils/src/main/java/org/lucares/utils/BeginningOfNextInterval.java +++ b/pdb-utils/src/main/java/org/lucares/utils/BeginningOfNextInterval.java @@ -19,6 +19,10 @@ public class BeginningOfNextInterval implements TemporalAdjuster { result = result.with(startOfInterval); switch (unit) { + case SECOND: { + result = result.plus(1, ChronoUnit.SECONDS); + break; + } case MINUTE: { result = result.plus(1, ChronoUnit.MINUTES); break; diff --git a/pdb-utils/src/main/java/org/lucares/utils/DateBucketUnit.java b/pdb-utils/src/main/java/org/lucares/utils/DateBucketUnit.java index d5017b3..a9ce487 100644 --- a/pdb-utils/src/main/java/org/lucares/utils/DateBucketUnit.java +++ b/pdb-utils/src/main/java/org/lucares/utils/DateBucketUnit.java @@ -1,5 +1,5 @@ package org.lucares.utils; public enum DateBucketUnit { - MINUTE, HOUR, DAY, WEEK, MONTH, YEAR; + SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR; } diff --git a/pdb-utils/src/main/java/org/lucares/utils/StartOfInterval.java b/pdb-utils/src/main/java/org/lucares/utils/StartOfInterval.java index 9fed363..dfca56b 100644 --- a/pdb-utils/src/main/java/org/lucares/utils/StartOfInterval.java +++ b/pdb-utils/src/main/java/org/lucares/utils/StartOfInterval.java @@ -18,7 +18,6 @@ public class StartOfInterval implements TemporalAdjuster { result = result.with(ChronoField.NANO_OF_SECOND, 0); result = result.with(ChronoField.MICRO_OF_SECOND, 0); result = result.with(ChronoField.MILLI_OF_SECOND, 0); - result = result.with(ChronoField.SECOND_OF_MINUTE, 0); for (final DateBucketUnit dateBucketUnit : DateBucketUnit.values()) { if (dateBucketUnit.compareTo(unit) >= 0) { @@ -26,6 +25,10 @@ public class StartOfInterval implements TemporalAdjuster { } switch (dateBucketUnit) { + case SECOND: { + result = result.with(ChronoField.SECOND_OF_MINUTE, 0); + break; + } case MINUTE: { result = result.with(ChronoField.MINUTE_OF_HOUR, 0); break;