You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2022/07/31 21:20:31 UTC

[incubator-streampipes] 05/06: [STREAMPIPES-545] Move adapter API to platform-services module

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

riemer pushed a commit to branch STREAMPIPES-545
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit d6581497fa1dbdc5a1c3871ad71a58c3bf5f9505
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Sun Jul 31 11:35:19 2022 +0200

    [STREAMPIPES-545] Move adapter API to platform-services module
---
 .../src/lib/apis/adapter.service.ts}               | 39 +++-------------------
 .../platform-services/src/public-api.ts            |  1 +
 .../adapter-description.component.ts               |  5 ++-
 .../data-marketplace/data-marketplace.component.ts |  5 ++-
 .../existing-adapters.component.ts                 |  5 ++-
 .../filter-toolbar/filter-toolbar.component.ts     |  4 +--
 .../new-adapter/new-adapter.component.ts           |  6 ++--
 ui/src/app/connect/connect.module.ts               |  2 --
 .../delete-adapter-dialog.component.ts             |  5 ++-
 ui/src/app/connect/services/connect.service.ts     | 21 ++++++++++++
 10 files changed, 40 insertions(+), 53 deletions(-)

diff --git a/ui/src/app/connect/services/data-marketplace.service.ts b/ui/projects/streampipes/platform-services/src/lib/apis/adapter.service.ts
similarity index 68%
rename from ui/src/app/connect/services/data-marketplace.service.ts
rename to ui/projects/streampipes/platform-services/src/lib/apis/adapter.service.ts
index a8dc5f995..d60352000 100644
--- a/ui/src/app/connect/services/data-marketplace.service.ts
+++ b/ui/projects/streampipes/platform-services/src/lib/apis/adapter.service.ts
@@ -19,25 +19,16 @@
 import { Injectable } from '@angular/core';
 import { HttpClient } from '@angular/common/http';
 import { map } from 'rxjs/operators';
-import { ConnectService } from './connect.service';
-import {
-  AdapterDescription,
-  AdapterDescriptionUnion,
-  GenericAdapterSetDescription,
-  GenericAdapterStreamDescription,
-  Message,
-  SpecificAdapterSetDescription,
-  SpecificAdapterStreamDescription,
-  PlatformServicesCommons
-} from '@streampipes/platform-services';
+
 import { Observable } from 'rxjs';
+import { PlatformServicesCommons } from './commons.service';
+import { AdapterDescription, AdapterDescriptionUnion, Message } from '../model/gen/streampipes-model';
 
