-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * 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.cms.e4.users;
import java.util.ArrayList;
import javax.annotation.PreDestroy;
import javax.inject.Inject;
-import org.argeo.cms.ArgeoNames;
+import org.argeo.api.cms.CmsConstants;
import org.argeo.cms.CmsException;
import org.argeo.cms.auth.CurrentUser;
import org.argeo.cms.e4.users.providers.CommonNameLP;
import org.argeo.eclipse.ui.ColumnDefinition;
import org.argeo.eclipse.ui.EclipseUiUtils;
import org.argeo.eclipse.ui.parts.LdifUsersTable;
-import org.argeo.naming.LdapAttrs;
-import org.argeo.naming.LdapObjs;
-import org.argeo.node.NodeConstants;
+import org.argeo.util.naming.LdapAttrs;
+import org.argeo.util.naming.LdapObjs;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.DND;
import org.osgi.service.useradmin.UserAdminListener;
/** List all users with filter - based on Ldif userAdmin */
-public class UsersView implements ArgeoNames {
+public class UsersView {
// private final static Log log = LogFactory.getLog(UsersView.class);
// public final static String ID = WorkbenchUiPlugin.PLUGIN_ID + ".usersView";
private UserAdminListener listener;
@PostConstruct
- public void createPartControl(Composite parent) {
+ public void createPartControl(Composite parent, ESelectionService selectionService) {
parent.setLayout(EclipseUiUtils.noSpaceGridLayout());
// Define the displayed columns
columnDefs.add(new ColumnDefinition(new MailLP(), "E-mail", 150));
columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain", 200));
// Only show technical DN to admin
- if (CurrentUser.isInRole(NodeConstants.ROLE_ADMIN))
+ if (CurrentUser.isInRole(CmsConstants.ROLE_ADMIN))
columnDefs.add(new ColumnDefinition(new UserNameLP(), "Distinguished Name", 300));
// Create and configure the table
// Links
userViewer = userTableViewerCmp.getTableViewer();
userViewer.addDoubleClickListener(new UserTableDefaultDClickListener(partService));
+ userViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ selectionService.setSelection(selection.toList());
+ }
+ });
// getViewSite().setSelectionProvider(userViewer);
// Really?