Skip to content

Commit

Permalink
Merge pull request #63 from openbase/feature/tests
Browse files Browse the repository at this point in the history
Feature Fix Unit Tests
  • Loading branch information
DivineThreepwood authored Nov 8, 2022
2 parents 64610a5 + 7c55cda commit c25a690
Show file tree
Hide file tree
Showing 85 changed files with 1,313 additions and 1,441 deletions.
56 changes: 30 additions & 26 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,34 +22,37 @@ jobs:

steps:
- name: "Checkout Branch"
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: "Setup Java"
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
cache: 'gradle'

- name: Setup Gradle cache
uses: actions/cache@v2.1.2
uses: actions/cache@v3
with:
path: ~/.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('build.gradle') }}
restore-keys: |
${{ runner.os }}-gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('versions.properties') }}-${{ github.sha }}

- name: "prepare libs for build"
run: ./prepare.sh

- name: "build backend"
run: ./gradlew build -x test
run: ./gradlew --build-cache build -x test

- name: Upload Gradle reports
uses: actions/upload-artifact@v2.2.4
if: ${{ failure() }}
- name: Upload build reports
uses: actions/upload-artifact@v3
if: ${{ failure() || contains(github.event.pull_request.labels.*.name, 'force reports') }}
with:
name: Build Backend Reports
name: Build Reports
path: "**/build/reports"

test:
name: "Test"
timeout-minutes: 30
timeout-minutes: 120

if: github.event.pull_request.draft == false
needs: build
Expand All @@ -58,29 +61,30 @@ jobs:

steps:
- name: "Checkout Branch"
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: "Setup Java"
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
cache: 'gradle'

- name: Setup Gradle cache
uses: actions/cache@v2.1.2
uses: actions/cache@v3
with:
path: ~/.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('build.gradle') }}
restore-keys: |
${{ runner.os }}-gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('versions.properties') }}-${{ github.sha }}

- name: "prepare libs for tests"
run: ./prepare.sh

- name: "test backend"
run: ./gradlew check
env:
RUN_LONG_INTEGRATION_TESTS: false
run: ./gradlew --build-cache check

- name: Upload Gradle reports
uses: actions/upload-artifact@v2.2.4
if: ${{ failure() }}
- name: Upload test reports
uses: actions/upload-artifact@v3
if: ${{ failure() || contains(github.event.pull_request.labels.*.name, 'force reports') }}
with:
name: Test Backend Reports
path: "**/build/reports"
name: Test Reports
path: "**/build/reports"
6 changes: 2 additions & 4 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,11 @@ dependencies {
implementation("org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:_")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("com.adarshr:gradle-test-logger-plugin:_")
}

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "11"
jvmTarget = "17"
}
}


2 changes: 1 addition & 1 deletion buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
pluginManagement {
plugins {
id("de.fayard.refreshVersions") version "0.40.1"
id("de.fayard.refreshVersions") version "0.40.2"
}
}

Expand Down
12 changes: 7 additions & 5 deletions buildSrc/src/main/kotlin/org.openbase.bco.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ plugins {
`maven-publish`
kotlin("jvm")
signing
id ("com.adarshr.test-logger")
}

repositories {
Expand All @@ -23,7 +24,7 @@ group = "org.openbase"
val releaseVersion = !version.toString().endsWith("-SNAPSHOT")

java {
sourceCompatibility = JavaVersion.VERSION_11
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = sourceCompatibility
withSourcesJar()
withJavadocJar()
Expand All @@ -35,13 +36,16 @@ dependencies {
implementation("org.jetbrains.kotlin:kotlin-script-runtime:1.5.21")
testImplementation("org.junit.jupiter:junit-jupiter:[5.8,5.9-alpha)")
testImplementation ("org.junit.jupiter:junit-jupiter-api:[5.8,5.9-alpha)")
testImplementation(Testing.mockK)
testImplementation("io.quarkus:quarkus-junit4-mock:_")
testImplementation("io.kotest:kotest-assertions-core-jvm:_")
testRuntimeOnly ("org.junit.jupiter:junit-jupiter-engine:[5.8,5.9-alpha)")
}

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "11"
jvmTarget = "17"
}
}

