You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2006/12/27 11:37:12 UTC
svn commit: r490478 - in
/directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor:
dialogs/ widgets/
Author: seelmann
Date: Wed Dec 27 02:37:11 2006
New Revision: 490478
URL: http://svn.apache.org/viewvc?view=rev&rev=490478
Log:
Added ItemFirst support, switched style of UserClasses widget
Added:
directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/ItemPermissionDialog.java
Removed:
directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/UserClassDialog.java
Modified:
directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/UserPermissionDialog.java
directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemComposite.java
directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemItemPermissionsComposite.java
directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java
directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserClassesComposite.java
directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java
Added: directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/ItemPermissionDialog.java
URL: http://svn.apache.org/viewvc/directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/ItemPermissionDialog.java?view=auto&rev=490478
==============================================================================
--- directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/ItemPermissionDialog.java (added)
+++ directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/ItemPermissionDialog.java Wed Dec 27 02:37:11 2006
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.apache.directory.ldapstudio.aciitemeditor.dialogs;
+
+
+import java.util.Collection;
+
+import org.apache.directory.ldapstudio.aciitemeditor.widgets.ACIItemGrantsAndDenialsComposite;
+import org.apache.directory.ldapstudio.aciitemeditor.widgets.ACIItemUserClassesComposite;
+import org.apache.directory.shared.ldap.aci.GrantAndDenial;
+import org.apache.directory.shared.ldap.aci.ItemPermission;
+import org.apache.directory.shared.ldap.aci.UserClass;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Spinner;
+
+
+public class ItemPermissionDialog extends Dialog
+{
+
+ public static final String DIALOG_TITLE = "Item Permission Editor";
+
+ public static final double MAX_WIDTH = 250.0;
+
+ public static final double MAX_HEIGHT = 350.0;
+
+ private ItemPermission initialItemPermission;
+
+ private ItemPermission returnItemPermission;
+
+ private Label precedenceLabel = null;
+
+ private Spinner precedenceSpinner = null;
+
+ private ACIItemUserClassesComposite userClassesComposite;
+
+ private ACIItemGrantsAndDenialsComposite grantsAndDenialsComposite;
+
+
+ public ItemPermissionDialog( Shell parentShell, ItemPermission initialItemPermission )
+ {
+ super( parentShell );
+ super.setShellStyle( super.getShellStyle() | SWT.RESIZE );
+ this.initialItemPermission = initialItemPermission;
+ this.returnItemPermission = null;
+ }
+
+
+ public boolean close()
+ {
+ return super.close();
+ }
+
+
+ protected void configureShell( Shell shell )
+ {
+ super.configureShell( shell );
+ shell.setText( DIALOG_TITLE );
+ //shell.setImage( BrowserUIPlugin.getDefault().getImage( BrowserUIConstants.IMG_TEXTEDITOR ) );
+ }
+
+
+ protected void createButtonsForButtonBar( Composite parent )
+ {
+ createButton( parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, false );
+ createButton( parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false );
+ }
+
+
+ protected void okPressed()
+ {
+ try
+ {
+ int precedence = precedenceSpinner.getSelection();
+ Collection<UserClass> userClasses = userClassesComposite.getUserClasses();
+ Collection<GrantAndDenial> grantsAndDenials = grantsAndDenialsComposite.getGrantsAndDenials();
+ returnItemPermission = new ItemPermission(precedence, grantsAndDenials, userClasses);
+ super.okPressed();
+ }
+ catch ( Exception e )
+ {
+ MessageDialog.openError( getShell(), "Invalid Item Permission", e.getMessage() );
+ }
+ }
+
+
+ protected Control createDialogArea( Composite parent )
+ {
+ Composite composite = ( Composite ) super.createDialogArea( parent );
+ GridData gd = new GridData( GridData.FILL_BOTH );
+ composite.setLayoutData( gd );
+
+ Composite spinnerComposite = new Composite( composite, SWT.NONE );
+ spinnerComposite.setLayout( new GridLayout( 2, false ) );
+ spinnerComposite.setLayoutData( new GridData() );
+ precedenceLabel = new Label( spinnerComposite, SWT.NONE );
+ precedenceLabel.setText( "Precedence:" );
+ precedenceSpinner = new Spinner( spinnerComposite, SWT.BORDER );
+ precedenceSpinner.setValues( 0, 0, 255, 0, 1, 10 );
+ GridData precedenceGridData = new GridData();
+ precedenceGridData.grabExcessHorizontalSpace = true;
+ precedenceGridData.verticalAlignment = GridData.CENTER;
+ precedenceGridData.horizontalAlignment = GridData.BEGINNING;
+ precedenceGridData.widthHint = 3 * 12;
+ precedenceSpinner.setLayoutData( precedenceGridData );
+
+ userClassesComposite = new ACIItemUserClassesComposite( composite, SWT.NONE );
+
+ grantsAndDenialsComposite = new ACIItemGrantsAndDenialsComposite( composite, SWT.NONE );
+
+
+ if(initialItemPermission != null)
+ {
+ precedenceSpinner.setSelection( initialItemPermission.getPrecedence() );
+ userClassesComposite.setUserClasses( initialItemPermission.getUserClasses() );
+ grantsAndDenialsComposite.setGrantsAndDenials( initialItemPermission.getGrantsAndDenials() );
+ }
+
+ applyDialogFont( composite );
+ return composite;
+ }
+
+
+ public ItemPermission getItemPermission()
+ {
+ return returnItemPermission;
+ }
+}
Modified: directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/UserPermissionDialog.java
URL: http://svn.apache.org/viewvc/directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/UserPermissionDialog.java?view=diff&rev=490478&r1=490477&r2=490478
==============================================================================
--- directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/UserPermissionDialog.java (original)
+++ directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/dialogs/UserPermissionDialog.java Wed Dec 27 02:37:11 2006
@@ -112,7 +112,7 @@
returnUserPermission = new UserPermission(precedence, grantsAndDenials, protectedItems);
super.okPressed();
}
- catch ( ParseException e )
+ catch ( Exception e )
{
MessageDialog.openError( getShell(), "Invalid User Permission", e.getMessage() );
}
Modified: directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemComposite.java
URL: http://svn.apache.org/viewvc/directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemComposite.java?view=diff&rev=490478&r1=490477&r2=490478
==============================================================================
--- directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemComposite.java (original)
+++ directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemComposite.java Wed Dec 27 02:37:11 2006
@@ -21,13 +21,12 @@
import java.text.ParseException;
-import java.util.ArrayList;
import java.util.Collection;
import org.apache.directory.shared.ldap.aci.ACIItem;
import org.apache.directory.shared.ldap.aci.AuthenticationLevel;
+import org.apache.directory.shared.ldap.aci.ItemFirstACIItem;
import org.apache.directory.shared.ldap.aci.UserFirstACIItem;
-import org.apache.directory.shared.ldap.aci.UserPermission;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
@@ -37,7 +36,6 @@
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
/**
@@ -70,7 +68,7 @@
private ACIItemProtectedItemsComposite itemFirstProtectedItemsComposite = null;
/** The item permission composite used for itemFirst selection */
- //private ACIItemItemPermissionsComposite itemFirstItemPermissionsComposite = null;
+ private ACIItemItemPermissionsComposite itemFirstItemPermissionsComposite = null;
/**
@@ -132,9 +130,8 @@
else if( generalComposite.isItemFirst() )
{
Collection protectedItems = itemFirstProtectedItemsComposite.getProtectedItems();
- //Collection itemPermissions = itemFirstItemPermissionsComposite.getItemPermissions();
- Collection itemPermissions = new ArrayList();
- item = new UserFirstACIItem(identificationTag, precedence, authenticationLevel, protectedItems, itemPermissions);
+ Collection itemPermissions = itemFirstItemPermissionsComposite.getItemPermissions();
+ item = new ItemFirstACIItem(identificationTag, precedence, authenticationLevel, protectedItems, itemPermissions);
}
else {
throw new ParseException("No first selected", 0);
@@ -161,7 +158,7 @@
userFirstUserPermissionsComposite = new ACIItemUserPermissionsComposite( composite, SWT.NONE );
itemFirstProtectedItemsComposite = new ACIItemProtectedItemsComposite( composite, SWT.NONE );
- //itemFirstItemPermissionsComposite = new ACIItemItemPermissionsComposite( composite, SWT.NONE );
+ itemFirstItemPermissionsComposite = new ACIItemItemPermissionsComposite( composite, SWT.NONE );
widgetModified( null );
@@ -180,7 +177,7 @@
userFirstUserClassesComposite.setVisible( false );
userFirstUserPermissionsComposite.setVisible( false );
itemFirstProtectedItemsComposite.setVisible( true );
- //itemFirstItemPermissionsComposite.setVisible( true );
+ itemFirstItemPermissionsComposite.setVisible( true );
setMinSize( composite.computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
layout( true, true );
@@ -190,7 +187,7 @@
userFirstUserClassesComposite.setVisible( true );
userFirstUserPermissionsComposite.setVisible( true );
itemFirstProtectedItemsComposite.setVisible( false );
- //itemFirstItemPermissionsComposite.setVisible( false );
+ itemFirstItemPermissionsComposite.setVisible( false );
setMinSize( composite.computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
layout( true, true );
@@ -200,7 +197,7 @@
userFirstUserClassesComposite.setVisible( false );
userFirstUserPermissionsComposite.setVisible( false );
itemFirstProtectedItemsComposite.setVisible( false );
- //itemFirstItemPermissionsComposite.setVisible( false );
+ itemFirstItemPermissionsComposite.setVisible( false );
setMinSize( composite.computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
layout( true, true );
Modified: directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemItemPermissionsComposite.java
URL: http://svn.apache.org/viewvc/directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemItemPermissionsComposite.java?view=diff&rev=490478&r1=490477&r2=490478
==============================================================================
--- directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemItemPermissionsComposite.java (original)
+++ directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemItemPermissionsComposite.java Wed Dec 27 02:37:11 2006
@@ -26,9 +26,8 @@
import java.util.List;
import org.apache.directory.ldapstudio.aciitemeditor.dialogs.TextDialog;
-import org.apache.directory.ldapstudio.aciitemeditor.dialogs.UserClassDialog;
+import org.apache.directory.ldapstudio.aciitemeditor.dialogs.ItemPermissionDialog;
import org.apache.directory.shared.ldap.aci.ItemPermission;
-import org.apache.directory.shared.ldap.aci.UserClass;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
@@ -49,7 +48,7 @@
/**
- * This composite contains GUI elements to edit ACI item user classes.
+ * This composite contains GUI elements to edit ACI item item permissions.
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
@@ -67,7 +66,7 @@
/** The table control for the table viewer */
private Table table = null;
- /** The table viewer containing all user classes */
+ /** The table viewer containing all item classes */
private TableViewer tableViewer = null;
/** The composite containing the buttons */
@@ -82,67 +81,38 @@
/** The deselect all button */
private Button deleteButton = null;
- /** The selected user classes, also input of the table viewer */
- List<UserClassWrapper> userClasses = new ArrayList<UserClassWrapper>();
+ /** The selected item permissions, also input of the table viewer */
+ List<ItemPermissionWrapper> itemPermissionWrappers = new ArrayList<ItemPermissionWrapper>();
- private class UserClassWrapper
+ private class ItemPermissionWrapper
{
- /** The class of the user class, never null. */
- private final Class userClassClass;
-
- /** The user class bean, may be null. */
- private UserClass userClass;
-
- /** The user class as string, may be null. */
- private String userClassValue;
+ /** The item permission bean. */
+ private ItemPermission itemPermission;
/**
- * Creates a new instance of UserClassWrapper.
+ * Creates a new instance of ItemPermissionWrapper.
*
- * @param userClassClass
+ * @param itemClassClass
*/
- public UserClassWrapper( Class userClassClass )
+ public ItemPermissionWrapper( ItemPermission itemPermission )
{
- this.userClassClass = userClassClass;
- this.userClass = null;
- this.userClassValue = null;
+ this.itemPermission = itemPermission;
}
public String toString()
{
- if(userClassClass == UserClass.AllUsers.class)
- {
- return "All Users";
- }
- else if(userClassClass == UserClass.ThisEntry.class)
- {
- return "This Entry";
- }
- else if(userClassClass == UserClass.Name.class)
- {
- return "Name" + getUserClassValue();
- }
- else if(userClassClass == UserClass.UserGroup.class)
- {
- return "User Group" + getUserClassValue();
- }
- else if(userClassClass == UserClass.Subtree.class)
- {
- return "Subtree" + getUserClassValue();
- }
-
- return "<UNKNOWN>";
+ return getItemPermissionValue();
}
- private String getUserClassValue()
+ private String getItemPermissionValue()
{
- if(userClassValue == null)
+ if(itemPermission == null)
{
- return " ...";
+ return "<UNKNOWN>";
}
else
{
- String s = userClassValue;
+ String s = itemPermission.toString();
s = s.replace( '\r', ' ' );
s = s.replace( '\n', ' ' );
s = ": " + s;
@@ -208,7 +178,7 @@
composite.setLayout(gridLayout);
label = new Label(composite, SWT.NONE);
- label.setText("User Classes:");
+ label.setText("Item Permissions:");
label.setLayoutData(labelGridData);
createTable();
@@ -236,20 +206,20 @@
tableViewer = new TableViewer( table );
tableViewer.setContentProvider( new ArrayContentProvider() );
tableViewer.setLabelProvider( new LabelProvider() );
- tableViewer.setInput( userClasses );
+ tableViewer.setInput( itemPermissionWrappers );
tableViewer.addSelectionChangedListener( new ISelectionChangedListener()
{
public void selectionChanged( SelectionChangedEvent event )
{
- userClassSelected();
+ itemPermissionSelected();
}
} );
tableViewer.addDoubleClickListener( new IDoubleClickListener(){
public void doubleClick( DoubleClickEvent event )
{
- editUserClass();
+ editItemPermission();
}
} );
}
@@ -295,7 +265,7 @@
addButton.addSelectionListener( new SelectionAdapter(){
public void widgetSelected( SelectionEvent e )
{
- addUserClass();
+ addItemPermission();
}
} );
@@ -305,7 +275,7 @@
editButton.addSelectionListener( new SelectionAdapter(){
public void widgetSelected( SelectionEvent e )
{
- editUserClass();
+ editItemPermission();
}
} );
editButton.setEnabled( false );
@@ -316,88 +286,14 @@
deleteButton.addSelectionListener( new SelectionAdapter(){
public void widgetSelected( SelectionEvent e )
{
- deleteUserClass();
+ deleteItemPermission();
}
} );
deleteButton.setEnabled( false );
}
-
-
-
-
-// public void setUserClasses( List<UserClass> userClasses )
-// {
-// //this.userClasses = userClasses;
-//
-// for ( UserClass userClass : userClasses )
-// {
-// if ( userClass instanceof UserClass.AllUsers )
-// {
-// allUsersCheckBox.setSelection( true );
-// }
-// if ( userClass instanceof UserClass.ThisEntry )
-// {
-// thisEntryCheckBox.setSelection( true );
-// }
-// if ( userClass instanceof UserClass.Name )
-// {
-// nameCheckBox.setSelection( true );
-// UserClass.Name name = ( UserClass.Name ) userClass;
-// nameLabel.setText( getNumValuesText( name.getNames() ) );
-// nameNames = ( Set<LdapDN> ) name.getNames();
-// }
-// if ( userClass instanceof UserClass.UserGroup )
-// {
-// userGroupCheckBox.setSelection( true );
-// UserClass.UserGroup userGroup = ( UserClass.UserGroup ) userClass;
-// userGroupLabel.setText( getNumValuesText( userGroup.getNames() ) );
-// userGroupNames = ( Set<LdapDN> ) userGroup.getNames();
-// }
-// if ( userClass instanceof UserClass.Subtree )
-// {
-// subtreeCheckBox.setSelection( true );
-// UserClass.Subtree subtree = ( UserClass.Subtree ) userClass;
-// subtreeLabel.setText( getNumValuesText( subtree.getSubtreeSpecifications() ) );
-// subtreeSpecifications = ( Collection<SubtreeSpecification> ) subtree.getSubtreeSpecifications();
-// }
-// }
-// }
-
-
-
-
-// public List<UserClass> getUserClasses()
-// {
-//
-// List<UserClass> userClasses = new ArrayList<UserClass>();
-//
-// if ( allUsersCheckBox.getSelection() )
-// {
-// userClasses.add( UserClass.ALL_USERS );
-// }
-// if ( thisEntryCheckBox.getSelection() )
-// {
-// userClasses.add( UserClass.THIS_ENTRY );
-// }
-// if ( nameCheckBox.getSelection() )
-// {
-//
-// }
-// if ( userGroupCheckBox.getSelection() )
-// {
-//
-// }
-// if ( subtreeCheckBox.getSelection() )
-// {
-//
-// }
-//
-// return userClasses;
-//
-// }
-//
+
public void setVisible( boolean visible )
{
@@ -406,37 +302,21 @@
}
-
/**
* Sets the item permissions.
*
- * @param protectedItems
+ * @param itemPermissions
*/
public void setItemPermissions( Collection<ItemPermission> itemPermissions )
{
- // TODO
-// for ( ProtectedItem item : protectedItems )
-// {
-// for(int i=0; i<protectedItemWrappers.length; i++)
-// {
-// ProtectedItemWrapper protectedItemWrapper = protectedItemWrappers[i];
-//
-// if( protectedItemWrapper.protectedItemClass == item.getClass() )
-// {
-// StringBuffer buffer = new StringBuffer();
-// item.printToBuffer( buffer );
-// String s = buffer.toString();
-// if(s.indexOf( ' ' ) > -1)
-// {
-// s = s.substring( s.indexOf( ' ' ), s.length() );
-// }
-// protectedItemWrapper.protectedItemValue = s;
-// tableViewer.setChecked( protectedItemWrapper, true );
-// }
-// }
-// }
-//
-// tableViewer.refresh();
+ for ( ItemPermission itemPermission : itemPermissions )
+ {
+ ItemPermissionWrapper itemPermissionWrapper = new ItemPermissionWrapper(itemPermission);
+
+ itemPermissionWrappers.add( itemPermissionWrapper );
+ }
+
+ tableViewer.refresh();
}
@@ -448,76 +328,65 @@
*/
public Collection<ItemPermission> getItemPermissions() throws ParseException
{
-
Collection<ItemPermission> itemPermissions = new ArrayList<ItemPermission>();
- // TODO
-// this.
-//
-// for(int i=0; i<protectedItemWrappers.length; i++)
-// {
-// ProtectedItemWrapper protectedItemWrapper = protectedItemWrappers[i];
-// if(tableViewer.getChecked( protectedItemWrapper ) )
-// {
-// protectedItems.add( protectedItemWrapper.getProtectedItem() );
-// }
-// }
+ for ( ItemPermissionWrapper itemPermissionWrapper : itemPermissionWrappers )
+ {
+ itemPermissions.add( itemPermissionWrapper.itemPermission );
+ }
return itemPermissions;
-
}
/**
*
- * @return the user class that is selected in the table viewer, or null.
+ * @return the item permission that is selected in the table viewer, or null.
*/
- private UserClassWrapper getSelectedUserClassWrapper()
+ private ItemPermissionWrapper getSelectedItemPermissionWrapper()
{
- UserClassWrapper userClassWrapper = null;
+ ItemPermissionWrapper itemPermissionWrapper = null;
IStructuredSelection selection = ( IStructuredSelection ) tableViewer.getSelection();
if ( !selection.isEmpty() )
{
Object element = selection.getFirstElement();
- if ( element instanceof UserClassWrapper )
+ if ( element instanceof ItemPermissionWrapper )
{
- userClassWrapper = (UserClassWrapper) element;
+ itemPermissionWrapper = (ItemPermissionWrapper) element;
}
}
- return userClassWrapper;
+ return itemPermissionWrapper;
}
- private void addUserClass()
+ private void addItemPermission()
{
- UserClassDialog dialog = new UserClassDialog( getShell(), null, null );
- if ( dialog.open() == TextDialog.OK && dialog.getUserClassClass() != null )
+ ItemPermissionDialog dialog = new ItemPermissionDialog( getShell(), null );
+ if ( dialog.open() == TextDialog.OK && dialog.getItemPermission() != null )
{
- UserClassWrapper userClassWrapper = new UserClassWrapper(dialog.getUserClassClass());
- userClassWrapper.userClassValue = dialog.getText();
- userClasses.add( userClassWrapper );
+ ItemPermissionWrapper itemPermissionWrapper = new ItemPermissionWrapper(dialog.getItemPermission());
+ itemPermissionWrappers.add( itemPermissionWrapper );
tableViewer.refresh();
}
}
- private void editUserClass()
+ private void editItemPermission()
{
- UserClassWrapper oldUserClassWrapper = getSelectedUserClassWrapper();
- if(oldUserClassWrapper != null)
+ ItemPermissionWrapper oldItemPermissionWrapper = getSelectedItemPermissionWrapper();
+ if(oldItemPermissionWrapper != null)
{
- UserClassDialog dialog = new UserClassDialog( getShell(), oldUserClassWrapper.userClassClass, oldUserClassWrapper.userClassValue );
+ ItemPermissionDialog dialog = new ItemPermissionDialog( getShell(), oldItemPermissionWrapper.itemPermission );
if ( dialog.open() == TextDialog.OK )
{
// remove old
- userClasses.remove( oldUserClassWrapper );
+ itemPermissionWrappers.remove( oldItemPermissionWrapper );
// create and add new
- UserClassWrapper newUserClassWrapper = new UserClassWrapper(dialog.getUserClassClass());
- newUserClassWrapper.userClassValue = dialog.getText();
- userClasses.add( newUserClassWrapper );
+ ItemPermissionWrapper newItemPermissionWrapper = new ItemPermissionWrapper(dialog.getItemPermission());
+ itemPermissionWrappers.add( newItemPermissionWrapper );
tableViewer.refresh();
}
@@ -525,22 +394,22 @@
}
- private void deleteUserClass()
+ private void deleteItemPermission()
{
- UserClassWrapper userClassWrapper = getSelectedUserClassWrapper();
- if(userClassWrapper != null)
+ ItemPermissionWrapper itemPermissionWrapper = getSelectedItemPermissionWrapper();
+ if(itemPermissionWrapper != null)
{
- userClasses.remove( userClassWrapper );
+ itemPermissionWrappers.remove( itemPermissionWrapper );
tableViewer.refresh();
}
}
- private void userClassSelected()
+ private void itemPermissionSelected()
{
- UserClassWrapper userClassWrapper = getSelectedUserClassWrapper();
+ ItemPermissionWrapper itemPermissionWrapper = getSelectedItemPermissionWrapper();
- if ( userClassWrapper == null )
+ if ( itemPermissionWrapper == null )
{
editButton.setEnabled( false );
deleteButton.setEnabled( false );
Modified: directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java
URL: http://svn.apache.org/viewvc/directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java?view=diff&rev=490478&r1=490477&r2=490478
==============================================================================
--- directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java (original)
+++ directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java Wed Dec 27 02:37:11 2006
@@ -24,11 +24,9 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
import org.apache.directory.ldapstudio.aciitemeditor.dialogs.TextDialog;
-import org.apache.directory.shared.ldap.aci.ACIItem;
import org.apache.directory.shared.ldap.aci.ACIItemParser;
import org.apache.directory.shared.ldap.aci.ItemFirstACIItem;
import org.apache.directory.shared.ldap.aci.ProtectedItem;
@@ -51,7 +49,6 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
/**
@@ -63,7 +60,34 @@
public class ACIItemProtectedItemsComposite extends Composite
{
- /** The protected items used as input for the table viewer */
+ /** The inner composite for all the content */
+ private Composite composite = null;
+
+ /** The description label */
+ private Label label = null;
+
+ /** The table control for the table viewer */
+ private Table table = null;
+
+ /** The table viewer containing all protected items */
+ private CheckboxTableViewer tableViewer = null;
+
+ /** The composite containing the buttons */
+ private Composite buttonComposite = null;
+
+ /** The edit button */
+ private Button editButton = null;
+
+ /** The select all button */
+ private Button selectAllButton = null;
+
+ /** The deselect all button */
+ private Button deselectAllButton = null;
+
+ /** The reverse button */
+ private Button reverseSelectionButton = null;
+
+ /** The possible protected items, used as input for the table viewer */
private ProtectedItemWrapper[] protectedItemWrappers = new ProtectedItemWrapper[]
{
new ProtectedItemWrapper(ProtectedItem.Entry.class), // null
@@ -80,6 +104,13 @@
new ProtectedItemWrapper(ProtectedItem.Classes.class), // classes and : { item: xyz , or:{item:X,item:Y} }
};
+ /**
+ * The ProtectedItemWrapper is used as input for the table viewer.
+ * The protected item values are always stored as raw string value.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
private class ProtectedItemWrapper
{
private static final String DUMMY =
@@ -91,7 +122,7 @@
/** The class of the protected item, never null. */
private final Class protectedItemClass;
- /** The protected item as string, may be null. */
+ /** The protected item as string, may be empty. */
private String protectedItemValue;
/**
@@ -105,7 +136,15 @@
this.protectedItemValue = "";
}
- public ProtectedItem getProtectedItem() throws ParseException
+ /**
+ * Creates a new protected item object. Therefor it uses the
+ * dummy ACI, injects the protected item and its value, parses
+ * the ACI and extracts the protected item from the parsed bean.
+ *
+ * @return
+ * @throws ParseException
+ */
+ private ProtectedItem getProtectedItem() throws ParseException
{
String type = "";
@@ -238,32 +277,6 @@
}
}
- /** The inner composite for all the content */
- private Composite composite = null;
-
- /** The description label */
- private Label label = null;
-
- /** The table control for the table viewer */
- private Table table = null;
-
- /** The table viewer containing all protected items */
- private CheckboxTableViewer tableViewer = null;
-
- /** The composite containing the buttons */
- private Composite buttonComposite = null;
-
- /** The edit button */
- private Button editButton = null;
-
- /** The select all button */
- private Button selectAllButton = null;
-
- /** The deselect all button */
- private Button deselectAllButton = null;
-
- /** The reverse button */
- private Button reverseSelectionButton = null;
/**
@@ -472,10 +485,8 @@
{
for ( ProtectedItem item : protectedItems )
{
- for(int i=0; i<protectedItemWrappers.length; i++)
+ for ( ProtectedItemWrapper protectedItemWrapper : protectedItemWrappers )
{
- ProtectedItemWrapper protectedItemWrapper = protectedItemWrappers[i];
-
if( protectedItemWrapper.protectedItemClass == item.getClass() )
{
StringBuffer buffer = new StringBuffer();
@@ -499,27 +510,31 @@
* Returns the protected items as selected by the user.
*
* @return the protected items
- * @throws ParseException
+ * @throws ParseException if the protected items or its values are not valid.
*/
public Collection<ProtectedItem> getProtectedItems() throws ParseException
{
Collection<ProtectedItem> protectedItems = new ArrayList<ProtectedItem>();
- for(int i=0; i<protectedItemWrappers.length; i++)
+ for ( ProtectedItemWrapper protectedItemWrapper : protectedItemWrappers )
{
- ProtectedItemWrapper protectedItemWrapper = protectedItemWrappers[i];
if(tableViewer.getChecked( protectedItemWrapper ) )
{
- protectedItems.add( protectedItemWrapper.getProtectedItem() );
+ ProtectedItem protectedItem = protectedItemWrapper.getProtectedItem();
+ protectedItems.add( protectedItem );
}
}
return protectedItems;
-
}
+ /**
+ * Shows or hides this composite.
+ *
+ * @see org.eclipse.swt.widgets.control#setVisible(boolean)
+ */
public void setVisible( boolean visible )
{
super.setVisible( visible );
@@ -552,7 +567,6 @@
/**
* Called, when a protected item is selected in the table viewer.
* - enables/disables the edit button
- *
*
*/
private void protectedItemSelected()
@@ -573,6 +587,10 @@
}
+ /**
+ * Called, when a protected item checkbox is checked or unchecked.
+ *
+ */
private void protectedItemChecked()
{
@@ -580,7 +598,7 @@
/**
- * Caled, when pushing the edit button. Opens the text editor.
+ * Called, when pushing the edit button. Opens the text editor.
*
*/
private void editProtectedItem()
Modified: directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserClassesComposite.java
URL: http://svn.apache.org/viewvc/directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserClassesComposite.java?view=diff&rev=490478&r1=490477&r2=490478
==============================================================================
--- directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserClassesComposite.java (original)
+++ directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserClassesComposite.java Wed Dec 27 02:37:11 2006
@@ -22,23 +22,25 @@
import java.text.ParseException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import org.apache.directory.ldapstudio.aciitemeditor.dialogs.TextDialog;
-import org.apache.directory.ldapstudio.aciitemeditor.dialogs.UserClassDialog;
import org.apache.directory.shared.ldap.aci.ACIItemParser;
import org.apache.directory.shared.ldap.aci.ProtectedItem;
import org.apache.directory.shared.ldap.aci.UserClass;
import org.apache.directory.shared.ldap.aci.UserFirstACIItem;
import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.CheckStateChangedEvent;
+import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.ICheckStateListener;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -70,23 +72,32 @@
private Table table = null;
/** The table viewer containing all user classes */
- private TableViewer tableViewer = null;
+ private CheckboxTableViewer tableViewer = null;
/** The composite containing the buttons */
private Composite buttonComposite = null;
- /** The add button */
- private Button addButton = null;
+ /** The edit button */
+ private Button editButton = null;
/** The select all button */
- private Button editButton = null;
+ private Button selectAllButton = null;
/** The deselect all button */
- private Button deleteButton = null;
+ private Button deselectAllButton = null;
- /** The selected user classes, also input of the table viewer */
- List<UserClassWrapper> userClassWrappers = new ArrayList<UserClassWrapper>();
+ /** The reverse button */
+ private Button reverseSelectionButton = null;
+ /** The possible user classes, used as input for the table viewer */
+ private UserClassWrapper[] userClassWrappers = new UserClassWrapper[]
+ {
+ new UserClassWrapper(UserClass.AllUsers.class), // allUsers
+ new UserClassWrapper(UserClass.ThisEntry.class), // thisEntry
+ new UserClassWrapper(UserClass.Name.class), // name { "cn=abc", "cn=def" }
+ new UserClassWrapper(UserClass.UserGroup.class), // userGroup { "cn=abc", "cn=def" }
+ new UserClassWrapper(UserClass.Subtree.class) // subtree { { base \"ou=people\" } }
+ };
private class UserClassWrapper
{
@@ -99,7 +110,7 @@
/** The class of the user class, never null. */
private final Class userClassClass;
- /** The user class as string, may be null. */
+ /** The user class as string, may be empty. */
private String userClassValue;
/**
@@ -110,7 +121,7 @@
public UserClassWrapper( Class userClassClass )
{
this.userClassClass = userClassClass;
- this.userClassValue = null;
+ this.userClassValue = "";
}
public UserClass getUserClass() throws ParseException
@@ -176,7 +187,7 @@
{
if(userClassValue == null)
{
- return " ...";
+ return "";
}
else
{
@@ -267,11 +278,11 @@
tableGridData.horizontalAlignment = GridData.FILL;
//tableGridData.heightHint = 100;
- table = new Table( composite, SWT.BORDER );
+ table = new Table( composite, SWT.BORDER | SWT.CHECK );
table.setHeaderVisible( false );
table.setLayoutData( tableGridData );
table.setLinesVisible( true );
- tableViewer = new TableViewer( table );
+ tableViewer = new CheckboxTableViewer( table );
tableViewer.setContentProvider( new ArrayContentProvider() );
tableViewer.setLabelProvider( new LabelProvider() );
tableViewer.setInput( userClassWrappers );
@@ -283,7 +294,13 @@
userClassSelected();
}
} );
-
+ tableViewer.addCheckStateListener( new ICheckStateListener()
+ {
+ public void checkStateChanged( CheckStateChangedEvent event )
+ {
+ userClassChecked();
+ }
+ } );
tableViewer.addDoubleClickListener( new IDoubleClickListener(){
public void doubleClick( DoubleClickEvent event )
{
@@ -299,21 +316,26 @@
*/
private void createButtonComposite()
{
- GridData deleteButtonGridData = new GridData();
- deleteButtonGridData.horizontalAlignment = GridData.FILL;
- deleteButtonGridData.grabExcessHorizontalSpace = false;
- deleteButtonGridData.verticalAlignment = GridData.BEGINNING;
+ GridData reverseSelectionButtonGridData = new GridData();
+ reverseSelectionButtonGridData.horizontalAlignment = GridData.FILL;
+ reverseSelectionButtonGridData.grabExcessHorizontalSpace = false;
+ reverseSelectionButtonGridData.verticalAlignment = GridData.BEGINNING;
+
+ GridData deselectAllButtonGridData = new GridData();
+ deselectAllButtonGridData.horizontalAlignment = GridData.FILL;
+ deselectAllButtonGridData.grabExcessHorizontalSpace = false;
+ deselectAllButtonGridData.verticalAlignment = GridData.BEGINNING;
+
+ GridData selectAllButtonGridData = new GridData();
+ selectAllButtonGridData.horizontalAlignment = GridData.FILL;
+ selectAllButtonGridData.grabExcessHorizontalSpace = false;
+ selectAllButtonGridData.verticalAlignment = GridData.BEGINNING;
GridData editButtonGridData = new GridData();
editButtonGridData.horizontalAlignment = GridData.FILL;
editButtonGridData.grabExcessHorizontalSpace = false;
editButtonGridData.verticalAlignment = GridData.BEGINNING;
- GridData addButtonGridData = new GridData();
- addButtonGridData.horizontalAlignment = GridData.FILL;
- addButtonGridData.grabExcessHorizontalSpace = false;
- addButtonGridData.verticalAlignment = GridData.BEGINNING;
-
GridLayout gridLayout = new GridLayout();
gridLayout.marginWidth = 0;
gridLayout.marginHeight = 0;
@@ -327,16 +349,6 @@
buttonComposite.setLayoutData(gridData);
buttonComposite.setLayout( gridLayout );
- addButton = new Button(buttonComposite, SWT.NONE);
- addButton.setText("Add...");
- addButton.setLayoutData(addButtonGridData);
- addButton.addSelectionListener( new SelectionAdapter(){
- public void widgetSelected( SelectionEvent e )
- {
- addUserClass();
- }
- } );
-
editButton = new Button(buttonComposite, SWT.NONE);
editButton.setText("Edit...");
editButton.setLayoutData(editButtonGridData);
@@ -348,99 +360,40 @@
} );
editButton.setEnabled( false );
- deleteButton = new Button(buttonComposite, SWT.NONE);
- deleteButton.setText("Delete");
- deleteButton.setLayoutData(deleteButtonGridData);
- deleteButton.addSelectionListener( new SelectionAdapter(){
+ selectAllButton = new Button(buttonComposite, SWT.NONE);
+ selectAllButton.setText("Select All");
+ selectAllButton.setLayoutData(selectAllButtonGridData);
+ selectAllButton.addSelectionListener( new SelectionAdapter(){
public void widgetSelected( SelectionEvent e )
{
- deleteUserClass();
+ tableViewer.setCheckedElements( userClassWrappers );
+ }
+ } );
+
+ deselectAllButton = new Button(buttonComposite, SWT.NONE);
+ deselectAllButton.setText("Deselect All");
+ deselectAllButton.setLayoutData(deselectAllButtonGridData);
+ deselectAllButton.addSelectionListener( new SelectionAdapter(){
+ public void widgetSelected( SelectionEvent e )
+ {
+ tableViewer.setCheckedElements( new ProtectedItem[0] );
+ }
+ } );
+
+ reverseSelectionButton = new Button(buttonComposite, SWT.NONE);
+ reverseSelectionButton.setText("Reverse");
+ reverseSelectionButton.setLayoutData(reverseSelectionButtonGridData);
+ reverseSelectionButton.addSelectionListener( new SelectionAdapter(){
+ public void widgetSelected( SelectionEvent e )
+ {
+ List<Object> elements = new ArrayList<Object>();
+ elements.addAll( Arrays.asList( userClassWrappers ) );
+ elements.removeAll( Arrays.asList( tableViewer.getCheckedElements() ) );
+ tableViewer.setCheckedElements( elements.toArray() );
+
}
} );
- deleteButton.setEnabled( false );
- }
-
-
-
-
-
-// public void setUserClasses( List<UserClass> userClasses )
-// {
-// //this.userClasses = userClasses;
-//
-// for ( UserClass userClass : userClasses )
-// {
-// if ( userClass instanceof UserClass.AllUsers )
-// {
-// allUsersCheckBox.setSelection( true );
-// }
-// if ( userClass instanceof UserClass.ThisEntry )
-// {
-// thisEntryCheckBox.setSelection( true );
-// }
-// if ( userClass instanceof UserClass.Name )
-// {
-// nameCheckBox.setSelection( true );
-// UserClass.Name name = ( UserClass.Name ) userClass;
-// nameLabel.setText( getNumValuesText( name.getNames() ) );
-// nameNames = ( Set<LdapDN> ) name.getNames();
-// }
-// if ( userClass instanceof UserClass.UserGroup )
-// {
-// userGroupCheckBox.setSelection( true );
-// UserClass.UserGroup userGroup = ( UserClass.UserGroup ) userClass;
-// userGroupLabel.setText( getNumValuesText( userGroup.getNames() ) );
-// userGroupNames = ( Set<LdapDN> ) userGroup.getNames();
-// }
-// if ( userClass instanceof UserClass.Subtree )
-// {
-// subtreeCheckBox.setSelection( true );
-// UserClass.Subtree subtree = ( UserClass.Subtree ) userClass;
-// subtreeLabel.setText( getNumValuesText( subtree.getSubtreeSpecifications() ) );
-// subtreeSpecifications = ( Collection<SubtreeSpecification> ) subtree.getSubtreeSpecifications();
-// }
-// }
-// }
-
-
-
-
-// public List<UserClass> getUserClasses()
-// {
-//
-// List<UserClass> userClasses = new ArrayList<UserClass>();
-//
-// if ( allUsersCheckBox.getSelection() )
-// {
-// userClasses.add( UserClass.ALL_USERS );
-// }
-// if ( thisEntryCheckBox.getSelection() )
-// {
-// userClasses.add( UserClass.THIS_ENTRY );
-// }
-// if ( nameCheckBox.getSelection() )
-// {
-//
-// }
-// if ( userGroupCheckBox.getSelection() )
-// {
-//
-// }
-// if ( subtreeCheckBox.getSelection() )
-// {
-//
-// }
-//
-// return userClasses;
-//
-// }
-//
-
- public void setVisible( boolean visible )
- {
- super.setVisible( visible );
- ((GridData)getLayoutData()).heightHint = visible ? -1 : 0;
}
@@ -453,17 +406,21 @@
{
for ( UserClass userClass : userClasses )
{
-
- UserClassWrapper userClassWrapper = new UserClassWrapper(userClass.getClass());
-
- StringBuffer buffer = new StringBuffer();
- userClass.printToBuffer( buffer );
- String s = buffer.toString();
- if(s.indexOf( ' ' ) > -1)
+ for ( UserClassWrapper userClassWrapper : userClassWrappers )
{
- s = s.substring( s.indexOf( ' ' ), s.length() );
+ if( userClassWrapper.userClassClass == userClass.getClass() )
+ {
+ StringBuffer buffer = new StringBuffer();
+ userClass.printToBuffer( buffer );
+ String s = buffer.toString();
+ if(s.indexOf( ' ' ) > -1)
+ {
+ s = s.substring( s.indexOf( ' ' ), s.length() );
+ userClassWrapper.userClassValue = s;
+ }
+ tableViewer.setChecked( userClassWrapper, true );
+ }
}
- userClassWrapper.userClassValue = s;
}
tableViewer.refresh();
@@ -478,19 +435,36 @@
*/
public Collection<UserClass> getUserClasses() throws ParseException
{
-
+ System.out.println(tableViewer.getCheckedElements().length);
+
+
Collection<UserClass> userClasses = new ArrayList<UserClass>();
- for ( UserClassWrapper userClassWrapper : this.userClassWrappers )
+ for ( UserClassWrapper userClassWrapper : userClassWrappers )
{
- UserClass userClass = userClassWrapper.getUserClass();
- userClasses.add( userClass );
+ if(tableViewer.getChecked( userClassWrapper ) )
+ {
+ UserClass userClass = userClassWrapper.getUserClass();
+ userClasses.add( userClass );
+ }
}
return userClasses;
-
}
+
+ /**
+ * Shows or hides this composite.
+ *
+ * @see org.eclipse.swt.widgets.control#setVisible(boolean)
+ */
+ public void setVisible( boolean visible )
+ {
+ super.setVisible( visible );
+ ((GridData)getLayoutData()).heightHint = visible ? -1 : 0;
+ }
+
+
/**
*
* @return the user class that is selected in the table viewer, or null.
@@ -513,67 +487,53 @@
}
- private void addUserClass()
+ /**
+ * Called, when a user class is selected in the table viewer.
+ * - enables/disables the edit button
+ *
+ */
+ private void userClassSelected()
{
- UserClassDialog dialog = new UserClassDialog( getShell(), null, null );
- if ( dialog.open() == TextDialog.OK && dialog.getUserClassClass() != null )
+ UserClassWrapper userClassWrapper = getSelectedUserClassWrapper();
+
+ if ( userClassWrapper == null
+ || userClassWrapper.userClassClass == UserClass.AllUsers.class
+ || userClassWrapper.userClassClass == UserClass.ThisEntry.class )
{
- UserClassWrapper userClassWrapper = new UserClassWrapper(dialog.getUserClassClass());
- userClassWrapper.userClassValue = dialog.getText();
- userClassWrappers.add( userClassWrapper );
-
- tableViewer.refresh();
+ editButton.setEnabled( false );
}
- }
-
-
- private void editUserClass()
- {
- UserClassWrapper oldUserClassWrapper = getSelectedUserClassWrapper();
- if(oldUserClassWrapper != null)
+ else
{
- UserClassDialog dialog = new UserClassDialog( getShell(), oldUserClassWrapper.userClassClass, oldUserClassWrapper.userClassValue );
- if ( dialog.open() == TextDialog.OK )
- {
- // remove old
- userClassWrappers.remove( oldUserClassWrapper );
-
- // create and add new
- UserClassWrapper newUserClassWrapper = new UserClassWrapper(dialog.getUserClassClass());
- newUserClassWrapper.userClassValue = dialog.getText();
- userClassWrappers.add( newUserClassWrapper );
-
- tableViewer.refresh();
- }
+ editButton.setEnabled( true );
}
}
- private void deleteUserClass()
+ /**
+ * Called, when a user class checkbox is checked or unchecked.
+ *
+ */
+ private void userClassChecked()
{
- UserClassWrapper userClassWrapper = getSelectedUserClassWrapper();
- if(userClassWrapper != null)
- {
- userClassWrappers.remove( userClassWrapper );
- tableViewer.refresh();
- }
+
}
-
-
- private void userClassSelected()
+
+
+ /**
+ * Called, when pushing the edit button. Opens the text editor.
+ *
+ */
+ private void editUserClass()
{
UserClassWrapper userClassWrapper = getSelectedUserClassWrapper();
-
- if ( userClassWrapper == null )
- {
- editButton.setEnabled( false );
- deleteButton.setEnabled( false );
- }
- else
+
+ TextDialog dialog = new TextDialog( getShell(), userClassWrapper.userClassValue );
+ if ( dialog.open() == TextDialog.OK )
{
- editButton.setEnabled( true );
- deleteButton.setEnabled( true );
+ userClassWrapper.userClassValue = dialog.getText();
+ tableViewer.refresh();
}
+
}
}
Modified: directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java
URL: http://svn.apache.org/viewvc/directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java?view=diff&rev=490478&r1=490477&r2=490478
==============================================================================
--- directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java (original)
+++ directory/sandbox/seelmann/trunk/ldapstudio-aciitemeditor/src/org/apache/directory/ldapstudio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java Wed Dec 27 02:37:11 2006
@@ -87,10 +87,7 @@
private class UserPermissionWrapper
{
- /** The class of the user permission, never null. */
- private final Class userPermissionClass;
-
- /** The user permission bean, may be null. */
+ /** The user permission bean. */
private UserPermission userPermission;
/**
@@ -98,10 +95,9 @@
*
* @param userClassClass
*/
- public UserPermissionWrapper( Class userPermissionClass )
+ public UserPermissionWrapper( UserPermission userPermission )
{
- this.userPermissionClass = userPermissionClass;
- this.userPermission = null;
+ this.userPermission = userPermission;
}
public String toString()
@@ -315,8 +311,7 @@
{
for ( UserPermission userPermission : userPermissions )
{
- UserPermissionWrapper userPermissionWrapper = new UserPermissionWrapper(userPermission.getClass());
- userPermissionWrapper.userPermission = userPermission;
+ UserPermissionWrapper userPermissionWrapper = new UserPermissionWrapper(userPermission);
userPermissionWrappers.add( userPermissionWrapper );
}
@@ -370,8 +365,7 @@
UserPermissionDialog dialog = new UserPermissionDialog( getShell(), null );
if ( dialog.open() == TextDialog.OK && dialog.getUserPermission() != null )
{
- UserPermissionWrapper userPermissionWrapper = new UserPermissionWrapper(dialog.getUserPermission().getClass());
- userPermissionWrapper.userPermission = dialog.getUserPermission();
+ UserPermissionWrapper userPermissionWrapper = new UserPermissionWrapper(dialog.getUserPermission());
userPermissionWrappers.add( userPermissionWrapper );
tableViewer.refresh();
@@ -391,8 +385,7 @@
userPermissionWrappers.remove( oldUserPermissionWrapper );
// create and add new
- UserPermissionWrapper newUserPermissionWrapper = new UserPermissionWrapper(dialog.getUserPermission().getClass());
- newUserPermissionWrapper.userPermission = dialog.getUserPermission();
+ UserPermissionWrapper newUserPermissionWrapper = new UserPermissionWrapper(dialog.getUserPermission());
userPermissionWrappers.add( newUserPermissionWrapper );
tableViewer.refresh();