1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.logic.init;
20
21 import javax.sql.DataSource;
22 import org.apache.syncope.common.lib.types.EntitlementsHolder;
23 import org.apache.syncope.common.lib.types.IdRepoEntitlement;
24 import org.apache.syncope.core.persistence.api.SyncopeCoreLoader;
25 import org.apache.syncope.core.spring.security.AuthContextUtils;
26
27 public class IdRepoEntitlementLoader implements SyncopeCoreLoader {
28
29 protected final EntitlementAccessor entitlementAccessor;
30
31 public IdRepoEntitlementLoader(final EntitlementAccessor entitlementAccessor) {
32 this.entitlementAccessor = entitlementAccessor;
33 }
34
35 @Override
36 public int getOrder() {
37 return 900;
38 }
39
40 @Override
41 public void load() {
42 EntitlementsHolder.getInstance().addAll(IdRepoEntitlement.values());
43 }
44
45 @Override
46 public void load(final String domain, final DataSource datasource) {
47 AuthContextUtils.callAsAdmin(domain, () -> {
48 entitlementAccessor.addEntitlementsForAnyTypes();
49 return null;
50 });
51 }
52 }