Expand All @@ -50,7 +54,7 @@ tasks.withType<Test> {
maxParallelForks = 1
logging.captureStandardOutput(LogLevel.WARN)
maxHeapSize = "7G"
failFast = true
failFast = false
setForkEvery(1)
}

Expand Down Expand Up @@ -142,5 +146,3 @@ tasks.javadoc {
(options as StandardJavadocDocletOptions).addBooleanOption("html5", true)
}
}


40 changes: 7 additions & 33 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# Install dependencies
FROM ubuntu:latest AS builder
FROM eclipse-temurin:17-jdk AS builder

ENV \
JAVA_OPTS="" \
LC_ALL="en_US.UTF-8" \
LANG="en_US.UTF-8" \
LANGUAGE="en_US.UTF-8" \
JAVA_VERSION="17"
LANGUAGE="en_US.UTF-8"

WORKDIR /workspace

# Setup build deps
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update && \
apt install -y \
openjdk-17-jdk \
git \
gradle \
rsync \
curl \
ca-certificates \
locales \
locales-all \
wget && \
Expand All @@ -38,9 +38,9 @@ RUN cd lib/jul && \
RUN ./gradlew :bco.app.util:installDist -x test -x javadoc --no-daemon --stacktrace

# Switch to baseline image
FROM ubuntu:latest
FROM eclipse-temurin:17-jre

# # Install adhoc
# # Install app
COPY --from=builder /workspace/module/app/util/build/install/bco/bin /usr/bin/
COPY --from=builder /workspace/module/app/util/build/install/bco/lib /usr/lib/
# COPY --from=builder /workspace/build/share /usr/share/
Expand Down Expand Up @@ -75,8 +75,7 @@ ENV \
BCO_HOME="/home/bco/data" \
BCO_LOGS="/home/bco/data/log" \
BCO_BINARY="/usr/bin/bco" \
BCO_OPTIONS="" \
JAVA_VERSION="11"
BCO_OPTIONS=""

# Basic build-time metadata as defined at http://label-schema.org
LABEL org.label-schema.build-date=$BUILD_DATE \
Expand All @@ -92,31 +91,6 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/openbase/bco.git" \
maintainer="Divine Threepwood <divine@openbase.org>"


# Install java
ENV JAVA_HOME='/usr/lib/jvm/default-jvm'
# Limit JDK crypto policy by default to comply with local laws which may prohibit use of unlimited strength cryptography
RUN mkdir -p "${JAVA_HOME}" && \
zulu8_amd64_url='https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz' && \
zulu8_armhf_url='https://cdn.azul.com/zulu-embedded/bin/zulu8.46.0.225-ca-jdk8.0.252-linux_aarch32hf.tar.gz' && \
zulu8_arm64_url='https://cdn.azul.com/zulu-embedded/bin/zulu8.46.0.225-ca-jdk8.0.252-linux_aarch64.tar.gz' && \
zulu11_amd64_url='https://cdn.azul.com/zulu/bin/zulu11.39.15-ca-jdk11.0.7-linux_x64.tar.gz' && \
zulu11_armhf_url='https://cdn.azul.com/zulu-embedded/bin/zulu11.39.61-ca-jdk11.0.7-linux_aarch32hf.tar.gz' && \
zulu11_arm64_url='https://cdn.azul.com/zulu-embedded/bin/zulu11.39.61-ca-jdk11.0.7-linux_aarch64.tar.gz' && \
url_var="zulu${JAVA_VERSION}_$(dpkg --print-architecture)_url" && \
eval "java_url=\$$url_var" && \
echo "${java_url}" && \
wget -nv -O /tmp/java.tar.gz "${java_url}" && \
tar --exclude='demo' --exclude='sample' --exclude='src.zip' -xf /tmp/java.tar.gz --strip-components=1 -C "${JAVA_HOME}" && \
if [ "${JAVA_VERSION}" = "8" ]; then \
sed -i 's/^#crypto.policy=unlimited/crypto.policy=limited/' "${JAVA_HOME}/jre/lib/security/java.security"; \
elif [ "${JAVA_VERSION}" = "11" ]; then \
sed -i 's/^crypto.policy=unlimited/crypto.policy=limited/' "${JAVA_HOME}/conf/security/java.security"; \
fi && \
rm /tmp/java.tar.gz && \
update-alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 50 && \
update-alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 50

