View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
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  }