1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.ui.contentapp.action;
35
36 import info.magnolia.commands.CommandsManager;
37 import info.magnolia.commands.impl.MarkNodeAsDeletedCommand;
38 import info.magnolia.context.Context;
39 import info.magnolia.ui.ValueContext;
40 import info.magnolia.ui.contentapp.async.AsyncActionExecutor;
41 import info.magnolia.ui.datasource.jcr.JcrDatasource;
42
43 import java.util.HashMap;
44 import java.util.Map;
45
46 import javax.inject.Inject;
47 import javax.jcr.Node;
48
49 import com.machinezoo.noexception.Exceptions;
50
51
52
53
54 public class MarkAsDeletedCommandAction extends JcrCommandAction<Node, MarkAsDeletedCommandActionDefinition> {
55
56 @Inject
57 public MarkAsDeletedCommandAction(MarkAsDeletedCommandActionDefinition definition,
58 CommandsManager commandsManager, ValueContext<Node> valueContext,
59 Context context, AsyncActionExecutor asyncActionExecutor, JcrDatasource datasource) {
60 super(definition, commandsManager, valueContext, context, asyncActionExecutor, datasource);
61 }
62
63 @Override
64 protected Map<String, Object> buildParams(Node item) {
65 Map<String, Object> params = new HashMap<>(getDefinition().getParams());
66 params.putAll(resolveJcrParams(Exceptions.wrap().get(item::getParent)));
67 params.put(MarkNodeAsDeletedCommand.DELETED_NODE_PROP_NAME, Exceptions.wrap().get(item::getName));
68 return params;
69 }
70
71 }