1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.provisioning.java.data;
20
21 import org.apache.syncope.common.lib.to.RemediationTO;
22 import org.apache.syncope.core.persistence.api.entity.Remediation;
23 import org.apache.syncope.core.provisioning.api.data.RemediationDataBinder;
24
25 public class RemediationDataBinderImpl implements RemediationDataBinder {
26
27 @Override
28 public RemediationTO getRemediationTO(final Remediation remediation) {
29 RemediationTO remediationTO = new RemediationTO();
30 remediationTO.setKey(remediation.getKey());
31 remediationTO.setOperation(remediation.getOperation());
32 remediationTO.setError(remediation.getError());
33 remediationTO.setInstant(remediation.getInstant());
34 remediationTO.setRemoteName(remediation.getRemoteName());
35
36 switch (remediation.getOperation()) {
37 case CREATE:
38 remediationTO.setAnyCRPayload(
39 remediation.getPayloadAsCR(remediation.getAnyType().getKind().getCRClass()));
40 break;
41
42 case UPDATE:
43 remediationTO.setAnyURPayload(
44 remediation.getPayloadAsUR(remediation.getAnyType().getKind().getURClass()));
45 break;
46
47 case DELETE:
48 remediationTO.setKeyPayload(remediation.getPayloadAsKey());
49 break;
50
51 default:
52 }
53
54 remediationTO.setAnyType(remediation.getAnyType().getKey());
55
56 if (remediation.getPullTask() != null) {
57 remediationTO.setPullTask(remediation.getPullTask().getKey());
58 remediationTO.setResource(remediation.getPullTask().getResource().getKey());
59 }
60
61 return remediationTO;
62 }
63 }