This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch 
4287-migrate-angular-ui-from-constructor-injection-to-inject
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit a5f2a271ef7d3779585caa0d0d4d5b4256410635
Author: Philipp Zehnder <[email protected]>
AuthorDate: Tue Mar 24 10:04:36 2026 +0100

    migrate connect UI to inject()
---
 .../adapter-code-panel.component.ts                   |  6 +++---
 .../adapter-deployment-settings.component.ts          | 13 +++++++++++--
 .../configuration-group.component.ts                  |  6 +++---
 .../adapter-details-data.component.ts                 | 19 ++++++++++---------
 .../adapter-details-logs.component.ts                 | 16 ++++++++--------
 .../adapter-details-metrics.component.ts              | 16 ++++++++--------
 .../create-adapter/create-adapter.component.ts        | 12 +++++-------
 .../adapter-documentation-dialog.component.ts         |  9 ++++-----
 .../adapter-started-preview.component.ts              | 10 ++++------
 .../adapter-template-dialog.component.ts              | 12 ++++++------
 .../delete-adapter-dialog.component.ts                | 11 +++++------
 .../edit-schema-transformation.component.ts           | 19 ++++++++++++-------
 .../all-adapter-actions-dialog.component.ts           | 13 +++++++------
 .../app/connect/services/adapter-template.service.ts  |  4 ++--
 ui/src/app/connect/services/rest.service.ts           |  8 +++-----
 15 files changed, 91 insertions(+), 83 deletions(-)

diff --git 
a/ui/src/app/connect/components/adapter-code-panel/adapter-code-panel.component.ts
 
