1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.wa.starter.mapping;
20
21 import java.util.Optional;
22 import org.apache.syncope.common.lib.policy.AccessPolicyConf;
23 import org.apache.syncope.common.lib.policy.AccessPolicyTO;
24 import org.apache.syncope.common.lib.policy.RemoteEndpointAccessPolicyConf;
25 import org.apereo.cas.services.RegisteredServiceAccessStrategy;
26 import org.apereo.cas.services.RemoteEndpointServiceAccessStrategy;
27
28 public class RemoteEndpointAccessMapper implements AccessMapper {
29
30 @Override
31 public boolean supports(final AccessPolicyConf conf) {
32 return RemoteEndpointAccessPolicyConf.class.equals(conf.getClass());
33 }
34
35 @Override
36 public RegisteredServiceAccessStrategy build(final AccessPolicyTO policy) {
37 RemoteEndpointAccessPolicyConf conf = (RemoteEndpointAccessPolicyConf) policy.getConf();
38
39 RemoteEndpointServiceAccessStrategy accessStrategy = new RemoteEndpointServiceAccessStrategy();
40
41 Optional.ofNullable(conf.getEndpointUrl()).ifPresent(accessStrategy::setEndpointUrl);
42
43 accessStrategy.setAcceptableResponseCodes(String.join(",", conf.getAcceptableResponseCodes()));
44
45 return accessStrategy;
46 }
47 }