diff --git a/java-lib/pom.xml b/java-lib/pom.xml
index 2c875d1..3e5abbd 100644
--- a/java-lib/pom.xml
+++ b/java-lib/pom.xml
@@ -3,12 +3,12 @@
4.0.0
java-lib
- 2022-10.2-SNAPSHOT
+ proxy-new-SNAPSHOT
com.wavefront
javalib
- 2022-10.2-SNAPSHOT
+ proxy-new-SNAPSHOT
Wavefront Shared Java Library
@@ -117,11 +117,11 @@
test
4.0.1
-
- javax.ws.rs
- javax.ws.rs-api
- 2.1.1
-
+
+ javax.ws.rs
+ javax.ws.rs-api
+ 2.1.1
+
@@ -250,4 +250,4 @@
-
+
\ No newline at end of file
diff --git a/java-lib/src/main/java/com/wavefront/api/EventAPI.java b/java-lib/src/main/java/com/wavefront/api/EventAPI.java
index e74f981..a6feffa 100644
--- a/java-lib/src/main/java/com/wavefront/api/EventAPI.java
+++ b/java-lib/src/main/java/com/wavefront/api/EventAPI.java
@@ -2,10 +2,7 @@
import com.wavefront.dto.Event;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
@@ -25,4 +22,11 @@ public interface EventAPI {
@Path("v2/wfproxy/event")
Response proxyEvents(@HeaderParam("X-WF-PROXY-ID") final UUID proxyId,
final List eventBatch);
+
+ @POST
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.TEXT_PLAIN)
+ @Path("v2/wfproxy/event")
+ Response proxyEventsString(@HeaderParam("X-WF-PROXY-ID") final UUID proxyId,
+ final String eventBatch);
}
diff --git a/java-lib/src/main/java/com/wavefront/api/LogAPI.java b/java-lib/src/main/java/com/wavefront/api/LogAPI.java
index ae44f95..2dbe03b 100644
--- a/java-lib/src/main/java/com/wavefront/api/LogAPI.java
+++ b/java-lib/src/main/java/com/wavefront/api/LogAPI.java
@@ -2,10 +2,7 @@
import com.wavefront.dto.Log;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
@@ -23,4 +20,10 @@ public interface LogAPI {
@Consumes(MediaType.APPLICATION_JSON)
@Path("le-mans/v1/streams/ingestion-pipeline-stream")
Response proxyLogs(@HeaderParam("agent") final String agentProxyId, final List logBatch);
+
+ @POST
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.TEXT_PLAIN)
+ @Path("le-mans/v1/streams/ingestion-pipeline-stream")
+ Response proxyLogsStr(@HeaderParam("agent") final String agentProxyId, final String logBatch);
}
diff --git a/java-lib/src/main/java/com/wavefront/metrics/JsonMetricsGenerator.java b/java-lib/src/main/java/com/wavefront/metrics/JsonMetricsGenerator.java
index c538296..d572c0c 100644
--- a/java-lib/src/main/java/com/wavefront/metrics/JsonMetricsGenerator.java
+++ b/java-lib/src/main/java/com/wavefront/metrics/JsonMetricsGenerator.java
@@ -38,8 +38,11 @@
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.SortedMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import javax.annotation.Nullable;
+import javax.annotation.RegEx;
import static com.wavefront.common.MetricsToTimeseries.sanitize;
@@ -146,24 +149,19 @@ private static void writeBuildMetrics(ResourceBundle props, JsonGenerator json,
}
static int extractVersion(String versionStr) {
- int version = 0;
- String[] components = versionStr.split("\\.");
- for (int i = 0; i < Math.min(3, components.length); i++) {
- String component = components[i];
- if (StringUtils.isNotBlank(component) && StringUtils.isNumeric(component)) {
- version *= 1000; // we'll assume this will fit. 3.123.0 will become 3123000.
- version += Integer.valueOf(component);
- } else {
- version = 0; // not actually a convertable name (probably something with SNAPSHOT).
- break;
+ final String regex = "^(\\d*)\\.(\\d*)\\.?(\\d*)?";
+ final Pattern pattern = Pattern.compile(regex);
+ final Matcher matcher = pattern.matcher(versionStr);
+
+ int x = 0, y = 0, z = 0;
+ if (matcher.find()) {
+ x = Integer.valueOf(matcher.group(1));
+ y = Integer.valueOf(matcher.group(2));
+ if (!matcher.group(3).equals("")) {
+ z = Integer.valueOf(matcher.group(3));
}
}
- if (components.length == 2) {
- version *= 1000;
- } else if (components.length == 1) {
- version *= 1000000; // make sure 3 outputs 3000000
- }
- return version;
+ return (x * 1_000_000 + y * 1_000 + z);
}
private static void mergeMapIntoJson(JsonGenerator jsonGenerator, Map metrics) throws IOException {
diff --git a/java-lib/src/test/java/com/wavefront/metrics/JsonMetricsGeneratorTest.java b/java-lib/src/test/java/com/wavefront/metrics/JsonMetricsGeneratorTest.java
index d01d50a..b83f2f6 100644
--- a/java-lib/src/test/java/com/wavefront/metrics/JsonMetricsGeneratorTest.java
+++ b/java-lib/src/test/java/com/wavefront/metrics/JsonMetricsGeneratorTest.java
@@ -19,6 +19,7 @@
import java.util.concurrent.atomic.AtomicLong;
import static com.google.common.truth.Truth.assertThat;
+import static com.wavefront.metrics.JsonMetricsGenerator.extractVersion;
/**
* Basic unit tests around {@link JsonMetricsGenerator}
@@ -278,4 +279,15 @@ public void testWavefrontHistogramBulkUpdateHandlesNullParams() throws IOExcepti
assertThat(json).isEqualTo("{\"test.metric\":{\"bins\":[]}}");
}
+
+ @Test
+ public void testExtractVersion(){
+ assertThat(extractVersion("12.1")).isEqualTo(12_001_000);
+ assertThat(extractVersion("12.1.0")).isEqualTo(12_001_000);
+ assertThat(extractVersion("12.1.1")).isEqualTo(12_001_001);
+ assertThat(extractVersion("12.1-SNAPSHOT")).isEqualTo(12_001_000);
+ assertThat(extractVersion("12.1.0-SNAPSHOT")).isEqualTo(12_001_000);
+ assertThat(extractVersion("12")).isEqualTo(0);
+ assertThat(extractVersion("SNAPSHOT")).isEqualTo(0);
+ }
}
diff --git a/pom.xml b/pom.xml
index c6e013c..3f16538 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.wavefront
javalib
- 2022-10.2-SNAPSHOT
+ proxy-new-SNAPSHOT
java-lib
yammer-metrics
@@ -378,4 +378,4 @@
-
+
\ No newline at end of file
diff --git a/yammer-metrics/pom.xml b/yammer-metrics/pom.xml
index c9efda4..4d3f3ce 100644
--- a/yammer-metrics/pom.xml
+++ b/yammer-metrics/pom.xml
@@ -3,12 +3,12 @@
javalib
com.wavefront
- 2022-10.2-SNAPSHOT
+ proxy-new-SNAPSHOT
4.0.0
yammer-metrics
- 2022-10.2-SNAPSHOT
+ proxy-new-SNAPSHOT
Wavefront Yammer Metrics
@@ -94,4 +94,4 @@
-
+
\ No newline at end of file