X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.eclipse.ui.workbench%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Fworkbench%2Fcommands%2FAddPrivileges.java;h=cc7d94ee602f2d31f5d2aa6eb8d6f8e33b1a5406;hb=0e465414ea4fc79aa4961461efdc0201e1bee154;hp=6f5f6ccadf5671010244aaaba8e955f0571c51d1;hpb=21a4ea1fb5380ce1dd763c1ea09067cdd2dfd0f3;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/commands/AddPrivileges.java b/org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/commands/AddPrivileges.java index 6f5f6ccad..cc7d94ee6 100644 --- a/org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/commands/AddPrivileges.java +++ b/org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/commands/AddPrivileges.java @@ -19,12 +19,12 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import org.argeo.ArgeoException; -import org.argeo.eclipse.ui.ErrorFeedback; 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