1 package org.onap.so.adapters.audit;
3 import java.util.Optional;
4 import org.camunda.bpm.client.task.ExternalTask;
5 import org.onap.logging.ref.slf4j.ONAPLogConstants;
6 import org.onap.so.objects.audit.AAIObjectAudit;
7 import org.onap.so.objects.audit.AAIObjectAuditList;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.core.env.Environment;
13 import org.springframework.stereotype.Component;
16 public abstract class AbstractAuditService {
18 private static final Logger logger = LoggerFactory.getLogger(AbstractAuditService.class);
22 protected static final String UNABLE_TO_FIND_ALL_V_SERVERS_AND_L_INTERACES_IN_A_AI =
23 "Unable to find all VServers and L-Interaces in A&AI";
26 public Environment env;
29 * @param auditHeatStackFailed
33 protected boolean didCreateAuditFail(Optional<AAIObjectAuditList> auditList) {
34 if (auditList.get().getAuditList() != null && !auditList.get().getAuditList().isEmpty()) {
35 if (logger.isInfoEnabled()) {
36 logger.info("Audit Results: {}", auditList.get().toString());
38 return auditList.get().getAuditList().stream().filter(auditObject -> !auditObject.isDoesObjectExist())
39 .findFirst().map(v -> true).orElse(false);
46 * @param auditHeatStackFailed
50 protected boolean didDeleteAuditFail(Optional<AAIObjectAuditList> auditList) {
51 if (auditList.get().getAuditList() != null && !auditList.get().getAuditList().isEmpty()) {
52 if (logger.isInfoEnabled()) {
53 logger.info("Audit Results: {}", auditList.get().toString());
55 return auditList.get().getAuditList().stream().filter(AAIObjectAudit::isDoesObjectExist).findFirst()
56 .map(v -> true).orElse(false);
62 protected String[] getRetrySequence() {
63 return env.getProperty("mso.workflow.topics.retrySequence", String[].class);
66 protected void setupMDC(ExternalTask externalTask) {
67 String msoRequestId = externalTask.getVariable("mso-request-id");
68 if (msoRequestId != null && !msoRequestId.isEmpty())
69 MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, msoRequestId);
72 protected long calculateRetryDelay(int currentRetries) {
73 int retrySequence = getRetrySequence().length - currentRetries;
74 long retryMultiplier = Long.parseLong(env.getProperty("mso.workflow.topics.retryMultiplier", "6000"));
75 return Integer.parseInt(getRetrySequence()[retrySequence]) * retryMultiplier;