X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=inline;f=security%2Fplugins%2Forg.argeo.security.ui.admin%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Fviews%2FRolesView.java;h=0bdc346a3b1e83f7436d2e9d7d42f9f36f6530ee;hb=1d5afdce3e91054f07ddd3c98309c363b4cf1d46;hp=8a7e5ec82ff7f1ddc34267e4a7d007113a82528e;hpb=acb6a464eab2729653b3a78f1b5c72f1bc4bc4fb;p=lgpl%2Fargeo-commons.git diff --git a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/views/RolesView.java b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/views/RolesView.java index 8a7e5ec82..0bdc346a3 100644 --- a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/views/RolesView.java +++ b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/views/RolesView.java @@ -1,21 +1,25 @@ +/* + * Copyright (C) 2007-2012 Mathieu Baudier + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.argeo.security.ui.admin.views; -import java.util.ArrayList; - import org.argeo.ArgeoException; -import org.argeo.security.ArgeoSecurityService; -import org.argeo.security.ArgeoUser; +import org.argeo.security.UserAdminService; import org.argeo.security.ui.admin.SecurityAdminPlugin; import org.argeo.security.ui.admin.commands.AddRole; -import org.argeo.security.ui.admin.commands.OpenArgeoUserEditor; -import org.eclipse.core.commands.Command; -import org.eclipse.core.commands.IParameter; -import org.eclipse.core.commands.Parameterization; -import org.eclipse.core.commands.ParameterizedCommand; -import org.eclipse.jface.viewers.DoubleClickEvent; -import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TableViewer; @@ -30,19 +34,17 @@ import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.commands.ICommandService; import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.ui.part.ViewPart; /** List all roles. */ public class RolesView extends ViewPart { - public final static String ID = "org.argeo.security.ui.rolesView"; + public final static String ID = "org.argeo.security.ui.admin.adminRolesView"; private Text newRole; private TableViewer viewer; - private ArgeoSecurityService securityService; + private UserAdminService userAdminService; private String addNewRoleText = ""; @@ -83,8 +85,8 @@ public class RolesView extends ViewPart { viewer = new TableViewer(table); viewer.setContentProvider(new RolesContentProvider()); viewer.setLabelProvider(new UsersLabelProvider()); + getViewSite().setSelectionProvider(viewer); viewer.setInput(getViewSite()); - viewer.addDoubleClickListener(new ViewDoubleClickListener()); } @Override @@ -92,8 +94,8 @@ public class RolesView extends ViewPart { viewer.getTable().setFocus(); } - public void setSecurityService(ArgeoSecurityService securityService) { - this.securityService = securityService; + public void setUserAdminService(UserAdminService userAdminService) { + this.userAdminService = userAdminService; } public String getAddNewRoleText() { @@ -103,7 +105,7 @@ public class RolesView extends ViewPart { private class RolesContentProvider implements IStructuredContentProvider { public Object[] getElements(Object inputElement) { - return securityService.listEditableRoles().toArray(); + return userAdminService.listEditableRoles().toArray(); } public void dispose() { @@ -126,46 +128,6 @@ public class RolesView extends ViewPart { } - class ViewDoubleClickListener implements IDoubleClickListener { - public void doubleClick(DoubleClickEvent evt) { - Object obj = ((IStructuredSelection) evt.getSelection()) - .getFirstElement(); - - if (obj instanceof ArgeoUser) { - ArgeoUser argeoUser = (ArgeoUser) obj; - - IWorkbench iw = SecurityAdminPlugin.getDefault().getWorkbench(); - IHandlerService handlerService = (IHandlerService) iw - .getService(IHandlerService.class); - try { - String commandId = OpenArgeoUserEditor.COMMAND_ID; - String paramName = OpenArgeoUserEditor.PARAM_USERNAME; - - // TODO: factorize this - // execute related command - IWorkbenchWindow window = iw.getActiveWorkbenchWindow(); - ICommandService cmdService = (ICommandService) window - .getService(ICommandService.class); - Command cmd = cmdService.getCommand(commandId); - ArrayList parameters = new ArrayList(); - IParameter iparam = cmd.getParameter(paramName); - Parameterization param = new Parameterization(iparam, - argeoUser.getUsername()); - parameters.add(param); - ParameterizedCommand pc = new ParameterizedCommand(cmd, - parameters.toArray(new Parameterization[parameters - .size()])); - handlerService = (IHandlerService) window - .getService(IHandlerService.class); - handlerService.executeCommand(pc, null); - } catch (Exception e) { - throw new ArgeoException("Cannot open editor", e); - } - - } - } - } - public String getNewRole() { return newRole.getText(); }