X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=eclipse%2Fplugins%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcommands%2FDeleteWorkspace.java;fp=eclipse%2Fplugins%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcommands%2FDeleteWorkspace.java;h=0000000000000000000000000000000000000000;hb=651d33e13bfa9a7b46464be412023ee747e612e8;hp=4c77c806eef5b873dfcce638fba272bf5f12fcb9;hpb=868102c0f0220e12eca836b6ec9b3a2b9a3441e4;p=gpl%2Fargeo-slc.git diff --git a/eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/DeleteWorkspace.java b/eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/DeleteWorkspace.java deleted file mode 100644 index 4c77c806e..000000000 --- a/eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/DeleteWorkspace.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.argeo.slc.client.ui.dist.commands; - -import javax.jcr.Node; -import javax.jcr.NodeIterator; -import javax.jcr.Repository; -import javax.jcr.RepositoryException; -import javax.jcr.Session; -import javax.jcr.nodetype.NodeType; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.ArgeoException; -import org.argeo.slc.client.ui.dist.DistPlugin; -import org.argeo.slc.client.ui.dist.utils.CommandHelpers; -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jface.dialogs.MessageDialog; - -/** - * Delete chosen workspace in the current repository. - */ - -public class DeleteWorkspace extends AbstractHandler { - private static final Log log = LogFactory.getLog(DeleteWorkspace.class); - - public final static String ID = DistPlugin.ID + ".deleteWorkspace"; - public final static String PARAM_WORKSPACE_NAME = DistPlugin.ID - + ".workspaceName"; - public final static String DEFAULT_LABEL = "Delete"; - public final static String DEFAULT_ICON_PATH = "icons/removeItem.gif"; - - /* DEPENDENCY INJECTION */ - private Repository repository; - - public Object execute(ExecutionEvent event) throws ExecutionException { - - // MessageDialog.openWarning(DistPlugin.getDefault() - // .getWorkbench().getDisplay().getActiveShell(), - // "WARNING", "Not yet implemented"); - // return null; - - String workspaceName = event.getParameter(PARAM_WORKSPACE_NAME); - String msg = "Your are about to clear workspace [" + workspaceName - + "].\n Do you really want to proceed ?"; - - boolean result = MessageDialog.openConfirm(DistPlugin.getDefault() - .getWorkbench().getDisplay().getActiveShell(), - "Confirm workspace clear", msg); - if (result) { - Session session = null; - try { - session = repository.login(workspaceName); - NodeIterator nit = session.getRootNode().getNodes(); - while (nit.hasNext()) { - Node node = nit.nextNode(); - if (node.isNodeType(NodeType.NT_FOLDER) - || node.isNodeType(NodeType.NT_UNSTRUCTURED)) { - String path = node.getPath(); - node.remove(); - session.save(); - if (log.isDebugEnabled()) - log.debug("Cleared " + path + " in " - + workspaceName); - } - } - CommandHelpers.callCommand(RefreshDistributionsView.ID); - } catch (RepositoryException re) { - throw new ArgeoException( - "Unexpected error while deleting workspace [" - + workspaceName + "].", re); - } finally { - if (session != null) - session.logout(); - } - } - return null; - } - - /* DEPENDENCY INJECTION */ - public void setRepository(Repository repository) { - this.repository = repository; - } -} \ No newline at end of file