This is an automated email from the ASF dual-hosted git repository. zehnder pushed a commit to branch test-uns in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit 2069b816ac42c88dd7e09b3b71551fce2182dd42 Merge: 8c65f6f558 6b2869385d Author: Philipp Zehnder <[email protected]> AuthorDate: Tue Mar 24 15:15:56 2026 +0100 Merge branch 'dev' into test-uns .github/workflows/build.yml | 18 +- .github/workflows/go-client-e2e-test.yml | 2 +- .github/workflows/mvn-integration-test.yml | 2 +- installer/cli/.env | 3 + installer/cli/README.md | 8 + .../deploy/standalone/backend/docker-compose.yml | 1 + .../extensions-all-jvm/docker-compose.yml | 1 + .../standalone/nats-auth/docker-compose.dev.yml} | 13 +- .../docker-compose.yml | 12 +- .../.env => cli/environments/backend-nats-auth} | 12 +- .../.env => cli/environments/basic-nats-auth} | 11 +- .../.env => cli/environments/lite-nats-auth} | 14 +- .../environments/pipeline-element-nats-auth} | 13 +- installer/compose/.env | 4 + installer/compose/README.md | 14 +- .../{.env => docker-compose.minimal.nats-auth.yml} | 18 +- .../compose/{.env => docker-compose.nats-auth.yml} | 18 +- pom.xml | 8 +- .../apache/streampipes/client/api/IAdminApi.java | 3 - streampipes-client-e2e/docker-compose.yml | 2 + .../go-client-e2e/pipelines/pipelines.json | 96 +--- .../streampipes/model/pipeline/pipeline.go | 2 - streampipes-client-python/poetry.lock | 7 +- .../apache/streampipes/client/api/AdminApi.java | 12 - .../apache/streampipes/commons/constants/Envs.java | 7 + .../commons/environment/DefaultEnvironment.java | 20 + .../commons/environment/Environment.java | 8 + .../environment/variable/EnvironmentVariable.java | 2 +- .../variable/EnvironmentVariableTest.java | 73 +++ .../management/compact/AdapterGenerationSteps.java | 8 +- .../management/compact/PersistPipelineHandler.java | 6 +- .../management/AdapterMasterManagement.java | 40 +- .../management/AdapterMigrationManager.java | 27 +- .../management/AdapterUpdateManagement.java | 19 +- .../management/DescriptionManagement.java | 22 +- .../management/management/GuessManagement.java | 41 +- .../management/WorkerAdministrationManagement.java | 8 +- .../management/management/WorkerRestClient.java | 182 ++++--- .../connect/management/util/WorkerPaths.java | 51 -- .../management/AdapterMasterManagementTest.java | 26 +- streampipes-connect-shared/pom.xml | 6 - .../dataexplorer/AutoAggregationHandler.java | 207 +++++--- .../dataexplorer/QueryResultProvider.java | 3 +- .../dataexplorer/param/model/SelectColumn.java | 4 + .../dataexplorer/AutoAggregationHandlerTest.java | 170 +++++++ .../streampipes/export/AssetLinkResolver.java | 12 +- .../apache/streampipes/export/ExportManager.java | 12 +- .../apache/streampipes/export/ImportManager.java | 12 +- .../export/dataimport/PerformImportGenerator.java | 10 +- .../export/dataimport/PreviewImportGenerator.java | 14 +- .../export/generator/ExportPackageGenerator.java | 10 +- .../export/resolver/AdapterResolver.java | 12 +- .../export/resolver/PipelineResolver.java | 9 +- .../export/utils/EventGroundingProcessor.java | 77 +-- .../management/ExtensionAdapterManagement.java | 7 +- .../management/connect/AdapterAssetManagement.java | 71 +++ ...ider.java => AdapterDescriptionManagement.java} | 41 +- .../connect/AdapterWorkerRequestManagement.java | 77 +++ .../AdapterWorkerSampleDataRequestManagement.java | 69 +++ .../connect/ConnectWorkerDescriptionProvider.java | 8 +- .../HttpServerAdapterRequestManagement.java | 11 +- .../connect/RuntimeResolvableManagement.java | 55 +++ .../elements/SendToBrokerAdapterSink.java | 15 +- .../management/init/DeclarersSingleton.java | 31 +- .../migration/AbstractMigrationHandler.java | 67 +-- .../migration/AdapterMigrationHandler.java | 38 +- .../migration/DataProcessorMigrationHandler.java | 29 +- .../migration/DataSinkMigrationHandler.java | 24 +- .../extensions/management}/model/Description.java | 2 +- .../management/model/SpServiceDefinition.java | 4 - .../monitoring/HealthCheckManagement.java | 41 +- .../monitoring/MonitoringManagement.java | 29 +- .../monitoring/ServiceMonitorManagement.java | 27 +- .../pe/AbstractPipelineElementManagement.java | 84 ++++ .../pe/DataProcessorPipelineElementManagement.java | 19 +- .../pe/DataSinkPipelineElementManagement.java | 18 +- .../pe/DataStreamPipelineElementManagement.java | 28 +- .../pe/InvocablePipelineElementManagement.java | 158 ++++++ .../management/init/DeclarersSingletonTest.java | 6 +- .../streampipes-connect-adapters-iiot/pom.xml | 4 - .../extensions/all/iiot/AllExtensionsIIoTInit.java | 2 - .../extensions/all/jvm/AllExtensionsInit.java | 2 - .../siddhi/trend/TestTrendProcessor.java | 2 - .../streampipes-sinks-brokers-jvm/pom.xml | 9 +- .../sinks/brokers/jvm}/jms/ActiveMQPublisher.java | 38 +- .../sinks/brokers/jvm}/jms/ActiveMQUtils.java | 9 +- .../sinks/brokers/jvm/jms/JmsPublisherSink.java | 7 +- .../sinks/internal/jvm/datalake/DataLakeSink.java | 2 +- .../INotificationDataSinkMigratorTest.java | 6 +- .../notifications/jvm/msteams/TestMSTeamsSink.java | 10 +- .../health/monitoring/AdapterHealthCheck.java | 1 - .../health/monitoring/ExtensionHealthCheck.java | 19 +- .../ExtensionInstanceAvailabilityCheck.java | 46 +- .../health/monitoring/PipelineHealthCheck.java | 19 +- .../health/monitoring/ResourceProvider.java | 8 +- .../health/monitoring/ServiceHealthCheck.java | 21 +- .../monitoring/ServiceRegistrationManager.java | 8 +- .../service/ExtensionServiceExecutions.java | 86 ---- .../service/ExtensionsServiceReportExecutor.java | 39 +- streampipes-messaging-jms/pom.xml | 54 --- .../messaging/jms/ActiveMQConnectionProvider.java | 49 -- .../messaging/jms/ActiveMQConsumer.java | 111 ----- .../messaging/kafka/SpKafkaConsumer.java | 2 +- .../messaging/kafka/SpKafkaProducer.java | 6 +- .../messaging/nats/AbstractNatsConnector.java | 17 +- .../streampipes/messaging/SpProtocolManager.java | 4 - .../streampipes/model/api/EndpointSelectable.java | 4 + .../model/base/ConsumableStreamPipesEntity.java | 15 - .../model/base/InvocableStreamPipesEntity.java | 23 +- .../configuration/DefaultMessagingSettings.java | 71 --- .../configuration/DefaultSpCoreConfiguration.java | 1 - .../model/configuration/MessagingSettings.java | 187 -------- .../model/configuration/SpCoreConfiguration.java | 9 - .../model/configuration/SpProtocol.java | 1 - .../model/connect/adapter/AdapterDescription.java | 10 + .../svcdiscovery/SpServiceTagPrefix.java | 9 - .../ExtensionServiceBrokerErrorEnvelope.java | 33 +- .../ExtensionServiceBrokerOperation.java} | 40 +- .../ExtensionServiceBrokerOperations.java | 70 +++ .../ExtensionServiceBrokerRequestEnvelope.java | 72 +++ .../ExtensionServiceBrokerResponseEnvelope.java | 90 ++++ .../transport/ExtensionServiceBrokerTopics.java | 158 ++++++ .../ExtensionServicePipelineDetachRequest.java} | 36 +- .../transport/ExtensionServiceTransportMode.java} | 42 +- .../model/graph/DataProcessorDescription.java | 2 - .../model/graph/DataProcessorInvocation.java | 3 - .../model/graph/DataSinkDescription.java | 2 - .../model/graph/DataSinkInvocation.java | 3 - .../model/grounding/KafkaTransportProtocol.java | 7 + .../model/grounding/MqttTransportProtocol.java | 7 + .../model/grounding/NatsTransportProtocol.java | 17 + .../model/grounding/PulsarTransportProtocol.java | 7 + .../model/grounding/TransportProtocol.java | 3 +- .../org/apache/streampipes/model/util/Cloner.java | 3 - .../ExtensionServiceBrokerTopicsTest.java | 87 ++++ .../ExtensionServiceTransportModeTest.java | 52 ++ streampipes-nats-extensions/README.md | 123 +++++ .../pom.xml | 36 +- .../ExtensionBrokerOperationHandler.java | 35 +- .../extensions/ExtensionBrokerRequestContext.java | 8 +- .../extensions/ExtensionBrokerRequestReceiver.java | 372 +++++++++++++++ .../operation/ExtensionBrokerConstants.java | 19 +- .../operation/ExtensionBrokerResponseFactory.java | 110 +++++ .../operation/ExtensionBrokerTopicParser.java | 92 ++++ .../connect/AdapterAssetOperationHandler.java | 96 ++++ .../AdapterStateChangeOperationHandler.java | 92 ++++ .../connect/RuntimeOptionsOperationHandler.java | 115 +++++ .../connect/SampleDataOperationHandler.java | 104 ++++ .../function/FunctionStopOperationHandler.java | 67 +++ .../migration/MigrationOperationHandler.java | 141 ++++++ .../ExtensionInstanceHealthOperationHandler.java | 69 +++ .../monitoring/ServiceHealthOperationHandler.java | 69 +++ .../monitoring/ServiceLoadOperationHandler.java | 55 +++ .../ContainerProvidedOptionsOperationHandler.java | 136 ++++++ .../operation/pe/DescriptionOperationHandler.java | 125 +++++ .../operation/pe/OutputSchemaOperationHandler.java | 150 ++++++ .../pe/PipelineElementAssetsOperationHandler.java | 165 +++++++ .../pe/PipelineElementDetachOperationHandler.java | 120 +++++ .../PipelineElementInvocationOperationHandler.java | 120 +++++ .../operation/ExtensionBrokerTopicParserTest.java | 88 ++++ .../connect/AdapterAssetOperationHandlerTest.java | 129 +++++ ...r.java => ExtensionServiceOperationResult.java} | 28 +- .../api/extensions/ExtensionServiceRequest.java | 53 +++ ...er.java => ExtensionServiceRequestManager.java} | 10 +- .../extensions/ExtensionServiceRequestMethod.java | 10 +- .../extensions/ExtensionServiceRequestTarget.java | 94 ++++ .../extensions/ExtensionServiceRequestTargets.java | 257 ++++++++++ .../api/extensions/ExtensionServiceRequests.java | 133 ++++++ .../IExtensionsServiceEndpointGenerator.java | 19 +- .../streampipes/manager/assets/AssetFetcher.java | 34 +- .../streampipes/manager/assets/AssetManager.java | 6 +- .../execution/ExtensionServiceExecutions.java | 75 --- .../HttpExtensionServiceRequestManager.java | 107 +++++ .../execution/PipelineExecutionTaskFactory.java | 11 +- .../manager/execution/PipelineExecutor.java | 10 +- .../ExtensionsServiceEndpointGenerator.java | 29 +- .../http/BasePipelineElementSubmitter.java | 16 +- .../execution/http/DetachExtensionRequest.java | 65 +++ .../http/DetachPipelineElementSubmitter.java | 6 +- ...ttpRequest.java => InvokeExtensionRequest.java} | 37 +- .../http/InvokePipelineElementSubmitter.java | 9 +- ...t.java => PipelineElementExtensionRequest.java} | 46 +- .../execution/task/DiscoverEndpointsTask.java | 12 +- .../manager/extensions/ExtensionItemInstaller.java | 41 +- .../extensions/ExtensionsResourceUrlProvider.java | 74 --- .../manager/function/FunctionManager.java | 34 +- .../manager/matching/GroundingSelector.java | 46 -- .../matching/PipelineVerificationHandlerV2.java | 8 +- .../manager/matching/ProtocolSelector.java | 103 +--- .../CustomTransformOutputSchemaGenerator.java | 50 +- .../matching/output/OutputSchemaFactory.java | 12 +- .../manager/matching/v2/ElementVerification.java | 52 -- .../manager/matching/v2/GroundingMatch.java | 53 --- .../manager/matching/v2/ProtocolMatch.java | 44 -- .../manager/matching/v2/StreamMatch.java | 16 +- .../matching/v2/pipeline/ApplyGroundingStep.java | 58 +-- .../matching/v2/pipeline/ComputeOutputStep.java | 9 +- .../v2/pipeline/PipelineValidationSteps.java | 6 +- .../migration/AbstractMigrationManager.java | 61 ++- .../manager/migration/MigrationUtils.java | 11 +- .../migration/PipelineElementMigrationManager.java | 34 +- .../pipeline/ExtensionsServiceLogExecutor.java | 74 +-- .../manager/pipeline/PipelineManager.java | 16 +- .../compact/CompactPipelineManagement.java | 8 +- .../manager/preview/PipelinePreview.java | 41 +- .../manager/recommender/ElementRecommender.java | 10 +- .../remote/ContainerProvidedOptionsHandler.java | 33 +- .../runtime/DataStreamRuntimeInfoProvider.java | 10 + .../manager/setup/AutoInstallation.java | 11 +- .../manager/setup/ExtensionsInstallationTask.java | 9 +- .../manager/setup/InstallationConfiguration.java | 11 +- .../setup/PipelineElementInstallationStep.java | 23 +- .../compact/CompactPipelineTemplateManagement.java | 8 +- .../streampipes/manager}/util/GroundingUtils.java | 95 ++-- .../manager/verification/TypedElementVerifier.java | 12 +- .../verification/extractor/TypeExtractor.java | 14 +- .../manager/matching/v2/TestGroundingMatch.java | 78 --- .../manager/matching/v2/TestProtocolMatch.java | 55 --- .../manager/verification/TypeExtractorTest.java | 15 +- streampipes-rest-extensions/pom.xml | 15 - .../AbstractPipelineElementResource.java | 102 +--- .../streampipes/rest/extensions/WelcomePage.java | 72 --- .../extensions/connect/AdapterAssetResource.java | 62 ++- .../connect/AdapterDescriptionResource.java | 48 +- .../extensions/connect/AdapterWorkerResource.java | 36 +- .../connect/AdapterWorkerSampleDataResource.java | 10 +- .../connect/HttpServerAdapterResource.java | 14 +- .../connect/RuntimeResolvableResource.java | 31 +- .../rest/extensions/html/HTMLGenerator.java | 82 ---- .../rest/extensions/html/JSONGenerator.java | 61 --- .../extensions/html/page/WelcomePageGenerator.java | 154 ------ .../migration/AdapterMigrationResource.java | 28 +- .../migration/DataProcessorMigrationResource.java | 28 +- .../migration/DataSinkMigrationResource.java | 29 +- .../extensions/monitoring/HealthCheckResource.java | 40 +- .../extensions/monitoring/MonitoringResource.java | 18 +- .../monitoring/ServiceMonitorResource.java | 15 +- .../pe/DataProcessorPipelineElementResource.java | 52 +- .../pe/DataSinkPipelineElementResource.java | 50 +- .../pe/DataStreamPipelineElementResource.java | 20 +- .../pe/InvocablePipelineElementResource.java | 121 +---- .../migration/MigrateExtensionsResourceTest.java | 13 +- .../apache/streampipes/rest/ResetManagement.java | 25 +- .../rest/impl/AbstractMonitoringResource.java | 11 +- .../rest/impl/AdapterMonitoringResource.java | 10 +- .../rest/impl/CompactPipelineResource.java | 10 +- .../rest/impl/ContainerProvidedOptions.java | 9 +- .../streampipes/rest/impl/PipelineMonitoring.java | 12 +- .../streampipes/rest/impl/PipelineResource.java | 16 +- .../streampipes/rest/impl/PipelineTemplate.java | 6 +- .../streampipes/rest/impl/ResetResource.java | 21 +- .../rest/impl/admin/DataExportResource.java | 11 +- .../rest/impl/admin/DataImportResource.java | 15 +- .../impl/admin/ExtensionsInstallationResource.java | 34 +- .../admin/ExtensionsServiceEndpointResource.java | 51 +- .../impl/admin/MessagingConfigurationResource.java | 55 --- .../rest/impl/admin/MigrationResource.java | 19 +- .../rest/impl/connect/AdapterResource.java | 18 +- .../rest/impl/connect/CompactAdapterResource.java | 31 +- .../rest/impl/connect/DescriptionResource.java | 23 +- .../rest/impl/connect/GuessResource.java | 6 +- .../impl/connect/RuntimeResolvableResource.java | 8 +- .../importer/CsvDataLakeImportService.java | 11 +- .../importer/CsvImportValidationService.java | 2 + .../rest/impl/runtime/PipelinePreviewResource.java | 10 +- .../importer/CsvDataLakeImportServiceTest.java | 52 ++ .../importer/CsvImportValidationServiceTest.java | 28 +- streampipes-sdk-bundle/pom.xml | 5 - .../builder/AbstractProcessingElementBuilder.java | 37 -- .../apache/streampipes/sdk/helpers/Protocols.java | 14 - .../sdk/helpers/SupportedProtocols.java | 62 --- streampipes-service-core-minimal/pom.xml | 4 - streampipes-service-core/pom.xml | 5 - .../streampipes/service/core/PostStartupTask.java | 24 +- .../service/core/StreamPipesCoreApplication.java | 98 ++-- .../extensions/CoreExtensionTransportMode.java | 29 +- .../extensions/CoreNatsRequestReplyClient.java | 111 +++++ .../ExtensionServiceRequestConfiguration.java | 88 ++++ .../NatsExtensionServiceRequestManager.java | 124 +++++ ...ansportAwareExtensionServiceRequestManager.java | 109 +++++ .../svcdiscovery/api/ISpServiceDiscovery.java | 12 - .../api/model/SpServiceUrlProvider.java | 12 - .../svcdiscovery/SpServiceDiscoveryCore.java | 13 - streampipes-service-extensions/pom.xml | 5 + .../StreamPipesExtensionsServiceBase.java | 70 ++- .../test/generator/InvocationGraphGenerator.java | 2 - .../distributed/runtime/DistributedRuntime.java | 9 - .../standalone/function/StreamPipesFunction.java | 22 +- .../standalone/manager/ProtocolManager.java | 17 +- ui/cypress/fixtures/datalake/missingData.json | 7 - ui/cypress/support/utils/chart/ChartBtns.ts | 48 ++ ui/cypress/support/utils/chart/ChartUtils.ts | 18 + .../support/utils/chart/ChartWidgetTableUtils.ts | 10 + .../support/utils/dataset/DataLakeSeedUtils.ts | 188 +++++--- ui/cypress/support/utils/dataset/DatasetUtils.ts | 17 + ui/cypress/tests/chart/autoAggregateTable.spec.ts | 100 ++++ .../tests/chart/chart-types/indicator.spec.ts | 20 +- .../tests/chart/dynamicColumnFilter.smoke.spec.ts | 5 +- .../chart/filterNumericalStringProperties.spec.ts | 4 +- .../tests/chart/missingDataInDataLake.spec.ts | 20 +- ui/cypress/tests/dataset/csvImport.spec.ts | 2 + .../tests/pipeline/pipelineMultiSelect.spec.ts | 6 +- .../userManagement/testGroupManagement.spec.ts | 7 - ui/deployment/i18n/de.json | 1 + ui/deployment/i18n/en.json | 1 + ui/deployment/i18n/pl.json | 1 + .../lib/query/data-view-query-generator.service.ts | 6 +- .../asset-browser-filter-asset-model.component.ts | 2 - .../asset-browser-filter-labels.component.ts | 2 - .../asset-browser-filter-sites.component.ts | 2 - .../asset-browser-filter-type.component.ts | 2 - .../confirm-dialog/confirm-dialog.component.html | 53 ++- .../confirm-dialog/confirm-dialog.component.scss | 4 + .../confirm-dialog/confirm-dialog.component.ts | 20 +- .../dialog/confirm-dialog/confirm-dialog.model.ts} | 12 +- .../streampipes/shared-ui/src/public-api.ts | 1 + .../asset-overview/asset-overview.component.ts | 5 +- .../chart-container/chart-container.component.ts | 6 + .../base/base-data-explorer-widget.directive.ts | 2 + .../charts/base/echarts-widget.component.ts | 40 +- .../charts/gauge/gauge-renderer.service.ts | 74 ++- .../indicator-appearance-config.component.html | 45 ++ .../indicator-appearance-config.component.ts | 85 ++++ .../indicator-chart-widget-config.component.html | 31 +- .../indicator-chart-widget-config.component.ts | 18 +- .../indicator/indicator-group-card.component.html | 78 +++ .../indicator/indicator-group-card.component.scss | 138 ++++++ .../indicator/indicator-group-card.component.ts | 160 +++++++ .../charts/indicator/indicator-renderer.service.ts | 125 ----- .../indicator/indicator-widget.component.html | 93 ++++ .../indicator/indicator-widget.component.scss | 71 +++ .../charts/indicator/indicator-widget.component.ts | 530 +++++++++++++++++++++ .../model/indicator-chart-widget.model.ts | 12 +- .../components/charts/pie/pie-renderer.service.ts | 60 +++ .../table/config/table-widget-config.component.ts | 3 +- .../charts/table/table-widget.component.html | 1 + .../sp-timeseries-renderer.service.ts | 95 +++- .../models/dataview-dashboard.model.ts | 5 + .../registry/chart-registry.service.ts | 11 +- .../chart-overview-table.component.ts | 5 +- .../chart-view/chart-view.component.html | 1 + .../components/chart-view/chart-view.component.ts | 71 ++- .../chart-data-settings.component.html | 13 +- .../chart-data-preview.component.ts | 4 + .../configuration-sections.providers.ts | 10 - .../endpoint-item/endpoint-item.component.html | 29 +- .../endpoint-item/endpoint-item.component.scss | 122 ++++- .../endpoint-item/endpoint-item.component.ts | 27 +- .../extensions-installation.component.html | 5 +- .../files/file-overview/file-overview.component.ts | 5 +- .../broker-config/broker-config.component.html | 44 -- .../broker-config/broker-config.component.ts | 60 --- .../messaging-configuration.component.html | 200 -------- .../messaging-configuration.component.scss | 70 --- .../messaging-configuration.component.ts | 116 ----- .../abstract-security-principal-config.ts | 6 +- .../role-configuration.component.ts | 5 +- .../user-group-configuration.component.ts | 5 +- .../adapter-configuration-state.service.ts | 7 +- .../configure-schema/configure-schema.component.ts | 7 +- .../core-ui/error-hint/error-hint.component.html | 30 +- .../app/core-ui/error-hint/error-hint.component.ts | 22 +- .../loading-indicator.component.html | 2 +- .../loading-indicator.component.ts | 7 +- .../pipeline-operation-status.component.html | 2 +- .../pipeline-operation-status.component.ts | 7 +- .../pipeline-started-status.component.html | 26 +- .../pipeline-started-status.component.ts | 31 +- .../status-indicator.component.html | 6 +- .../status-indicator/status-indicator.component.ts | 13 +- .../grid-view/dashboard-grid-view.component.html | 4 + .../grid-view/dashboard-grid-view.component.scss | 3 +- .../grid-view/dashboard-grid-view.component.ts | 23 +- .../slide-view/dashboard-slide-view.component.html | 4 + .../dashboard-overview-table.component.ts | 5 +- .../overview/dashboard-overview.component.ts | 7 +- .../components/panel/dashboard-panel.component.ts | 36 +- .../edit-dashboard-dialog.component.html | 29 ++ .../edit-dashboard-dialog.component.ts | 13 + .../dataset-feature-card.component.html | 24 +- .../pipeline-assembly-options.component.ts | 5 +- .../components/pipeline/pipeline.component.ts | 3 +- ui/src/app/pipelines/pipelines.component.ts | 2 - 383 files changed, 9783 insertions(+), 4981 deletions(-) diff --cc streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/util/GroundingUtils.java index f9bfbfb8b1,94b50e3401..7eb71a9878 --- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/util/GroundingUtils.java +++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/util/GroundingUtils.java @@@ -38,56 -36,13 +38,19 @@@ public class GroundingUtils private static final String TOPIC_PREFIX = "org.apache.streampipes.connect."; public static EventGrounding createEventGrounding() { + return createEventGrounding(null); + } + + public static EventGrounding createEventGrounding(String requestedTopicName) { + var env = Environments.getEnvironment(); EventGrounding eventGrounding = new EventGrounding(); - var messagingSettings = Utils - .getCoreConfigStorage() - .get() - .getMessagingSettings(); - - String topic = TOPIC_PREFIX + UUID.randomUUID().toString(); + String topic = StringUtils.isBlank(requestedTopicName) + ? TOPIC_PREFIX + UUID.randomUUID() + : requestedTopicName.trim(); - TopicDefinition topicDefinition = new SimpleTopicDefinition(topic); - - SpProtocol prioritizedProtocol = - messagingSettings.getPrioritizedProtocols().get(0); - - if (isPrioritized(prioritizedProtocol, JmsTransportProtocol.class)) { - eventGrounding.setTransportProtocol( - makeJmsTransportProtocol( - messagingSettings.getJmsHost(), - messagingSettings.getJmsPort(), - topicDefinition)); - } else if (isPrioritized(prioritizedProtocol, KafkaTransportProtocol.class)) { - eventGrounding.setTransportProtocol( - makeKafkaTransportProtocol( - messagingSettings.getKafkaHost(), - messagingSettings.getKafkaPort(), - topicDefinition)); - } else if (isPrioritized(prioritizedProtocol, MqttTransportProtocol.class)) { - eventGrounding.setTransportProtocol( - makeMqttTransportProtocol( - messagingSettings.getMqttHost(), - messagingSettings.getMqttPort(), - topicDefinition)); - } else if (isPrioritized(prioritizedProtocol, NatsTransportProtocol.class)) { - eventGrounding.setTransportProtocol( - makeNatsTransportProtocol( - messagingSettings.getNatsHost(), - messagingSettings.getNatsPort(), - topicDefinition)); - } else if (isPrioritized(prioritizedProtocol, PulsarTransportProtocol.class)) { - eventGrounding.setTransportProtocol( - makePulsarTransportProtocol( - messagingSettings.getPulsarUrl(), - topicDefinition - ) - ); - } + + var prioritizedProtocol = env.getPrioritizedProtocol().getValueOrDefault(); + + eventGrounding.setTransportProtocol(makeProtocol(env, prioritizedProtocol, topic)); return eventGrounding; }
