1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.rest;
20
21 import java.util.Comparator;
22 import java.util.List;
23 import java.util.stream.Collectors;
24 import org.apache.syncope.common.lib.to.ClientAppTO;
25 import org.apache.syncope.common.lib.types.ClientAppType;
26 import org.apache.syncope.common.rest.api.service.ClientAppService;
27
28 public class ClientAppRestClient extends BaseRestClient {
29
30 private static final long serialVersionUID = -1392090291817187902L;
31
32 protected static final Comparator<ClientAppTO> COMPARATOR = Comparator.comparing(ClientAppTO::getName);
33
34 public <T extends ClientAppTO> T read(final ClientAppType type, final String key) {
35 T policy = null;
36 try {
37 policy = getService(ClientAppService.class).read(type, key);
38 } catch (Exception e) {
39 LOG.warn("No client app found for type {} and key {}", type, key, e);
40 }
41 return policy;
42 }
43
44 @SuppressWarnings("unchecked")
45 public <T extends ClientAppTO> List<T> list(final ClientAppType type) {
46 try {
47 return getService(ClientAppService.class).<T>list(type).stream().
48 sorted(COMPARATOR).
49 collect(Collectors.toList());
50 } catch (Exception ignore) {
51 LOG.debug("No client app found", ignore);
52 return List.of();
53 }
54 }
55
56 public <T extends ClientAppTO> void create(final ClientAppType type, final T policy) {
57 getService(ClientAppService.class).create(type, policy);
58 }
59
60 public <T extends ClientAppTO> void update(final ClientAppType type, final T policy) {
61 getService(ClientAppService.class).update(type, policy);
62 }
63
64 public void delete(final ClientAppType type, final String key) {
65 getService(ClientAppService.class).delete(type, key);
66 }
67 }