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;
+ }
+
}