Issue #2247 - Fix permission displays in UserAdmin Dialogs
Change-Id: I2b5e1a717cd741a38ae48e8df0d429a993d88fe4 Former-commit-id:3959e7e9f8
[formerlye319928638
] [formerly097028ec59
] [formerly3959e7e9f8
[formerlye319928638
] [formerly097028ec59
] [formerlye791617acc
[formerly097028ec59
[formerly ca3499309373b553874e7a89e8f38f30e9b041e6]]]] Former-commit-id:e791617acc
Former-commit-id:d0df6c3107
[formerlyb70b7a0681
] [formerly ba7884d6eb75737a8c3c26d231fc65031b3c02a1 [formerly081d30db4f
]] Former-commit-id: 89dc750c21817a4d6c345dc5b21e6c5789869dd4 [formerly242f34efa9
] Former-commit-id:622f835330
This commit is contained in:
parent
aaab00ce8b
commit
bf7bfbb742
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
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 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.
|
||||
* Aug 12, 2013 2247 mpduff Call getName() on IPermission.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -166,7 +167,7 @@ public class DualListMenuData implements IMenuData {
|
|||
messageText.append("\n\nPermissions: ");
|
||||
for (IPermission perm : permissions) {
|
||||
messageText.append("\n ").append(
|
||||
perm.toString());
|
||||
perm.getName());
|
||||
}
|
||||
}
|
||||
roleFlag = true;
|
||||
|
@ -174,10 +175,9 @@ public class DualListMenuData implements IMenuData {
|
|||
}
|
||||
}
|
||||
|
||||
if (roleFlag == false) {
|
||||
for (IPermission perm : man
|
||||
.getPermissions(application)) {
|
||||
if (perm.toString().equals(selection)) {
|
||||
if (!roleFlag) {
|
||||
for (IPermission perm : man.getPermissions(application)) {
|
||||
if (perm.getName().equals(selection)) {
|
||||
messageText.append("Permission: ")
|
||||
.append(selection);
|
||||
messageText.append("\nDescription: ").append(
|
||||
|
@ -189,7 +189,8 @@ public class DualListMenuData implements IMenuData {
|
|||
if (messageText.length() == 0) {
|
||||
messageText.append("No Description");
|
||||
}
|
||||
MessageBox messageDialog = new MessageBox(shell, SWT.ICON_INFORMATION);
|
||||
MessageBox messageDialog = new MessageBox(shell,
|
||||
SWT.ICON_INFORMATION);
|
||||
if (roleFlag) {
|
||||
messageDialog.setText("Role Description");
|
||||
} else {
|
||||
|
|
|
@ -26,7 +26,6 @@ import org.eclipse.swt.events.DisposeEvent;
|
|||
import org.eclipse.swt.events.DisposeListener;
|
||||
import org.eclipse.swt.events.MouseAdapter;
|
||||
import org.eclipse.swt.events.MouseEvent;
|
||||
import org.eclipse.swt.events.MouseListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
|
@ -62,9 +61,10 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
|||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 23, 2012 mpduff Initial creation.
|
||||
* Nov 26, 2012 1347 mpduff Make resizable.
|
||||
* Jan 09, 2013 1412 djohnson Listen for user authentication data changes.
|
||||
* May 23, 2012 mpduff Initial creation.
|
||||
* Nov 26, 2012 1347 mpduff Make resizable.
|
||||
* Jan 09, 2013 1412 djohnson Listen for user authentication data changes.
|
||||
* Aug 12, 2013 2247 mpduff Dialog cleanup and consistency.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -344,83 +344,11 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
|
|||
@Override
|
||||
public void mouseDown(MouseEvent arg0) {
|
||||
if (arg0.button == 3) {
|
||||
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 = 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);
|
||||
showPermissionMenu(userPermList);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
/************************************************************************************************/
|
||||
// Roles tab
|
||||
roleTab = new TabItem(tabFolder, SWT.NONE);
|
||||
|
@ -466,53 +394,13 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
|
|||
populatePermissionList();
|
||||
}
|
||||
});
|
||||
roleList.addMouseListener(new MouseListener() {
|
||||
|
||||
@Override
|
||||
public void mouseUp(MouseEvent arg0) {
|
||||
// Not Implemented
|
||||
}
|
||||
|
||||
roleList.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseDown(MouseEvent arg0) {
|
||||
if (arg0.button == 3) {
|
||||
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 = 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);
|
||||
showPermissionMenu(roleList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseDoubleClick(MouseEvent arg0) {
|
||||
// Not implemented
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
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
|
||||
| SWT.H_SCROLL);
|
||||
rolePermList.setLayoutData(listData);
|
||||
rolePermList.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseDown(MouseEvent arg0) {
|
||||
if (arg0.button == 3) {
|
||||
showPermissionMenu(rolePermList);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
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() {
|
||||
NwsRoleDataManager manager = NwsRoleDataManager.getInstance();
|
||||
manager.save(selectedApplication);
|
||||
|
|
Loading…
Add table
Reference in a new issue