]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/CreateWorkspace.java
Update context menu, fix a NPE when cancelling a duplicate workspace action
[gpl/argeo-slc.git] / plugins / org.argeo.slc.client.ui.dist / src / main / java / org / argeo / slc / client / ui / dist / commands / CreateWorkspace.java
index dc279d30467f7699e0e84edc7bce63e545c52f75..681e0fed79dd586dd9075d99108ab4e5b34556ca 100644 (file)
@@ -27,6 +27,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.eclipse.ui.ErrorFeedback;
 import org.argeo.jcr.JcrUtils;
+import org.argeo.slc.SlcConstants;
 import org.argeo.slc.client.ui.dist.DistPlugin;
 import org.argeo.slc.client.ui.dist.utils.CommandHelpers;
 import org.argeo.slc.repo.RepoUtils;
@@ -36,21 +37,24 @@ import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.InputDialog;
+import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
  * Create a new empty workspace in the current repository.
  */
-
 public class CreateWorkspace extends AbstractHandler {
        private static final Log log = LogFactory.getLog(CreateWorkspace.class);
+
+       // Exposes commands meta-info
        public final static String ID = DistPlugin.ID + ".createWorkspace";
-       public final static String PARAM_TARGET_REPO_PATH = "targetRepoPath";
-       public final static String PARAM_WORKSPACE_PREFIX = "workspacePrefix";
        public final static String DEFAULT_LABEL = "Create workspace...";
-       public final static String DEFAULT_ICON_PATH = "icons/addItem.gif";
+       public final static ImageDescriptor DEFAULT_ICON = DistPlugin
+                       .getImageDescriptor("icons/addItem.gif");
 
-       private String slcRole = "ROLE_SLC";
+       // Parameters
+       public final static String PARAM_TARGET_REPO_PATH = "targetRepoPath";
+       public final static String PARAM_WORKSPACE_PREFIX = "workspacePrefix";
 
        // DEPENDENCY INJECTION
        private RepositoryFactory repositoryFactory;
@@ -114,7 +118,8 @@ public class CreateWorkspace extends AbstractHandler {
                        JcrUtils.logoutQuietly(session);
                        // init new workspace
                        session = repository.login(credentials, workspaceName);
-                       JcrUtils.addPrivilege(session, "/", slcRole, Privilege.JCR_ALL);
+                       JcrUtils.addPrivilege(session, "/", SlcConstants.ROLE_SLC,
+                                       Privilege.JCR_ALL);
                        CommandHelpers.callCommand(RefreshDistributionsView.ID);
                        if (log.isTraceEnabled())
                                log.trace("WORKSPACE " + workspaceName + " CREATED");