Skip to content

Commit 6018bb0

Browse files
committed
Add DeleteService (#66)
1 parent 63ab5f2 commit 6018bb0

File tree

3 files changed

+49
-13
lines changed

3 files changed

+49
-13
lines changed

client/src/main/java/com/influxdb/client/DeleteApi.java

+21-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
import java.time.OffsetDateTime;
2525
import javax.annotation.Nonnull;
2626

27+
import com.influxdb.client.domain.Bucket;
2728
import com.influxdb.client.domain.DeletePredicateRequest;
29+
import com.influxdb.client.domain.Organization;
2830

2931
/**
3032
* API to Delete time-series data from InfluxDB 2.0.
@@ -40,22 +42,37 @@ public interface DeleteApi {
4042
* @param stop time
4143
* @param predicate sql where like delete statement.
4244
* @param bucket The bucket from which data will be deleted.
43-
* @param organization The organization name of the above bucket.
45+
* @param org The organization name of the above bucket.
46+
*/
47+
void delete(@Nonnull final OffsetDateTime start,
48+
@Nonnull final OffsetDateTime stop,
49+
@Nonnull final String predicate,
50+
@Nonnull final Bucket bucket,
51+
@Nonnull final Organization org);
52+
53+
/**
54+
* Delete Time series data from InfluxDB.
55+
*
56+
* @param start time
57+
* @param stop time
58+
* @param predicate sql where like delete statement.
59+
* @param bucket The bucket from which data will be deleted.
60+
* @param org The organization name of the above bucket.
4461
*/
4562
void delete(@Nonnull final OffsetDateTime start,
4663
@Nonnull final OffsetDateTime stop,
4764
@Nonnull final String predicate,
4865
@Nonnull final String bucket,
49-
@Nonnull final String organization);
66+
@Nonnull final String org);
5067

5168
/**
5269
* Delete Time series data from InfluxDB.
5370
*
5471
* @param predicate delete request.
5572
* @param bucket The bucket from which data will be deleted.
56-
* @param organization The organization name of the above bucket.
73+
* @param org The organization name of the above bucket.
5774
*/
5875
void delete(@Nonnull final DeletePredicateRequest predicate,
5976
@Nonnull final String bucket,
60-
@Nonnull final String organization);
77+
@Nonnull final String org);
6178
}

client/src/main/java/com/influxdb/client/internal/DeleteApiImpl.java

+26-8
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@
2828

2929
import com.influxdb.Arguments;
3030
import com.influxdb.client.DeleteApi;
31+
import com.influxdb.client.domain.Bucket;
3132
import com.influxdb.client.domain.DeletePredicateRequest;
33+
import com.influxdb.client.domain.Organization;
3234
import com.influxdb.client.service.DefaultService;
3335
import com.influxdb.internal.AbstractRestClient;
3436

@@ -50,46 +52,62 @@ public class DeleteApiImpl extends AbstractRestClient implements DeleteApi {
5052
this.service = service;
5153
}
5254

55+
@Override
56+
public void delete(final @Nonnull OffsetDateTime start,
57+
final @Nonnull OffsetDateTime stop,
58+
final @Nonnull String predicate,
59+
final @Nonnull Bucket bucket,
60+
final @Nonnull Organization org) {
61+
62+
Arguments.checkNotNull(start, "Start is required");
63+
Arguments.checkNotNull(stop, "Stop is required");
64+
Arguments.checkNotNull(predicate, "Predicate is required");
65+
Arguments.checkNotNull(bucket, "Bucket is required");
66+
Arguments.checkNotNull(org, "Organization is required");
67+
68+
delete(start, stop, predicate, bucket.getId(), org.getId());
69+
}
70+
5371
@Override
5472
public void delete(final @Nonnull OffsetDateTime start,
5573
final @Nonnull OffsetDateTime stop,
5674
final @Nonnull String predicate,
5775
final @Nonnull String bucket,
58-
final @Nonnull String organization) {
76+
final @Nonnull String org) {
5977

6078
Arguments.checkNotNull(start, "Start is required");
6179
Arguments.checkNotNull(stop, "Stop is required");
6280
Arguments.checkNotNull(predicate, "Predicate is required");
6381
Arguments.checkNonEmpty(bucket, "Bucket is required");
64-
Arguments.checkNonEmpty(organization, "Organization is required");
82+
Arguments.checkNonEmpty(org, "Organization is required");
6583

6684
DeletePredicateRequest request = new DeletePredicateRequest();
6785
request.setStart(start);
6886
request.setStop(stop);
6987
request.setPredicate(predicate);
7088

71-
delete(request, bucket, organization);
89+
delete(request, bucket, org);
7290
}
7391

7492
@Override
7593
public void delete(final @Nonnull DeletePredicateRequest predicate,
7694
final @Nonnull String bucket,
77-
final @Nonnull String organization) {
95+
final @Nonnull String org) {
7896

7997
Arguments.checkNotNull(predicate, "Predicate is required");
8098
Arguments.checkNonEmpty(bucket, "Bucket is required");
81-
Arguments.checkNonEmpty(organization, "Organization is required");
99+
Arguments.checkNonEmpty(org, "Organization is required");
82100

83101
LOG.log(Level.FINEST,
84102
"Deleting time-series data from InfluxDB (org={0}, bucket={1})...",
85-
new Object[]{organization, bucket});
103+
new Object[]{org, bucket});
86104

87-
Call<Void> call = service.deletePost(predicate, null, organization, bucket,
105+
Call<Void> call = service.deletePost(predicate, null, org, bucket,
88106
null, null);
89107

90108
execute(call);
91109

92110
LOG.log(Level.FINEST, "Data was deleted from InfluxDB: (org={0}, bucket={1})",
93-
new Object[]{organization, bucket});
111+
new Object[]{org, bucket});
94112
}
95113
}

client/src/test/java/com/influxdb/client/ITDeleteApi.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import com.influxdb.client.domain.WritePrecision;
3737
import com.influxdb.client.write.Point;
3838
import com.influxdb.query.FluxTable;
39+
3940
import org.assertj.core.api.Assertions;
4041
import org.junit.jupiter.api.BeforeEach;
4142
import org.junit.jupiter.api.Test;
@@ -124,7 +125,7 @@ void delete() {
124125
OffsetDateTime start = OffsetDateTime.ofInstant(Instant.ofEpochSecond(0, 1), ZoneId.of("UTC"));
125126
OffsetDateTime stop = OffsetDateTime.ofInstant(Instant.ofEpochSecond(0, 12), ZoneId.of("UTC"));
126127

127-
deleteApi.delete(start, stop, "", bucket.getName(), organization.getName());
128+
deleteApi.delete(start, stop, "", bucket, organization);
128129

129130
List<FluxTable> query2 = influxDBClient.getQueryApi().query("from(bucket:\"" + bucket.getName() + "\") |> range(start: 1970-01-01T00:00:00.000000001Z)", organization.getId());
130131

0 commit comments

Comments
 (0)