Skip to content

Commit d461a32

Browse files
committed
Clean up project
1 parent 4dba5b0 commit d461a32

File tree

11 files changed

+176
-263
lines changed

11 files changed

+176
-263
lines changed

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ testing {
7070
"test"(JvmTestSuite::class) {
7171
dependencies {
7272
compileOnly(libs.jetbrains.annotations)
73+
implementation(libs.assertj)
7374
implementation(libs.mockito)
7475
implementation(libs.wiremock)
7576
runtimeOnly(libs.logback.classic)

renovate.json5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
"local>hivemq/renovate-config:default.json5",
55
],
66
addLabels: [
7-
"tooling-and-extensions-coordination",
7+
"integrations-team-coordination",
88
]
99
}

src/integrationTest/java/com/hivemq/extensions/influxdb/InfluxDbExtensionIT.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@
1515
*/
1616
package com.hivemq.extensions.influxdb;
1717

18-
import com.hivemq.client.mqtt.mqtt5.Mqtt5BlockingClient;
1918
import com.hivemq.client.mqtt.mqtt5.Mqtt5Client;
2019
import io.github.sgtsilvio.gradle.oci.junit.jupiter.OciImages;
2120
import org.influxdb.InfluxDB;
2221
import org.influxdb.dto.Query;
23-
import org.influxdb.dto.QueryResult;
2422
import org.jetbrains.annotations.NotNull;
2523
import org.junit.jupiter.api.Test;
2624
import org.slf4j.Logger;
@@ -32,19 +30,17 @@
3230
import org.testcontainers.junit.jupiter.Testcontainers;
3331
import org.testcontainers.utility.MountableFile;
3432

35-
import java.util.List;
36-
3733
import static org.awaitility.Awaitility.await;
3834
import static org.influxdb.querybuilder.BuiltQuery.QueryBuilder.select;
3935

4036
@SuppressWarnings({"resource"})
4137
@Testcontainers
4238
public class InfluxDbExtensionIT {
4339

44-
private static final @NotNull Logger LOG = LoggerFactory.getLogger(InfluxDbExtensionIT.class);
45-
4640
private static final @NotNull String INFLUXDB_NAME = "hivemq";
4741

42+
private static final @NotNull Logger LOG = LoggerFactory.getLogger(InfluxDbExtensionIT.class);
43+
4844
private final @NotNull Network network = Network.newNetwork();
4945

5046
@Container
@@ -64,14 +60,14 @@ public class InfluxDbExtensionIT {
6460

6561
@Test
6662
void testMetricsAreForwardedToInfluxDB() {
67-
final InfluxDB influxDbClient = influxDB.getNewInfluxDB();
63+
final var influxDbClient = influxDB.getNewInfluxDB();
6864
influxDbClient.setDatabase("hivemq");
6965

70-
final QueryResult query = influxDbClient.query(new Query("CREATE DATABASE \"" + INFLUXDB_NAME + "\""));
66+
final var query = influxDbClient.query(new Query("CREATE DATABASE \"" + INFLUXDB_NAME + "\""));
7167
LOG.info("created database with query result: {}", query);
7268
influxDbClient.setDatabase(INFLUXDB_NAME);
7369

74-
final Mqtt5BlockingClient mqttClient =
70+
final var mqttClient =
7571
Mqtt5Client.builder().serverHost(hivemq.getHost()).serverPort(hivemq.getMqttPort()).buildBlocking();
7672
mqttClient.connect();
7773
mqttClient.publishWith().topic("my/topic1").send();
@@ -84,23 +80,23 @@ void testMetricsAreForwardedToInfluxDB() {
8480
}
8581

8682
private long getMetricMax(final @NotNull InfluxDB client, final @NotNull String metric) {
87-
long acc = 0;
88-
final QueryResult queryResult = client.query(select("count").from(INFLUXDB_NAME, metric));
89-
for (final QueryResult.Result result : queryResult.getResults()) {
90-
final List<QueryResult.Series> series = result.getSeries();
83+
var acc = 0L;
84+
final var queryResult = client.query(select("count").from(INFLUXDB_NAME, metric));
85+
for (final var result : queryResult.getResults()) {
86+
final var series = result.getSeries();
9187
if (series == null) {
9288
break;
9389
}
94-
final List<List<Object>> values = series.get(series.size() - 1).getValues();
90+
final var values = series.get(series.size() - 1).getValues();
9591
if (values == null) {
9692
break;
9793
}
9894
long max = 0;
99-
for (final List<Object> value : values) {
95+
for (final var value : values) {
10096
if (value == null) {
10197
break;
10298
}
103-
final double val = (double) value.get(1);
99+
final var val = (double) value.get(1);
104100
if (max < val) {
105101
max = (long) val;
106102
}

src/main/java/com/hivemq/extensions/influxdb/InfluxDbCloudSender.java

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.jetbrains.annotations.NotNull;
2121

2222
import java.io.IOException;
23-
import java.io.OutputStream;
2423
import java.net.HttpURLConnection;
2524
import java.net.URL;
2625
import java.net.URLEncoder;
@@ -55,34 +54,29 @@ public InfluxDbCloudSender(
5554
this.authToken = authToken;
5655
this.connectTimeout = connectTimeout;
5756
this.readTimeout = readTimeout;
58-
59-
final String endpoint = new URL(protocol, host, port, "/api/v2/write").toString();
60-
final String queryPrecision = String.format("precision=%s", TimeUtils.toTimePrecision(timePrecision));
61-
final String orgParameter = String.format("org=%s", URLEncoder.encode(organization, StandardCharsets.UTF_8));
62-
final String bucketParameter = String.format("bucket=%s", URLEncoder.encode(bucket, StandardCharsets.UTF_8));
57+
final var endpoint = new URL(protocol, host, port, "/api/v2/write").toString();
58+
final var queryPrecision = String.format("precision=%s", TimeUtils.toTimePrecision(timePrecision));
59+
final var orgParameter = String.format("org=%s", URLEncoder.encode(organization, StandardCharsets.UTF_8));
60+
final var bucketParameter = String.format("bucket=%s", URLEncoder.encode(bucket, StandardCharsets.UTF_8));
6361
this.url = new URL(endpoint + "?" + queryPrecision + "&" + orgParameter + "&" + bucketParameter);
6462
}
6563

6664
@Override
6765
protected int writeData(final byte @NotNull [] line) throws Exception {
68-
final HttpURLConnection con = (HttpURLConnection) url.openConnection();
66+
final var con = (HttpURLConnection) url.openConnection();
6967
con.setRequestMethod("POST");
7068
con.setRequestProperty("Authorization", "Token " + authToken);
7169
con.setDoOutput(true);
7270
con.setConnectTimeout(connectTimeout);
7371
con.setReadTimeout(readTimeout);
7472
con.setRequestProperty("Content-Encoding", "gzip");
75-
76-
try (final OutputStream out = con.getOutputStream();
77-
final GZIPOutputStream gzipOutputStream = new GZIPOutputStream(out)) {
73+
try (final var out = con.getOutputStream(); final var gzipOutputStream = new GZIPOutputStream(out)) {
7874
gzipOutputStream.write(line);
7975
gzipOutputStream.flush();
8076
out.flush();
8177
}
82-
83-
final int responseCode = con.getResponseCode();
84-
85-
// Check if non 2XX response code.
78+
// check if non 2XX response code
79+
final var responseCode = con.getResponseCode();
8680
if (responseCode / 100 != 2) {
8781
throw new IOException("Server returned HTTP response code: " +
8882
responseCode +

src/main/java/com/hivemq/extensions/influxdb/InfluxDbExtensionMain.java

Lines changed: 19 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,10 @@
3535
import org.slf4j.Logger;
3636
import org.slf4j.LoggerFactory;
3737

38-
import java.io.File;
3938
import java.util.Collections;
4039
import java.util.HashSet;
41-
import java.util.Map;
4240
import java.util.Objects;
41+
import java.util.Set;
4342
import java.util.concurrent.TimeUnit;
4443

4544
/**
@@ -49,9 +48,9 @@ public class InfluxDbExtensionMain implements ExtensionMain {
4948

5049
private static final @NotNull Logger LOG = LoggerFactory.getLogger(InfluxDbExtensionMain.class);
5150

52-
private static final @NotNull HashSet<String> METER_FIELDS =
53-
newHashSet("count", "m1_rate", "m5_rate", "m15_rate", "mean_rate");
54-
private static final @NotNull HashSet<String> TIMER_FIELDS = newHashSet("count",
51+
private static final @NotNull Set<String> METER_FIELDS =
52+
Set.of("count", "m1_rate", "m5_rate", "m15_rate", "mean_rate");
53+
private static final @NotNull Set<String> TIMER_FIELDS = Set.of("count",
5554
"min",
5655
"max",
5756
"mean",
@@ -74,28 +73,23 @@ public void extensionStart(
7473
final @NotNull ExtensionStartInput extensionStartInput,
7574
final @NotNull ExtensionStartOutput extensionStartOutput) {
7675
try {
77-
final File extensionHomeFolder = extensionStartInput.getExtensionInformation().getExtensionHomeFolder();
78-
final InfluxDbConfiguration configuration = new InfluxDbConfiguration(extensionHomeFolder);
79-
76+
final var extensionHomeFolder = extensionStartInput.getExtensionInformation().getExtensionHomeFolder();
77+
final var configuration = new InfluxDbConfiguration(extensionHomeFolder);
8078
if (!configuration.readPropertiesFromFile()) {
8179
extensionStartOutput.preventExtensionStartup("Could not read influxdb properties");
8280
return;
8381
}
84-
8582
if (!configuration.validateConfiguration()) {
8683
extensionStartOutput.preventExtensionStartup("At least one mandatory property not set");
8784
return;
8885
}
89-
90-
final InfluxDbSender sender = setupSender(configuration);
91-
86+
final var sender = setupSender(configuration);
9287
if (sender == null) {
9388
extensionStartOutput.preventExtensionStartup(
9489
"Couldn't create an influxdb sender. Please check that the configuration is correct");
9590
return;
9691
}
97-
98-
final MetricRegistry metricRegistry = Services.metricRegistry();
92+
final var metricRegistry = Services.metricRegistry();
9993
reporter = setupReporter(metricRegistry, sender, configuration);
10094
reporter.start(configuration.getReportingInterval(), TimeUnit.SECONDS);
10195
} catch (final Exception e) {
@@ -120,9 +114,7 @@ public void extensionStop(
120114
Objects.requireNonNull(metricRegistry, "MetricRegistry for influxdb must not be null");
121115
Objects.requireNonNull(sender, "InfluxDbSender for influxdb must not be null");
122116
Objects.requireNonNull(configuration, "Configuration for influxdb must not be null");
123-
124-
final Map<String, String> tags = configuration.getTags();
125-
117+
final var tags = configuration.getTags();
126118
return InfluxDbReporter.forRegistry(metricRegistry)
127119
.withTags(tags)
128120
.convertRatesTo(TimeUnit.SECONDS)
@@ -137,20 +129,18 @@ public void extensionStop(
137129

138130
private @Nullable InfluxDbSender setupSender(final @NotNull InfluxDbConfiguration configuration) {
139131
Objects.requireNonNull(configuration, "Configuration for influxdb must not be null");
140-
141-
final String host = configuration.getHost();
142-
final int port = configuration.getPort();
143-
final String database = configuration.getDatabase();
144-
final String auth = configuration.getAuth();
145-
final int connectTimeout = configuration.getConnectTimeout();
146-
final String prefix = configuration.getPrefix();
132+
final var host = configuration.getHost();
133+
final var port = configuration.getPort();
134+
final var database = configuration.getDatabase();
135+
final var auth = configuration.getAuth();
136+
final var connectTimeout = configuration.getConnectTimeout();
137+
final var prefix = configuration.getPrefix();
147138

148139
// cloud
149-
final String bucket = configuration.getBucket();
150-
final String organization = configuration.getOrganization();
140+
final var bucket = configuration.getBucket();
141+
final var organization = configuration.getOrganization();
151142

152143
InfluxDbSender sender = null;
153-
154144
try {
155145
switch (configuration.getMode()) {
156146
case "http":
@@ -191,18 +181,16 @@ public void extensionStop(
191181
organization,
192182
bucket);
193183
break;
194-
195184
}
196185
} catch (final Exception ex) {
197186
LOG.error("Not able to start InfluxDB sender, please check your configuration: {}", ex.getMessage());
198187
LOG.debug("Original Exception: ", ex);
199188
}
200-
201189
return sender;
202190
}
203191

204-
public static HashSet<String> newHashSet(final String @NotNull ... elements) {
205-
final HashSet<String> set = new HashSet<>();
192+
public static Set<String> newHashSet(final String @NotNull ... elements) {
193+
final var set = new HashSet<String>();
206194
Collections.addAll(set, elements);
207195
return set;
208196
}

0 commit comments

Comments
 (0)