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.admincentral.activation.action;
35
36 import info.magnolia.commands.CommandsManager;
37 import info.magnolia.commands.chain.Command;
38 import info.magnolia.module.activation.commands.ActivationCommand;
39 import info.magnolia.ui.model.action.ActionExecutionException;
40 import info.magnolia.ui.model.action.CommandActionBase;
41
42 import javax.inject.Inject;
43 import javax.jcr.Node;
44
45 import org.slf4j.Logger;
46 import org.slf4j.LoggerFactory;
47
48
49
50
51 public class ActivationAction extends CommandActionBase<ActivationActionDefinition> {
52
53 private static final Logger log = LoggerFactory.getLogger(ActivationAction.class);
54
55 @Inject
56 public ActivationAction(final ActivationActionDefinition definition, final Node node, final CommandsManager commandsManager) {
57 super(definition, node, commandsManager);
58 }
59
60 @Override
61 public void execute() throws ActionExecutionException {
62 final String commandName = getDefinition().getCommand();
63 final Command command = getCommandsManager().getCommand(commandName);
64
65 if (command == null) {
66 throw new ActionExecutionException(String.format("Could not find command [%s] in any catalog", commandName));
67 }
68 try {
69 final ActivationCommand activationCommand = (ActivationCommand) command;
70 activationCommand.setRecursive(getDefinition().isRecursive());
71
72 log.debug("Is activation recursive ? {}", activationCommand.isRecursive());
73
74 getCommandsManager().executeCommand(activationCommand, getParams());
75
76 } catch (Exception e) {
77 throw new ActionExecutionException("An exception occured during activation ", e);
78 }
79 }
80
81
82 }