import lombok.EqualsAndHashCode;
import lombok.NonNull;
import org.onap.policy.common.parameters.BeanValidationResult;
-import org.onap.policy.common.parameters.ObjectValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.common.parameters.annotations.NotNull;
import org.onap.policy.common.utils.validation.Assertions;
if (usedKey.getKey() instanceof PfConceptKey) {
// PfConceptKey usage, check the key exists
if (!artifactKeySet.contains(usedKey.getKey())) {
- result.addResult(new ObjectValidationResult("artifact key", usedKey.getId(),
- ValidationStatus.INVALID, NOT_DEFINED));
+ result.addResult("artifact key", usedKey.getId(), ValidationStatus.INVALID, NOT_DEFINED);
}
} else {
// PfReferenceKey usage, check the key exists
if (!referenceKeySet.contains(usedKey.getKey())) {
- result.addResult(new ObjectValidationResult("reference key", usedKey.getId(),
- ValidationStatus.INVALID, NOT_DEFINED));
+ result.addResult("reference key", usedKey.getId(), ValidationStatus.INVALID, NOT_DEFINED);
}
}
}
import org.onap.policy.common.parameters.BeanValidationResult;
import org.onap.policy.common.parameters.BeanValidator;
-import org.onap.policy.common.parameters.ObjectValidationResult;
import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.common.parameters.ValueValidator;
PfKey pfkey = (PfKey) value;
if (annot.keyNotNull() && pfkey.isNullKey()) {
- result.addResult(new ObjectValidationResult(fieldName, xlate(pfkey), ValidationStatus.INVALID,
- Validated.IS_A_NULL_KEY));
+ result.addResult(fieldName, xlate(pfkey), ValidationStatus.INVALID, Validated.IS_A_NULL_KEY);
return false;
}
PfKeyImpl keyimpl = (PfKeyImpl) pfkey;
if (annot.nameNotNull() && keyimpl.isNullName()) {
- result2.addResult(new ObjectValidationResult("name", pfkey.getName(), ValidationStatus.INVALID,
- Validated.IS_NULL));
+ result2.addResult("name", pfkey.getName(), ValidationStatus.INVALID, Validated.IS_NULL);
}
if (annot.versionNotNull() && keyimpl.isNullVersion()) {
- result2.addResult(new ObjectValidationResult("version", pfkey.getVersion(), ValidationStatus.INVALID,
- Validated.IS_NULL));
+ result2.addResult("version", pfkey.getVersion(), ValidationStatus.INVALID, Validated.IS_NULL);
}
if (!result2.isClean()) {
*/
public static void addResult(@NonNull BeanValidationResult result, @NonNull String fieldName, Object value,
@NonNull String errorMessage) {
- result.addResult(
- new ObjectValidationResult(fieldName, getKeyId(value), ValidationStatus.INVALID, errorMessage));
+ result.addResult(fieldName, getKeyId(value), ValidationStatus.INVALID, errorMessage);
}
/**
*/
public static void validateKeyNotNull(BeanValidationResult result, @NonNull String fieldName, PfKey key) {
if (key == null) {
- result.addResult(new ObjectValidationResult(fieldName, key, ValidationStatus.INVALID, IS_A_NULL_KEY));
+ result.addResult(fieldName, key, ValidationStatus.INVALID, IS_A_NULL_KEY);
return;
}
if (key.isNullKey()) {
- result.addResult(new ObjectValidationResult(fieldName, key.getId(), ValidationStatus.INVALID,
- IS_A_NULL_KEY));
+ result.addResult(fieldName, key.getId(), ValidationStatus.INVALID, IS_A_NULL_KEY);
return;
}
import lombok.NonNull;
import org.junit.Test;
import org.onap.policy.common.parameters.BeanValidationResult;
-import org.onap.policy.common.parameters.ObjectValidationResult;
import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.common.utils.coder.CoderException;
}
BeanValidationResult result = new BeanValidationResult(fieldName, this);
- result.addResult(new ObjectValidationResult(fieldName, text, ValidationStatus.INVALID, NOT_SAME));
+ result.addResult(fieldName, text, ValidationStatus.INVALID, NOT_SAME);
return result;
}
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019-2021 Bell Canada.
- * Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2020-2021 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.
import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceInput;
import org.onap.policy.cds.api.CdsProcessorListener;
import org.onap.policy.cds.properties.CdsServerProperties;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
* @param listener the listener to listen on
*/
public CdsProcessorGrpcClient(final CdsProcessorListener listener, CdsServerProperties props) {
- final GroupValidationResult validationResult = props.validate();
+ final ValidationResult validationResult = props.validate();
Preconditions.checkState(validationResult.getStatus().isValid(), "Error validating CDS server "
+ "properties: " + validationResult.getResult());
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Bell Canada.
+ * Modifications Copyright (C) 2021 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.
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ParameterGroup;
+import org.onap.policy.common.parameters.ParameterGroupImpl;
import org.onap.policy.common.parameters.ParameterRuntimeException;
import org.onap.policy.common.parameters.annotations.Max;
import org.onap.policy.common.parameters.annotations.Min;
@Getter
@Setter
@ToString
-public class CdsServerProperties implements ParameterGroup {
+public class CdsServerProperties extends ParameterGroupImpl {
// Port range constants
private static final int MIN_USER_PORT = 1024;
throw new ParameterRuntimeException("The name of this ParameterGroup implementation is always " + getName());
}
- @Override
- public GroupValidationResult validate() {
- return new GroupValidationResult(this);
- }
-
/**
* Generate base64-encoded Authorization header from username and password.
*
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019 AT&T Intellectual Property.
+ * Copyright (C) 2019, 2021 AT&T Intellectual Property.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import lombok.NoArgsConstructor;
import lombok.NonNull;
import org.onap.policy.common.parameters.BeanValidationResult;
-import org.onap.policy.common.parameters.ObjectValidationResult;
import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.models.base.PfUtils;
result.validateNotNullList(SUBGROUP_FIELD, deploymentSubgroups, DeploymentSubGroup::validatePapRest);
if (deploymentSubgroups != null && deploymentSubgroups.isEmpty()) {
- result.addResult(new ObjectValidationResult(SUBGROUP_FIELD, deploymentSubgroups, ValidationStatus.INVALID,
- "is empty"));
+ result.addResult(SUBGROUP_FIELD, deploymentSubgroups, ValidationStatus.INVALID, "is empty");
}
checkDuplicateSubgroups(result);
if (curact != null && action == Action.PATCH) {
BeanValidationResult subResult = new BeanValidationResult(pdpType, pdpType);
- subResult.addResult(new ObjectValidationResult("action", action, ValidationStatus.INVALID,
- "incompatible with previous action: " + curact));
+ subResult.addResult("action", action, ValidationStatus.INVALID,
+ "incompatible with previous action: " + curact);
BeanValidationResult subResult2 = new BeanValidationResult(SUBGROUP_FIELD, subgrp);
subResult2.addResult(subResult);
result.addResult(subResult2);
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019-2020 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property.
+ * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import lombok.Data;
import lombok.NoArgsConstructor;
import org.onap.policy.common.parameters.BeanValidationResult;
-import org.onap.policy.common.parameters.ObjectValidationResult;
import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.models.base.PfKey;
(PdpSubGroup pdpSubGroup) -> pdpSubGroup.validatePapRest(updateGroupFlow));
if (pdpSubgroups != null && pdpSubgroups.isEmpty()) {
- result.addResult(new ObjectValidationResult(SUBGROUP_FIELD, pdpSubgroups, ValidationStatus.INVALID,
- "is empty"));
+ result.addResult(SUBGROUP_FIELD, pdpSubgroups, ValidationStatus.INVALID, "is empty");
}
checkDuplicateSubgroups(result);
}
// different sizes implies duplicates
- result.addResult(new ObjectValidationResult(SUBGROUP_FIELD, pdpTypes, ValidationStatus.INVALID,
- "duplicate subgroups"));
+ result.addResult(SUBGROUP_FIELD, pdpTypes, ValidationStatus.INVALID, "duplicate subgroups");
}
@Override
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019-2021 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019, 2021 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.
import lombok.Data;
import lombok.NonNull;
import org.onap.policy.common.parameters.BeanValidationResult;
-import org.onap.policy.common.parameters.ObjectValidationResult;
import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.models.base.PfUtils;
ToscaConceptIdentifier::validatePapRest);
if (supportedPolicyTypes != null && supportedPolicyTypes.isEmpty()) {
- result.addResult(new ObjectValidationResult("supportedPolicyTypes", supportedPolicyTypes,
- ValidationStatus.INVALID, "empty list"));
+ result.addResult("supportedPolicyTypes", supportedPolicyTypes, ValidationStatus.INVALID, "empty list");
}
}
if (desiredInstanceCount <= 0) {
- result.addResult(new ObjectValidationResult("desiredInstanceCount", desiredInstanceCount,
- ValidationStatus.INVALID, "non-positive"));
+ result.addResult("desiredInstanceCount", desiredInstanceCount, ValidationStatus.INVALID, "non-positive");
}
return result;
package org.onap.policy.models.provider;
import lombok.Data;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.BeanValidationResult;
+import org.onap.policy.common.parameters.BeanValidator;
import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ValidationStatus;
-import org.onap.policy.common.utils.validation.ParameterValidationUtils;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
import org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl;
// @formatter:off
private static final String DEFAULT_IMPLEMENTATION = DatabasePolicyModelsProviderImpl.class.getName();
private String name;
+ @NotNull @NotBlank
private String implementation = DEFAULT_IMPLEMENTATION;
private String databaseType;
+ @NotNull @NotBlank
private String databaseDriver;
+ @NotNull @NotBlank
private String databaseUrl;
private String databaseUser;
private String databasePassword;
+ @NotNull @NotBlank
private String persistenceUnit;
/**
* Validate the model provider parameters.
*
*/
- @Override
- public GroupValidationResult validate() {
- final GroupValidationResult validationResult = new GroupValidationResult(this);
-
- if (!ParameterValidationUtils.validateStringParameter(implementation)) {
- validationResult.setResult("implementation", ValidationStatus.INVALID,
- "a PolicyModelsProvider implementation must be specified");
- }
-
- if (!ParameterValidationUtils.validateStringParameter(databaseDriver)) {
- validationResult.setResult("databaseUrl", ValidationStatus.INVALID,
- "a driver must be specified for the JDBC connection to the database");
- }
- if (!ParameterValidationUtils.validateStringParameter(databaseUrl)) {
- validationResult.setResult("databaseUrl", ValidationStatus.INVALID,
- "a URL must be specified for the JDBC connection to the database");
- }
-
- if (!ParameterValidationUtils.validateStringParameter(persistenceUnit)) {
- validationResult.setResult("persistenceUnit", ValidationStatus.INVALID,
- "a persistence unit must be specified for connecting to the database");
- }
-
- return validationResult;
+ @Override
+ public BeanValidationResult validate() {
+ return new BeanValidator().validateTop(getClass().getSimpleName(), this);
}
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
import static org.junit.Assert.assertTrue;
import org.junit.Test;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
/**
* Test of {@link PolicyModelsProviderParameters} class.
pars.setDatabaseUrl("jdbc://www.acmecorp/roadrunner");
pars.setPersistenceUnit("WileECoyote");
- GroupValidationResult result = pars.validate();
+ ValidationResult result = pars.validate();
assertTrue(result.isValid());
pars.setImplementation(null);
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019-2021 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.
import org.onap.policy.common.parameters.annotations.Min;
import org.onap.policy.common.parameters.annotations.NotBlank;
import org.onap.policy.common.parameters.annotations.NotNull;
+import org.onap.policy.common.parameters.annotations.Valid;
/**
* Class to hold all parameters needed for the DMaaP simulator component.
@NotBlank
@Getter
public class DmaapSimParameterGroup extends ParameterGroupImpl {
- private RestServerParameters restServerParameters;
+ private @Valid RestServerParameters restServerParameters;
/**
* Frequency, in seconds, with which to sweep the topics of idle consumers. On each
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019-2021 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.
package org.onap.policy.models.sim.dmaap.parameters;
import java.io.File;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.utils.coder.Coder;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
}
// validate the parameters
- final GroupValidationResult validationResult = dmaapSimParameterGroup.validate();
+ final ValidationResult validationResult = dmaapSimParameterGroup.validate();
if (!validationResult.isValid()) {
String returnMessage =
"validation error(s) on parameters from \"" + arguments.getConfigurationFilePath() + "\"\n";
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
import org.onap.policy.common.parameters.ParameterGroupImpl;
import org.onap.policy.common.parameters.annotations.NotBlank;
import org.onap.policy.common.parameters.annotations.NotNull;
+import org.onap.policy.common.parameters.annotations.Valid;
/**
* Class to hold all parameters needed for pdp simulator component.
@NotBlank
@Getter
public class PdpSimulatorParameterGroup extends ParameterGroupImpl {
+ @Valid
private PdpStatusParameters pdpStatusParameters;
+ @Valid
private TopicParameterGroup topicParameterGroup;
/**
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019, 2021 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.
package org.onap.policy.models.sim.pdp.parameters;
import java.io.File;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.utils.coder.Coder;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
}
// validate the parameters
- final GroupValidationResult validationResult = pdpSimulatorParameterGroup.validate();
+ final ValidationResult validationResult = pdpSimulatorParameterGroup.validate();
if (!validationResult.isValid()) {
String returnMessage =
"validation error(s) on parameters from \"" + arguments.getConfigurationFilePath() + "\"\n";
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
package org.onap.policy.models.sim.pdp.parameters;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Map;
import org.junit.Test;
import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
/**
* Class to perform unit test of {@link PdpSimulatorParameterGroup}.
PdpSimulatorParameterGroup.class);
final PdpStatusParameters pdpStatusParameters = pdpSimulatorParameters.getPdpStatusParameters();
final TopicParameterGroup topicParameterGroup = pdpSimulatorParameters.getTopicParameterGroup();
- final GroupValidationResult validationResult = pdpSimulatorParameters.validate();
+ final ValidationResult validationResult = pdpSimulatorParameters.validate();
assertTrue(validationResult.isValid());
assertEquals(CommonTestData.PDP_SIMULATOR_GROUP_NAME, pdpSimulatorParameters.getName());
assertEquals(CommonTestData.TIME_INTERVAL, pdpStatusParameters.getTimeIntervalMs());
public void testPdpSimulatorParameterGroup_NullName() {
final PdpSimulatorParameterGroup pdpSimulatorParameters = commonTestData
.toObject(commonTestData.getPdpSimulatorParameterGroupMap(null), PdpSimulatorParameterGroup.class);
- final GroupValidationResult validationResult = pdpSimulatorParameters.validate();
+ final ValidationResult validationResult = pdpSimulatorParameters.validate();
assertFalse(validationResult.isValid());
assertEquals(null, pdpSimulatorParameters.getName());
assertTrue(validationResult.getResult().contains("is null"));
public void testPdpSimulatorParameterGroup_EmptyName() {
final PdpSimulatorParameterGroup pdpSimulatorParameters = commonTestData
.toObject(commonTestData.getPdpSimulatorParameterGroupMap(""), PdpSimulatorParameterGroup.class);
- final GroupValidationResult validationResult = pdpSimulatorParameters.validate();
+ final ValidationResult validationResult = pdpSimulatorParameters.validate();
assertFalse(validationResult.isValid());
assertEquals("", pdpSimulatorParameters.getName());
- assertTrue(validationResult.getResult().contains(
- "field \"name\" type \"java.lang.String\" value \"\" INVALID, " + "must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains(
+ "\"name\" value \"\" INVALID, " + "is blank");
}
@Test
commonTestData.getPdpSimulatorParameterGroupMap(CommonTestData.PDP_SIMULATOR_GROUP_NAME),
PdpSimulatorParameterGroup.class);
pdpSimulatorParameters.setName("PdpSimulatorNewGroup");
- final GroupValidationResult validationResult = pdpSimulatorParameters.validate();
+ final ValidationResult validationResult = pdpSimulatorParameters.validate();
assertTrue(validationResult.isValid());
assertEquals("PdpSimulatorNewGroup", pdpSimulatorParameters.getName());
}
map.put("pdpStatusParameters", commonTestData.getPdpStatusParametersMap(true));
final PdpSimulatorParameterGroup pdpSimulatorParameters =
commonTestData.toObject(map, PdpSimulatorParameterGroup.class);
- final GroupValidationResult validationResult = pdpSimulatorParameters.validate();
+ final ValidationResult validationResult = pdpSimulatorParameters.validate();
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("\"org.onap.policy.models.sim.pdp.parameters.PdpSimulatorParameterGroup\" INVALID, "
- + "parameter group has status INVALID"));
+ assertThat(validationResult.getResult())
+ .contains("\"PdpSimulatorParameterGroup\" INVALID, item has status INVALID");
}
@Test
final PdpSimulatorParameterGroup parGroup =
commonTestData.toObject(map, PdpSimulatorParameterGroup.class);
- final GroupValidationResult validationResult = parGroup.validate();
+ final ValidationResult validationResult = parGroup.validate();
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("\"org.onap.policy.common.endpoints.parameters.TopicParameterGroup\" INVALID, "
- + "parameter group has status INVALID"));
+ assertThat(validationResult.getResult())
+ .contains("\"TopicParameterGroup\" INVALID, item has status INVALID");
}
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019-2021 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019, 2021 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.
arguments.parse(pdpSimulatorConfigParameters);
assertThatThrownBy(() -> new PdpSimulatorParameterHandler().getParameters(arguments)).hasMessageContaining(
- "field \"name\" type \"java.lang.String\" value \" \" INVALID, must be a non-blank string");
+ "\"name\" value \" \" INVALID, is blank");
}
@Test
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019, 2021 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.
import static org.junit.Assert.assertTrue;
import org.junit.Test;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
/**
* Class to perform unit test of {@link PdpStatusParameters}.
public void test() {
final PdpStatusParameters pdpStatusParameters =
testData.toObject(testData.getPdpStatusParametersMap(false), PdpStatusParameters.class);
- final GroupValidationResult validationResult = pdpStatusParameters.validate();
+ final ValidationResult validationResult = pdpStatusParameters.validate();
assertTrue(validationResult.isValid());
assertEquals(CommonTestData.TIME_INTERVAL, pdpStatusParameters.getTimeIntervalMs());
assertEquals(CommonTestData.PDP_TYPE, pdpStatusParameters.getPdpType());
public void testValidate() {
final PdpStatusParameters pdpStatusParameters =
testData.toObject(testData.getPdpStatusParametersMap(false), PdpStatusParameters.class);
- final GroupValidationResult result = pdpStatusParameters.validate();
+ final ValidationResult result = pdpStatusParameters.validate();
assertNull(result.getResult());
assertTrue(result.isValid());
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2020 Bell Canada.
+ * Modifications Copyright (C) 2021 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.
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ParameterGroup;
+import org.onap.policy.common.parameters.ParameterGroupImpl;
import org.onap.policy.common.parameters.ParameterRuntimeException;
import org.onap.policy.common.parameters.annotations.Max;
import org.onap.policy.common.parameters.annotations.Min;
@Getter
@Setter
@ToString
-public class CdsServerParameters implements ParameterGroup {
+public class CdsServerParameters extends ParameterGroupImpl {
// Port range constants
private static final int MIN_USER_PORT = 1024;
throw new ParameterRuntimeException("The name of this ParameterGroup implementation is always " + getName());
}
- @Override
- public GroupValidationResult validate() {
- return new GroupValidationResult(this);
- }
-
/**
* Generate base64-encoded Authorization header from username and password.
*
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2021 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.
package org.onap.policy.models.simulators;
import lombok.Getter;
-import org.apache.commons.lang3.StringUtils;
import org.onap.policy.common.endpoints.parameters.RestServerParameters;
-import org.onap.policy.common.parameters.ObjectValidationResult;
-import org.onap.policy.common.parameters.ValidationResult;
-import org.onap.policy.common.parameters.ValidationStatus;
+import org.onap.policy.common.parameters.annotations.ClassName;
+import org.onap.policy.common.parameters.annotations.NotNull;
@Getter
public class ClassRestServerParameters extends RestServerParameters {
- private String providerClass;
-
- /**
- * Validates the parameters.
- *
- * @param containerName name of the parameter container
- * @return the validation result
- */
- public ValidationResult validate(String containerName) {
- // not using a BeanValidator because username and password are not required
- if (StringUtils.isBlank(providerClass)) {
- return new ObjectValidationResult("providerClass", providerClass, ValidationStatus.INVALID, "is empty");
- }
-
- return new ObjectValidationResult("providerClass", providerClass);
- }
+ private @NotNull @ClassName String providerClass;
}
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
import org.onap.policy.common.endpoints.parameters.TopicParameters;
import org.onap.policy.common.parameters.BeanValidationResult;
import org.onap.policy.common.parameters.BeanValidator;
-import org.onap.policy.common.parameters.ObjectValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
+import org.onap.policy.common.parameters.annotations.Valid;
import org.onap.policy.models.sim.dmaap.parameters.DmaapSimParameterGroup;
/**
*/
private DmaapSimParameterGroup dmaapProvider;
- private CdsServerParameters grpcServer;
+ private @Valid CdsServerParameters grpcServer;
/**
* Parameters for the REST server simulators that are to be started.
*/
- private List<ClassRestServerParameters> restServers = new LinkedList<>();
+ private List<@Valid ClassRestServerParameters> restServers = new LinkedList<>();
/**
* Topic sinks that are used by {@link #topicServers}.
*/
- private List<TopicParameters> topicSinks = new LinkedList<>();
+ private List<@Valid TopicParameters> topicSinks = new LinkedList<>();
/**
* Topic sources that are used by {@link #topicServers}.
*/
- private List<TopicParameters> topicSources = new LinkedList<>();
+ private List<@Valid TopicParameters> topicSources = new LinkedList<>();
/**
* Parameters for the TOPIC server simulators that are to be started.
*/
- private List<TopicServerParameters> topicServers = new LinkedList<>();
+ private List<@Valid TopicServerParameters> topicServers = new LinkedList<>();
/**
BeanValidationResult subResult = new BeanValidationResult("dmaapProvider", dmaapProvider);
subResult.validateNotNull("name", dmaapProvider.getName());
if (dmaapProvider.getTopicSweepSec() < 1) {
- ObjectValidationResult fieldResult =
- new ObjectValidationResult("topicSweepSec", dmaapProvider.getTopicSweepSec(),
- ValidationStatus.INVALID, "is below the minimum value: 1");
- subResult.addResult(fieldResult);
+ subResult.addResult("topicSweepSec", dmaapProvider.getTopicSweepSec(),
+ ValidationStatus.INVALID, "is below the minimum value: 1");
}
result.addResult(subResult);
}
- if (grpcServer != null) {
- result.addResult(grpcServer.validate());
- }
-
- result.validateList("restServers", restServers, params -> params.validate("restServers"));
- result.validateList("topicServers", topicServers, params -> params.validate("topicServers"));
-
return result;
}
}
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2021 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.
@Test
public void testValidateString() throws CoderException {
// some fields missing
- ValidationResult result = new ClassRestServerParameters().validate("InvalidParams");
+ ValidationResult result = new ClassRestServerParameters().validate();
assertFalse(result.isValid());
assertNotNull(result.getResult());
SimulatorParameters simParams = new StandardCoder()
.decode(new File("src/test/resources/simParameters.json"), SimulatorParameters.class);
ClassRestServerParameters params = simParams.getRestServers().get(0);
- assertNull(params.validate("ValidParams").getResult());
+ assertNull(params.validate().getResult());
}
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019-2021 Nordix Foundation.
- * Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2020-2021 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.
}
if (entityType.getKey().equals(parentEntityTypeKey)) {
- result.addResult(new ObjectValidationResult("entity type", entityType.getKey().getId(),
- ValidationStatus.INVALID, "ancestor of itself"));
+ result.addResult("entity type", entityType.getKey().getId(),
+ ValidationStatus.INVALID, "ancestor of itself");
throw new PfModelRuntimeException(Response.Status.CONFLICT, result.getResult());
}
.getAll(parentEntityTypeKey.getName(), parentEntityTypeKey.getVersion());
Set<JpaToscaEntityType<ToscaEntity>> ancestorEntitySetToReturn = new HashSet<>(ancestorEntitySet);
if (ancestorEntitySet.isEmpty()) {
- result.addResult(new ObjectValidationResult("parent", parentEntityTypeKey.getId(), ValidationStatus.INVALID,
- Validated.NOT_FOUND));
+ result.addResult("parent", parentEntityTypeKey.getId(), ValidationStatus.INVALID, Validated.NOT_FOUND);
} else {
for (JpaToscaEntityType<?> filteredEntityType : ancestorEntitySet) {
ancestorEntitySetToReturn.addAll(getEntityTypeAncestors(entityTypes, filteredEntityType, result));