Issue #2247 - Fix permission displays in UserAdmin Dialogs
Change-Id: I2b5e1a717cd741a38ae48e8df0d429a993d88fe4 Former-commit-id: ca3499309373b553874e7a89e8f38f30e9b041e6
This commit is contained in:
parent
1386598257
commit
097028ec59
2 changed files with 95 additions and 126 deletions
|
@ -44,8 +44,9 @@ import com.raytheon.viz.ui.widgets.duallist.IMenuData;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jun 01, 2012 mpduff Initial creation
|
* Jun 01, 2012 mpduff Initial creation.
|
||||||
* Nov 06, 2012 1306 djohnson Use API rather than implementation for role data.
|
* Nov 06, 2012 1306 djohnson Use API rather than implementation for role data.
|
||||||
|
* Aug 12, 2013 2247 mpduff Call getName() on IPermission.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -166,7 +167,7 @@ public class DualListMenuData implements IMenuData {
|
||||||
messageText.append("\n\nPermissions: ");
|
messageText.append("\n\nPermissions: ");
|
||||||
for (IPermission perm : permissions) {
|
for (IPermission perm : permissions) {
|
||||||
messageText.append("\n ").append(
|
messageText.append("\n ").append(
|
||||||
perm.toString());
|
perm.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
roleFlag = true;
|
roleFlag = true;
|
||||||
|
@ -174,10 +175,9 @@ public class DualListMenuData implements IMenuData {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (roleFlag == false) {
|
if (!roleFlag) {
|
||||||
for (IPermission perm : man
|
for (IPermission perm : man.getPermissions(application)) {
|
||||||
.getPermissions(application)) {
|
if (perm.getName().equals(selection)) {
|
||||||
if (perm.toString().equals(selection)) {
|
|
||||||
messageText.append("Permission: ")
|
messageText.append("Permission: ")
|
||||||
.append(selection);
|
.append(selection);
|
||||||
messageText.append("\nDescription: ").append(
|
messageText.append("\nDescription: ").append(
|
||||||
|
@ -189,7 +189,8 @@ public class DualListMenuData implements IMenuData {
|
||||||
if (messageText.length() == 0) {
|
if (messageText.length() == 0) {
|
||||||
messageText.append("No Description");
|
messageText.append("No Description");
|
||||||
}
|
}
|
||||||
MessageBox messageDialog = new MessageBox(shell, SWT.ICON_INFORMATION);
|
MessageBox messageDialog = new MessageBox(shell,
|
||||||
|
SWT.ICON_INFORMATION);
|
||||||
if (roleFlag) {
|
if (roleFlag) {
|
||||||
messageDialog.setText("Role Description");
|
messageDialog.setText("Role Description");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -26,7 +26,6 @@ import org.eclipse.swt.events.DisposeEvent;
|
||||||
import org.eclipse.swt.events.DisposeListener;
|
import org.eclipse.swt.events.DisposeListener;
|
||||||
import org.eclipse.swt.events.MouseAdapter;
|
import org.eclipse.swt.events.MouseAdapter;
|
||||||
import org.eclipse.swt.events.MouseEvent;
|
import org.eclipse.swt.events.MouseEvent;
|
||||||
import org.eclipse.swt.events.MouseListener;
|
|
||||||
import org.eclipse.swt.events.SelectionAdapter;
|
import org.eclipse.swt.events.SelectionAdapter;
|
||||||
import org.eclipse.swt.events.SelectionEvent;
|
import org.eclipse.swt.events.SelectionEvent;
|
||||||
import org.eclipse.swt.layout.GridData;
|
import org.eclipse.swt.layout.GridData;
|
||||||
|
@ -62,9 +61,10 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 23, 2012 mpduff Initial creation.
|
* May 23, 2012 mpduff Initial creation.
|
||||||
* Nov 26, 2012 1347 mpduff Make resizable.
|
* Nov 26, 2012 1347 mpduff Make resizable.
|
||||||
* Jan 09, 2013 1412 djohnson Listen for user authentication data changes.
|
* Jan 09, 2013 1412 djohnson Listen for user authentication data changes.
|
||||||
|
* Aug 12, 2013 2247 mpduff Dialog cleanup and consistency.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -344,83 +344,11 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
|
||||||
@Override
|
@Override
|
||||||
public void mouseDown(MouseEvent arg0) {
|
public void mouseDown(MouseEvent arg0) {
|
||||||
if (arg0.button == 3) {
|
if (arg0.button == 3) {
|
||||||
Menu menu = new Menu(shell, SWT.POP_UP);
|
showPermissionMenu(userPermList);
|
||||||
MenuItem item1 = new MenuItem(menu, SWT.PUSH);
|
|
||||||
item1.setText("Description...");
|
|
||||||
item1.addSelectionListener(new SelectionAdapter() {
|
|
||||||
@Override
|
|
||||||
public void widgetSelected(SelectionEvent arg0) {
|
|
||||||
String selection = userPermList
|
|
||||||
.getItem(userPermList.getSelectionIndex());
|
|
||||||
StringBuilder messageText = new StringBuilder();
|
|
||||||
boolean roleFlag = false;
|
|
||||||
NwsRoleDataManager man = NwsRoleDataManager.getInstance();
|
|
||||||
for (RoleXML role : man.getRoleData(
|
|
||||||
selectedApplication).getRoleList()) {
|
|
||||||
if (selection.equals(role.getRoleId())) {
|
|
||||||
messageText.append("Role: " + selection);
|
|
||||||
messageText.append("\n\nDescription: "
|
|
||||||
+ role.getRoleDescription().trim());
|
|
||||||
if (role.getPermissionList().size() > 0) {
|
|
||||||
messageText.append("\n\nPermissions: ");
|
|
||||||
for (String perm : role
|
|
||||||
.getPermissionList()) {
|
|
||||||
messageText.append("\n " + perm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
roleFlag = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (roleFlag == false) {
|
|
||||||
for (PermissionXML perm : man.getRoleData(
|
|
||||||
selectedApplication)
|
|
||||||
.getPermissionList()) {
|
|
||||||
if (perm.getId().equals(selection)) {
|
|
||||||
messageText.append("Permission: "
|
|
||||||
+ selection);
|
|
||||||
messageText.append("\nDescription: "
|
|
||||||
+ perm.getDescription());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (messageText.length() == 0) {
|
|
||||||
messageText.append("No Description");
|
|
||||||
}
|
|
||||||
MessageBox messageDialog = new MessageBox(shell,
|
|
||||||
SWT.ICON_INFORMATION);
|
|
||||||
if (roleFlag) {
|
|
||||||
messageDialog.setText("Role Description");
|
|
||||||
} else {
|
|
||||||
messageDialog.setText("Permission Description");
|
|
||||||
}
|
|
||||||
messageDialog.setMessage(messageText.toString());
|
|
||||||
messageDialog.open();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
shell.setMenu(menu);
|
|
||||||
menu.setVisible(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
// Roles tab
|
// Roles tab
|
||||||
roleTab = new TabItem(tabFolder, SWT.NONE);
|
roleTab = new TabItem(tabFolder, SWT.NONE);
|
||||||
|
@ -466,53 +394,13 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
|
||||||
populatePermissionList();
|
populatePermissionList();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
roleList.addMouseListener(new MouseListener() {
|
roleList.addMouseListener(new MouseAdapter() {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mouseUp(MouseEvent arg0) {
|
|
||||||
// Not Implemented
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseDown(MouseEvent arg0) {
|
public void mouseDown(MouseEvent arg0) {
|
||||||
if (arg0.button == 3) {
|
if (arg0.button == 3) {
|
||||||
Menu menu = new Menu(shell, SWT.POP_UP);
|
showPermissionMenu(roleList);
|
||||||
MenuItem item1 = new MenuItem(menu, SWT.PUSH);
|
|
||||||
item1.setText("Description...");
|
|
||||||
item1.addSelectionListener(new SelectionAdapter() {
|
|
||||||
@Override
|
|
||||||
public void widgetSelected(SelectionEvent arg0) {
|
|
||||||
String selection = roleList.getItem(roleList
|
|
||||||
.getSelectionIndex());
|
|
||||||
String messageText = null;
|
|
||||||
NwsRoleDataManager man = NwsRoleDataManager.getInstance();
|
|
||||||
String app = appCombo.getItem(appCombo
|
|
||||||
.getSelectionIndex());
|
|
||||||
for (RoleXML role : man.getRoleData(app)
|
|
||||||
.getRoleList()) {
|
|
||||||
if (selection.equals(role.getRoleId())) {
|
|
||||||
messageText = role.getRoleDescription();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MessageBox messageDialog = new MessageBox(shell,
|
|
||||||
SWT.ICON_INFORMATION);
|
|
||||||
messageDialog.setText("Role Description");
|
|
||||||
messageDialog.setMessage(messageText.toString());
|
|
||||||
messageDialog.open();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
shell.setMenu(menu);
|
|
||||||
menu.setVisible(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mouseDoubleClick(MouseEvent arg0) {
|
|
||||||
// Not implemented
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
gd = new GridData(SWT.DEFAULT, SWT.CENTER, false, false);
|
gd = new GridData(SWT.DEFAULT, SWT.CENTER, false, false);
|
||||||
|
@ -572,6 +460,15 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
|
||||||
rolePermList = new List(permComp, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL
|
rolePermList = new List(permComp, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL
|
||||||
| SWT.H_SCROLL);
|
| SWT.H_SCROLL);
|
||||||
rolePermList.setLayoutData(listData);
|
rolePermList.setLayoutData(listData);
|
||||||
|
rolePermList.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseDown(MouseEvent arg0) {
|
||||||
|
if (arg0.button == 3) {
|
||||||
|
showPermissionMenu(rolePermList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void populateLists() {
|
private void populateLists() {
|
||||||
|
@ -717,6 +614,77 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void showPermissionMenu(final List list) {
|
||||||
|
Menu menu = new Menu(shell, SWT.POP_UP);
|
||||||
|
MenuItem item1 = new MenuItem(menu, SWT.PUSH);
|
||||||
|
item1.setText("Description...");
|
||||||
|
item1.addSelectionListener(new SelectionAdapter() {
|
||||||
|
@Override
|
||||||
|
public void widgetSelected(SelectionEvent arg0) {
|
||||||
|
String selection = list.getItem(list.getSelectionIndex());
|
||||||
|
StringBuilder messageText = new StringBuilder();
|
||||||
|
boolean roleFlag = false;
|
||||||
|
NwsRoleDataManager man = NwsRoleDataManager.getInstance();
|
||||||
|
for (RoleXML role : man.getRoleData(selectedApplication)
|
||||||
|
.getRoleList()) {
|
||||||
|
if (selection.equals(role.getRoleId())) {
|
||||||
|
messageText.append(getRoleDetails(role));
|
||||||
|
roleFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!roleFlag) {
|
||||||
|
for (PermissionXML perm : man.getRoleData(
|
||||||
|
selectedApplication).getPermissionList()) {
|
||||||
|
if (perm.getId().equals(selection)) {
|
||||||
|
messageText.append(getPermissionDetails(perm));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (messageText.length() == 0) {
|
||||||
|
messageText.append("No Description");
|
||||||
|
}
|
||||||
|
MessageBox messageDialog = new MessageBox(shell,
|
||||||
|
SWT.ICON_INFORMATION);
|
||||||
|
if (roleFlag) {
|
||||||
|
messageDialog.setText("Role Description");
|
||||||
|
} else {
|
||||||
|
messageDialog.setText("Permission Description");
|
||||||
|
}
|
||||||
|
messageDialog.setMessage(messageText.toString());
|
||||||
|
messageDialog.open();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
shell.setMenu(menu);
|
||||||
|
menu.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getRoleDetails(RoleXML role) {
|
||||||
|
StringBuilder details = new StringBuilder();
|
||||||
|
details.append("Role: ").append(role.getRoleId());
|
||||||
|
details.append("\n\nDescription: ").append(
|
||||||
|
role.getRoleDescription().trim());
|
||||||
|
if (!role.getPermissionList().isEmpty()) {
|
||||||
|
details.append("\n\nPermissions: ");
|
||||||
|
for (String perm : role.getPermissionList()) {
|
||||||
|
details.append("\n ").append(perm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return details.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getPermissionDetails(PermissionXML perm) {
|
||||||
|
StringBuilder details = new StringBuilder();
|
||||||
|
details.append("Permission: ").append(perm.getId());
|
||||||
|
details.append("\n\nDescription: ").append(perm.getDescription());
|
||||||
|
|
||||||
|
return details.toString();
|
||||||
|
}
|
||||||
|
|
||||||
private void handleOK() {
|
private void handleOK() {
|
||||||
NwsRoleDataManager manager = NwsRoleDataManager.getInstance();
|
NwsRoleDataManager manager = NwsRoleDataManager.getInstance();
|
||||||
manager.save(selectedApplication);
|
manager.save(selectedApplication);
|
||||||
|
|
Loading…
Add table
Reference in a new issue