+++ /dev/null
-package org.argeo.slc.client.ui.dist.commands;
-
-import javax.jcr.Node;
-import javax.jcr.Repository;
-import javax.jcr.RepositoryException;
-import javax.jcr.RepositoryFactory;
-import javax.jcr.Session;
-
-import org.argeo.api.security.Keyring;
-import org.argeo.jcr.JcrUtils;
-import org.argeo.slc.SlcException;
-import org.argeo.slc.client.ui.dist.DistPlugin;
-import org.argeo.slc.client.ui.dist.utils.CommandHelpers;
-import org.argeo.slc.client.ui.dist.wizards.FetchWizard;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * Wrap a {@code RepoSync} as an Eclipse command. Open a wizard that enable
- * definition of the fetch process parameters
- */
-public class Fetch extends AbstractHandler {
- // private final static Log log = LogFactory.getLog(Fetch.class);
-
- public final static String ID = DistPlugin.PLUGIN_ID + ".fetch";
- public final static String DEFAULT_LABEL = "Fetch...";
- public final static ImageDescriptor DEFAULT_ICON = DistPlugin
- .getImageDescriptor("icons/fetchRepo.png");
-
- public final static String PARAM_TARGET_REPO_PATH = "targetRepoPath";
-
- // DEPENDENCY INJECTION
- private Keyring keyring;
- private RepositoryFactory repositoryFactory;
- private Repository nodeRepository;
-
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- Session currSession = null;
- try {
- // Target Repository
- String targetRepoPath = event.getParameter(PARAM_TARGET_REPO_PATH);
- currSession = nodeRepository.login();
- Node targetRepoNode = currSession.getNode(targetRepoPath);
-
- FetchWizard wizard = new FetchWizard(keyring, repositoryFactory,
- nodeRepository);
- wizard.setTargetRepoNode(targetRepoNode);
- WizardDialog dialog = new WizardDialog(
- HandlerUtil.getActiveShell(event), wizard);
-
- int result = dialog.open();
- if (result == Dialog.OK)
- CommandHelpers.callCommand(RefreshDistributionsView.ID);
- return null;
- } catch (RepositoryException e) {
- throw new SlcException("Unable te retrieve repo node from path", e);
- } finally {
- JcrUtils.logoutQuietly(currSession);
- }
- }
-
- // DEPENDENCY INJECTION
- public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
- this.repositoryFactory = repositoryFactory;
- }
-
- public void setKeyring(Keyring keyring) {
- this.keyring = keyring;
- }
-
- public void setNodeRepository(Repository repository) {
- this.nodeRepository = repository;
- }
-}
\ No newline at end of file