use of org.netxms.client.users.User in project netxms by netxms.
the class General method createContents.
/* (non-Javadoc)
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
*/
@Override
protected Control createContents(Composite parent) {
Composite dialogArea = new Composite(parent, SWT.NONE);
object = (AbstractUserObject) getElement().getAdapter(AbstractUserObject.class);
GridLayout layout = new GridLayout();
layout.verticalSpacing = WidgetHelper.OUTER_SPACING;
dialogArea.setLayout(layout);
// Object ID
WidgetHelper.createLabeledText(dialogArea, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY, SWT.DEFAULT, Messages.get().General_ObjectID, Long.toString(object.getId()), WidgetHelper.DEFAULT_LAYOUT_DATA);
// Object name
initialName = new String(object.getName());
textName = WidgetHelper.createLabeledText(dialogArea, SWT.SINGLE | SWT.BORDER, SWT.DEFAULT, Messages.get().General_LoginName, initialName, WidgetHelper.DEFAULT_LAYOUT_DATA);
// Full name
if (object instanceof User) {
initialFullName = new String(((User) object).getFullName());
textFullName = WidgetHelper.createLabeledText(dialogArea, SWT.SINGLE | SWT.BORDER, SWT.DEFAULT, Messages.get().General_FullName, initialFullName, WidgetHelper.DEFAULT_LAYOUT_DATA);
initialXmppId = new String(((User) object).getXmppId());
textXmppId = WidgetHelper.createLabeledText(dialogArea, SWT.SINGLE | SWT.BORDER, SWT.DEFAULT, Messages.get().General_XMPPID, initialXmppId, WidgetHelper.DEFAULT_LAYOUT_DATA);
} else {
// $NON-NLS-1$
initialFullName = "";
// $NON-NLS-1$
initialXmppId = "";
}
// Description
initialDescription = new String(object.getDescription());
textDescription = WidgetHelper.createLabeledText(dialogArea, SWT.SINGLE | SWT.BORDER, SWT.DEFAULT, Messages.get().General_Description, initialDescription, WidgetHelper.DEFAULT_LAYOUT_DATA);
return dialogArea;
}
use of org.netxms.client.users.User in project netxms by netxms.
the class UserManagementView method fillContextMenu.
/**
* Fill context menu
*
* @param mgr Menu manager
*/
protected void fillContextMenu(final IMenuManager mgr) {
final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
mgr.add(actionAddUser);
mgr.add(actionAddGroup);
mgr.add(new Separator());
boolean containDisabled = false;
boolean containEnabled = false;
boolean containLDAP = false;
for (Object object : selection.toList()) {
if (((AbstractUserObject) object).isDisabled())
containDisabled = true;
if (!((AbstractUserObject) object).isDisabled())
containEnabled = true;
if ((((AbstractUserObject) object).getFlags() & AbstractUserObject.LDAP_USER) != 0)
containLDAP = true;
}
if (containDisabled)
mgr.add(actionEnable);
if (containEnabled)
mgr.add(actionDisable);
if (containLDAP)
mgr.add(actionDetachUserFromLDAP);
final Object firstElement = selection.getFirstElement();
if (firstElement instanceof User && !containLDAP) {
mgr.add(actionChangePassword);
}
mgr.add(actionDeleteUser);
mgr.add(new Separator());
mgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
mgr.add(new Separator());
mgr.add(actionEditUser);
}
use of org.netxms.client.users.User in project netxms by netxms.
the class UserManagementView method changePassword.
/**
* Change password
*/
private void changePassword() {
final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
final Object firstElement = selection.getFirstElement();
if (firstElement instanceof User) {
User user = (User) firstElement;
final ChangePasswordDialog dialog = new ChangePasswordDialog(getSite().getShell(), user.getId() == session.getUserId());
if (dialog.open() == Window.OK) {
try {
session.setUserPassword(user.getId(), dialog.getPassword(), dialog.getOldPassword());
} catch (Exception e) {
MessageDialogHelper.openError(getSite().getShell(), Messages.get().UserManagementView_CannotChangePassword, e.getMessage());
}
}
}
}
use of org.netxms.client.users.User in project netxms by netxms.
the class UserManagementView method createPartControl.
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
*/
@Override
public void createPartControl(Composite parent) {
session = ConsoleSharedData.getSession();
final String[] names = { Messages.get().UserManagementView_Name, Messages.get().UserManagementView_Type, Messages.get().UserManagementView_FullName, Messages.get().UserManagementView_Description, Messages.get().UserManagementView_Source, Messages.get().UserManagementView_Authentication, Messages.get().UserManagementView_GUID, "LDAP DN", "Last Login", "Created" };
final int[] widths = { 100, 80, 180, 250, 80, 170, 250, 400, 250, 250 };
viewer = new SortableTableViewer(parent, names, widths, 0, SWT.UP, SortableTableViewer.DEFAULT_STYLE);
viewer.setContentProvider(new ArrayContentProvider());
viewer.setLabelProvider(new UserLabelProvider());
viewer.setComparator(new UserComparator());
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = (IStructuredSelection) event.getSelection();
if (selection != null) {
actionEditUser.setEnabled(selection.size() == 1);
actionChangePassword.setEnabled((selection.size() == 1) && (selection.getFirstElement() instanceof User));
actionDeleteUser.setEnabled(selection.size() > 0);
}
}
});
viewer.addDoubleClickListener(new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event) {
actionEditUser.run();
}
});
makeActions();
contributeToActionBars();
createPopupMenu();
// Listener for server's notifications
sessionListener = new SessionListener() {
@Override
public void notificationHandler(final SessionNotification n) {
if (n.getCode() == SessionNotification.USER_DB_CHANGED) {
viewer.getControl().getDisplay().asyncExec(new Runnable() {
@Override
public void run() {
viewer.setInput(session.getUserDatabaseObjects());
if (editNewUser && (n.getSubCode() == SessionNotification.USER_DB_OBJECT_CREATED)) {
editNewUser = false;
viewer.setSelection(new StructuredSelection(n.getObject()), true);
actionEditUser.run();
}
}
});
}
}
};
// Request server to lock user database, and on success refresh view
new ConsoleJob(Messages.get().UserManagementView_OpenJobName, this, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
session.lockUserDatabase();
databaseLocked = true;
runInUIThread(new Runnable() {
@Override
public void run() {
viewer.setInput(session.getUserDatabaseObjects());
session.addListener(sessionListener);
}
});
}
@Override
protected void jobFailureHandler() {
runInUIThread(new Runnable() {
@Override
public void run() {
UserManagementView.this.getViewSite().getPage().hideView(UserManagementView.this);
}
});
}
@Override
protected String getErrorMessage() {
return Messages.get().UserManagementView_OpenJobError;
}
}.start();
}
use of org.netxms.client.users.User in project netxms by netxms.
the class UserAdapterFactory method getAdapter.
/* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
if (adapterType == IWorkbenchAdapter.class) {
// NXCUser
if (adaptableObject instanceof User) {
return new IWorkbenchAdapter() {
@Override
public Object[] getChildren(Object o) {
return null;
}
@Override
public ImageDescriptor getImageDescriptor(Object object) {
// $NON-NLS-1$
return Activator.getImageDescriptor("icons/user.png");
}
@Override
public String getLabel(Object o) {
return ((User) o).getName();
}
@Override
public Object getParent(Object o) {
return null;
}
};
}
// NXCUserGroup
if (adaptableObject instanceof UserGroup) {
return new IWorkbenchAdapter() {
@Override
public Object[] getChildren(Object o) {
long[] members = ((UserGroup) o).getMembers();
AbstractUserObject[] childrens = new User[members.length];
for (int i = 0; i < members.length; i++) childrens[i] = ConsoleSharedData.getSession().findUserDBObjectById(members[i]);
return childrens;
}
@Override
public ImageDescriptor getImageDescriptor(Object object) {
// $NON-NLS-1$
return Activator.getImageDescriptor("icons/group.png");
}
@Override
public String getLabel(Object o) {
return ((UserGroup) o).getName();
}
@Override
public Object getParent(Object o) {
return null;
}
};
}
// AccessListElement
if (adaptableObject instanceof AbstractAccessListElement) {
return new IWorkbenchAdapter() {
@Override
public Object[] getChildren(Object o) {
return null;
}
@Override
public ImageDescriptor getImageDescriptor(Object object) {
long userId = ((AbstractAccessListElement) object).getUserId();
// $NON-NLS-1$ //$NON-NLS-2$
return Activator.getImageDescriptor((userId < 0x80000000L) ? "icons/user.png" : "icons/group.png");
}
@Override
public String getLabel(Object object) {
long userId = ((AbstractAccessListElement) object).getUserId();
NXCSession session = ConsoleSharedData.getSession();
AbstractUserObject dbo = session.findUserDBObjectById(userId);
// $NON-NLS-1$ //$NON-NLS-2$
return (dbo != null) ? dbo.getName() : ("{" + Long.toString(userId) + "}");
}
@Override
public Object getParent(Object o) {
return null;
}
};
}
}
return null;
}
Aggregations