-@Injectable()
-export class DataMarketplaceService {
+@Injectable({providedIn: 'root'})
+export class AdapterService {
 
   constructor(
       private http: HttpClient,
-      private connectService: ConnectService,
       private platformServicesCommons: PlatformServicesCommons) {
   }
 
@@ -100,26 +91,6 @@ export class DataMarketplaceService {
     );
   }
 
-  cloneAdapterDescription(toClone: AdapterDescriptionUnion): AdapterDescriptionUnion {
-    let result: AdapterDescriptionUnion;
-
-    if (this.connectService.isGenericDescription(toClone)) {
-      if (toClone instanceof GenericAdapterStreamDescription) {
-        result = GenericAdapterStreamDescription.fromData(toClone, new GenericAdapterStreamDescription());
-      } else if (toClone instanceof GenericAdapterSetDescription) {
-        result = GenericAdapterSetDescription.fromData(toClone, new GenericAdapterSetDescription());
-      }
-    } else {
-      if (toClone instanceof SpecificAdapterStreamDescription) {
-        result = SpecificAdapterStreamDescription.fromData(toClone, new SpecificAdapterStreamDescription());
-      } else if (toClone instanceof SpecificAdapterSetDescription) {
-        result = SpecificAdapterSetDescription.fromData(toClone, new SpecificAdapterSetDescription());
-      }
-    }
-
-    return result;
-  }
-
   getAssetUrl(appId) {
     return `${this.connectPath}/master/description/${appId}/assets`;
   }
diff --git a/ui/projects/streampipes/platform-services/src/public-api.ts b/ui/projects/streampipes/platform-services/src/public-api.ts
index a5415306c..e686a6e4b 100644
--- a/ui/projects/streampipes/platform-services/src/public-api.ts
+++ b/ui/projects/streampipes/platform-services/src/public-api.ts
@@ -24,6 +24,7 @@
 export * from './lib/platform-services.module';
 
 export * from './lib/apis/commons.service';
+export * from './lib/apis/adapter.service';
 export * from './lib/apis/asset-management.service';
 export * from './lib/apis/data-view-data-explorer.service';
 export * from './lib/apis/datalake-rest.service';
diff --git a/ui/src/app/connect/components/data-marketplace/adapter-description/adapter-description.component.ts b/ui/src/app/connect/components/data-marketplace/adapter-description/adapter-description.component.ts
index 55519630d..89bea3356 100644
--- a/ui/src/app/connect/components/data-marketplace/adapter-description/adapter-description.component.ts
+++ b/ui/src/app/connect/components/data-marketplace/adapter-description/adapter-description.component.ts
@@ -18,10 +18,9 @@
 
 import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
 import { ConnectService } from '../../../services/connect.service';
-import { DataMarketplaceService } from '../../../services/data-marketplace.service';
 import { AdapterExportDialog } from '../../../dialog/adapter-export/adapter-export-dialog.component';
 import { MatDialog } from '@angular/material/dialog';
-import { AdapterDescription } from '@streampipes/platform-services';
+import { AdapterDescription, AdapterService } from '@streampipes/platform-services';
 import { DialogService, PanelType } from '@streampipes/shared-ui';
 
 @Component({
@@ -49,7 +48,7 @@ export class AdapterDescriptionComponent implements OnInit {
   adapterLabel: string;
 
   constructor(private connectService: ConnectService,
-              private dataMarketplaceService: DataMarketplaceService,
+              private dataMarketplaceService: AdapterService,
               private dialogService: DialogService,
               public dialog: MatDialog) {
   }
diff --git a/ui/src/app/connect/components/data-marketplace/data-marketplace.component.ts b/ui/src/app/connect/components/data-marketplace/data-marketplace.component.ts
index ee19e47f4..6cf253ddd 100644
--- a/ui/src/app/connect/components/data-marketplace/data-marketplace.component.ts
+++ b/ui/src/app/connect/components/data-marketplace/data-marketplace.component.ts
@@ -17,10 +17,9 @@
  */
 
 import { Component, OnInit } from '@angular/core';
-import { DataMarketplaceService } from '../../services/data-marketplace.service';
 import { ShepherdService } from '../../../services/tour/shepherd.service';
 import { ConnectService } from '../../services/connect.service';
-import { AdapterDescriptionUnion } from '@streampipes/platform-services';
+import { AdapterDescriptionUnion, AdapterService } from '@streampipes/platform-services';
 import { DialogService, SpBreadcrumbService } from '@streampipes/shared-ui';
 import { Router } from '@angular/router';
 import { AdapterFilterSettingsModel } from '../../model/adapter-filter-settings.model';
@@ -40,7 +39,7 @@ export class DataMarketplaceComponent implements OnInit {
 
   currentFilter: AdapterFilterSettingsModel;
 
-  constructor(private dataMarketplaceService: DataMarketplaceService,
+  constructor(private dataMarketplaceService: AdapterService,
               private shepherdService: ShepherdService,
               private connectService: ConnectService,
               private dialogService: DialogService,
diff --git a/ui/src/app/connect/components/existing-adapters/existing-adapters.component.ts b/ui/src/app/connect/components/existing-adapters/existing-adapters.component.ts
index d6ccb3052..3a2490e3a 100644
--- a/ui/src/app/connect/components/existing-adapters/existing-adapters.component.ts
+++ b/ui/src/app/connect/components/existing-adapters/existing-adapters.component.ts
@@ -17,10 +17,9 @@
  */
 
 import { Component, OnInit, ViewChild } from '@angular/core';
-import { AdapterDescriptionUnion, PipelineElementService } from '@streampipes/platform-services';
+import { AdapterDescriptionUnion, AdapterService, PipelineElementService } from '@streampipes/platform-services';
 import { MatTableDataSource } from '@angular/material/table';
 import { ConnectService } from '../../services/connect.service';
-import { DataMarketplaceService } from '../../services/data-marketplace.service';
 import { DialogRef, DialogService, PanelType, SpBreadcrumbService } from '@streampipes/shared-ui';
 import { DeleteAdapterDialogComponent } from '../../dialog/delete-adapter-dialog/delete-adapter-dialog.component';
 import { MatPaginator } from '@angular/material/paginator';
@@ -56,7 +55,7 @@ export class ExistingAdaptersComponent implements OnInit {
   isAdmin = false;
 
   constructor(public connectService: ConnectService,
-              private dataMarketplaceService: DataMarketplaceService,
+              private dataMarketplaceService: AdapterService,
               private dialogService: DialogService,
               private authService: AuthService,
               private pipelineElementService: PipelineElementService,
diff --git a/ui/src/app/connect/components/filter-toolbar/filter-toolbar.component.ts b/ui/src/app/connect/components/filter-toolbar/filter-toolbar.component.ts
index 0540be51b..7e67e7ddc 100644
--- a/ui/src/app/connect/components/filter-toolbar/filter-toolbar.component.ts
+++ b/ui/src/app/connect/components/filter-toolbar/filter-toolbar.component.ts
@@ -17,7 +17,7 @@
  */
 
 import { Component, EventEmitter, OnInit, Output } from '@angular/core';
-import { DataMarketplaceService } from '../../services/data-marketplace.service';
+import { AdapterService } from '@streampipes/platform-services';
 import { MatSelectChange } from '@angular/material/select';
 import { AdapterFilterSettingsModel } from '../../model/adapter-filter-settings.model';
 
@@ -36,7 +36,7 @@ export class SpConnectFilterToolbarComponent implements OnInit {
 
   currentFilter: AdapterFilterSettingsModel = {textFilter: '', selectedCategory: 'All', selectedType: 'All types'};
 
-  constructor(private dataMarketplaceService: DataMarketplaceService) {
+  constructor(private dataMarketplaceService: AdapterService) {
 
   }
 
diff --git a/ui/src/app/connect/components/new-adapter/new-adapter.component.ts b/ui/src/app/connect/components/new-adapter/new-adapter.component.ts
index 1c81025bf..1cdee14b4 100644
--- a/ui/src/app/connect/components/new-adapter/new-adapter.component.ts
+++ b/ui/src/app/connect/components/new-adapter/new-adapter.component.ts
@@ -21,6 +21,7 @@ import { FormBuilder, FormGroup } from '@angular/forms';
 import { MatStepper } from '@angular/material/stepper';
 import {
   AdapterDescriptionUnion,
+  AdapterService,
   EventSchema,
   GenericAdapterSetDescription,
   GenericAdapterStreamDescription,
@@ -36,7 +37,6 @@ import { EventSchemaComponent } from './schema-editor/event-schema/event-schema.
 import { TransformationRuleService } from '../../services/transformation-rule.service';
 import { IconService } from '../../services/icon.service';
 import { ActivatedRoute, Router } from '@angular/router';
-import { DataMarketplaceService } from '../../services/data-marketplace.service';
 import { SpBreadcrumbService } from '@streampipes/shared-ui';
 import { SpConnectRoutes } from '../../connect.routes';
 
@@ -94,7 +94,7 @@ export class NewAdapterComponent implements OnInit, AfterViewInit {
     private iconService: IconService,
     private changeDetectorRef: ChangeDetectorRef,
     private route: ActivatedRoute,
-    private dataMarketplaceService: DataMarketplaceService,
+    private dataMarketplaceService: AdapterService,
     private router: Router,
     private breadcrumbService: SpBreadcrumbService) {
   }
@@ -115,7 +115,7 @@ export class NewAdapterComponent implements OnInit, AfterViewInit {
 
     this.dataMarketplaceService.getAdapterDescriptions().subscribe(adapters => {
       const adapter = adapters.find(a => a.appId === this.route.snapshot.params.appId);
-      this.adapter = this.dataMarketplaceService.cloneAdapterDescription(adapter);
+      this.adapter = this.connectService.cloneAdapterDescription(adapter);
       this.breadcrumbService.updateBreadcrumb(this.breadcrumbService.makeRoute([SpConnectRoutes.BASE, SpConnectRoutes.CREATE], this.adapter.name));
       (this.adapter as any).templateTitle = this.adapter.name;
       this.adapter.name = '';
diff --git a/ui/src/app/connect/connect.module.ts b/ui/src/app/connect/connect.module.ts
index 8fb26c7d8..e7e324795 100644
--- a/ui/src/app/connect/connect.module.ts
+++ b/ui/src/app/connect/connect.module.ts
@@ -39,7 +39,6 @@ import { TransformationRuleService } from './services/transformation-rule.servic
 import { ConnectService } from './services/connect.service';
 import { AdapterDescriptionComponent } from './components/data-marketplace/adapter-description/adapter-description.component';
 import { DataMarketplaceComponent } from './components/data-marketplace/data-marketplace.component';
-import { DataMarketplaceService } from './services/data-marketplace.service';
 import { FormatItemComponent } from './components/new-adapter/format-configuration/format-item/format-item.component';
 import { FormatListComponent } from './components/new-adapter/format-configuration/format-list/format-list.component';
 import { IconService } from './services/icon.service';
@@ -170,7 +169,6 @@ import { SpAdapterTemplateDialogComponent } from './dialog/adapter-template/adap
     DataTypesService,
     TransformationRuleService,
     StaticPropertyUtilService,
-    DataMarketplaceService,
     IconService,
     UnitProviderService,
     TimestampPipe,
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 ce05016f6..dc61d383b 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
@@ -17,9 +17,8 @@
  */
 
 import { Component, Input } from '@angular/core';
-import { AdapterDescriptionUnion } from '@streampipes/platform-services';
+import { AdapterDescriptionUnion, AdapterService } from '@streampipes/platform-services';
 import { DialogRef } from '@streampipes/shared-ui';
-import { DataMarketplaceService } from '../../services/data-marketplace.service';
 
 @Component({
     selector: 'sp-delete-adapter-dialog',
@@ -37,7 +36,7 @@ export class DeleteAdapterDialogComponent {
     numberOfPipelinesWithAdapter = 0;
 
     constructor(private dialogRef: DialogRef<DeleteAdapterDialogComponent>,
-                private dataMarketplaceService: DataMarketplaceService) {
+                private dataMarketplaceService: AdapterService) {
     }
 
     close(refreshAdapters: boolean) {
diff --git a/ui/src/app/connect/services/connect.service.ts b/ui/src/app/connect/services/connect.service.ts
index 1e4b73db7..740cc4319 100644
--- a/ui/src/app/connect/services/connect.service.ts
+++ b/ui/src/app/connect/services/connect.service.ts
@@ -25,6 +25,7 @@ import {
   SpecificAdapterSetDescription,
   SpecificAdapterStreamDescription
 } from '@streampipes/platform-services';
+import { AdapterDescriptionUnion } from '../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
 
 @Injectable()
 export class ConnectService {
@@ -67,5 +68,25 @@ export class ConnectService {
     }
   }
 
+  cloneAdapterDescription(toClone: AdapterDescriptionUnion): AdapterDescriptionUnion {
+    let result: AdapterDescriptionUnion;
+
+    if (this.isGenericDescription(toClone)) {
+      if (toClone instanceof GenericAdapterStreamDescription) {
+        result = GenericAdapterStreamDescription.fromData(toClone, new GenericAdapterStreamDescription());
+      } else if (toClone instanceof GenericAdapterSetDescription) {
+        result = GenericAdapterSetDescription.fromData(toClone, new GenericAdapterSetDescription());
+      }
+    } else {
+      if (toClone instanceof SpecificAdapterStreamDescription) {
+        result = SpecificAdapterStreamDescription.fromData(toClone, new SpecificAdapterStreamDescription());
+      } else if (toClone instanceof SpecificAdapterSetDescription) {
+        result = SpecificAdapterSetDescription.fromData(toClone, new SpecificAdapterSetDescription());
+      }
+    }
+
+    return result;
+  }
+
 
 }