1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.openehealth.ipf.commons.ihe.core.atna;
18
19 import lombok.AccessLevel;
20 import lombok.Getter;
21 import org.openehealth.ipf.commons.audit.AuditContext;
22 import org.openehealth.ipf.commons.audit.codes.EventOutcomeIndicator;
23 import org.openehealth.ipf.commons.audit.model.AuditMessage;
24
25 import java.util.Map;
26
27
28
29
30 public abstract class AuditStrategySupport<T extends AuditDataset> implements AuditStrategy<T> {
31
32 @Getter(AccessLevel.PROTECTED)
33 private final boolean serverSide;
34
35
36
37
38
39
40 protected AuditStrategySupport(boolean serverSide) {
41 this.serverSide = serverSide;
42 }
43
44
45 @Override
46 public void doAudit(AuditContext auditContext, T auditDataset) {
47 auditContext.audit(makeAuditMessage(auditContext, auditDataset));
48 }
49
50
51
52
53
54
55
56
57 public abstract AuditMessage[] makeAuditMessage(AuditContext auditContext, T auditDataset);
58
59
60 @Override
61 public T enrichAuditDatasetFromRequest(T auditDataset, Object request, Map<String, Object> parameters) {
62 return auditDataset;
63 }
64
65 @Override
66 public boolean enrichAuditDatasetFromResponse(T auditDataset, Object response, AuditContext auditContext) {
67 return true;
68 }
69
70
71 @Override
72 public EventOutcomeIndicator getEventOutcomeIndicator(Object response) {
73 return null;
74 }
75
76 @Override
77 public String getEventOutcomeDescription(Object response) {
78 return null;
79 }
80
81 @Override
82 public boolean isAuditableResponse(Object response) {
83 return true;
84 }
85
86 }