[SYNCOPE-1262] Last matrix parameter still there
[syncope.git] / core / rest-cxf / src / main / java / org / apache / syncope / core / rest / cxf / service / ImplementationServiceImpl.java
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
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.lib.types.ImplementationType;
26 import org.apache.syncope.common.rest.api.RESTHeaders;
27 import org.apache.syncope.common.rest.api.service.ImplementationService;
28 import org.apache.syncope.core.logic.ImplementationLogic;
29 import org.springframework.beans.factory.annotation.Autowired;
30 import org.springframework.stereotype.Service;
31
32 @Service
33 public class ImplementationServiceImpl extends AbstractServiceImpl implements ImplementationService {
34
35 @Autowired
36 private ImplementationLogic logic;
37
38 @Override
39 public List<ImplementationTO> list(final ImplementationType type) {
40 return logic.list(type);
41 }
42
43 @Override
44 public ImplementationTO read(final ImplementationType type, final String key) {
45 return logic.read(type, key);
46 }
47
48 @Override
49 public Response create(final ImplementationTO implementationTO) {
50 ImplementationTO created = logic.create(implementationTO);
51 URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(created.getKey())).build();
52 return Response.created(location).
53 header(RESTHeaders.RESOURCE_KEY, created.getKey()).
54 build();
55 }
56
57 @Override
58 public Response update(final ImplementationTO implementationTO) {
59 logic.update(implementationTO);
60 return Response.noContent().build();
61 }
62
63 @Override
64 public Response delete(final ImplementationType type, final String key) {
65 logic.delete(type, key);
66 return Response.noContent().build();
67 }
68
69 }