re base code
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / auditing / impl / AuditConsumerEventFactory.java
1 package org.openecomp.sdc.be.auditing.impl;
2
3 import org.openecomp.sdc.be.model.ConsumerDefinition;
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.ConsumerEvent;
8 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
9
10 public class AuditConsumerEventFactory extends AuditBaseEventFactory {
11
12     private static final String LOG_STR = "ACTION = \"%s\" MODIFIER = \"%s\" ECOMP_USER = \"%s\" STATUS = \"%s\" DESC = \"%s\"";
13     private final ConsumerEvent event;
14
15     public AuditConsumerEventFactory(AuditingActionEnum action, CommonAuditData commonFields, User modifier, ConsumerDefinition ecompUser) {
16         this(action, commonFields, buildConsumerName(ecompUser), buildUserName(modifier));
17     }
18
19     public AuditConsumerEventFactory(AuditingActionEnum action, CommonAuditData commonFields,
20                                      String ecompUser, String modifier, String timestamp) {
21         this(action, commonFields, ecompUser, modifier);
22         this.event.setTimestamp1(timestamp);
23     }
24
25     private AuditConsumerEventFactory(AuditingActionEnum action, CommonAuditData commonFields,
26                                      String ecompUser, String modifier) {
27         super(action);
28         event = new ConsumerEvent(getAction().getName(), commonFields, ecompUser, modifier);
29     }
30
31     @Override
32     public String getLogPattern() {
33         return LOG_STR;
34     }
35
36     @Override
37     public String[] getLogMessageParams() {
38         return new String[] {event.getAction(), event.getModifier(), event.getEcompUser(), event.getStatus(), event.getDesc()};
39     }
40
41     @Override
42     public AuditingGenericEvent getDbEvent() {
43         return event;
44     }
45
46     static String buildConsumerName(ConsumerDefinition consumer) {
47         StringBuilder ecompUser = new StringBuilder();
48         if (consumer != null) {
49             appendIfNotEmpty(consumer.getConsumerName(), ecompUser, ",");
50             appendIfNotEmpty(consumer.getConsumerSalt(), ecompUser, ",");
51             appendIfNotEmpty(consumer.getConsumerPassword(), ecompUser, ",");
52         }
53         return ecompUser.toString();
54     }
55 }