diff --git a/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9MeasurementRepo.java b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9MeasurementRepo.java index 2b9d2cbdf..cd7ab596a 100644 --- a/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9MeasurementRepo.java +++ b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9MeasurementRepo.java @@ -21,7 +21,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.joda.time.DateTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.commons.lang.StringUtils; import java.io.IOException; import java.util.HashMap; @@ -141,11 +140,7 @@ public class InfluxV9MeasurementRepo implements MeasurementRepo { influxV9Utils.filterPrivateTags(serie.getTags())); for (String[] values : serie.getValues()) { - final int length = values[0].length(); - final String millisecond = values[0].substring(20, length-1); - final String millisecond_3d = StringUtils.rightPad(millisecond, 3, '0'); - final String timestamp = values[0].substring(0, 19) + '.' + millisecond_3d + 'Z'; - + final String timestamp = influxV9Utils.threeDigitMillisTimestamp(values[0]); measurements.addMeasurement( new Object[]{timestamp, Double.parseDouble(values[1]), getValueMeta(values)}); } diff --git a/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9Utils.java b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9Utils.java index 031380e55..9b21432e7 100644 --- a/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9Utils.java +++ b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9Utils.java @@ -15,6 +15,7 @@ package monasca.api.infrastructure.persistence.influxdb; import com.google.inject.Inject; +import org.apache.commons.lang.StringUtils; import org.joda.time.DateTime; import org.joda.time.format.ISODateTimeFormat; @@ -258,4 +259,17 @@ public class InfluxV9Utils { return filteredMap; } + + public String threeDigitMillisTimestamp(String origTimestamp) { + final int length = origTimestamp.length(); + final String timestamp; + if (length == 20) { + timestamp = origTimestamp.substring(0, 19) + ".000Z"; + } else { + final String millisecond = origTimestamp.substring(20, length - 1); + final String millisecond_3d = StringUtils.rightPad(millisecond, 3, '0'); + timestamp = origTimestamp.substring(0, 19) + '.' + millisecond_3d + 'Z'; + } + return timestamp; + } }