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.List;
22 import javax.ws.rs.core.GenericType;
23 import javax.ws.rs.core.MediaType;
24 import javax.ws.rs.core.Response;
25 import org.apache.cxf.jaxrs.client.WebClient;
26 import org.apache.syncope.client.console.SyncopeWebApplication;
27 import org.apache.syncope.common.keymaster.client.api.model.NetworkService;
28 import org.apache.syncope.common.lib.AMSession;
29
30 public final class SRASessionRestClient extends AMSessionRestClient {
31
32 private static final long serialVersionUID = 22118820292494L;
33
34 public SRASessionRestClient(final List<NetworkService> list) {
35 super(list);
36 }
37
38 @Override
39 protected String getActuatorEndpoint() {
40 return instances.get(0).getAddress() + "actuator/sraSessions";
41 }
42
43 @Override
44 public List<AMSession> list() {
45 try {
46 WebClient client = WebClient.create(
47 getActuatorEndpoint(),
48 JAX_RS_PROVIDERS,
49 SyncopeWebApplication.get().getAnonymousUser(),
50 SyncopeWebApplication.get().getAnonymousKey(),
51 null).
52 accept(MediaType.APPLICATION_JSON_TYPE);
53
54 Response response = client.get();
55 if (response.getStatus() == Response.Status.OK.getStatusCode()) {
56 return response.readEntity(new GenericType<>() {
57 });
58 }
59
60 LOG.error("Unexpected response for SSO Sessions from {}: {}",
61 getActuatorEndpoint(), response.getStatus());
62 } catch (Exception e) {
63 LOG.error("Could not fetch SSO Sessions from {}", getActuatorEndpoint(), e);
64 }
65
66 return List.of();
67 }
68 }