]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/commands/AddPrivileges.java
Clean internal package structure
[lgpl/argeo-commons.git] / org.argeo.eclipse.ui.workbench / src / org / argeo / eclipse / ui / workbench / commands / AddPrivileges.java
index 684fea65539981c2e2e20d25a7a248c813707c45..cc7d94ee602f2d31f5d2aa6eb8d6f8e33b1a5406 100644 (file)
@@ -22,9 +22,9 @@ import org.argeo.ArgeoException;
 import org.argeo.eclipse.ui.TreeParent;
 import org.argeo.eclipse.ui.dialogs.ErrorFeedback;
 import org.argeo.eclipse.ui.workbench.WorkbenchUiPlugin;
-import org.argeo.eclipse.ui.workbench.jcr.internal.model.SingleJcrNodeElem;
-import org.argeo.eclipse.ui.workbench.jcr.internal.model.WorkspaceElem;
-import org.argeo.eclipse.ui.workbench.jcr.internal.parts.ChangeRightsWizard;
+import org.argeo.eclipse.ui.workbench.internal.jcr.model.SingleJcrNodeElem;
+import org.argeo.eclipse.ui.workbench.internal.jcr.model.WorkspaceElem;
+import org.argeo.eclipse.ui.workbench.internal.jcr.parts.AddPrivilegeWizard;
 import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
@@ -32,11 +32,15 @@ import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.ui.handlers.HandlerUtil;
+import org.osgi.service.useradmin.UserAdmin;
 
-/** Open a dialog to change rights on the selected node. */
+/** Open a dialog to add privileges on the selected node to a chosen group */
 public class AddPrivileges extends AbstractHandler {
        public final static String ID = WorkbenchUiPlugin.ID + ".addPrivileges";
 
+       /* DEPENDENCY INJECTION */
+       private UserAdmin userAdmin;
+
        public Object execute(ExecutionEvent event) throws ExecutionException {
 
                ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event)
@@ -57,20 +61,26 @@ public class AddPrivileges extends AbstractHandler {
                                return null;
 
                        try {
-                               ChangeRightsWizard wizard = new ChangeRightsWizard(
-                                               jcrParentNode.getSession(), jcrParentNode.getPath());
+                               String targetPath = jcrParentNode.getPath();
+                               AddPrivilegeWizard wizard = new AddPrivilegeWizard(
+                                               jcrParentNode.getSession(), targetPath, userAdmin);
                                WizardDialog dialog = new WizardDialog(
                                                HandlerUtil.getActiveShell(event), wizard);
                                dialog.open();
                                return null;
                        } catch (RepositoryException re) {
-                               throw new ArgeoException(
-                                               "Unexpected error while creating the new workspace.",
-                                               re);
+                               throw new ArgeoException("Unable to retrieve "
+                                               + "path or JCR session to add privilege on "
+                                               + jcrParentNode, re);
                        }
                } else {
                        ErrorFeedback.show("Cannot add privileges");
                }
                return null;
        }
+
+       /* DEPENDENCY INJECTION */
+       public void setUserAdmin(UserAdmin userAdmin) {
+               this.userAdmin = userAdmin;
+       }
 }
\ No newline at end of file