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.util.List;
22 import org.apache.commons.lang3.tuple.Pair;
23 import org.apache.syncope.common.lib.command.CommandOutput;
24 import org.apache.syncope.common.lib.command.CommandTO;
25 import org.apache.syncope.common.lib.to.PagedResult;
26 import org.apache.syncope.common.rest.api.beans.CommandQuery;
27 import org.apache.syncope.common.rest.api.service.CommandService;
28 import org.apache.syncope.core.logic.CommandLogic;
29 import org.springframework.stereotype.Service;
30
31 @Service
32 public class CommandServiceImpl extends AbstractService implements CommandService {
33
34 protected final CommandLogic logic;
35
36 public CommandServiceImpl(final CommandLogic logic) {
37 this.logic = logic;
38 }
39
40 @Override
41 public PagedResult<CommandTO> search(final CommandQuery query) {
42 String keyword = query.getKeyword() == null ? null : query.getKeyword().replace('*', '%');
43 Pair<Integer, List<CommandTO>> result = logic.search(query.getPage(), query.getSize(), keyword);
44 return buildPagedResult(result.getRight(), query.getPage(), query.getSize(), result.getLeft());
45 }
46
47 @Override
48 public CommandTO read(final String key) {
49 return logic.read(key);
50 }
51
52 @Override
53 public CommandOutput run(final CommandTO command) {
54 return new CommandOutput.Builder(command).output(logic.run(command)).build();
55 }
56 }