]> git.argeo.org Git - gpl/argeo-slc.git/blob - cms/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/commands/RegisterRepository.java
Adapt to changes in Argeo Commons.
[gpl/argeo-slc.git] / cms / org.argeo.slc.client.ui.dist / src / org / argeo / slc / client / ui / dist / commands / RegisterRepository.java
1 package org.argeo.slc.client.ui.dist.commands;
2
3 import javax.jcr.Repository;
4 import javax.jcr.RepositoryFactory;
5
6 import org.argeo.api.security.Keyring;
7 import org.argeo.cms.ArgeoNames;
8 import org.argeo.slc.SlcNames;
9 import org.argeo.slc.client.ui.dist.DistPlugin;
10 import org.argeo.slc.client.ui.dist.utils.CommandHelpers;
11 import org.argeo.slc.client.ui.dist.wizards.RegisterRepoWizard;
12 import org.eclipse.core.commands.AbstractHandler;
13 import org.eclipse.core.commands.ExecutionEvent;
14 import org.eclipse.core.commands.ExecutionException;
15 import org.eclipse.jface.dialogs.Dialog;
16 import org.eclipse.jface.resource.ImageDescriptor;
17 import org.eclipse.jface.wizard.WizardDialog;
18 import org.eclipse.ui.handlers.HandlerUtil;
19
20 /** Register a remote repository by creating a node in the current local node. */
21 public class RegisterRepository extends AbstractHandler implements ArgeoNames,
22 SlcNames {
23
24 public final static String ID = DistPlugin.PLUGIN_ID
25 + ".registerRepository";
26 public final static String DEFAULT_LABEL = "Register a repository...";
27 public final static ImageDescriptor DEFAULT_ICON = DistPlugin
28 .getImageDescriptor("icons/addRepo.gif");
29
30 /* DEPENDENCY INJECTION */
31 private RepositoryFactory repositoryFactory;
32 private Repository nodeRepository;
33 private Keyring keyring;
34
35 public Object execute(ExecutionEvent event) throws ExecutionException {
36 RegisterRepoWizard wizard = new RegisterRepoWizard(keyring,
37 repositoryFactory, nodeRepository);
38 WizardDialog dialog = new WizardDialog(
39 HandlerUtil.getActiveShell(event), wizard);
40 int result = dialog.open();
41 if (result == Dialog.OK)
42 CommandHelpers.callCommand(RefreshDistributionsView.ID);
43 return null;
44 }
45
46 public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
47 this.repositoryFactory = repositoryFactory;
48 }
49
50 public void setKeyring(Keyring keyring) {
51 this.keyring = keyring;
52 }
53
54 public void setNodeRepository(Repository nodeRepository) {
55 this.nodeRepository = nodeRepository;
56 }
57 }