1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.persistence.jpa.entity.policy;
20
21 import java.util.Optional;
22 import javax.persistence.Entity;
23 import javax.persistence.Lob;
24 import javax.persistence.Table;
25 import org.apache.syncope.common.lib.policy.AccessPolicyConf;
26 import org.apache.syncope.core.persistence.api.entity.policy.AccessPolicy;
27 import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
28
29 @Entity
30 @Table(name = JPAAccessPolicy.TABLE)
31 public class JPAAccessPolicy extends AbstractPolicy implements AccessPolicy {
32
33 private static final long serialVersionUID = -4190607009908888884L;
34
35 public static final String TABLE = "AccessPolicy";
36
37 @Lob
38 private String jsonConf;
39
40 @Override
41 public AccessPolicyConf getConf() {
42 return Optional.ofNullable(jsonConf).map(c -> POJOHelper.deserialize(c, AccessPolicyConf.class)).orElse(null);
43 }
44
45 @Override
46 public void setConf(final AccessPolicyConf conf) {
47 jsonConf = Optional.ofNullable(conf).map(POJOHelper::serialize).orElse(null);
48 }
49 }