1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.rest.cxf.service;
20
21 import java.net.URI;
22 import java.util.List;
23 import javax.ws.rs.core.Response;
24 import org.apache.syncope.common.lib.to.ImplementationTO;
25 import org.apache.syncope.common.rest.api.RESTHeaders;
26 import org.apache.syncope.common.rest.api.service.ImplementationService;
27 import org.apache.syncope.core.logic.ImplementationLogic;
28 import org.springframework.stereotype.Service;
29
30 @Service
31 public class ImplementationServiceImpl extends AbstractService implements ImplementationService {
32
33 protected final ImplementationLogic logic;
34
35 public ImplementationServiceImpl(final ImplementationLogic logic) {
36 this.logic = logic;
37 }
38
39 @Override
40 public List<ImplementationTO> list(final String type) {
41 return logic.list(type);
42 }
43
44 @Override
45 public ImplementationTO read(final String type, final String key) {
46 return logic.read(type, key);
47 }
48
49 @Override
50 public Response create(final ImplementationTO implementationTO) {
51 ImplementationTO created = logic.create(implementationTO);
52 URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(created.getKey())).build();
53 return Response.created(location).
54 header(RESTHeaders.RESOURCE_KEY, created.getKey()).
55 build();
56 }
57
58 @Override
59 public Response update(final ImplementationTO implementationTO) {
60 logic.update(implementationTO);
61 return Response.noContent().build();
62 }
63
64 @Override
65 public Response delete(final String type, final String key) {
66 logic.delete(type, key);
67 return Response.noContent().build();
68 }
69 }