1 package org
.argeo
.jcr
.ui
.explorer
.editors
;
4 import javax
.jcr
.security
.AccessControlManager
;
5 import javax
.jcr
.security
.Privilege
;
7 import org
.argeo
.ArgeoException
;
8 import org
.argeo
.jcr
.ui
.explorer
.JcrExplorerPlugin
;
9 import org
.eclipse
.jface
.viewers
.ColumnLabelProvider
;
10 import org
.eclipse
.jface
.viewers
.IStructuredContentProvider
;
11 import org
.eclipse
.jface
.viewers
.TableViewer
;
12 import org
.eclipse
.jface
.viewers
.TableViewerColumn
;
13 import org
.eclipse
.jface
.viewers
.Viewer
;
14 import org
.eclipse
.swt
.SWT
;
15 import org
.eclipse
.swt
.graphics
.Image
;
16 import org
.eclipse
.swt
.layout
.FillLayout
;
17 import org
.eclipse
.swt
.widgets
.Composite
;
18 import org
.eclipse
.swt
.widgets
.Table
;
19 import org
.eclipse
.swt
.widgets
.TableColumn
;
20 import org
.eclipse
.ui
.forms
.IManagedForm
;
21 import org
.eclipse
.ui
.forms
.editor
.FormEditor
;
22 import org
.eclipse
.ui
.forms
.editor
.FormPage
;
23 import org
.eclipse
.ui
.forms
.widgets
.ScrolledForm
;
26 * This comments will be nicely fill by mbaudier in.
28 public class NodeRightsManagementPage
extends FormPage
{
29 // private final static Log log =
30 // LogFactory.getLog(NodeRightsManagementPage.class);
32 private Node currentNode
;
34 private TableViewer viewer
;
36 public NodeRightsManagementPage(FormEditor editor
, String title
,
38 super(editor
, "NodeRightsManagementPage", title
);
39 this.currentNode
= currentNode
;
42 protected void createFormContent(IManagedForm managedForm
) {
43 ScrolledForm form
= managedForm
.getForm();
44 form
.setText(JcrExplorerPlugin
45 .getMessage("nodeRightsManagementPageTitle"));
46 FillLayout layout
= new FillLayout();
47 layout
.marginHeight
= 5;
48 layout
.marginWidth
= 5;
49 form
.getBody().setLayout(layout
);
50 createRightsPart(form
.getBody());
53 /** Creates the rights part */
54 protected void createRightsPart(Composite parent
) {
55 Table table
= new Table(parent
, SWT
.MULTI
| SWT
.H_SCROLL
| SWT
.V_SCROLL
);
56 table
.setLinesVisible(true);
57 table
.setHeaderVisible(true);
58 viewer
= new TableViewer(table
);
61 TableViewerColumn column
= createTableViewerColumn(viewer
, "checked",
63 column
.setLabelProvider(new ColumnLabelProvider() {
64 public String
getText(Object element
) {
68 public Image
getImage(Object element
) {
72 // column.setEditingSupport(new RoleEditingSupport(rolesViewer, part));
75 column
= createTableViewerColumn(viewer
, "Role", 200);
76 column
.setLabelProvider(new ColumnLabelProvider() {
77 public String
getText(Object element
) {
78 Privilege p
= (Privilege
) element
;
82 public Image
getImage(Object element
) {
86 viewer
.setContentProvider(new RightsContentProvider());
87 viewer
.setInput(getEditorSite());
90 protected TableViewerColumn
createTableViewerColumn(TableViewer viewer
,
91 String title
, int bound
) {
92 final TableViewerColumn viewerColumn
= new TableViewerColumn(viewer
,
94 final TableColumn column
= viewerColumn
.getColumn();
95 column
.setText(title
);
96 column
.setWidth(bound
);
97 column
.setResizable(true);
98 column
.setMoveable(true);
102 private class RightsContentProvider
implements IStructuredContentProvider
{
104 public void dispose() {
107 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
110 public Object
[] getElements(Object inputElement
) {
112 AccessControlManager accessControlManager
= currentNode
113 .getSession().getAccessControlManager();
114 Privilege
[] privileges
= accessControlManager
115 .getPrivileges(currentNode
.getPath());
117 } catch (Exception e
) {
118 throw new ArgeoException("Cannot retrieve rights", e
);