b/ui/src/app/connect/components/adapter-code-panel/adapter-code-panel.component.ts
index 993f71e6f3..c5586757ac 100644
--- 
a/ui/src/app/connect/components/adapter-code-panel/adapter-code-panel.component.ts
+++ 
b/ui/src/app/connect/components/adapter-code-panel/adapter-code-panel.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, Input, OnInit, inject } from '@angular/core';
 import {
     AdapterDescription,
     AdapterService,
@@ -32,6 +32,8 @@ import { ConfigurationCodePanelComponent } from 
'../../../core-ui/configuration-
     imports: [FlexDirective, ConfigurationCodePanelComponent],
 })
 export class AdapterCodePanelComponent implements OnInit {
+    private adapterService = inject(AdapterService);
+
     @Input()
     adapterDescription: AdapterDescription;
 
@@ -40,8 +42,6 @@ export class AdapterCodePanelComponent implements OnInit {
 
     compactAdapter: CompactAdapter;
 
-    constructor(private adapterService: AdapterService) {}
-
     ngOnInit(): void {
         this.adapterService
             .convertToCompactAdapter(this.adapterDescription)
diff --git 
a/ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-deployment-settings/adapter-deployment-settings.component.ts
 
b/ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-deployment-settings/adapter-deployment-settings.component.ts
index 4ee994f11f..edc80ef422 100644
--- 
a/ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-deployment-settings/adapter-deployment-settings.component.ts
+++ 
b/ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-deployment-settings/adapter-deployment-settings.component.ts
@@ -16,7 +16,14 @@
  *
  */
 
-import { Component, ElementRef, Input, OnInit, ViewChild } from 
'@angular/core';
+import {
+    Component,
+    ElementRef,
+    Input,
+    OnInit,
+    ViewChild,
+    inject,
+} from '@angular/core';
 import {
     ExtensionDeploymentConfiguration,
     ServiceTagService,
@@ -75,6 +82,8 @@ import { TranslatePipe } from '@ngx-translate/core';
     ],
 })
 export class SpAdapterDeploymentSettingsComponent implements OnInit {
+    private serviceTagService = inject(ServiceTagService);
+
     @Input()
     deploymentConfiguration: ExtensionDeploymentConfiguration;
 
@@ -89,7 +98,7 @@ export class SpAdapterDeploymentSettingsComponent implements 
OnInit {
 
     @ViewChild('serviceTagInput') serviceTagInput: 
ElementRef<HTMLInputElement>;
 
-    constructor(private serviceTagService: ServiceTagService) {
+    constructor() {
         this.filteredServiceTags = this.serviceTagCtrl.valueChanges.pipe(
             startWith(null),
             map((serviceTagValue: string | null) => {
diff --git 
a/ui/src/app/connect/components/adapter-configuration/adapter-settings/configuration-group/configuration-group.component.ts
 
b/ui/src/app/connect/components/adapter-configuration/adapter-settings/configuration-group/configuration-group.component.ts
index 0dd10f742a..f930d5477b 100644
--- 
a/ui/src/app/connect/components/adapter-configuration/adapter-settings/configuration-group/configuration-group.component.ts
+++ 
b/ui/src/app/connect/components/adapter-configuration/adapter-settings/configuration-group/configuration-group.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, Input, OnInit, inject } from '@angular/core';
 import {
     FormsModule,
     ReactiveFormsModule,
@@ -43,6 +43,8 @@ import { StaticPropertyComponent } from 
'../../../../../core-ui/static-propertie
     ],
 })
 export class ConfigurationGroupComponent implements OnInit {
+    private staticPropertyUtils = inject(StaticPropertyUtilService);
+
     @Input() configurationGroup: UntypedFormGroup;
 
     @Input() adapterId: string;
@@ -53,8 +55,6 @@ export class ConfigurationGroupComponent implements OnInit {
 
     completedConfigurations: ConfigurationInfo[] = [];
 
-    constructor(private staticPropertyUtils: StaticPropertyUtilService) {}
-
     ngOnInit() {
         this.completedConfigurations =
             this.staticPropertyUtils.initializeCompletedConfigurations(
diff --git 
a/ui/src/app/connect/components/adapter-details/adapter-details-data/adapter-details-data.component.ts
 
b/ui/src/app/connect/components/adapter-details/adapter-details-data/adapter-details-data.component.ts
index 19aba9a9bd..562d259d3c 100644
--- 
a/ui/src/app/connect/components/adapter-details/adapter-details-data/adapter-details-data.component.ts
+++ 
b/ui/src/app/connect/components/adapter-details/adapter-details-data/adapter-details-data.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, inject } from '@angular/core';
 import { SpAbstractAdapterDetailsDirective } from 
'../abstract-adapter-details.directive';
 import {
     CurrentUserService,
@@ -57,16 +57,17 @@ export class AdapterDetailsDataComponent
     extends SpAbstractAdapterDetailsDirective
     implements OnInit
 {
+    private pipelineElementService = inject(PipelineElementService);
+
     stream: SpDataStream;
 
-    constructor(
-        currentUserService: CurrentUserService,
-        activatedRoute: ActivatedRoute,
-        adapterService: AdapterService,
-        adapterMonitoringService: AdapterMonitoringService,
-        breadcrumbService: SpBreadcrumbService,
-        private pipelineElementService: PipelineElementService,
-    ) {
+    constructor() {
+        const currentUserService = inject(CurrentUserService);
+        const activatedRoute = inject(ActivatedRoute);
+        const adapterService = inject(AdapterService);
+        const adapterMonitoringService = inject(AdapterMonitoringService);
+        const breadcrumbService = inject(SpBreadcrumbService);
+
         super(
             currentUserService,
             activatedRoute,
diff --git 
a/ui/src/app/connect/components/adapter-details/adapter-details-logs/adapter-details-logs.component.ts
 
b/ui/src/app/connect/components/adapter-details/adapter-details-logs/adapter-details-logs.component.ts
index 49171a5bf8..60be30f665 100644
--- 
a/ui/src/app/connect/components/adapter-details/adapter-details-logs/adapter-details-logs.component.ts
+++ 
b/ui/src/app/connect/components/adapter-details/adapter-details-logs/adapter-details-logs.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, inject } from '@angular/core';
 import { SpAbstractAdapterDetailsDirective } from 
'../abstract-adapter-details.directive';
 import { ActivatedRoute } from '@angular/router';
 import {
@@ -61,13 +61,13 @@ export class SpAdapterDetailsLogsComponent
 {
     adapterLogs: SpLogEntry[];
 
-    constructor(
-        currentUserService: CurrentUserService,
-        activatedRoute: ActivatedRoute,
-        adapterService: AdapterService,
-        adapterMonitoringService: AdapterMonitoringService,
-        breadcrumbService: SpBreadcrumbService,
-    ) {
+    constructor() {
+        const currentUserService = inject(CurrentUserService);
+        const activatedRoute = inject(ActivatedRoute);
+        const adapterService = inject(AdapterService);
+        const adapterMonitoringService = inject(AdapterMonitoringService);
+        const breadcrumbService = inject(SpBreadcrumbService);
+
         super(
             currentUserService,
             activatedRoute,
diff --git 
a/ui/src/app/connect/components/adapter-details/adapter-details-metrics/adapter-details-metrics.component.ts
 
b/ui/src/app/connect/components/adapter-details/adapter-details-metrics/adapter-details-metrics.component.ts
index 2732b6190e..aaa07ace13 100644
--- 
a/ui/src/app/connect/components/adapter-details/adapter-details-metrics/adapter-details-metrics.component.ts
+++ 
b/ui/src/app/connect/components/adapter-details/adapter-details-metrics/adapter-details-metrics.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, inject } from '@angular/core';
 import { SpAbstractAdapterDetailsDirective } from 
'../abstract-adapter-details.directive';
 import { ActivatedRoute } from '@angular/router';
 import {
@@ -61,13 +61,13 @@ export class SpAdapterDetailsMetricsComponent
 {
     adapterMetrics: SpMetricsEntry;
 
-    constructor(
-        currentUserService: CurrentUserService,
-        activatedRoute: ActivatedRoute,
-        adapterService: AdapterService,
-        adapterMonitoringService: AdapterMonitoringService,
-        breadcrumbService: SpBreadcrumbService,
-    ) {
+    constructor() {
+        const currentUserService = inject(CurrentUserService);
+        const activatedRoute = inject(ActivatedRoute);
+        const adapterService = inject(AdapterService);
+        const adapterMonitoringService = inject(AdapterMonitoringService);
+        const breadcrumbService = inject(SpBreadcrumbService);
+
         super(
             currentUserService,
             activatedRoute,
diff --git 
a/ui/src/app/connect/components/create-adapter/create-adapter.component.ts 
b/ui/src/app/connect/components/create-adapter/create-adapter.component.ts
index dd2c669b71..7ddbfe7c53 100644
--- a/ui/src/app/connect/components/create-adapter/create-adapter.component.ts
+++ b/ui/src/app/connect/components/create-adapter/create-adapter.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, inject } from '@angular/core';
 import {
     AdapterDescription,
     AdapterService,
@@ -33,16 +33,14 @@ import { AdapterConfigurationComponent } from 
'../adapter-configuration/adapter-
     imports: [AdapterConfigurationComponent],
 })
 export class CreateAdapterComponent implements OnInit {
+    private breadcrumbService = inject(SpBreadcrumbService);
+    private adapterService = inject(AdapterService);
+    private route = inject(ActivatedRoute);
+
     initialized = false;
     adapterTypeName = '';
     adapter: AdapterDescription = undefined;
 
-    constructor(
-        private breadcrumbService: SpBreadcrumbService,
-        private adapterService: AdapterService,
-        private route: ActivatedRoute,
-    ) {}
-
     ngOnInit(): void {
         this.adapterService.getAdapterDescriptions().subscribe(adapters => {
             const adapter = this.findAdapterWithAppIdFromRoute(adapters);
diff --git 
a/ui/src/app/connect/dialog/adapter-documentation/adapter-documentation-dialog.component.ts
 
b/ui/src/app/connect/dialog/adapter-documentation/adapter-documentation-dialog.component.ts
index 12e10bbaf1..dc142de89d 100644
--- 
a/ui/src/app/connect/dialog/adapter-documentation/adapter-documentation-dialog.component.ts
+++ 
b/ui/src/app/connect/dialog/adapter-documentation/adapter-documentation-dialog.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, Input } from '@angular/core';
+import { Component, Input, inject } from '@angular/core';
 import {
     DialogRef,
     PipelineElementDocumentationComponent,
@@ -30,10 +30,9 @@ import { MatButton } from '@angular/material/button';
     imports: [PipelineElementDocumentationComponent, MatDivider, MatButton],
 })
 export class SpAdapterDocumentationDialogComponent {
+    dialogRef =
+        inject<DialogRef<SpAdapterDocumentationDialogComponent>>(DialogRef);
+
     @Input()
     appId: string;
-
-    constructor(
-        public dialogRef: DialogRef<SpAdapterDocumentationDialogComponent>,
-    ) {}
 }
diff --git 
a/ui/src/app/connect/dialog/adapter-started/adapter-started-preview/adapter-started-preview.component.ts
 
b/ui/src/app/connect/dialog/adapter-started/adapter-started-preview/adapter-started-preview.component.ts
index d197b6d066..32005967e4 100644
--- 
a/ui/src/app/connect/dialog/adapter-started/adapter-started-preview/adapter-started-preview.component.ts
+++ 
b/ui/src/app/connect/dialog/adapter-started/adapter-started-preview/adapter-started-preview.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, Input, OnInit, inject } from '@angular/core';
 import { AdapterService, SpDataStream } from '@streampipes/platform-services';
 import { RestService } from '../../../services/rest.service';
 import { FlexDirective, LayoutDirective } from '@ngbracket/ngx-layout/flex';
@@ -32,17 +32,15 @@ import { PipelineElementRuntimeInfoComponent } from 
'@streampipes/shared-ui';
     ],
 })
 export class SpAdapterStartedPreviewComponent implements OnInit {
+    private adapterService = inject(AdapterService);
+    private restService = inject(RestService);
+
     @Input()
     streamDescription: SpDataStream;
 
     @Input()
     adapterElementId: string;
 
-    constructor(
-        private adapterService: AdapterService,
-        private restService: RestService,
-    ) {}
-
     ngOnInit() {
         this.getLiveViewPreview();
     }
diff --git 
a/ui/src/app/connect/dialog/adapter-template/adapter-template-dialog.component.ts
 
b/ui/src/app/connect/dialog/adapter-template/adapter-template-dialog.component.ts
index 690045bcae..85ef23d09e 100644
--- 
a/ui/src/app/connect/dialog/adapter-template/adapter-template-dialog.component.ts
+++ 
b/ui/src/app/connect/dialog/adapter-template/adapter-template-dialog.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, Input, OnInit, inject } from '@angular/core';
 import {
     PipelineElementTemplate,
     PipelineElementTemplateService,
@@ -40,6 +40,11 @@ import { MatButton } from '@angular/material/button';
     ],
 })
 export class SpAdapterTemplateDialogComponent implements OnInit {
+    dialogRef = inject<DialogRef<SpAdapterTemplateDialogComponent>>(DialogRef);
+    private pipelineElementTemplateService = inject(
+        PipelineElementTemplateService,
+    );
+
     @Input()
     configs: StaticPropertyUnion[];
 
@@ -49,11 +54,6 @@ export class SpAdapterTemplateDialogComponent implements 
OnInit {
     template: PipelineElementTemplate;
     templateConfigs: Map<string, any>[] = [];
 
-    constructor(
-        public dialogRef: DialogRef<SpAdapterTemplateDialogComponent>,
-        private pipelineElementTemplateService: PipelineElementTemplateService,
-    ) {}
-
     ngOnInit(): void {
         this.template = new PipelineElementTemplate();
     }
diff --git 
a/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.ts
 
b/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.ts
index d756426ec2..d374add960 100644
--- 
a/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.ts
+++ 
b/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, Input } from '@angular/core';
+import { Component, Input, inject } from '@angular/core';
 import {
     AdapterDescription,
     AdapterService,
@@ -47,6 +47,10 @@ import { TranslatePipe } from '@ngx-translate/core';
     ],
 })
 export class DeleteAdapterDialogComponent {
+    private dialogRef =
+        inject<DialogRef<DeleteAdapterDialogComponent>>(DialogRef);
+    private dataMarketplaceService = inject(AdapterService);
+
     @Input()
     adapter: AdapterDescription;
 
@@ -57,11 +61,6 @@ export class DeleteAdapterDialogComponent {
     namesOfPipelinesUsingAdapter = '';
     namesOfPipelinesNotOwnedByUser = '';
 
-    constructor(
-        private dialogRef: DialogRef<DeleteAdapterDialogComponent>,
-        private dataMarketplaceService: AdapterService,
-    ) {}
-
     close(refreshAdapters: boolean) {
         this.dialogRef.close(refreshAdapters);
     }
diff --git 
a/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.ts
 
b/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.ts
index 1c2a871362..ba655323e6 100644
--- 
a/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.ts
+++ 
b/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.ts
@@ -16,7 +16,14 @@
  *
  */
 
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import {
+    Component,
+    EventEmitter,
+    Input,
+    OnInit,
+    Output,
+    inject,
+} from '@angular/core';
 import {
     debounceTime,
     distinctUntilChanged,
@@ -78,6 +85,10 @@ import { TranslatePipe } from '@ngx-translate/core';
     ],
 })
 export class EditSchemaTransformationComponent implements OnInit {
+    private semanticTypesRestService = inject(SemanticTypesRestService);
+    private shepherdService = inject(ShepherdService);
+    private router = inject(Router);
+
     @Input()
     cachedProperty: EventProperty;
 
@@ -93,12 +104,6 @@ export class EditSchemaTransformationComponent implements 
OnInit {
 
     adapterIsInEditMode: boolean;
 
-    constructor(
-        private semanticTypesRestService: SemanticTypesRestService,
-        private shepherdService: ShepherdService,
-        private router: Router,
-    ) {}
-
     ngOnInit(): void {
         this.semanticTypes = this.domainPropertyControl.valueChanges.pipe(
             startWith(''),
diff --git 
a/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts
 
b/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts
index 898502bac7..dd74983228 100644
--- 
a/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts
+++ 
b/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, Input, OnInit, inject } from '@angular/core';
 import { DialogRef } from '@streampipes/shared-ui';
 import {
     AdapterDescription,
@@ -33,6 +33,11 @@ import { MatButton } from '@angular/material/button';
     imports: [FlexDirective, MatDivider, MatButton, TranslatePipe],
 })
 export class AllAdapterActionsComponent implements OnInit {
+    private dialogRef =
+        inject<DialogRef<AllAdapterActionsComponent>>(DialogRef);
+    private adapterService = inject(AdapterService);
+    private translate = inject(TranslateService);
+
     @Input()
     adapters: AdapterDescription[];
 
@@ -46,11 +51,7 @@ export class AllAdapterActionsComponent implements OnInit {
     @Input()
     action: boolean;
 
-    constructor(
-        private dialogRef: DialogRef<AllAdapterActionsComponent>,
-        private adapterService: AdapterService,
-        private translate: TranslateService,
-    ) {
+    constructor() {
         this.adaptersToModify = [];
         this.actionStatus = [];
         this.actionFinished = false;
diff --git a/ui/src/app/connect/services/adapter-template.service.ts 
b/ui/src/app/connect/services/adapter-template.service.ts
index ed0f859c29..08869f7d0c 100644
--- a/ui/src/app/connect/services/adapter-template.service.ts
+++ b/ui/src/app/connect/services/adapter-template.service.ts
@@ -16,14 +16,14 @@
  *
  */
 
-import { Injectable } from '@angular/core';
+import { Injectable, inject } from '@angular/core';
 import { SpAdapterTemplateDialogComponent } from 
'../dialog/adapter-template/adapter-template-dialog.component';
 import { DialogService, PanelType } from '@streampipes/shared-ui';
 import { StaticPropertyUnion } from '@streampipes/platform-services';
 
 @Injectable({ providedIn: 'root' })
 export class AdapterTemplateService {
-    constructor(private dialogService: DialogService) {}
+    private dialogService = inject(DialogService);
 
     getDialog(configs: StaticPropertyUnion[], appId: string) {
         return this.dialogService.open(SpAdapterTemplateDialogComponent, {
diff --git a/ui/src/app/connect/services/rest.service.ts 
b/ui/src/app/connect/services/rest.service.ts
index bfd601c2d6..519191aa0b 100644
--- a/ui/src/app/connect/services/rest.service.ts
+++ b/ui/src/app/connect/services/rest.service.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Injectable } from '@angular/core';
+import { Injectable, inject } from '@angular/core';
 
 import { HttpClient, HttpContext } from '@angular/common/http';
 
@@ -34,10 +34,8 @@ import { NGX_LOADING_BAR_IGNORED } from 
'@ngx-loading-bar/http-client';
 
 @Injectable({ providedIn: 'root' })
 export class RestService {
-    constructor(
-        private http: HttpClient,
-        private platformServicesCommons: PlatformServicesCommons,
-    ) {}
+    private http = inject(HttpClient);
+    private platformServicesCommons = inject(PlatformServicesCommons);
 
     get connectPath() {
         return this.platformServicesCommons.apiBasePath + '/connect';

Reply via email to