aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/Resource.java
blob: 4e6fedde9ed06eba7fd7246bb96224ffadf18a74 (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
94
95
96
97
98
99
100
101
102
103
104
105
package org.openecomp.mso.bpmn.core.domain;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonIgnore;



public abstract class Resource extends JsonWrapper  implements Serializable {

	private static final long serialVersionUID = 1L;
	private String resourceId;
	protected ResourceType resourceType; // Enum of vnf or network or allotted resource
	protected ModelInfo modelInfo;
	private long concurrencyCounter = 1L;

	//private List modules;
	private ResourceInstance resourceInstance = new ResourceInstance(); // TODO possibly remove
	private HomingSolution homingSolution = new HomingSolution(); // TODO maybe this instead of resourceInstance being "bridge"

	//common parameters for all Resources
	private String toscaNodeType;

	// GET and SET
	public String getResourceId() {
		return resourceId;
	}
	public void setResourceId(String resourceId) {
		this.resourceId = resourceId;
	}
	public ModelInfo getModelInfo() {
		return modelInfo;
	}
	public void setModelInfo(ModelInfo modelInfo) {
		this.modelInfo = modelInfo;
	}

	public ResourceInstance getResourceInstance() {
		return resourceInstance;
	}
	public void setResourceInstance(ResourceInstance resourceInstance) {
		this.resourceInstance = resourceInstance;
	}
	public HomingSolution getHomingSolution(){
		return homingSolution;
	}

	public void setHomingSolution(HomingSolution homingSolution){
		this.homingSolution = homingSolution;
	}
	public void setResourceType(ResourceType resourceType) {
		this.resourceType = resourceType;
	}

	public ResourceType getResourceType(){
		return resourceType;
	}

	public String getToscaNodeType() {
		return toscaNodeType;
	}
	public void setToscaNodeType(String toscaNodeType) {
		this.toscaNodeType = toscaNodeType;
	}

	//Utility methods

	public String getResourceInstanceId() {
		return this.getResourceInstance().getInstanceId();
	}
	public String getResourceInstanceName() {
		return this.getResourceInstance().getInstanceName();
	}
	//TODO
//	@JsonIgnore
//	public String getResourceHomingSolution() {
//	}

	public void setResourceInstanceId(String newInstanceId){
		this.getResourceInstance().setInstanceId(newInstanceId);
	}
	public void setResourceInstanceName(String newInstanceName){
		this.getResourceInstance().setInstanceName(newInstanceName);
	}

	//TODO
//	@JsonIgnore
//	public String setResourceHomingSolution() {
//	}
	/**
	 * To be used by macro flow to increment concurrency counter after update to it's structure was completed
	 */
	public void incrementConcurrencyCounter(){
		this.concurrencyCounter ++;
	}
	/**
	 * Method to get concurrency counter data
	 * @return long value for the counter
	 */
	@JsonIgnore
	public long getConcurrencyCounter(){
		return concurrencyCounter;
	}

}