summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/PolicyUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/PolicyUtils.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/PolicyUtils.java117
1 files changed, 43 insertions, 74 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/PolicyUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/PolicyUtils.java
index c1af08308e..80747b5991 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/PolicyUtils.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/PolicyUtils.java
@@ -1,12 +1,6 @@
package org.openecomp.sdc.be.components.validation;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
+import fj.data.Either;
import org.openecomp.sdc.be.config.ConfigurationManager;
import org.openecomp.sdc.be.dao.api.ActionStatus;
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
@@ -15,18 +9,26 @@ import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.PolicyDefinition;
import org.openecomp.sdc.be.model.Resource;
import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.log.wrappers.Logger;
import org.openecomp.sdc.common.util.ValidationUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import fj.data.Either;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+
+import static org.apache.commons.collections.MapUtils.isEmpty;
+import static org.apache.commons.collections.MapUtils.isNotEmpty;
+import static org.apache.commons.lang3.StringUtils.isEmpty;
+import static org.apache.commons.lang3.StringUtils.isNotEmpty;
+import static org.openecomp.sdc.common.api.Constants.GROUP_POLICY_NAME_DELIMETER;
/**
* Provides specific functionality for policy
*/
public class PolicyUtils {
- private static final Logger log = LoggerFactory.getLogger(PolicyUtils.class);
+ private static final Logger log = Logger.getLogger(PolicyUtils.class);
private PolicyUtils() {
// No instances allowed
@@ -40,7 +42,7 @@ public class PolicyUtils {
*/
public static int getNextPolicyCounter(Map<String, PolicyDefinition> policies) {
int nextCounter = 0;
- if (MapUtils.isNotEmpty(policies)) {
+ if (isNotEmpty(policies)) {
int nextCounterFromIds = policies.values()
.stream()
.map(p -> extractNextPolicyCounterFromUniqueId(p.getUniqueId()))
@@ -72,13 +74,12 @@ public class PolicyUtils {
/**
* Retrieves the set of the excluded policy types for the specified component
*
- * @param the component
* @return the set of the policies
*/
public static Set<String> getExcludedPolicyTypesByComponent(Component component) {
- if (MapUtils.isEmpty(ConfigurationManager.getConfigurationManager()
- .getConfiguration()
- .getExcludedPolicyTypesMapping())) {
+ if (isEmpty(ConfigurationManager.getConfigurationManager()
+ .getConfiguration()
+ .getExcludedPolicyTypesMapping())) {
return Collections.emptySet();
}
if (component.getComponentType() == ComponentTypeEnum.SERVICE) {
@@ -95,7 +96,7 @@ public class PolicyUtils {
private static int extractNextPolicyCounterFromUniqueId(String uniqueId) {
int counter = 0;
- if (StringUtils.isNotEmpty(uniqueId)) {
+ if (isNotEmpty(uniqueId)) {
counter = extractNextPolicyCounter(uniqueId, uniqueId.lastIndexOf(Constants.POLICY_UID_POSTFIX));
}
return counter;
@@ -103,7 +104,7 @@ public class PolicyUtils {
private static int extractNextPolicyCounterFromName(String policyName) {
int counter = 0;
- if (StringUtils.isNotEmpty(policyName)) {
+ if (isNotEmpty(policyName)) {
counter = extractNextPolicyCounter(policyName, policyName.length());
}
return counter;
@@ -112,11 +113,12 @@ public class PolicyUtils {
private static int extractNextPolicyCounter(String policyName, int endIndex) {
int counter = 0;
try {
- counter = Integer.valueOf(policyName.substring(policyName.lastIndexOf(Constants.GROUP_POLICY_NAME_DELIMETER) + Constants.GROUP_POLICY_NAME_DELIMETER
- .length(), endIndex)) + 1;
+ int beginIndex = policyName.lastIndexOf(GROUP_POLICY_NAME_DELIMETER) + GROUP_POLICY_NAME_DELIMETER.length();
+ String counterStr = policyName.substring(beginIndex, endIndex);
+ counter = Integer.valueOf(counterStr) + 1;
}
catch (NumberFormatException | IndexOutOfBoundsException e) {
- log.error("The exception {} occurred upon extraction counter from the srting value {}. ", e, policyName);
+ log.error("#extractNextPolicyCounter - An error occurred when attempting to extract counter from policy name [{}]. ", policyName, e);
}
return counter;
}
@@ -126,85 +128,52 @@ public class PolicyUtils {
}
private static void validateImmutablePolicyFields(PolicyDefinition receivedPolicy, PolicyDefinition validPolicy) {
- boolean isUpdatedField = isUpdatedField(receivedPolicy.getUniqueId(), validPolicy.getUniqueId());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getUniqueId(), validPolicy.getUniqueId(), JsonPresentationFields.UNIQUE_ID);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getComponentName(), validPolicy.getComponentName());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getComponentName(), validPolicy.getComponentName(), JsonPresentationFields.CI_COMPONENT_NAME);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getDerivedFrom(), validPolicy.getDerivedFrom());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getDerivedFrom(), validPolicy.getDerivedFrom(), JsonPresentationFields.DERIVED_FROM);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getDescription(), validPolicy.getDescription());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getDescription(), validPolicy.getDescription(), JsonPresentationFields.DESCRIPTION);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getInvariantName(), validPolicy.getInvariantName());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getInvariantName(), validPolicy.getInvariantName(), JsonPresentationFields.CI_INVARIANT_NAME);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getInvariantUUID(), validPolicy.getInvariantUUID());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getInvariantUUID(), validPolicy.getInvariantUUID(), JsonPresentationFields.INVARIANT_UUID);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getPolicyTypeName(), validPolicy.getPolicyTypeName());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getPolicyTypeName(), validPolicy.getPolicyTypeName(), JsonPresentationFields.TYPE);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getPolicyTypeUid(), validPolicy.getPolicyTypeUid());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getPolicyTypeUid(), validPolicy.getPolicyTypeUid(), JsonPresentationFields.TYPE_UNIQUE_ID);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getPolicyUUID(), validPolicy.getPolicyUUID());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getPolicyUUID(), validPolicy.getPolicyUUID(), JsonPresentationFields.UUID);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getVersion(), validPolicy.getVersion());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getVersion(), validPolicy.getVersion(), JsonPresentationFields.VERSION);
- }
- isUpdatedField = isUpdatedField(receivedPolicy.getIsFromCsar().toString(), validPolicy.getIsFromCsar()
- .toString());
- if (isUpdatedField) {
- logImmutableFieldUpdateWarning(receivedPolicy.getIsFromCsar().toString(), validPolicy.getIsFromCsar()
- .toString(), JsonPresentationFields.IS_FROM_CSAR);
- }
+ logImmutableFieldUpdateWarning(receivedPolicy.getUniqueId(), validPolicy.getUniqueId(), JsonPresentationFields.UNIQUE_ID);
+ logImmutableFieldUpdateWarning(receivedPolicy.getComponentName(), validPolicy.getComponentName(), JsonPresentationFields.CI_COMPONENT_NAME);
+ logImmutableFieldUpdateWarning(receivedPolicy.getDerivedFrom(), validPolicy.getDerivedFrom(), JsonPresentationFields.DERIVED_FROM);
+ logImmutableFieldUpdateWarning(receivedPolicy.getDescription(), validPolicy.getDescription(), JsonPresentationFields.DESCRIPTION);
+ logImmutableFieldUpdateWarning(receivedPolicy.getInvariantName(), validPolicy.getInvariantName(), JsonPresentationFields.CI_INVARIANT_NAME);
+ logImmutableFieldUpdateWarning(receivedPolicy.getInvariantUUID(), validPolicy.getInvariantUUID(), JsonPresentationFields.INVARIANT_UUID);
+ logImmutableFieldUpdateWarning(receivedPolicy.getPolicyTypeName(), validPolicy.getPolicyTypeName(), JsonPresentationFields.TYPE);
+ logImmutableFieldUpdateWarning(receivedPolicy.getPolicyTypeUid(), validPolicy.getPolicyTypeUid(), JsonPresentationFields.TYPE_UNIQUE_ID);
+ logImmutableFieldUpdateWarning(receivedPolicy.getPolicyUUID(), validPolicy.getPolicyUUID(), JsonPresentationFields.UUID);
+ logImmutableFieldUpdateWarning(receivedPolicy.getVersion(), validPolicy.getVersion(), JsonPresentationFields.VERSION);
+ logImmutableFieldUpdateWarning(receivedPolicy.getIsFromCsar().toString(), validPolicy.getIsFromCsar().toString(), JsonPresentationFields.IS_FROM_CSAR);
}
private static boolean isUpdatedField(String oldField, String newField) {
boolean isUpdatedField = false;
- if (StringUtils.isEmpty(oldField) && StringUtils.isNotEmpty(newField)) {
+ if (isEmpty(oldField) && isNotEmpty(newField)) {
isUpdatedField = true;
}
- if (StringUtils.isNotEmpty(oldField) && StringUtils.isNotEmpty(newField) && !oldField.equals(newField)) {
+ else if (isNotEmpty(oldField) && isNotEmpty(newField) && !oldField.equals(newField)) {
isUpdatedField = true;
}
return isUpdatedField;
}
private static void logImmutableFieldUpdateWarning(String oldValue, String newValue, JsonPresentationFields field) {
- log.warn("Update of the field {} of a policy not allowed. The change will be ignored. The old value is {} , the new value is {}. ", field, oldValue, newValue);
+ if (isUpdatedField(oldValue, newValue)) {
+ log.warn("#logImmutableFieldUpdateWarning - Update of the field {} of a policy not allowed. The change will be ignored. The old value is {} , the new value is {}. ", field, oldValue, newValue);
+ }
}
private static Either<PolicyDefinition, ActionStatus> validateUpdatePolicyName(PolicyDefinition receivedPolicy, PolicyDefinition validPolicy, Map<String, PolicyDefinition> policies) {
Either<PolicyDefinition, ActionStatus> result = null;
Optional<PolicyDefinition> sameNamePolicy = Optional.empty();
- if (StringUtils.isEmpty(receivedPolicy.getName()) || !ValidationUtils.POLICY_NAME_PATTERN.matcher(receivedPolicy
+ if (isEmpty(receivedPolicy.getName()) || !ValidationUtils.POLICY_NAME_PATTERN.matcher(receivedPolicy
.getName()).matches()) {
- log.error("Failed to validate the name {} of the policy {}. ", receivedPolicy.getName(), receivedPolicy.getUniqueId());
+ log.error("#validateUpdatePolicyName - Failed to validate the name {} of the policy {}. ", receivedPolicy.getName(), receivedPolicy.getUniqueId());
result = Either.right(ActionStatus.INVALID_POLICY_NAME);
}
- if (result == null && MapUtils.isNotEmpty(policies)) {
+ if (result == null && isNotEmpty(policies)) {
sameNamePolicy = policies.values()
.stream()
.filter(p -> p.getName().equals(receivedPolicy.getName()))
.findFirst();
}
if (sameNamePolicy.isPresent()) {
- log.error("Failed to validate the name {} of the policy {}. The policy {} with the same name already exists. ", receivedPolicy
+ log.error("#validateUpdatePolicyName - Failed to validate the name {} of the policy {}. The policy {} with the same name already exists. ", receivedPolicy
.getName(), receivedPolicy.getUniqueId(), sameNamePolicy.get().getUniqueId());
result = Either.right(ActionStatus.POLICY_NAME_ALREADY_EXIST);
}