fix: Fix pipeline element validation for collections (#3340)
diff --git a/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/datalake/DataLakeDimensionProvider.java b/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/datalake/DataLakeDimensionProvider.java
index 17ed2b9..aaa444d 100644
--- a/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/datalake/DataLakeDimensionProvider.java
+++ b/streampipes-extensions/streampipes-sinks-internal-jvm/src/main/java/org/apache/streampipes/sinks/internal/jvm/datalake/DataLakeDimensionProvider.java
@@ -55,10 +55,13 @@
private void addFieldIfNotExists(EventPropertyPrimitive field,
List<Option> options) {
if (options.stream().noneMatch(o -> o.getName().equals(field.getRuntimeName()))) {
- options.add(new Option(
- field.getRuntimeName(),
- PropertyScope.valueOf(field.getPropertyScope()) == PropertyScope.DIMENSION_PROPERTY)
- );
+ if (field.getPropertyScope() != null) {
+ options.add(new Option(
+ field.getRuntimeName(),
+ PropertyScope.valueOf(field.getPropertyScope()) == PropertyScope.DIMENSION_PROPERTY
+ )
+ );
+ }
}
}
diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/v2/pipeline/CheckCompletedVisitor.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/v2/pipeline/CheckCompletedVisitor.java
index fadbd19..63440e7 100644
--- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/v2/pipeline/CheckCompletedVisitor.java
+++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/v2/pipeline/CheckCompletedVisitor.java
@@ -21,6 +21,7 @@
import org.apache.streampipes.model.pipeline.PipelineElementValidationInfo;
import org.apache.streampipes.model.staticproperty.AnyStaticProperty;
import org.apache.streampipes.model.staticproperty.CodeInputStaticProperty;
+import org.apache.streampipes.model.staticproperty.CollectionStaticProperty;
import org.apache.streampipes.model.staticproperty.ColorPickerStaticProperty;
import org.apache.streampipes.model.staticproperty.DefaultStaticPropertyVisitor;
import org.apache.streampipes.model.staticproperty.FileStaticProperty;
@@ -67,6 +68,11 @@
}
@Override
+ public void visit(CollectionStaticProperty collectionStaticProperty) {
+ collectionStaticProperty.getMembers().forEach(sp -> sp.accept(this));
+ }
+
+ @Override
public void visit(ColorPickerStaticProperty colorPickerStaticProperty) {
validateNull(colorPickerStaticProperty, colorPickerStaticProperty.getSelectedColor());
}
@@ -206,7 +212,7 @@
validationInfos.add(
PipelineElementValidationInfo.error(
String.format(
- "Configuration option \"%s\" as no value although it is marked as required",
+ "Configuration option \"%s\" has no value although it is marked as required",
sp.getInternalName()
)
)