re base code
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / auditing / impl / distribution / AuditDistributionNotificationEventFactory.java
1 package org.openecomp.sdc.be.auditing.impl.distribution;
2
3 import org.openecomp.sdc.be.auditing.impl.AuditBaseEventFactory;
4 import org.openecomp.sdc.be.model.User;
5 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
6 import org.openecomp.sdc.be.resources.data.auditing.AuditingGenericEvent;
7 import org.openecomp.sdc.be.resources.data.auditing.DistributionNotificationEvent;
8 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
9 import org.openecomp.sdc.be.resources.data.auditing.model.OperationalEnvAuditData;
10 import org.openecomp.sdc.be.resources.data.auditing.model.ResourceCommonInfo;
11 import org.openecomp.sdc.be.resources.data.auditing.model.ResourceVersionInfo;
12
13 public class AuditDistributionNotificationEventFactory extends AuditBaseEventFactory {
14
15     private static final String LOG_STR = "ACTION = \"%s\" RESOURCE_NAME = \"%s\" RESOURCE_TYPE = \"%s\" " +
16             "SERVICE_INSTANCE_ID = \"%s\" CURR_VERSION = \"%s\" MODIFIER = \"%s\" CURR_STATE = \"%s\" DID = \"%s\" " +
17             "TOPIC_NAME = \"%s\" STATUS = \"%s\" DESC = \"%s\" TENANT = \"%s\" VNF_WORKLOAD_CONTEXT = \"%s\" ENV_ID = \"%s\"";
18     private final DistributionNotificationEvent event;
19
20     public AuditDistributionNotificationEventFactory(CommonAuditData commonAuditData, ResourceCommonInfo resourceCommonInfo,
21                                                      ResourceVersionInfo resourceVersionInfo,
22                                                      String did, User modifier, String topicName,
23                                                      OperationalEnvAuditData opEnvFields) {
24         this(commonAuditData, resourceCommonInfo,
25                 resourceVersionInfo, did, AuditBaseEventFactory.buildUserName(modifier),
26                 topicName, opEnvFields);
27     }
28
29     public AuditDistributionNotificationEventFactory(CommonAuditData commonAuditData, ResourceCommonInfo resourceCommonInfo,
30                                                      ResourceVersionInfo resourceVersionInfo,
31                                                      String did, String modifier, String topicName,
32                                                      OperationalEnvAuditData opEnvFields, String timestamp) {
33         this(commonAuditData, resourceCommonInfo, resourceVersionInfo, did, modifier, topicName, opEnvFields);
34         this.event.setTimestamp1(timestamp);
35     }
36
37     private AuditDistributionNotificationEventFactory(CommonAuditData commonAuditData, ResourceCommonInfo resourceCommonInfo,
38                                                      ResourceVersionInfo resourceVersionInfo,
39                                                      String did, String modifier, String topicName,
40                                                      OperationalEnvAuditData opEnvFields) {
41         super(AuditingActionEnum.DISTRIBUTION_NOTIFY);
42         this.event = new DistributionNotificationEvent(getAction().getName(), commonAuditData, resourceCommonInfo,
43                 resourceVersionInfo, did, modifier, topicName, opEnvFields);
44     }
45
46     @Override
47     public String getLogPattern() {
48         return LOG_STR;
49     }
50
51     @Override
52     public String[] getLogMessageParams() {
53         return new String[] {event.getAction(), event.getResourceName(), event.getResourceType(), event.getServiceInstanceId(),
54                 event.getCurrVersion(), event.getModifier(), event.getCurrState(), event.getDid(), event.getTopicName(),
55                 event.getStatus(), event.getDesc(), event.getTenant(), event.getVnfWorkloadContext(), event.getEnvId()};
56     }
57
58     @Override
59     public AuditingGenericEvent getDbEvent() {
60         return event;
61     }
62
63 }