/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019-2021 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2020 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 java.util.List;
import java.util.stream.Collectors;
-
import lombok.Builder;
import lombok.Data;
import lombok.NonNull;
-
import org.apache.commons.lang3.ObjectUtils;
import org.onap.policy.models.base.PfObjectFilter;
import org.onap.policy.models.pdp.enums.PdpState;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
/**
* Filter class for searches for {@link PdpGroup} instances. If any fields are null, they are ignored.
private String pdpType;
// Set regular expressions on fields to match policy type names and versions
- private List<ToscaPolicyTypeIdentifier> policyTypeList;
+ private List<ToscaConceptIdentifier> policyTypeList;
// If set, only PDP groups where policy types are matched exactly are returned
@Builder.Default
private boolean matchPolicyTypesExactly = false;
// Set regular expressions on fields to match policy names and versions
- private List<ToscaPolicyIdentifier> policyList;
+ private List<ToscaConceptIdentifier> policyList;
// If set, only PDP groups where policies are matched exactly are returned
@Builder.Default
* @param matchPolicyTypesExactly if true, only PDP groups where policy types are matched exactly are returned
* @return true if the filter should let this PDP group through
*/
- private boolean filterOnPolicyTypeList(final PdpGroup pdpGroup, final List<ToscaPolicyTypeIdentifier> typeFilter,
+ private boolean filterOnPolicyTypeList(final PdpGroup pdpGroup, final List<ToscaConceptIdentifier> typeFilter,
final boolean matchPolicyTypesExactly) {
if (typeFilter == null) {
return true;
}
for (PdpSubGroup pdpSubGroup : pdpGroup.getPdpSubgroups()) {
- if (matchPolicyTypesExactly && areListsIdentical(pdpSubGroup.getSupportedPolicyTypes(), typeFilter)) {
- return true;
- } else if (!matchPolicyTypesExactly
- && findSupportedPolicyType(pdpSubGroup.getSupportedPolicyTypes(), typeFilter)) {
+ if (matchPolicyTypesExactly) {
+ if (areListsIdentical(pdpSubGroup.getSupportedPolicyTypes(), typeFilter)) {
+ return true;
+ }
+ } else if (findSupportedPolicyType(pdpSubGroup.getSupportedPolicyTypes(), typeFilter)) {
return true;
}
}
* @return true if one element of the elements to find is supported by an element on
* the list we searched
*/
- private boolean findSupportedPolicyType(List<ToscaPolicyTypeIdentifier> supportedPolicyTypes,
- List<ToscaPolicyTypeIdentifier> typeFilter) {
- for (ToscaPolicyTypeIdentifier supportedPolicyType : supportedPolicyTypes) {
+ private boolean findSupportedPolicyType(List<ToscaConceptIdentifier> supportedPolicyTypes,
+ List<ToscaConceptIdentifier> typeFilter) {
+ for (ToscaConceptIdentifier supportedPolicyType : supportedPolicyTypes) {
String supName = supportedPolicyType.getName();
if (supName.endsWith(".*")) {
String substr = supName.substring(0, supName.length() - 1);
* @param matchPoliciesExactly if true, only PDP groups where ps are matched exactly are returned
* @return true if the filter should let this PDP group through
*/
- private boolean filterOnPolicyList(final PdpGroup pdpGroup, final List<ToscaPolicyIdentifier> policyFilter,
+ private boolean filterOnPolicyList(final PdpGroup pdpGroup, final List<ToscaConceptIdentifier> policyFilter,
final boolean matchPoliciesExactly) {
if (policyFilter == null) {
return true;
}
for (PdpSubGroup pdpSubGroup : pdpGroup.getPdpSubgroups()) {
- if (matchPoliciesExactly && areListsIdentical(pdpSubGroup.getPolicies(), policyFilter)) {
- return true;
- } else if (!matchPoliciesExactly && findSingleElement(pdpSubGroup.getPolicies(), policyFilter)) {
+ if (matchPoliciesExactly) {
+ if (areListsIdentical(pdpSubGroup.getPolicies(), policyFilter)) {
+ return true;
+ }
+ } else if (findSingleElement(pdpSubGroup.getPolicies(), policyFilter)) {
return true;
}
}