1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.ws.cxf.audit;
17
18 import lombok.Getter;
19 import lombok.Setter;
20 import org.openehealth.ipf.commons.audit.types.PurposeOfUse;
21 import org.openehealth.ipf.commons.audit.utils.AuditUtils;
22 import org.openehealth.ipf.commons.ihe.core.atna.AuditDataset;
23 import org.openehealth.ipf.commons.ihe.ws.cxf.payload.StringPayloadHolder;
24
25 import java.util.ArrayList;
26 import java.util.List;
27
28 import static org.openehealth.ipf.commons.ihe.ws.cxf.payload.StringPayloadHolder.PayloadType.SOAP_BODY;
29
30
31
32
33
34
35
36
37
38
39
40 public class WsAuditDataset extends AuditDataset {
41
42 private static final long serialVersionUID = 7940196804508126576L;
43
44
45
46
47 @Getter
48 @Setter
49 private String sourceUserId;
50
51
52
53
54 @Getter
55 @Setter
56 private String destinationUserId;
57
58
59
60
61 @Getter
62 private String requestPayload;
63
64
65
66
67 @Getter
68 private final List<HumanUser> humanUsers = new ArrayList<>();
69
70
71
72
73 @Getter
74 @Setter
75 private String clientIpAddress;
76
77
78
79
80 @Getter
81 @Setter
82 private PurposeOfUse[] purposesOfUse;
83
84
85
86
87 @Getter
88 @Setter
89 private String xuaPatientId;
90
91
92
93
94 @Setter
95 private String localAddress;
96
97
98
99
100 @Setter
101 @Getter
102 private String remoteAddress;
103
104 @Setter
105 private boolean sourceUserIsRequestor = true;
106
107
108
109
110
111
112
113
114 public WsAuditDataset(boolean serverSide) {
115 super(serverSide);
116 }
117
118
119
120
121
122
123 public void setRequestPayload(String requestPayload) {
124 this.requestPayload = requestPayload;
125 }
126
127
128
129
130
131
132 public void setRequestPayload(StringPayloadHolder payloadHolder) {
133 this.requestPayload = (payloadHolder != null) ? payloadHolder.get(SOAP_BODY) : null;
134 }
135
136
137
138
139 public String getLocalAddress() {
140 return localAddress != null ? localAddress : AuditUtils.getLocalIPAddress();
141 }
142
143 @Override
144 public boolean isSourceUserIsRequestor() {
145 return sourceUserIsRequestor && super.isSourceUserIsRequestor();
146 }
147 }