2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2018 Ericsson. All rights reserved.
4 * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 * SPDX-License-Identifier: Apache-2.0
19 * ============LICENSE_END=========================================================
22 package org.onap.policy.common.parameters.testclasses;
24 import org.onap.policy.common.parameters.GroupValidationResult;
25 import org.onap.policy.common.parameters.ParameterGroup;
26 import org.onap.policy.common.parameters.ValidationStatus;
27 import org.onap.policy.common.parameters.annotations.NotBlank;
28 import org.onap.policy.common.parameters.annotations.NotNull;
30 public class TestParametersLGeneric implements ParameterGroup {
32 private int lgenericIntField = 0;
35 private String lgenericStringField = "Legal " + this.getClass().getCanonicalName();
38 * Default constructor.
40 public TestParametersLGeneric() {
41 // Default Constructor
45 * Create a test parameter group.
47 * @param name the parameter group name
49 public TestParametersLGeneric(final String name) {
53 public int getLgenericIntField() {
54 return lgenericIntField;
57 public String getLgenericStringField() {
58 return lgenericStringField;
61 public void setName(String name) {
65 public void setLgenericIntField(int lgenericIntField) {
66 this.lgenericIntField = lgenericIntField;
69 public void setLgenericStringField(String lgenericStringField) {
70 this.lgenericStringField = lgenericStringField;
74 * Trigger a validation message.
76 * @param level Number of levels to recurse before stopping
78 public void triggerValidationStatus(final ValidationStatus triggerStatus, int level) {
86 switch (triggerStatus) {
88 lgenericStringField = "Legal " + this.getClass().getCanonicalName();
92 lgenericStringField = "aString";
96 lgenericStringField = "lgenericStringField";
100 lgenericStringField = "";
101 lgenericIntField = -1;
110 public String getName() {
115 public GroupValidationResult validate() {
116 GroupValidationResult validationResult = new GroupValidationResult(this);
118 if ("lgenericStringField".equals(lgenericStringField)) {
119 validationResult.setResult("lgenericStringField", ValidationStatus.WARNING,
120 "using the field name for the parameter value is dangerous");
121 } else if ("aString".equals(lgenericStringField)) {
122 validationResult.setResult("lgenericStringField", ValidationStatus.OBSERVATION,
123 "this value for name is unhelpful");
126 if (lgenericIntField < 0) {
127 validationResult.setResult("lgenericIntField", ValidationStatus.INVALID,
128 "lgenericIntField must be a positive integer");
129 } else if (lgenericIntField > 2) {
130 validationResult.setResult("lgenericIntField", ValidationStatus.WARNING,
131 "values greater than 2 are not recommended");
132 } else if (lgenericIntField == 2) {
133 validationResult.setResult("lgenericIntField", ValidationStatus.OBSERVATION,
134 "this field has been set to 2");
137 return validationResult;