aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/clamp/clds/model/prop/TcaItem.java
blob: 5792c0574e5c4b8b9227d2990c57923dc4b6e244 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package org.onap.clamp.clds.model.prop;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Logger;

import com.fasterxml.jackson.databind.JsonNode;

/**
 * Parse Tca Item json properties.
 * 
 * Example json: {"TCA_0lm6cix":{"Narra":[{"name":"tname","value":"Narra"},{"name":"tcaEnab","value":"on"},{"name":"tcaPol","value":"Polcicy1"},{"name":"tcaPolId","value":"1"},{"name":"tcaInt","value":"1"},{"name":"tcaSev","value":"Critical"},{"name":"tcaVio","value":"1"},{"serviceConfigurations":[["FIELDPATH_test_1",">","4"],["FIELDPATH_test_1","=","5"]]}],"Srini":[{"name":"tname","value":"Srini"},{"name":"tcaEnab","value":"on"},{"name":"tcaPol","value":"Policy1"},{"name":"tcaPolId","value":"1"},{"name":"tcaInt","value":"1"},{"name":"tcaSev","value":"Major"},{"name":"tcaVio","value":"1"},{"serviceConfigurations":[["FIELDPATH_test_2","=","3"],["FIELDPATH_test_1",">","2"]]}]}}
 * 
 *
 */
public class TcaItem {

    private static final Logger logger = Logger.getLogger(TcaItem.class.getName());
	
	private String tcaName;
	private String tcaUuId;
	private String nfNamingCode;
	private String tcaEnable;
	private String policyId;
	private Integer interval;
	private String severity;
	private Integer violations;
	private List<TcaThreshhold> tcaThreshholds;
	
	/**
	 * Parse Tca Item given json node
	 * 
	 * @param node
	 */
	public TcaItem(JsonNode node) {
		
		tcaName = ModelElement.getValueByName(node, "tname");
		tcaUuId = ModelElement.getValueByName(node, "tuuid");
		nfNamingCode = ModelElement.getValueByName(node, "tnfc");
		tcaEnable = ModelElement.getValueByName(node, "tcaEnab");
		policyId = ModelElement.getValueByName(node, "tcaPolId");
		if(ModelElement.getValueByName(node, "tcaInt") != null){
			interval = Integer.valueOf(ModelElement.getValueByName(node, "tcaInt"));
		}
		severity = ModelElement.getValueByName(node, "tcaSev");
		if(ModelElement.getValueByName(node, "tcaVio") != null){
			violations = Integer.valueOf(ModelElement.getValueByName(node, "tcaVio"));
		}
		
		// process service Configurations
		JsonNode serviceConfigurationsNode = node.get(node.size() - 1).get("serviceConfigurations");
		Iterator<JsonNode> itr = serviceConfigurationsNode.elements();
		tcaThreshholds = new ArrayList<TcaThreshhold>();
		while(itr.hasNext()) {
			tcaThreshholds.add(new TcaThreshhold(itr.next()));
		}
	}

	public String getTcaName() {
		return tcaName;
	}

	public void setTcaName(String tcaName) {
		this.tcaName = tcaName;
	}
	
	public String getTcaUuId() {
		return tcaUuId;
	}

	public void setTcaUuId(String tcaUuId) {
		this.tcaUuId = tcaUuId;
	}

	public String getNfNamingCode() {
		return nfNamingCode;
	}

	public void setNfNamingCode(String nfNamingCode) {
		this.nfNamingCode = nfNamingCode;
	}

	public String getTcaEnable() {
		return tcaEnable;
	}

	public void setTcaEnable(String tcaEnable) {
		this.tcaEnable = tcaEnable;
	}
	
	public String getPolicyId() {
		return policyId;
	}

	public void setPolicyId(String policyId) {
		this.policyId = policyId;
	}

	public Integer getInterval() {
		return interval;
	}

	public void setInterval(Integer interval) {
		this.interval = interval;
	}

	public String getSeverity() {
		return severity;
	}

	public void setSeverity(String severity) {
		this.severity = severity;
	}

	public Integer getViolations() {
		return violations;
	}

	public void setViolations(Integer violations) {
		this.violations = violations;
	}

	public List<TcaThreshhold> getTcaThreshholds() {
		return tcaThreshholds;
	}
	
}