aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/models/componentsInstances
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/models/componentsInstances')
-rw-r--r--catalog-ui/src/app/models/componentsInstances/componentInstance.ts40
-rw-r--r--catalog-ui/src/app/models/componentsInstances/serviceProxyInstance.ts35
2 files changed, 74 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;
diff --git a/catalog-ui/src/app/models/componentsInstances/serviceProxyInstance.ts b/catalog-ui/src/app/models/componentsInstances/serviceProxyInstance.ts
new file mode 100644
index 0000000000..a035a17db8
--- /dev/null
+++ b/catalog-ui/src/app/models/componentsInstances/serviceProxyInstance.ts
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+/**
+ * Created by obarda on 2/4/2016.
+ */
+'use strict';
+import {ComponentInstance} from "./componentInstance";
+
+export class ServiceProxyInstance extends ComponentInstance {
+
+ constructor(componentInstance?:ServiceProxyInstance) {
+ super(componentInstance);
+ this.iconSprite = "sprite-proxy-services-icons";
+ //this.originType = "ServiceProxy";
+ }
+}
+