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.framework.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.event.EventBus;
40 import info.magnolia.i18nsystem.SimpleTranslator;
41 import info.magnolia.jcr.RuntimeRepositoryException;
42 import info.magnolia.ui.api.context.UiContext;
43 import info.magnolia.ui.api.event.AdmincentralEventBus;
44 import info.magnolia.ui.vaadin.integration.jcr.JcrItemAdapter;
45
46 import java.util.HashMap;
47 import java.util.List;
48 import java.util.Map;
49
50 import javax.inject.Named;
51 import javax.jcr.Item;
52 import javax.jcr.RepositoryException;
53
54
55
56
57
58
59 public class MarkNodeAsDeletedAction extends DeleteAction<MarkNodeAsDeletedActionDefinition> {
60
61 public MarkNodeAsDeletedAction(MarkNodeAsDeletedActionDefinition definition, JcrItemAdapter item, CommandsManager commandsManager, @Named(AdmincentralEventBus.NAME) EventBus eventBus, UiContext uiContext, SimpleTranslator i18n) {
62 super(definition, item, commandsManager, eventBus, uiContext, i18n);
63 }
64
65 public MarkNodeAsDeletedAction(MarkNodeAsDeletedActionDefinition definition, List<JcrItemAdapter> items, CommandsManager commandsManager, @Named(AdmincentralEventBus.NAME) EventBus eventBus, UiContext uiContext,SimpleTranslator i18n) {
66 super(definition, items, commandsManager, eventBus, uiContext, i18n);
67 }
68
69
70
71
72
73
74
75 @Override
76 protected Map<String, Object> buildParams(final Item item) {
77 Map<String, Object> params = new HashMap<String, Object>();
78 if (!getDefinition().getParams().isEmpty()) {
79 params.putAll(getDefinition().getParams());
80 }
81 try {
82 final String path = item.getParent().getPath();
83 final String workspace = item.getSession().getWorkspace().getName();
84 final String identifier = item.getParent().getIdentifier();
85
86 params.put(Context.ATTRIBUTE_REPOSITORY, workspace);
87
88 params.put(Context.ATTRIBUTE_UUID, identifier);
89 params.put(Context.ATTRIBUTE_PATH, path);
90
91 params.put(MarkNodeAsDeletedCommand.DELETED_NODE_PROP_NAME, item.getName());
92
93 } catch (RepositoryException e) {
94 throw new RuntimeRepositoryException(e);
95 }
96 return params;
97 }
98 }