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;