Skip to content

Commit ae3d704

Browse files
feat: clone options
1 parent 27267a9 commit ae3d704

File tree

6 files changed

+52
-23
lines changed

6 files changed

+52
-23
lines changed

examples/src/main/java/com/influxdb/v3/IOxExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public static void main(final String[] args) throws Exception {
9898

9999
String influxQL =
100100
"select MEAN(value) from temperature group by time(1d) fill(none) order by time desc limit 10";
101-
try (Stream<Object[]> stream = client.query(influxQL, QueryOptions.INFLUX_QL)) {
101+
try (Stream<Object[]> stream = client.query(influxQL, QueryOptions.defaultInfluxQlQueryOptions())) {
102102
stream.forEach(row -> System.out.printf("| %-16s | %-18s |%n", row[1], row[2]));
103103
}
104104

src/main/java/com/influxdb/v3/client/internal/InfluxDBClientImpl.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public InfluxDBClientImpl(@Nonnull final ClientConfig config) {
111111

112112
@Override
113113
public void writeRecord(@Nullable final String record) {
114-
writeRecord(record, WriteOptions.DEFAULTS);
114+
writeRecord(record, WriteOptions.defaultWriteOptions());
115115
}
116116

117117
@Override
@@ -125,7 +125,7 @@ public void writeRecord(@Nullable final String record, @Nonnull final WriteOptio
125125

126126
@Override
127127
public void writeRecords(@Nonnull final List<String> records) {
128-
writeRecords(records, WriteOptions.DEFAULTS);
128+
writeRecords(records, WriteOptions.defaultWriteOptions());
129129
}
130130

131131
@Override
@@ -135,7 +135,7 @@ public void writeRecords(@Nonnull final List<String> records, @Nonnull final Wri
135135

136136
@Override
137137
public void writePoint(@Nullable final Point point) {
138-
writePoint(point, WriteOptions.DEFAULTS);
138+
writePoint(point, WriteOptions.defaultWriteOptions());
139139
}
140140

141141
@Override
@@ -149,7 +149,7 @@ public void writePoint(@Nullable final Point point, @Nonnull final WriteOptions
149149

150150
@Override
151151
public void writePoints(@Nonnull final List<Point> points) {
152-
writePoints(points, WriteOptions.DEFAULTS);
152+
writePoints(points, WriteOptions.defaultWriteOptions());
153153
}
154154

155155
@Override
@@ -160,7 +160,7 @@ public void writePoints(@Nonnull final List<Point> points, @Nonnull final WriteO
160160
@Nonnull
161161
@Override
162162
public Stream<Object[]> query(@Nonnull final String query) {
163-
return query(query, NO_PARAMETERS, QueryOptions.DEFAULTS);
163+
return query(query, NO_PARAMETERS, QueryOptions.defaultQueryOptions());
164164
}
165165

166166
@Nonnull
@@ -172,7 +172,7 @@ public Stream<Object[]> query(@Nonnull final String query, @Nonnull final QueryO
172172
@Nonnull
173173
@Override
174174
public Stream<Object[]> query(@Nonnull final String query, @Nonnull final Map<String, Object> parameters) {
175-
return query(query, parameters, QueryOptions.DEFAULTS);
175+
return query(query, parameters, QueryOptions.defaultQueryOptions());
176176
}
177177

178178
@Nonnull
@@ -193,7 +193,7 @@ public Stream<Object[]> query(@Nonnull final String query,
193193
@Nonnull
194194
@Override
195195
public Stream<PointValues> queryPoints(@Nonnull final String query) {
196-
return queryPoints(query, QueryOptions.DEFAULTS);
196+
return queryPoints(query, QueryOptions.defaultQueryOptions());
197197
}
198198

199199
@Nonnull
@@ -205,7 +205,7 @@ public Stream<PointValues> queryPoints(@Nonnull final String query, @Nonnull fin
205205
@Nonnull
206206
@Override
207207
public Stream<PointValues> queryPoints(@Nonnull final String query, @Nonnull final Map<String, Object> parameters) {
208-
return queryPoints(query, parameters, QueryOptions.DEFAULTS);
208+
return queryPoints(query, parameters, QueryOptions.defaultQueryOptions());
209209
}
210210

211211
@Nonnull
@@ -226,7 +226,7 @@ public Stream<PointValues> queryPoints(@Nonnull final String query,
226226
@Nonnull
227227
@Override
228228
public Stream<VectorSchemaRoot> queryBatches(@Nonnull final String query) {
229-
return queryBatches(query, QueryOptions.DEFAULTS);
229+
return queryBatches(query, QueryOptions.defaultQueryOptions());
230230
}
231231

232232
@Nonnull
@@ -239,7 +239,7 @@ public Stream<VectorSchemaRoot> queryBatches(@Nonnull final String query, @Nonnu
239239
@Override
240240
public Stream<VectorSchemaRoot> queryBatches(@Nonnull final String query,
241241
@Nonnull final Map<String, Object> parameters) {
242-
return queryBatches(query, parameters, QueryOptions.DEFAULTS);
242+
return queryBatches(query, parameters, QueryOptions.defaultQueryOptions());
243243
}
244244

245245
@Nonnull

src/main/java/com/influxdb/v3/client/query/QueryOptions.java

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,43 @@
5151
public final class QueryOptions {
5252

5353
/**
54-
* Default QueryAPI options.
54+
* Default QueryAPI options.<br>
55+
* Deprecated: use {@link #defaultQueryOptions()} instead.
5556
*/
57+
@Deprecated(forRemoval = true)
5658
public static final QueryOptions DEFAULTS = new QueryOptions(null, QueryType.SQL);
59+
5760
/**
58-
* Default QueryAPI options for InfluxQL.
61+
* Default QueryAPI options for InfluxQL.<br>
62+
* Deprecated: use {@link #defaultInfluxQlQueryOptions()} instead.
5963
*/
64+
@Deprecated(forRemoval = true)
6065
public static final QueryOptions INFLUX_QL = new QueryOptions(null, QueryType.InfluxQL);
6166

6267
private final String database;
6368
private final QueryType queryType;
6469
private final Map<String, String> headers;
6570
private GrpcCallOptions grpcCallOptions = GrpcCallOptions.getDefaultOptions();
6671

72+
/**
73+
* Provides default query options with no database specified and using SQL as the query type.
74+
*
75+
* @return A {@code QueryOptions} instance with default settings, including a null database
76+
* and {@code QueryType.SQL} as the query type.
77+
*/
78+
public static QueryOptions defaultQueryOptions() {
79+
return new QueryOptions(null, QueryType.SQL);
80+
}
81+
82+
/**
83+
* Provides default query options for executing InfluxQL queries with no database specified.
84+
*
85+
* @return A {@code QueryOptions} instance configured with a null database and {@code QueryType.InfluxQL}.
86+
*/
87+
public static QueryOptions defaultInfluxQlQueryOptions() {
88+
return new QueryOptions(null, QueryType.InfluxQL);
89+
}
90+
6791
/**
6892
* Construct QueryAPI options. The query type is set to SQL.
6993
*

src/main/java/com/influxdb/v3/client/write/WriteOptions.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,11 @@ public final class WriteOptions {
6161
* Default GZIP threshold.
6262
*/
6363
public static final Integer DEFAULT_GZIP_THRESHOLD = 1000;
64+
65+
@Deprecated(forRemoval = true)
6466
/**
65-
* Default WriteOptions.
67+
* Default WriteOptions.<br>
68+
* Deprecated: use {@link #defaultWriteOptions()} instead.
6669
*/
6770
public static final WriteOptions DEFAULTS = new WriteOptions(null, DEFAULT_WRITE_PRECISION, DEFAULT_GZIP_THRESHOLD);
6871

@@ -72,6 +75,16 @@ public final class WriteOptions {
7275
private final Map<String, String> defaultTags;
7376
private final Map<String, String> headers;
7477

78+
/**
79+
* Creates a default instance of {@code WriteOptions} configured with standard values.
80+
*
81+
* @return A {@code WriteOptions} object with the default settings for write precision,
82+
* compression threshold, and no specified database.
83+
*/
84+
public static WriteOptions defaultWriteOptions() {
85+
return new WriteOptions(null, DEFAULT_WRITE_PRECISION, DEFAULT_GZIP_THRESHOLD);
86+
}
87+
7588
/**
7689
* Construct WriteAPI options.
7790
*

src/test/java/com/influxdb/v3/client/ITQueryWrite.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ void queryWrite() {
9595

9696
String influxQL = String.format("SELECT MEAN(value) FROM %s WHERE \"testId\"=%d "
9797
+ "group by time(1s) fill(none) order by time desc limit 1", measurement, testId);
98-
try (Stream<Object[]> stream = client.query(influxQL, QueryOptions.INFLUX_QL)) {
98+
try (Stream<Object[]> stream = client.query(influxQL, QueryOptions.defaultInfluxQlQueryOptions())) {
9999

100100
List<Object[]> rows = stream.collect(Collectors.toList());
101101

src/test/java/com/influxdb/v3/client/InfluxDBClientTest.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,6 @@ void requiredHostConnectionString() {
6565
.hasMessageContaining("no protocol");
6666
}
6767

68-
@Test
69-
void requiredHostEnvOrProperties() {
70-
71-
Assertions.assertThatThrownBy(InfluxDBClient::getInstance)
72-
.isInstanceOf(IllegalArgumentException.class)
73-
.hasMessage("The URL of the InfluxDB server has to be defined.");
74-
}
75-
7668
@Test
7769
void fromParameters() throws Exception {
7870

0 commit comments

Comments
 (0)