# Expose volume
VOLUME ${BCO_HOME}

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
version = 3.1-SNAPSHOT
org.gradle.caching = true
org.gradle.parallel = true
org.gradle.parallel = false
org.gradle.daemon = true
org.gradle.jvmargs = -Xmx2000m
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-rc-3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
6 changes: 6 additions & 0 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,12 @@ set -- \
org.gradle.wrapper.GradleWrapperMain \
"$@"

# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi

# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
Expand Down
14 changes: 8 additions & 6 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
@rem limitations under the License.
@rem

@if "%DEBUG%" == "" @echo off
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
Expand All @@ -25,7 +25,7 @@
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
if "%DIRNAME%"=="" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

Expand All @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
if %ERRORLEVEL% equ 0 goto execute

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Expand Down Expand Up @@ -75,13 +75,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
if %ERRORLEVEL% equ 0 goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%

:mainEnd
if "%OS%"=="Windows_NT" endlocal
Expand Down
2 changes: 1 addition & 1 deletion lib/jul
Submodule jul updated 70 files
+1 −1 .github/workflows/build-and-test.yml
+2 −3 buildSrc/build.gradle.kts
+1 −1 buildSrc/settings.gradle.kts
+6 −3 buildSrc/src/main/kotlin/org.openbase.jul.gradle.kts
+1 −1 gradle/wrapper/gradle-wrapper.properties
+10 −8 ...munication/controller/src/main/java/org/openbase/jul/communication/controller/AbstractControllerServer.java
+0 −1 ...tion/controller/src/main/java/org/openbase/jul/communication/controller/AbstractIdentifiableController.java
+69 −51 .../communication/controller/src/main/java/org/openbase/jul/communication/controller/AbstractRemoteClient.java
+0 −1 ...cation/controller/src/test/java/org/openbase/jul/communication/controller/AbstractControllerServerTest.java
+7 −6 module/communication/default/src/main/java/org/openbase/jul/communication/exception/RPCResolvedException.java
+1 −0 module/communication/default/src/main/java/org/openbase/jul/communication/iface/Subscriber.kt
+73 −0 ...le/communication/default/src/test/java/org/openbase/jul/communication/exception/RPCResolvedExceptionTest.kt
+0 −3 module/communication/mqtt/build.gradle.kts
+3 −0 module/communication/mqtt/src/main/java/org/openbase/jul/communication/mqtt/CommunicatorImpl.kt
+2 −1 module/communication/mqtt/src/main/java/org/openbase/jul/communication/mqtt/RPCClientImpl.kt
+2 −2 module/communication/mqtt/src/main/java/org/openbase/jul/communication/mqtt/RPCCommunicatorImpl.kt
+2 −2 module/communication/mqtt/src/main/java/org/openbase/jul/communication/mqtt/RPCServerImpl.kt
+12 −3 module/communication/mqtt/src/main/java/org/openbase/jul/communication/mqtt/SubscriberImpl.kt
+42 −0 module/communication/mqtt/src/test/java/org/openbase/jul/communication/mqtt/IntegrationTest.kt
+13 −4 module/communication/mqtt/src/test/java/org/openbase/jul/communication/mqtt/RPCClientImplTest.kt
+3 −8 module/communication/mqtt/src/test/java/org/openbase/jul/communication/mqtt/RPCServerImplTest.kt
+62 −0 module/exception/src/main/java/org/openbase/jul/exception/CouldNotPerformException.kt
+0 −47 module/exception/src/main/java/org/openbase/jul/exception/CouldNotProcessException.java
+14 −20 module/exception/src/main/java/org/openbase/jul/exception/CouldNotProcessException.kt
+0 −145 module/exception/src/main/java/org/openbase/jul/exception/ExceptionProcessor.java
+147 −0 module/exception/src/main/java/org/openbase/jul/exception/ExceptionProcessor.kt
+17 −30 module/exception/src/main/java/org/openbase/jul/exception/StackTracePrinter.java
+2 −2 module/exception/src/test/java/org/openbase/jul/exception/ExceptionPrinterTest.java
+3 −0 module/exception/src/test/java/org/openbase/jul/exception/ExceptionProcessorTest.java
+1 −1 module/extension/protobuf/build.gradle.kts
+2 −2 module/extension/protobuf/src/main/java/org/openbase/jul/extension/protobuf/BuilderSyncSetup.java
+0 −325 module/extension/protobuf/src/main/java/org/openbase/jul/extension/protobuf/ProtoBufBuilderProcessor.java
+466 −0 module/extension/protobuf/src/main/java/org/openbase/jul/extension/protobuf/ProtoBufBuilderProcessor.kt
+65 −0 module/extension/protobuf/src/test/java/org/openbase/jul/extension/protobuf/ProtoBufBuilderProcessorTest.kt
+1 −1 module/extension/type/processing/build.gradle.kts
+200 −166 module/extension/type/processing/src/main/java/org/openbase/jul/extension/type/processing/LabelProcessor.kt
+18 −3 ...le/extension/type/processing/src/test/java/org/openbase/jul/extension/type/processing/LabelProcessorTest.kt
+31 −0 .../type/processing/src/test/java/org/openbase/jul/extension/type/processing/MultiLanguageTextProcessorTest.kt
+3 −3 ...ava/org/openbase/jul/extension/type/storage/registry/consistency/TransformationFrameConsistencyHandler.java
+1 −1 module/pattern/controller/build.gradle.kts
+2 −2 module/schedule/src/main/java/org/openbase/jul/schedule/AbstractExecutorService.java
+2 −2 module/schedule/src/main/java/org/openbase/jul/schedule/BundledReentrantReadWriteLock.java
+0 −27 module/storage/src/main/java/org/openbase/jul/storage/file/FileSynchronizer.java
+12 −5 module/storage/src/main/java/org/openbase/jul/storage/registry/AbstractRegistry.java
+2 −0 module/storage/src/test/java/org/openbase/jul/storage/registry/AbstractRegistryTest.java
+2 −0 module/storage/src/test/java/org/openbase/jul/storage/registry/RegistryLockingTest.java
+2 −0 module/storage/src/test/java/org/openbase/jul/storage/registry/RemoteRegistryTest.java
+0 −295 module/transformation/src/main/java/org/openbase/rct/Transform.java
+173 −0 module/transformation/src/main/java/org/openbase/rct/Transform.kt
+3 −3 module/transformation/src/main/java/org/openbase/rct/TransformReceiver.java
+1 −1 module/transformation/src/main/java/org/openbase/rct/TransformerFactory.java
+0 −217 module/transformation/src/main/java/org/openbase/rct/examples/Cross_lib_provider.java
+176 −0 module/transformation/src/main/java/org/openbase/rct/examples/Cross_lib_provider.kt
+0 −64 module/transformation/src/main/java/org/openbase/rct/impl/StaticPublisher.java
+58 −0 module/transformation/src/main/java/org/openbase/rct/impl/StaticPublisher.kt
+5 −7 module/transformation/src/main/java/org/openbase/rct/impl/TransformListener.kt
+9 −8 module/transformation/src/main/java/org/openbase/rct/impl/TransformerCore.java
+0 −976 module/transformation/src/main/java/org/openbase/rct/impl/TransformerCoreDefault.java
+877 −0 module/transformation/src/main/java/org/openbase/rct/impl/TransformerCoreDefault.kt
+72 −0 module/transformation/src/main/java/org/openbase/rct/impl/mqtt/FrameTransformProcessor.kt
+379 −0 module/transformation/src/main/java/org/openbase/rct/impl/mqtt/TransformCommunicatorImpl.kt
+0 −77 module/transformation/src/main/java/org/openbase/rct/impl/rsb/FrameTransformProcessor.java
+0 −455 module/transformation/src/main/java/org/openbase/rct/impl/rsb/TransformCommunicatorImpl.java
+0 −61 module/transformation/src/main/java/org/openbase/rct/type/PoseTransformer.java
+59 −0 module/transformation/src/main/java/org/openbase/rct/type/PoseTransformer.kt
+0 −405 module/transformation/src/test/java/org/openbase/rct/impl/TransformerCoreDefaultTest.java
+388 −0 module/transformation/src/test/java/org/openbase/rct/impl/TransformerCoreDefaultTest.kt
+2 −0 ...visual/javafx/src/test/java/org/openbase/jul/visual/javafx/transform/JFXColorToHSBColorTransformerTest.java
+1 −1 settings.gradle.kts
+25 −7 versions.properties
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.openbase.bco.registry.unit.lib.filter.UnitConfigFilterImpl;
import org.openbase.bco.registry.unit.remote.UnitRegistryRemote;
import org.openbase.jul.exception.CouldNotPerformException;
import org.openbase.jul.extension.protobuf.ProtoBufBuilderProcessor;
import org.openbase.jul.extension.type.processing.LabelProcessor;
import org.openbase.jul.pattern.Filter;
import org.openbase.jul.pattern.ListFilter;
Expand Down Expand Up @@ -139,12 +140,11 @@ ImmutableList<GatewayClass> gatewayClasses() throws CouldNotPerformException, In
@Mutation("updateUnitConfig")
UnitConfig updateUnitConfig(@Arg("unitConfig") UnitConfig unitConfig) throws BCOGraphQLError {
try {
unitConfig = Registries.getUnitRegistry(ServerError.BCO_TIMEOUT_SHORT, ServerError.BCO_TIMEOUT_TIME_UNIT)
final UnitConfig.Builder unitConfigBuilder = Registries.getUnitRegistry(ServerError.BCO_TIMEOUT_SHORT, ServerError.BCO_TIMEOUT_TIME_UNIT)
.getUnitConfigById(unitConfig.getId())
.toBuilder()
.mergeFrom(unitConfig)
.build();
return Registries.getUnitRegistry(ServerError.BCO_TIMEOUT_SHORT, ServerError.BCO_TIMEOUT_TIME_UNIT).updateUnitConfig(unitConfig).get(ServerError.BCO_TIMEOUT_SHORT, ServerError.BCO_TIMEOUT_TIME_UNIT);
.toBuilder();
ProtoBufBuilderProcessor.mergeFromWithoutRepeatedFields(unitConfigBuilder, unitConfig);
return Registries.getUnitRegistry(ServerError.BCO_TIMEOUT_SHORT, ServerError.BCO_TIMEOUT_TIME_UNIT).updateUnitConfig(unitConfigBuilder.build()).get(ServerError.BCO_TIMEOUT_SHORT, ServerError.BCO_TIMEOUT_TIME_UNIT);
} catch (RuntimeException | CouldNotPerformException | InterruptedException | ExecutionException | TimeoutException ex) {
throw new GenericError(ex);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.openbase.type.domotic.unit.UnitTemplateType.UnitTemplate.UnitType;
Expand All @@ -45,6 +46,7 @@ public class UnitTypeMappingTest {
* @throws IllegalArgumentException if the name of a unitTypeMapping does not lead to the according unitType.
*/
@Test
@Timeout(10)
public void testUnitTypeValidity() throws IllegalArgumentException {
LOGGER.info("testUnitTypeValidity");
for (final UnitTypeMapping unitTypeMapping : UnitTypeMapping.values()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,8 +349,13 @@ private void storeServiceState(final Unit<?> unit, final ServiceTemplateType.Ser
point.addTag(entry.getKey(), entry.getValue());
}
}

List<LabelType.Label.MapFieldEntry> entryList = unit.getConfig().getLabel().getEntryList();
for (LabelType.Label.MapFieldEntry entry : entryList) {
// skip entries that offer a language key but do not provide any label.
if(entry.getValueList().isEmpty()) {
continue;
}
point.addTag("label_" + entry.getKey(), entry.getValue(0));
}

Expand Down
Loading

0 comments on commit c25a690

Please sign in to comment.