blob: 82024af69cc2b18bfc75fbbdb3a2e6e0e221e37b (
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
|
/*
* ===============================LICENSE_START======================================
* dcae-analytics
* ================================================================================
* Copyright © 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===========================================
*/
package org.openecomp.dcae.apod.analytics.model.domain.policy.tca;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
/**
* TCA Metrics that need to applied to each Event Name
*
* @author Rajiv Singla . Creation Date: 11/5/2016.
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class MetricsPerEventName extends BaseTCAPolicyModel{
private static final long serialVersionUID = 1L;
/**
* Event Name to which TCA Policy needs to applied.
*
* @param eventName New value for eventName to which TCA Policy needs to applied
* @return Event Name to which TCA Policy needs to applied
*/
private String eventName;
/**
* Control Loop Schema Type
*
* @param controlLoopSchemaType New value for Control Loop Schema Type
* @return Control Loop Schema Type
*/
private ControlLoopSchemaType controlLoopSchemaType;
/**
* Policy Scope
*
* @param policyScope New value for Policy Scope
* @return Policy Scope
*/
private String policyScope;
/**
* Policy Name
*
* @param policyName New value for Policy Name
* @return Policy Name
*/
private String policyName;
/**
* Policy Version
*
* @param policyVersion New value for Policy Version
* @return Policy Version
*/
private String policyVersion;
/**
* Policy Thresholds
*
* @param thresholds New value for Policy Thresholds
* @return Policy Thresholds
*/
private List<Threshold> thresholds;
/**
* Creates a deep copy of given {@link MetricsPerEventName}
*
* @param metricsPerEventName metrics Per Event Name that need to copied
*
* @return copy of new metrics per event Name with values copied from given metrics per Event Name
*/
public static MetricsPerEventName copy(final MetricsPerEventName metricsPerEventName) {
final MetricsPerEventName newMetricsPerEventName = new MetricsPerEventName();
newMetricsPerEventName.setEventName(metricsPerEventName.getEventName());
newMetricsPerEventName.setControlLoopSchemaType(metricsPerEventName.getControlLoopSchemaType());
newMetricsPerEventName.setPolicyScope(metricsPerEventName.getPolicyScope());
newMetricsPerEventName.setPolicyName(metricsPerEventName.getPolicyName());
newMetricsPerEventName.setPolicyVersion(metricsPerEventName.getPolicyVersion());
if (metricsPerEventName.getThresholds() != null) {
List<Threshold> newThresholds = new ArrayList<>(metricsPerEventName.getThresholds().size());
for( Threshold threshold : metricsPerEventName.getThresholds()) {
newThresholds.add(Threshold.copy(threshold));
}
newMetricsPerEventName.setThresholds(newThresholds);
}
return newMetricsPerEventName;
}
}
|