You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ze...@apache.org on 2024/07/15 04:26:48 UTC
(streampipes) branch dev updated: refactor(#3021): Clean up class Labels (#3022)
This is an automated email from the ASF dual-hosted git repository.
zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new 1fe19c2056 refactor(#3021): Clean up class Labels (#3022)
1fe19c2056 is described below
commit 1fe19c20564878dbe63c38ad723dfbafe7642277
Author: Philipp Zehnder <te...@users.noreply.github.com>
AuthorDate: Mon Jul 15 06:26:43 2024 +0200
refactor(#3021): Clean up class Labels (#3022)
---
.../manager/selector/TestSelectorUtils.java | 8 +--
.../org/apache/streampipes/sdk/helpers/Labels.java | 46 +-------------
.../apache/streampipes/sdk/helpers/LabelsTest.java | 71 +++++++++++++++++++---
3 files changed, 71 insertions(+), 54 deletions(-)
diff --git a/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/selector/TestSelectorUtils.java b/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/selector/TestSelectorUtils.java
index 10b292c73b..e830b41602 100644
--- a/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/selector/TestSelectorUtils.java
+++ b/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/selector/TestSelectorUtils.java
@@ -43,13 +43,13 @@ public class TestSelectorUtils {
.domainProperty(SO.NUMBER)
.scope(PropertyScope.DIMENSION_PROPERTY)
.build())
- .property(EpProperties.stringEp(Labels.withTitle("string", "string description"), "testString",
+ .property(EpProperties.stringEp(Labels.from("", "string", "string description"), "testString",
"http://test.de", ValueSpecifications.from("A", "B", "C")))
- .property(EpProperties.stringEp(Labels.withTitle("string2", "string description"), "testString2",
+ .property(EpProperties.stringEp(Labels.from("", "string2", "string description"), "testString2",
"http://test.de", ValueSpecifications.from("A", "B", "C", "D")))
- .property(EpProperties.integerEp(Labels.withTitle("integer2", "integerDescription"), "testInteger2",
+ .property(EpProperties.integerEp(Labels.from("", "integer2", "integerDescription"), "testInteger2",
SO.NUMBER, ValueSpecifications.from(0.0f, 1.0f, 1.f)))
- .property(EpProperties.integerEp(Labels.withTitle("integer", "integerDescription"), "testInteger",
+ .property(EpProperties.integerEp(Labels.from("", "integer", "integerDescription"), "testInteger",
SO.NUMBER, ValueSpecifications.from(10.0f, 100.0f, 10.0f)))
.property(EpProperties.nestedEp(Labels.from("location", "", ""), "location",
EpProperties.doubleEp(Labels.withId("latitude"), "latitude", Geo
diff --git a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/Labels.java b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/Labels.java
index c09b591deb..0629a97584 100644
--- a/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/Labels.java
+++ b/streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/Labels.java
@@ -18,27 +18,17 @@
package org.apache.streampipes.sdk.helpers;
-import org.apache.streampipes.commons.resources.Resources;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Properties;
-
public class Labels {
/**
- * @deprecated Externalize labels by using
- * {@link org.apache.streampipes.sdk.builder.AbstractProcessingElementBuilder#withLocales(Locales...)}
- * to ease future support for multiple languages.
* Creates a new label with internalId, label and description. Fully-configured labels are required by static
* properties and are mandatory for event properties.
*
* @param internalId The internal identifier of the element, e.g., "latitude-field-mapping"
* @param label A human-readable title
* @param description A human-readable brief summary of the element.
- * @return
+ * @return label object with the specified properties
*/
- @Deprecated(since = "0.90.0", forRemoval = true)
public static Label from(String internalId, String label, String description) {
return new Label(internalId, label, description);
}
@@ -49,7 +39,7 @@ public class Labels {
*
*
* @param internalId The internal identifier of the element, e.g., "latitude-field-mapping"
- * @return Label
+ * @return label object with the internal id
*/
public static Label withId(String internalId) {
return new Label(internalId, "", "");
@@ -59,44 +49,14 @@ public class Labels {
* Creates a label with the string value of an enum.
* Static properties require a fully-specified label, see {@link #from(String, String, String)}
* @param internalId The internal identifier of the element, e.g., "LATITUDE-FIELD-MAPPING"
- * @return
+ * @return label object with the specified properties
*/
public static Label withId(Enum<?> internalId) {
return new Label(internalId.name(), "", "");
}
- @Deprecated
- /**
- * @deprecated Externalize labels by using
- * {@link org.apache.streampipes.sdk.builder.AbstractProcessingElementBuilder#withLocales(Locales...)}
- * to ease future support for multiple languages.
- */
- public static Label withTitle(String label, String description) {
- return new Label("", label, description);
- }
-
public static Label empty() {
return new Label("", "", "");
}
- private static String findTitleLabel(String resourceIdentifier, String resourceName) throws Exception {
- return loadProperties(resourceIdentifier).getProperty(makeResourceId(resourceName, true));
- }
-
- private static String findDescriptionLabel(String resourceIdentifier, String resourceName) throws Exception {
- return loadProperties(resourceIdentifier).getProperty(makeResourceId(resourceName, false));
- }
-
- private static String makeResourceId(String resourceName, Boolean titleType) {
- return resourceName + "." + (titleType ? "title" : "description");
- }
-
- private static Properties loadProperties(String filename) throws IOException {
- URL url = Resources.asUrl(filename);
- final Properties props = new Properties();
-
- props.load(url.openStream());
- return props;
- }
-
}
diff --git a/streampipes-sdk/src/test/java/org/apache/streampipes/sdk/helpers/LabelsTest.java b/streampipes-sdk/src/test/java/org/apache/streampipes/sdk/helpers/LabelsTest.java
index b022fbeb0f..9313f6ac86 100644
--- a/streampipes-sdk/src/test/java/org/apache/streampipes/sdk/helpers/LabelsTest.java
+++ b/streampipes-sdk/src/test/java/org/apache/streampipes/sdk/helpers/LabelsTest.java
@@ -18,23 +18,80 @@
package org.apache.streampipes.sdk.helpers;
-import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
public class LabelsTest {
+
+ private static final String ID = "testId";
+ private static final String LABEL = "TestLabel";
+ private static final String INTERNAL_ID = "internalId";
+ private static final String DESCRIPTION = "TestDescription";
+
private enum TestEnum {
- TEST;
+ TEST
+ }
+
+ @Test
+ public void from_CreatesLabelWithAllFields() {
+ var result = Labels.from(ID, LABEL, DESCRIPTION);
+
+ assertEquals(ID, result.getInternalId());
+ assertEquals(LABEL, result.getLabel());
+ assertEquals(DESCRIPTION, result.getDescription());
}
@Test
- public void withEnumId() {
+ public void from_HandlesEmptyLabelAndDescription() {
+ var result = Labels.from(ID, "", "");
+
+ assertEquals(ID, result.getInternalId());
+ assertEquals("", result.getLabel());
+ assertEquals("", result.getDescription());
+ }
+
+ @Test
+ public void from_HandlesNullLabelAndDescription() {
+ var result = Labels.from(ID, null, null);
+
+ assertEquals("testId", result.getInternalId());
+ assertNull(result.getLabel());
+ assertNull(result.getDescription());
+ }
+
+ @Test
+ public void withId_CreatesLabelWithInternalIdOnly() {
+ var result = Labels.withId(INTERNAL_ID);
+
+ assertEquals(INTERNAL_ID, result.getInternalId());
+ assertEquals("", result.getLabel());
+ assertEquals("", result.getDescription());
+ }
+
+ @Test
+ public void withId_HandlesEmptyStringInternalId() {
+ var result = Labels.withId("");
+
+ assertEquals("", result.getInternalId());
+ assertEquals("", result.getLabel());
+ assertEquals("", result.getDescription());
+ }
+
+ @Test
+ public void withId_CreatesLabelFromEnumWithCorrectInternalId() {
var result = Labels.withId(TestEnum.TEST);
- Assertions.assertEquals(TestEnum.TEST.name(), result.getInternalId());
+ assertEquals(TestEnum.TEST.name(), result.getInternalId());
}
@Test
- public void withStringId() {
- var result = Labels.withId("test");
- Assertions.assertEquals("test", result.getInternalId());
+ public void empty_CreatesLabelWithEmptyFields() {
+ var result = Labels.empty();
+
+ assertEquals("", result.getInternalId());
+ assertEquals("", result.getLabel());
+ assertEquals("", result.getDescription());
}
+
}
\ No newline at end of file