blob: 269663f4ef48e204b62c42bd1c8931631dad92e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
import { ComponentInstance, Component, ArtifactGroupModel, Service, Resource, IMainCategory, ArtifactModel, AttributeModel } from "app/models";
import { ComponentType } from '../../utils/constants';
import * as _ from 'lodash';
export class FullComponentInstance extends ComponentInstance {
public contactId: string;
public componentType: string;
public interfaces:any;
public tags:Array<string>;
public version:string;
public allVersions:any;
public highestVersion:boolean;
public categories:Array<IMainCategory>;
public creationDate:number;
public creatorFullName:string;
public vendorName:string;
public vendorRelease:string;
public systemName:string;
public uuid:string;
public lifecycleState: string;
public isArchived: boolean;
public isServiceInstance: boolean;
public isResourceInstance: boolean;
public directives: string[];
//service
public serviceApiArtifacts:ArtifactGroupModel;
public serviceType:string;
public serviceRole:string;
//resource
public csarUUID:string;
public isCsarComponent: boolean;
public csarVersion:string;
public csarPackageType:string;
public packageId:string;
public resourceType:string;
public resourceVendorModelNumber:string;
public attributes: Array<AttributeModel>;
constructor(componentInstance:ComponentInstance, originComponent:Component) {
super(componentInstance);
this.componentType = originComponent.componentType;
this.interfaces = originComponent.interfaces;
this.tags = [];
this.tags = _.clone(originComponent.tags);
this.version = originComponent.version;
this.allVersions = originComponent.allVersions;
this.highestVersion = originComponent.highestVersion;
this.categories = originComponent.categories;
this.creationDate = originComponent.creationDate;
this.creatorFullName = originComponent.creatorFullName;
this.vendorName = originComponent.vendorName;
this.vendorRelease = originComponent.vendorRelease;
this.contactId = originComponent.contactId;
this.description = originComponent.description;
this.systemName = originComponent.systemName;
this.uuid = originComponent.uuid;
this.lifecycleState = originComponent.lifecycleState;
this.isArchived = originComponent.isArchived;
this.attributes = originComponent.attributes;
this.directives = componentInstance.directives;
if(originComponent.componentType === ComponentType.SERVICE || originComponent.componentType
=== ComponentType.SERVICE_PROXY || originComponent.componentType === ComponentType.SERVICE_SUBSTITUTION) {
this.isServiceInstance = true;
this.serviceApiArtifacts = (<Service>originComponent).serviceApiArtifacts;
this.serviceType = (<Service>originComponent).serviceType;
this.serviceRole = (<Service>originComponent).serviceRole;
}
if(originComponent.componentType === ComponentType.RESOURCE) {
this.isResourceInstance = true;
this.csarUUID = (<Resource>originComponent).csarUUID;
this.isCsarComponent = !!this.csarUUID;
this.resourceType = (<Resource>originComponent).resourceType;
this.resourceVendorModelNumber = (<Resource>originComponent).resourceVendorModelNumber;
}
}
public isResource = ():boolean => {
return this.isResourceInstance;
}
public isService = ():boolean => {
return this.isServiceInstance;
}
}
|