From 997992ec51a7d9ed0bc08ae54021e33394d19eac Mon Sep 17 00:00:00 2001 From: kub Date: Fri, 23 Mar 2018 16:21:10 +0100 Subject: [PATCH] allow to figure out, whether the Point.Builder has any fields since the build mehtod contains validation for fields emptiness, there should be also way, how to figure out, whether the Builder contains any fields (to prevent the build method from throwing an exception) --- src/main/java/org/influxdb/dto/Point.java | 9 +++++++++ src/test/java/org/influxdb/dto/PointTest.java | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/src/main/java/org/influxdb/dto/Point.java b/src/main/java/org/influxdb/dto/Point.java index acac4a82d..97122ca54 100644 --- a/src/main/java/org/influxdb/dto/Point.java +++ b/src/main/java/org/influxdb/dto/Point.java @@ -187,6 +187,15 @@ public Builder time(final long timeToSet, final TimeUnit precisionToSet) { return this; } + /** + * Does this builder contain any fields? + * + * @return true, if the builder contains any fields, false otherwise. + */ + public boolean hasFields() { + return !fields.isEmpty(); + } + /** * Create a new Point. * diff --git a/src/test/java/org/influxdb/dto/PointTest.java b/src/test/java/org/influxdb/dto/PointTest.java index e828fd9cc..33e11f631 100644 --- a/src/test/java/org/influxdb/dto/PointTest.java +++ b/src/test/java/org/influxdb/dto/PointTest.java @@ -330,4 +330,13 @@ public void testUnEquals() throws Exception { // THEN equals returns true assertThat(equals).isEqualTo(false); } + + @Test + public void testBuilderHasFields() { + Point.Builder pointBuilder = Point.measurement("nulltest").time(1, TimeUnit.NANOSECONDS).tag("foo", "bar"); + assertThat(pointBuilder.hasFields()).isFalse(); + + pointBuilder.addField("testfield", 256); + assertThat(pointBuilder.hasFields()).isTrue(); + } }