X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=plugins%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcommands%2FCopyWorkspace.java;h=7e4175a8d073a8093927f9860b39bf57b1a23ce7;hb=56980ea98154a92e9727062c7b5016d57876376b;hp=e1398b7700901ecd842fa1d7af1fe0e42eb71b70;hpb=524221f25edad4b09aac22555450164e587b304a;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/CopyWorkspace.java b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/CopyWorkspace.java index e1398b770..7e4175a8d 100644 --- a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/CopyWorkspace.java +++ b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/CopyWorkspace.java @@ -50,19 +50,19 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.ui.handlers.HandlerUtil; /** - * Create a copy of the chosen workspace in the current repository. + * Create a copy of the chosen workspace in a remote repository. */ - public class CopyWorkspace extends AbstractHandler { private static final Log log = LogFactory.getLog(CopyWorkspace.class); public final static String ID = DistPlugin.ID + ".copyWorkspace"; public final static String DEFAULT_LABEL = "Duplicate..."; - public final static String PARAM_SOURCE_WORKSPACE_NAME = "srcWkspName"; - public final static String PARAM_TARGET_REPO_PATH = "targetRepoPath"; public final static ImageDescriptor DEFAULT_ICON = DistPlugin .getImageDescriptor("icons/addItem.gif"); + public final static String PARAM_SOURCE_WORKSPACE_NAME = "srcWkspName"; + public final static String PARAM_TARGET_REPO_PATH = "targetRepoPath"; + // DEPENDENCY INJECTION private RepositoryFactory repositoryFactory; private Keyring keyring; @@ -98,47 +98,6 @@ public class CopyWorkspace extends AbstractHandler { copyWkspJob.setUser(true); copyWkspJob.schedule(); } - - // Session nodeSession = null; - // Session srcSession = null; - // Session newSession = null; - // try { - // nodeSession = nodeRepository.login(); - // Node repoNode = nodeSession.getNode(targetRepoPath); - // Repository repository = RepoUtils.getRepository(repositoryFactory, - // keyring, repoNode); - // Credentials credentials = RepoUtils.getRepositoryCredentials( - // keyring, repoNode); - // - // InputDialog inputDialog = new InputDialog(HandlerUtil - // .getActiveWorkbenchWindow(event).getShell(), - // "New copy of workspace " + wkspName, - // "Choose a name for the workspace to create", "", null); - // int result = inputDialog.open(); - // if (result == Window.OK) { - // String newWorkspaceName = inputDialog.getValue(); - // srcSession = repository.login(credentials, wkspName); - // - // // Create the workspace - // srcSession.getWorkspace().createWorkspace(newWorkspaceName); - // Node srcRootNode = srcSession.getRootNode(); - // // log in the newly created workspace - // newSession = repository.login(credentials, newWorkspaceName); - // Node newRootNode = newSession.getRootNode(); - // RepoUtils.copy(srcRootNode, newRootNode); - // newSession.save(); - // JcrUtils.addPrivilege(newSession, "/", SlcConstants.ROLE_SLC, - // Privilege.JCR_ALL); - // CommandHelpers.callCommand(RefreshDistributionsView.ID); - // } - // } catch (RepositoryException re) { - // throw new ArgeoException( - // "Unexpected error while creating the new workspace.", re); - // } finally { - // JcrUtils.logoutQuietly(newSession); - // JcrUtils.logoutQuietly(srcSession); - // JcrUtils.logoutQuietly(nodeSession); - // } return null; } @@ -193,7 +152,7 @@ public class CopyWorkspace extends AbstractHandler { // log in the newly created workspace newSession = repository.login(credentials, targetWkspName); Node newRootNode = newSession.getRootNode(); - RepoUtils.copy(srcRootNode, newRootNode); + RepoUtils.copy(srcRootNode, newRootNode, monitor); newSession.save(); JcrUtils.addPrivilege(newSession, "/", SlcConstants.ROLE_SLC, Privilege.JCR_ALL);