summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/models/componentsInstances/componentInstance.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/models/componentsInstances/componentInstance.ts')
-rw-r--r--catalog-ui/src/app/models/componentsInstances/componentInstance.ts40
1 files changed, 39 insertions, 1 deletions
diff --git a/catalog-ui/src/app/models/componentsInstances/componentInstance.ts b/catalog-ui/src/app/models/componentsInstances/componentInstance.ts
index 06939a7a9e..59521ccfc8 100644
--- a/catalog-ui/src/app/models/componentsInstances/componentInstance.ts
+++ b/catalog-ui/src/app/models/componentsInstances/componentInstance.ts
@@ -23,7 +23,9 @@
*/
'use strict';
import {ArtifactGroupModel, CapabilitiesGroup,RequirementsGroup, PropertyModel, InputModel, Module} from "../../models";
-import {ResourceType} from "../../utils/constants";
+import {ResourceType,ComponentType} from "../../utils/constants";
+import {Capability} from "../capability";
+import {Requirement} from "../requirement";
export class ComponentInstance {
@@ -46,6 +48,10 @@ export class ComponentInstance {
public capabilities:CapabilitiesGroup;
public requirements:RequirementsGroup;
public customizationUUID:string;
+ public sourceModelInvariant:string;
+ public sourceModelName:string;
+ public sourceModelUid:string;
+ public sourceModelUuid:string;
//custom properties
public certified:boolean;
public iconSprite:string;
@@ -79,6 +85,10 @@ export class ComponentInstance {
this.updatePosition(componentInstance.posX, componentInstance.posY);
this.groupInstances = componentInstance.groupInstances;
this.invariantName = componentInstance.invariantName;
+ this.sourceModelInvariant = componentInstance.sourceModelInvariant;
+ this.sourceModelName = componentInstance.sourceModelName;
+ this.sourceModelUid = componentInstance.sourceModelUid;
+ this.sourceModelUuid = componentInstance.sourceModelUuid;
}
}
@@ -97,6 +107,10 @@ export class ComponentInstance {
return this.originType === ResourceType.VF || this.originType === ResourceType.PNF || this.originType === ResourceType.CVFC ;
}
+ public isServiceProxy = () :boolean => {
+ return this.originType === ComponentType.SERVICE_PROXY;
+ }
+
public setInstanceRC = ():void=> {
_.forEach(this.requirements, (requirementValue:Array<any>, requirementKey)=> {
_.forEach(requirementValue, (requirement)=> {
@@ -121,6 +135,30 @@ export class ComponentInstance {
this.posY = posY;
}
+ public findRequirement(reqType:string, uniqueId:string, ownerId:string, name:string):Requirement|undefined {
+ let requirement:Requirement = undefined;
+ const searchGroup = (reqType) ? [this.requirements[reqType]] : this.requirements;
+ _.some(_.keys(searchGroup), (searchType) => {
+ requirement = _.find<Requirement>(searchGroup[searchType], (req:Requirement) => (
+ req.uniqueId === uniqueId && req.ownerId === ownerId && req.name === name
+ ));
+ return requirement;
+ });
+ return requirement;
+ }
+
+ public findCapability(capType:string, uniqueId:string, ownerId:string, name:string):Capability|undefined {
+ let capability:Capability = undefined;
+ const searchGroup = (capType) ? [this.capabilities[capType]] : this.capabilities;
+ _.some(_.keys(searchGroup), (searchType) => {
+ capability = _.find<Capability>(searchGroup[searchType], (cap:Capability) => (
+ cap.uniqueId === uniqueId && cap.ownerId === ownerId && cap.name === name
+ ));
+ return capability;
+ });
+ return capability;
+ }
+
public toJSON = ():any => {
let temp = angular.copy(this);
temp.certified = undefined;