1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.ext.scimv2.cxf.service;
20
21 import java.util.List;
22 import javax.ws.rs.core.Response;
23 import org.apache.syncope.core.logic.GroupLogic;
24 import org.apache.syncope.core.logic.SCIMDataBinder;
25 import org.apache.syncope.core.logic.SCIMLogic;
26 import org.apache.syncope.core.logic.UserLogic;
27 import org.apache.syncope.core.logic.scim.SCIMConfManager;
28 import org.apache.syncope.core.persistence.api.dao.GroupDAO;
29 import org.apache.syncope.core.persistence.api.dao.UserDAO;
30 import org.apache.syncope.ext.scimv2.api.data.ResourceType;
31 import org.apache.syncope.ext.scimv2.api.data.SCIMResource;
32 import org.apache.syncope.ext.scimv2.api.data.ServiceProviderConfig;
33 import org.apache.syncope.ext.scimv2.api.service.SCIMService;
34
35 public class SCIMServiceImpl extends AbstractSCIMService<SCIMResource> implements SCIMService {
36
37 protected final SCIMLogic scimLogic;
38
39 public SCIMServiceImpl(
40 final UserDAO userDAO,
41 final GroupDAO groupDAO,
42 final UserLogic userLogic,
43 final GroupLogic groupLogic,
44 final SCIMDataBinder binder,
45 final SCIMConfManager confManager,
46 final SCIMLogic scimLogic) {
47
48 super(userDAO, groupDAO, userLogic, groupLogic, binder, confManager);
49 this.scimLogic = scimLogic;
50 }
51
52 @Override
53 public ServiceProviderConfig serviceProviderConfig() {
54 return scimLogic.serviceProviderConfig(uriInfo.getAbsolutePathBuilder());
55 }
56
57 @Override
58 public List<ResourceType> resourceTypes() {
59 return SCIMLogic.resourceTypes(uriInfo.getAbsolutePathBuilder());
60 }
61
62 @Override
63 public ResourceType resourceType(final String type) {
64 return SCIMLogic.resourceType(uriInfo.getAbsolutePathBuilder(), type);
65 }
66
67 @Override
68 public Response schemas() {
69 return Response.ok(scimLogic.schemas()).build();
70 }
71
72 @Override
73 public Response schema(final String schema) {
74 return Response.ok(scimLogic.schema(schema)).build();
75 }
76 }