/*
- * ================================================================================
+ * ==========LICENSE_START=========================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2022 Wipro Limited 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.Optional;
import java.util.Set;
+import java.util.List;
import java.util.stream.Collectors;
import org.onap.dcae.analytics.model.cef.CommonEventHeader;
// Get CEF Message Event name and Event names in tca policy
final String cefMessageEventName = eventNameOptional.get();
- final TcaPolicy tcaPolicy = tcaExecutionContext.getTcaPolicy();
- final Set<String> policyEventNames = tcaPolicy.getMetricsPerEventName().stream()
+ final List<TcaPolicy> tcaPolList = tcaExecutionContext.getTcaPolicy();
+ int count = 0;
+ int size = tcaPolList.size();
+ for( TcaPolicy tcaPol : tcaPolList){
+ final Set<String> policyEventNames = tcaPol.getMetricsPerEventName().stream()
.map(MetricsPerEventName::getEventName).collect(Collectors.toSet());
-
- // Check CEF Message Event name matches any Policy Event names
- if (!policyEventNames.contains(cefMessageEventName)) {
- final String earlyTerminationMessage = String.format(
- "CEF Message Event name does not match any Policy Event Names. " +
+ // Check CEF Message Event name matches any Policy Event names
+ if (!policyEventNames.contains(cefMessageEventName)) {
+ count++;
+ if(count >= size) {
+ final String earlyTerminationMessage = String.format(
+ "CEF Message Event name does not match any Policy Event Names. " +
"Message EventName: %s, Policy Event Names: %s", cefMessageEventName, policyEventNames);
- setTerminatingMessage(earlyTerminationMessage, tcaExecutionContext, false);
- return tcaExecutionContext;
+ setTerminatingMessage(earlyTerminationMessage, tcaExecutionContext, false);
+ return tcaExecutionContext;
+ }
+ }
}
// CEF Messages one of the the Policy Event names