From 032525a375681fb18cc498d8daed9d73faa21ec3 Mon Sep 17 00:00:00 2001 From: MichaelMorris Date: Tue, 23 Jun 2020 09:15:48 +0100 Subject: Support for Nested/Hierarchical Services Change-Id: I478cf2e1f9cf96443a3e35bf22ac2c9d72bca8f1 Issue-ID: SDC-3145 Signed-off-by: MichaelMorris --- .../componentsInstances/componentInstance.ts | 6 ++++- .../componentsInstances/fullComponentInstance.ts | 2 +- .../serviceSubstitutionInstance.ts | 30 ++++++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 catalog-ui/src/app/models/componentsInstances/serviceSubstitutionInstance.ts (limited to 'catalog-ui/src/app/models/componentsInstances') diff --git a/catalog-ui/src/app/models/componentsInstances/componentInstance.ts b/catalog-ui/src/app/models/componentsInstances/componentInstance.ts index e311589637..e91fcc9663 100644 --- a/catalog-ui/src/app/models/componentsInstances/componentInstance.ts +++ b/catalog-ui/src/app/models/componentsInstances/componentInstance.ts @@ -157,13 +157,17 @@ export class ComponentInstance implements IComponentInstance{ public isServiceProxy = ():boolean => { return this.originType === ComponentType.SERVICE_PROXY; } + + public isServiceSubstitution = ():boolean => { + return this.originType === ComponentType.SERVICE_SUBSTITUTION; + } public isVFC = ():boolean => { return this.originType === ResourceType.VFC; } public getComponentUid = ():string => { - return this.isServiceProxy()? this.sourceModelUid : this.componentUid; + return this.isServiceProxy() || this.isServiceSubstitution() ? this.sourceModelUid : this.componentUid; } public setInstanceRC = ():void=> { diff --git a/catalog-ui/src/app/models/componentsInstances/fullComponentInstance.ts b/catalog-ui/src/app/models/componentsInstances/fullComponentInstance.ts index ab9015d949..50a9eeb1d1 100644 --- a/catalog-ui/src/app/models/componentsInstances/fullComponentInstance.ts +++ b/catalog-ui/src/app/models/componentsInstances/fullComponentInstance.ts @@ -66,7 +66,7 @@ export class FullComponentInstance extends ComponentInstance { this.directives = componentInstance.directives; - if(originComponent.componentType === ComponentType.SERVICE || originComponent.componentType === ComponentType.SERVICE_PROXY){ + if(originComponent.componentType === ComponentType.SERVICE || originComponent.componentType === ComponentType.SERVICE_PROXY || ComponentType.SERVICE_SUBSTITUTION){ this.isServiceInstance = true; this.serviceApiArtifacts = (originComponent).serviceApiArtifacts; this.serviceType = (originComponent).serviceType; diff --git a/catalog-ui/src/app/models/componentsInstances/serviceSubstitutionInstance.ts b/catalog-ui/src/app/models/componentsInstances/serviceSubstitutionInstance.ts new file mode 100644 index 0000000000..6f91a62312 --- /dev/null +++ b/catalog-ui/src/app/models/componentsInstances/serviceSubstitutionInstance.ts @@ -0,0 +1,30 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2020 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +'use strict'; +import {ComponentInstance} from "./componentInstance"; + +export class ServiceSubstitutionInstance extends ComponentInstance { + + constructor(componentInstance?:ServiceSubstitutionInstance) { + super(componentInstance); + this.iconSprite = "sprite-services-icons"; + } +} + -- cgit 1.2.3-korg