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.DefaultTicketExpirationPolicyConf;
23 import org.apache.syncope.common.lib.policy.TicketExpirationPolicyConf;
24 import org.apache.syncope.common.lib.policy.TicketExpirationPolicyTO;
25 import org.apereo.cas.services.DefaultRegisteredServiceProxyGrantingTicketExpirationPolicy;
26 import org.apereo.cas.services.DefaultRegisteredServiceProxyTicketExpirationPolicy;
27 import org.apereo.cas.services.DefaultRegisteredServiceServiceTicketExpirationPolicy;
28 import org.apereo.cas.services.DefaultRegisteredServiceTicketGrantingTicketExpirationPolicy;
29 import org.apereo.cas.services.RegisteredServiceProxyGrantingTicketExpirationPolicy;
30 import org.apereo.cas.services.RegisteredServiceProxyTicketExpirationPolicy;
31 import org.apereo.cas.services.RegisteredServiceServiceTicketExpirationPolicy;
32 import org.apereo.cas.services.RegisteredServiceTicketGrantingTicketExpirationPolicy;
33
34 public class DefaultTicketExpirationMapper implements TicketExpirationMapper {
35
36 @Override
37 public boolean supports(final TicketExpirationPolicyConf conf) {
38 return DefaultTicketExpirationPolicyConf.class.equals(conf.getClass());
39 }
40
41 protected Optional<DefaultTicketExpirationPolicyConf> conf(final TicketExpirationPolicyTO policy) {
42 if (policy.getConf() instanceof DefaultTicketExpirationPolicyConf) {
43 return Optional.of((DefaultTicketExpirationPolicyConf) policy.getConf());
44 }
45 return Optional.empty();
46 }
47
48 @Override
49 public RegisteredServiceTicketGrantingTicketExpirationPolicy buildTGT(final TicketExpirationPolicyTO policy) {
50 return conf(policy).flatMap(conf -> Optional.ofNullable(conf.getTgtConf())).
51 map(conf -> {
52 DefaultRegisteredServiceTicketGrantingTicketExpirationPolicy result =
53 new DefaultRegisteredServiceTicketGrantingTicketExpirationPolicy();
54 result.setMaxTimeToLiveInSeconds(conf.getMaxTimeToLiveInSeconds());
55 return result;
56 }).
57 orElse(null);
58 }
59
60 @Override
61 public RegisteredServiceServiceTicketExpirationPolicy buildST(final TicketExpirationPolicyTO policy) {
62 return conf(policy).flatMap(conf -> Optional.ofNullable(conf.getStConf())).
63 map(conf -> {
64 DefaultRegisteredServiceServiceTicketExpirationPolicy result =
65 new DefaultRegisteredServiceServiceTicketExpirationPolicy();
66 result.setNumberOfUses(conf.getNumberOfUses());
67 result.setTimeToLive(Long.toString(conf.getMaxTimeToLiveInSeconds()));
68 return result;
69 }).
70 orElse(null);
71 }
72
73 @Override
74 public RegisteredServiceProxyGrantingTicketExpirationPolicy buildProxyTGT(final TicketExpirationPolicyTO policy) {
75 return conf(policy).flatMap(conf -> Optional.ofNullable(conf.getProxyTgtConf())).
76 map(conf -> {
77 DefaultRegisteredServiceProxyGrantingTicketExpirationPolicy result =
78 new DefaultRegisteredServiceProxyGrantingTicketExpirationPolicy();
79 result.setMaxTimeToLiveInSeconds(conf.getMaxTimeToLiveInSeconds());
80 return result;
81 }).
82 orElse(null);
83 }
84
85 @Override
86 public RegisteredServiceProxyTicketExpirationPolicy buildProxyST(final TicketExpirationPolicyTO policy) {
87 return conf(policy).flatMap(conf -> Optional.ofNullable(conf.getProxyStConf())).
88 map(conf -> {
89 DefaultRegisteredServiceProxyTicketExpirationPolicy result =
90 new DefaultRegisteredServiceProxyTicketExpirationPolicy();
91 result.setNumberOfUses(conf.getNumberOfUses());
92 result.setTimeToLive(Long.toString(conf.getMaxTimeToLiveInSeconds()));
93 return result;
94 }).
95 orElse(null);
96 }
97 }