You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by fe...@apache.org on 2007/11/05 15:28:02 UTC

svn commit: r592011 [6/6] - in /directory/sandbox/felixk/studio-aciitemeditor: ./ META-INF/ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/directory/ src/main/java/org/apache/directory/studio/ src/ma...

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java Mon Nov  5 06:27:47 2007
@@ -0,0 +1,512 @@
+/*
+ *  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.studio.aciitemeditor.widgets;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.directory.shared.ldap.aci.GrantAndDenial;
+import org.apache.directory.shared.ldap.aci.ProtectedItem;
+import org.apache.directory.shared.ldap.aci.UserPermission;
+import org.apache.directory.studio.aciitemeditor.ACIItemValueWithContext;
+import org.apache.directory.studio.aciitemeditor.Activator;
+import org.apache.directory.studio.aciitemeditor.dialogs.UserPermissionDialog;
+import org.apache.directory.studio.aciitemeditor.model.ProtectedItemWrapper;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+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;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Table;
+
+
+/**
+ * This composite contains GUI elements to add, edit and delete ACI user permissions.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ACIItemUserPermissionsComposite extends Composite
+{
+
+    /** The context. */
+    private ACIItemValueWithContext context;
+
+    /** 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 user classes */
+    private TableViewer 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 delete button */
+    private Button deleteButton = null;
+
+    /** The selected user permissions, also input of the table viewer */
+    List<UserPermissionWrapper> userPermissionWrappers = new ArrayList<UserPermissionWrapper>();
+
+    /**
+     * UserPermissionWrapper are used as input of the table viewer.
+     *
+     * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+     * @version $Rev$, $Date$
+     */
+    private class UserPermissionWrapper
+    {
+        /** The user permission bean. */
+        private UserPermission userPermission;
+
+
+        /**
+         * Creates a new instance of UserPermissionWrapper.
+         * 
+         * @param userPermission the user permission
+         */
+        public UserPermissionWrapper( UserPermission userPermission )
+        {
+            this.userPermission = userPermission;
+        }
+
+
+        /**
+         * Returns a user-friedly string, displayed in the table.
+         * 
+         * @return the string
+         */
+        public String toString()
+        {
+            if ( userPermission == null )
+            {
+                return "<UNKNOWN>"; //$NON-NLS-1$
+            }
+            else
+            {
+                StringBuffer buffer = new StringBuffer();
+                if ( userPermission.getPrecedence() > -1 )
+                {
+                    buffer.append( '(' );
+                    buffer.append( userPermission.getPrecedence() );
+                    buffer.append( ')' );
+                    buffer.append( ' ' );
+                }
+                for ( Iterator<ProtectedItem> it = ( ( Collection<ProtectedItem> ) userPermission.getProtectedItems() )
+                    .iterator(); it.hasNext(); )
+                {
+                    ProtectedItem item = it.next();
+                    String s = ProtectedItemWrapper.classToDisplayMap.get( item.getClass() );
+                    buffer.append( s );
+
+                    if ( it.hasNext() )
+                    {
+                        buffer.append( ',' );
+                    }
+                }
+                buffer.append( ':' );
+                buffer.append( ' ' );
+                for ( Iterator<GrantAndDenial> it = ( ( Collection<GrantAndDenial> ) userPermission
+                    .getGrantsAndDenials() ).iterator(); it.hasNext(); )
+                {
+                    GrantAndDenial gd = it.next();
+                    buffer.append( gd.isGrant() ? '+' : '-' );
+                    buffer.append( gd.getMicroOperation().getName() );
+
+                    if ( it.hasNext() )
+                    {
+                        buffer.append( ',' );
+                    }
+                }
+
+                String s = buffer.toString();
+                s = s.replace( '\r', ' ' );
+                s = s.replace( '\n', ' ' );
+                if ( s.length() > 50 )
+                {
+                    String temp = s;
+                    s = temp.substring( 0, 25 );
+                    s = s + "..."; //$NON-NLS-1$
+                    s = s + temp.substring( temp.length() - 25, temp.length() );
+                }
+                return s;
+            }
+        }
+    }
+
+
+    /**
+     * Creates a new instance of ACIItemUserPermissionsComposite.
+     *
+     * @param parent
+     * @param style
+     */
+    public ACIItemUserPermissionsComposite( Composite parent, int style )
+    {
+        super( parent, style );
+
+        GridLayout layout = new GridLayout();
+        layout.horizontalSpacing = 0;
+        layout.verticalSpacing = 0;
+        layout.marginHeight = 0;
+        layout.marginWidth = 0;
+        setLayout( layout );
+
+        GridData layoutData = new GridData();
+        layoutData.horizontalAlignment = GridData.FILL;
+        layoutData.grabExcessHorizontalSpace = true;
+        layoutData.verticalAlignment = GridData.CENTER;
+        setLayoutData( layoutData );
+
+        createComposite();
+    }
+
+
+    /**
+     * This method initializes composite    
+     *
+     */
+    private void createComposite()
+    {
+
+        GridData labelGridData = new GridData();
+        labelGridData.horizontalSpan = 2;
+        labelGridData.verticalAlignment = GridData.CENTER;
+        labelGridData.grabExcessHorizontalSpace = true;
+        labelGridData.horizontalAlignment = GridData.FILL;
+
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.makeColumnsEqualWidth = false;
+        gridLayout.numColumns = 2;
+
+        GridData gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.grabExcessHorizontalSpace = true;
+        gridData.verticalSpan = 1;
+        gridData.verticalAlignment = GridData.BEGINNING;
+
+        composite = new Composite( this, SWT.NONE );
+        composite.setLayoutData( gridData );
+        composite.setLayout( gridLayout );
+
+        label = new Label( composite, SWT.NONE );
+        label.setText( Messages.getString( "ACIItemUserPermissionsComposite.descripton" ) ); //$NON-NLS-1$
+        label.setLayoutData( labelGridData );
+
+        createTable();
+
+        createButtonComposite();
+    }
+
+
+    /**
+     * This method initializes table and table viewer
+     *
+     */
+    private void createTable()
+    {
+        GridData tableGridData = new GridData();
+        tableGridData.grabExcessHorizontalSpace = true;
+        tableGridData.verticalAlignment = GridData.FILL;
+        tableGridData.horizontalAlignment = GridData.FILL;
+        //tableGridData.heightHint = 100;
+
+        table = new Table( composite, SWT.BORDER );
+        table.setHeaderVisible( false );
+        table.setLayoutData( tableGridData );
+        table.setLinesVisible( false );
+        tableViewer = new TableViewer( table );
+        tableViewer.setContentProvider( new ArrayContentProvider() );
+        tableViewer.setLabelProvider( new LabelProvider() );
+        tableViewer.setInput( userPermissionWrappers );
+
+        tableViewer.addSelectionChangedListener( new ISelectionChangedListener()
+        {
+            public void selectionChanged( SelectionChangedEvent event )
+            {
+                userPermissionSelected();
+            }
+        } );
+
+        tableViewer.addDoubleClickListener( new IDoubleClickListener()
+        {
+            public void doubleClick( DoubleClickEvent event )
+            {
+                editUserPermission();
+            }
+        } );
+    }
+
+
+    /**
+     * This method initializes buttons  
+     *
+     */
+    private void createButtonComposite()
+    {
+        GridData deleteButtonGridData = new GridData();
+        deleteButtonGridData.horizontalAlignment = GridData.FILL;
+        deleteButtonGridData.grabExcessHorizontalSpace = false;
+        deleteButtonGridData.verticalAlignment = GridData.BEGINNING;
+        deleteButtonGridData.widthHint = Activator.getButtonWidth( this );
+
+        GridData editButtonGridData = new GridData();
+        editButtonGridData.horizontalAlignment = GridData.FILL;
+        editButtonGridData.grabExcessHorizontalSpace = false;
+        editButtonGridData.verticalAlignment = GridData.BEGINNING;
+        editButtonGridData.widthHint = Activator.getButtonWidth( this );
+
+        GridData addButtonGridData = new GridData();
+        addButtonGridData.horizontalAlignment = GridData.FILL;
+        addButtonGridData.grabExcessHorizontalSpace = false;
+        addButtonGridData.verticalAlignment = GridData.BEGINNING;
+        addButtonGridData.widthHint = Activator.getButtonWidth( this );
+
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.marginWidth = 0;
+        gridLayout.marginHeight = 0;
+        GridData gridData = new GridData();
+        gridData.horizontalAlignment = GridData.CENTER;
+        gridData.grabExcessHorizontalSpace = false;
+        gridData.grabExcessVerticalSpace = false;
+        gridData.verticalAlignment = GridData.FILL;
+
+        buttonComposite = new Composite( composite, SWT.NONE );
+        buttonComposite.setLayoutData( gridData );
+        buttonComposite.setLayout( gridLayout );
+
+        addButton = new Button( buttonComposite, SWT.NONE );
+        addButton.setText( Messages.getString( "ACIItemUserPermissionsComposite.add.button" ) ); //$NON-NLS-1$
+        addButton.setLayoutData( addButtonGridData );
+        addButton.addSelectionListener( new SelectionAdapter()
+        {
+            public void widgetSelected( SelectionEvent e )
+            {
+                addUserPermission();
+            }
+        } );
+
+        editButton = new Button( buttonComposite, SWT.NONE );
+        editButton.setText( Messages.getString( "ACIItemUserPermissionsComposite.edit.button" ) ); //$NON-NLS-1$
+        editButton.setLayoutData( editButtonGridData );
+        editButton.addSelectionListener( new SelectionAdapter()
+        {
+            public void widgetSelected( SelectionEvent e )
+            {
+                editUserPermission();
+            }
+        } );
+        editButton.setEnabled( false );
+
+        deleteButton = new Button( buttonComposite, SWT.NONE );
+        deleteButton.setText( Messages.getString( "ACIItemUserPermissionsComposite.delete.button" ) ); //$NON-NLS-1$
+        deleteButton.setLayoutData( deleteButtonGridData );
+        deleteButton.addSelectionListener( new SelectionAdapter()
+        {
+            public void widgetSelected( SelectionEvent e )
+            {
+                deleteUserPermission();
+            }
+        } );
+        deleteButton.setEnabled( false );
+
+    }
+
+
+    /**
+     * Shows or hides this composite.
+     * 
+     * @param visible true if visible
+     */
+    public void setVisible( boolean visible )
+    {
+        super.setVisible( visible );
+        ( ( GridData ) getLayoutData() ).heightHint = visible ? -1 : 0;
+    }
+
+
+    /**
+     * Sets the context.
+     * 
+     * @param context the context
+     */
+    public void setContext( ACIItemValueWithContext context )
+    {
+        this.context = context;
+    }
+
+
+    /**
+     * Sets the user permissions. 
+     *
+     * @param userPermissions
+     */
+    public void setUserPermissions( Collection<UserPermission> userPermissions )
+    {
+        userPermissionWrappers.clear();
+
+        for ( UserPermission userPermission : userPermissions )
+        {
+            UserPermissionWrapper userPermissionWrapper = new UserPermissionWrapper( userPermission );
+
+            userPermissionWrappers.add( userPermissionWrapper );
+        }
+
+        tableViewer.refresh();
+    }
+
+
+    /**
+     * Returns the user permissions as selected by the user.
+     *
+     * @return the user permissions
+     */
+    public Collection<UserPermission> getUserPermissions()
+    {
+        Collection<UserPermission> userPermissions = new ArrayList<UserPermission>();
+
+        for ( UserPermissionWrapper userPermissionWrapper : userPermissionWrappers )
+        {
+            userPermissions.add( userPermissionWrapper.userPermission );
+        }
+
+        return userPermissions;
+    }
+
+
+    /**
+     * 
+     * @return the user permission that is selected in the table viewer, or null.
+     */
+    private UserPermissionWrapper getSelectedUserPermissionWrapper()
+    {
+        UserPermissionWrapper userPermissionWrapper = null;
+
+        IStructuredSelection selection = ( IStructuredSelection ) tableViewer.getSelection();
+        if ( !selection.isEmpty() )
+        {
+            Object element = selection.getFirstElement();
+            if ( element instanceof UserPermissionWrapper )
+            {
+                userPermissionWrapper = ( UserPermissionWrapper ) element;
+            }
+        }
+
+        return userPermissionWrapper;
+    }
+
+
+    /**
+     * Opens the UserPermissionDialog and adds the composed 
+     * user permission to the list.
+     */
+    private void addUserPermission()
+    {
+        UserPermissionDialog dialog = new UserPermissionDialog( getShell(), null, context );
+        if ( dialog.open() == UserPermissionDialog.OK && dialog.getUserPermission() != null )
+        {
+            UserPermissionWrapper userPermissionWrapper = new UserPermissionWrapper( dialog.getUserPermission() );
+            userPermissionWrappers.add( userPermissionWrapper );
+
+            tableViewer.refresh();
+        }
+    }
+
+
+    /**
+     * Opens the UserPermissionDialog with the currently selected
+     * user permission and puts the modified user permission into the list.
+     */
+    private void editUserPermission()
+    {
+        UserPermissionWrapper oldUserPermissionWrapper = getSelectedUserPermissionWrapper();
+        if ( oldUserPermissionWrapper != null )
+        {
+            UserPermissionDialog dialog = new UserPermissionDialog( getShell(),
+                oldUserPermissionWrapper.userPermission, context );
+            if ( dialog.open() == UserPermissionDialog.OK )
+            {
+                oldUserPermissionWrapper.userPermission = dialog.getUserPermission();
+                tableViewer.refresh();
+            }
+        }
+    }
+
+
+    /**
+     * Deletes the currently selected user permission from list.
+     */
+    private void deleteUserPermission()
+    {
+        UserPermissionWrapper userPermissionWrapper = getSelectedUserPermissionWrapper();
+        if ( userPermissionWrapper != null )
+        {
+            userPermissionWrappers.remove( userPermissionWrapper );
+            tableViewer.refresh();
+        }
+    }
+
+
+    /**
+     * Called when an user permission is selected in table viewer.
+     * Updates the enabled/disabled state of the buttons.
+     */
+    private void userPermissionSelected()
+    {
+        UserPermissionWrapper userPermissionWrapper = getSelectedUserPermissionWrapper();
+
+        if ( userPermissionWrapper == null )
+        {
+            editButton.setEnabled( false );
+            deleteButton.setEnabled( false );
+        }
+        else
+        {
+            editButton.setEnabled( true );
+            deleteButton.setEnabled( true );
+        }
+    }
+
+}

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemUserPermissionsComposite.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemVisualEditorComposite.java
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemVisualEditorComposite.java?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemVisualEditorComposite.java (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemVisualEditorComposite.java Mon Nov  5 06:27:47 2007
@@ -0,0 +1,262 @@
+/*
+ *  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.studio.aciitemeditor.widgets;
+
+
+import java.text.ParseException;
+import java.util.Collection;
+
+import org.apache.directory.shared.ldap.aci.ACIItem;
+import org.apache.directory.shared.ldap.aci.ACIItemParser;
+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.studio.aciitemeditor.ACIItemValueWithContext;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.ScrolledComposite;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+
+
+/**
+ * This is the main widget of the ACI item visual editor. It manages
+ * the lifecyle of all other ACI item widgets. In particular it
+ * shows/hides the userFirst and itemFirst widgets depending on
+ * the user's selection. 
+ * <p>
+ * It extends ScrolledComposite.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ACIItemVisualEditorComposite extends ScrolledComposite implements WidgetModifyListener
+{
+
+    /** The inner composite for all the content */
+    private Composite composite = null;
+
+    /** The general composite contains id-tag, precedence, auth-level, userFirst/itemFirst */
+    private ACIItemGeneralComposite generalComposite = null;
+
+    /** The user classes composite used for userFirst selection */
+    private ACIItemUserClassesComposite userFirstUserClassesComposite = null;
+
+    /** The user permission composite used for userFirst selection */
+    private ACIItemUserPermissionsComposite userFirstUserPermissionsComposite = null;
+
+    /** The protected items composite used for itemFirst selection */
+    private ACIItemProtectedItemsComposite itemFirstProtectedItemsComposite = null;
+
+    /** The item permission composite used for itemFirst selection */
+    private ACIItemItemPermissionsComposite itemFirstItemPermissionsComposite = null;
+
+
+    /**
+     * Creates a new instance of ACIItemComposite.
+     *
+     * @param parent
+     * @param style
+     */
+    public ACIItemVisualEditorComposite( Composite parent, int style )
+    {
+        super( parent, style | SWT.H_SCROLL | SWT.V_SCROLL );
+        setExpandHorizontal( true );
+        setExpandVertical( true );
+
+        createComposite();
+
+        setContent( composite );
+        setMinSize( composite.computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
+    }
+
+
+    /**
+     * This method initializes the inner composite with all contained widgets.
+     *
+     */
+    private void createComposite()
+    {
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.numColumns = 1;
+        GridData gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.grabExcessHorizontalSpace = true;
+        gridData.verticalAlignment = GridData.CENTER;
+
+        composite = new Composite( this, SWT.NONE );
+        composite.setLayout( gridLayout );
+        composite.setLayoutData( gridData );
+
+        generalComposite = new ACIItemGeneralComposite( composite, SWT.NONE );
+        generalComposite.addWidgetModifyListener( this );
+
+        userFirstUserClassesComposite = new ACIItemUserClassesComposite( composite, SWT.NONE );
+        userFirstUserPermissionsComposite = new ACIItemUserPermissionsComposite( composite, SWT.NONE );
+
+        itemFirstProtectedItemsComposite = new ACIItemProtectedItemsComposite( composite, SWT.NONE );
+        itemFirstItemPermissionsComposite = new ACIItemItemPermissionsComposite( composite, SWT.NONE );
+
+        widgetModified( null );
+    }
+
+
+    /**
+     * This method is called from the contained ACIItemXXXComposites
+     * when they are modified.
+     * 
+     * @param event the event
+     */
+    public void widgetModified( WidgetModifyEvent event )
+    {
+        // switch userFirst / itemFirst
+        if ( generalComposite.isItemFirst() && !generalComposite.isUserFirst()
+            && !itemFirstProtectedItemsComposite.isVisible() )
+        {
+            userFirstUserClassesComposite.setVisible( false );
+            userFirstUserPermissionsComposite.setVisible( false );
+            itemFirstProtectedItemsComposite.setVisible( true );
+            itemFirstItemPermissionsComposite.setVisible( true );
+
+            setMinSize( composite.computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
+            layout( true, true );
+        }
+        else if ( generalComposite.isUserFirst() && !generalComposite.isItemFirst()
+            && !userFirstUserClassesComposite.isVisible() )
+        {
+            userFirstUserClassesComposite.setVisible( true );
+            userFirstUserPermissionsComposite.setVisible( true );
+            itemFirstProtectedItemsComposite.setVisible( false );
+            itemFirstItemPermissionsComposite.setVisible( false );
+
+            setMinSize( composite.computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
+            layout( true, true );
+        }
+        else if ( !generalComposite.isItemFirst() && !generalComposite.isUserFirst() )
+        {
+            userFirstUserClassesComposite.setVisible( false );
+            userFirstUserPermissionsComposite.setVisible( false );
+            itemFirstProtectedItemsComposite.setVisible( false );
+            itemFirstItemPermissionsComposite.setVisible( false );
+
+            setMinSize( composite.computeSize( SWT.DEFAULT, SWT.DEFAULT ) );
+            layout( true, true );
+        }
+
+    }
+
+
+    /**
+     * Sets the input. The given ACI Item string is parsed and
+     * populated to the GUI elements.
+     * 
+     *
+     * @param input The string representation of the ACI item
+     * @throws ParseException if the syntax is invalid
+     */
+    public void setInput( String input ) throws ParseException
+    {
+        ACIItemParser parser = new ACIItemParser( null );
+        ACIItem aciItem = parser.parse( input );
+
+        if ( aciItem != null )
+        {
+            generalComposite.setIdentificationTag( aciItem.getIdentificationTag() );
+            generalComposite.setPrecedence( aciItem.getPrecedence() );
+            generalComposite.setAuthenticationLevel( aciItem.getAuthenticationLevel() );
+
+            if ( aciItem instanceof ItemFirstACIItem )
+            {
+                ItemFirstACIItem itemFirstACI = ( ItemFirstACIItem ) aciItem;
+                generalComposite.setItemFirst();
+                itemFirstProtectedItemsComposite.setProtectedItems( itemFirstACI.getProtectedItems() );
+                itemFirstItemPermissionsComposite.setItemPermissions( itemFirstACI.getItemPermissions() );
+            }
+            else if ( aciItem instanceof UserFirstACIItem )
+            {
+                UserFirstACIItem userFirstACI = ( UserFirstACIItem ) aciItem;
+                generalComposite.setUserFirst();
+                userFirstUserClassesComposite.setUserClasses( userFirstACI.getUserClasses() );
+                userFirstUserPermissionsComposite.setUserPermissions( userFirstACI.getUserPermission() );
+            }
+        }
+
+        // force userFirst/itemFirst switch
+        widgetModified( null );
+
+    }
+
+
+    /**
+     * Returns the string representation of the ACI item as defined in GUI.
+     * 
+     *
+     * @return the string representation of the ACI item
+     * @throws ParseException if the syntax is invalid
+     */
+    public String getInput() throws ParseException
+    {
+        String identificationTag = generalComposite.getIdentificationTag();
+        int precedence = generalComposite.getPrecedence();
+        AuthenticationLevel authenticationLevel = generalComposite.getAuthenticationLevel();
+
+        ACIItem aciItem = null;
+        if ( generalComposite.isUserFirst() )
+        {
+            Collection userClasses = userFirstUserClassesComposite.getUserClasses();
+            Collection userPermissions = userFirstUserPermissionsComposite.getUserPermissions();
+            aciItem = new UserFirstACIItem( identificationTag, precedence, authenticationLevel, userClasses,
+                userPermissions );
+        }
+        else if ( generalComposite.isItemFirst() )
+        {
+            Collection protectedItems = itemFirstProtectedItemsComposite.getProtectedItems();
+            Collection itemPermissions = itemFirstItemPermissionsComposite.getItemPermissions();
+            aciItem = new ItemFirstACIItem( identificationTag, precedence, authenticationLevel, protectedItems,
+                itemPermissions );
+        }
+        else
+        {
+            aciItem = null;
+        }
+
+        StringBuffer buffer = new StringBuffer();
+        if ( aciItem != null )
+        {
+            aciItem.printToBuffer( buffer );
+        }
+        return buffer.toString();
+    }
+
+
+    /**
+     * Sets the context.
+     * 
+     * @param context the context
+     */
+    public void setContext( ACIItemValueWithContext context )
+    {
+        itemFirstProtectedItemsComposite.setContext( context );
+        itemFirstItemPermissionsComposite.setContext( context );
+        userFirstUserClassesComposite.setContext( context );
+        userFirstUserPermissionsComposite.setContext( context );
+    }
+
+}

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemVisualEditorComposite.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/Messages.java
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/Messages.java?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/Messages.java (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/Messages.java Mon Nov  5 06:27:47 2007
@@ -0,0 +1,50 @@
+/*
+ *  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.studio.aciitemeditor.widgets;
+
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+
+public class Messages
+{
+    private static final String BUNDLE_NAME = "org.apache.directory.studio.aciitemeditor.widgets.messages"; //$NON-NLS-1$
+
+    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle( BUNDLE_NAME );
+
+
+    private Messages()
+    {
+    }
+
+
+    public static String getString( String key )
+    {
+        try
+        {
+            return RESOURCE_BUNDLE.getString( key );
+        }
+        catch ( MissingResourceException e )
+        {
+            return '!' + key + '!';
+        }
+    }
+}

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/Messages.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyEvent.java
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyEvent.java?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyEvent.java (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyEvent.java Mon Nov  5 06:27:47 2007
@@ -0,0 +1,48 @@
+/*
+ *  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.studio.aciitemeditor.widgets;
+
+
+import java.util.EventObject;
+
+
+/**
+ * A WidgetModifyEvent contains details of the widget modification.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class WidgetModifyEvent extends EventObject
+{
+
+    private static final long serialVersionUID = 2421335730580648878L;
+
+
+    /**
+     * Creates a new instance of WidgetModifyEvent.
+     *
+     * @param source the object on which the event initially occurred
+     */
+    public WidgetModifyEvent( Object source )
+    {
+        super( source );
+    }
+
+}

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyEvent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyListener.java
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyListener.java?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyListener.java (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyListener.java Mon Nov  5 06:27:47 2007
@@ -0,0 +1,39 @@
+/*
+ *  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.studio.aciitemeditor.widgets;
+
+
+/**
+ * A widget modify listeners gets informed if a widget was modified.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public interface WidgetModifyListener
+{
+
+    /**
+     * Informs this listener that a widget was modified
+     *
+     * @param event
+     */
+    public void widgetModified( WidgetModifyEvent event );
+
+}

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/WidgetModifyListener.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/package-info.java
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/package-info.java?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/package-info.java (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/package-info.java Mon Nov  5 06:27:47 2007
@@ -0,0 +1,23 @@
+/*
+ *  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. 
+ *  
+ */
+/**
+ * Contains the composed widgets of the ACI item editor dialog.
+ */
+package org.apache.directory.studio.aciitemeditor.widgets;
\ No newline at end of file

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/dialogs/messages.properties
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/dialogs/messages.properties?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/dialogs/messages.properties (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/dialogs/messages.properties Mon Nov  5 06:27:47 2007
@@ -0,0 +1,37 @@
+#  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.
+ACIItemDialog.dialog.text=ACI Item Editor
+ACIItemDialog.dialog.icon=resources/icons/aciitemeditor.gif
+ACIItemDialog.error.title=Syntax Error
+ACIItemDialog.button.format=Format
+ACIItemDialog.syntaxOk.title=Syntax ok
+ACIItemDialog.syntaxOk.text=Syntax ok
+ACIItemDialog.error.invalidSyntax=Invalid syntax.
+ACIItemDialog.button.checkSyntax=Check Syntax
+ItemPermissionDialog.dialog.text=Item Permission Editor
+ItemPermissionDialog.dialog.icon=resources/icons/aciitemeditor.gif
+ItemPermissionDialog.error.invalidItemPermission=Invalid Item Permission
+ItemPermissionDialog.precedence.label=Precedence:
+UserPermissionDialog.dialog.text=User Permission Editor
+UserPermissionDialog.dialog.icon=resources/icons/aciitemeditor.gif
+UserPermissionDialog.error.invalidUserPermission=Invalid User Permission
+UserPermissionDialog.precedence.label=Precedence:
+MultiValuedDialog.dialog.titlePrefix=Edit 
+MultiValuedDialog.dialog.icon=resources/icons/aciitemeditor.gif
+MultiValuedDialog.button.add=Add...
+MultiValuedDialog.button.edit=Edit...
+MultiValuedDialog.button.delete=Delete

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/dialogs/messages.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/model/messages.properties
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/model/messages.properties?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/model/messages.properties (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/model/messages.properties Mon Nov  5 06:27:47 2007
@@ -0,0 +1,36 @@
+#  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.
+UserClassWrapper.userClass.name.label=Name
+UserClassWrapper.userClass.allUsers.label=All Users
+UserClassWrapper.userClass.thisEntry.label=This Entry
+UserClassWrapper.userClass.userGroup.label=User Group
+UserClassWrapper.userClass.subtree.label=Subtree
+UserClassWrapper.error.message=Invalid user class "{0}" with value "{1}"
+
+ProtectedItemWrapper.protectedItem.entry.label=Entry
+ProtectedItemWrapper.protectedItem.allUserAttributeTypes.label=All User Attribute Types
+ProtectedItemWrapper.protectedItem.attributeType.label=Attribute Type
+ProtectedItemWrapper.protectedItem.allAttributeValues.label=All Attribute Values
+ProtectedItemWrapper.protectedItem.allUserAttributeTypesAndValues.label=All User Attribute Types and Values
+ProtectedItemWrapper.protectedItem.attributeValue.label=Attribute Value
+ProtectedItemWrapper.protectedItem.selfValue.label=Self Value
+ProtectedItemWrapper.protectedItem.rangeOfValues.label=Range of Values
+ProtectedItemWrapper.protectedItem.maxValueCount.label=Max. Value Count
+ProtectedItemWrapper.protectedItem.maxImmSub.label=Max. Number of Immediate Subordinates
+ProtectedItemWrapper.protectedItem.restrictedBy.label=Restricted by
+ProtectedItemWrapper.protectedItem.classes.label=Classes
+ProtectedItemWrapper.error.message=Invalid protected item "{0}" with value "{1}"
\ No newline at end of file

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/model/messages.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/valueeditors/messages.properties
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/valueeditors/messages.properties?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/valueeditors/messages.properties (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/valueeditors/messages.properties Mon Nov  5 06:27:47 2007
@@ -0,0 +1,41 @@
+#  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.
+RestrictedByValueEditor.icon=resources/icons/attributetypeeditor.png
+RestrictedByValueEditor.title=Restricted By Editor
+SubtreeValueEditor.title=Subtree Editor
+SubtreeValueEditor.icon=resources/icons/subtreeeditor.png
+SubtreeValueEditor.label.base=Base:
+SubtreeValueEditor.label.minimum=Minimum:
+SubtreeValueEditor.label.maximum=Maximum:
+SubtreeValueEditor.label.exclusions=Exclusions:
+SubtreeValueEditor.SubtreeValueEditor.label.filter=Filter
+SubtreeValueEditor.button.add=Add...
+SubtreeValueEditor.button.edit=Edit...
+SubtreeValueEditor.button.delete=Delete
+MaxValueCountValueEditor.title=Max Value Count Editor
+MaxValueCountValueEditor.icon=resources/icons/attributetypeeditor.png
+FilterValueEditor.dialog.title=Filter Editor
+ExclusionValueEditor.title=Exclusion Editor
+ExclusionValueEditor.icon=resources/icons/subtreeeditor.png
+ExclusionValueEditor.label.type=Type:
+ExclusionValueEditor.label.rdn=RDN:
+AttributeTypeDialog.title=Attribute Type Editor
+AttributeTypeAndValueDialog.title=Attribute Type and Value Editor
+AttributeTypeAndValueDialog.icon=resources/icons/attributetypeeditor.png
+AttributeTypeDialog.icon=resources/icons/attributetypeeditor.png
+SubtreeValueEditor.SubtreeValueEditor.label.refinementOrFilter=Refinement or Filter:
+SubtreeValueEditor.SubtreeValueEditor.label.refinement=Refinement

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/valueeditors/messages.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/widgets/messages.properties
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/widgets/messages.properties?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/widgets/messages.properties (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/widgets/messages.properties Mon Nov  5 06:27:47 2007
@@ -0,0 +1,62 @@
+#  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.
+ACIItemGeneralComposite.idTag.label=Identification Tag:
+ACIItemTabFolderComposite.source.tab=Source
+ACIItemTabFolderComposite.visual.tab=Visual Editor
+ACIItemTabFolderComposite.error.onVisualEditor=Invalid syntax, switching back to visual editor.
+ACIItemTabFolderComposite.error.title=Syntax Error
+ACIItemTabFolderComposite.error.onSourceEditor=Invalid syntax, switching back to source editor.
+ACIItemTabFolderComposite.error.onInput=Invalid syntax, activating source editor.
+ACIItemGeneralComposite.precedence.label=Precedence:
+ACIItemUserClassesComposite.revert.buton=Revert
+ACIItemGeneralComposite.authLevel.label=Authentication Level:
+ACIItemGeneralComposite.userOrItemFirst.label=User or Item first:
+ACIItemItemPermissionsComposite.delete.button=Delete
+ACIItemGeneralComposite.userFirst.label=User First
+ACIItemGeneralComposite.itemFirst.label=Item First
+ACIItemUserClassesComposite.description=User Classes:
+ACIItemUserClassesComposite.edit.button=Edit...
+ACIItemUserClassesComposite.error.icon=resources/icons/error.gif
+ACIItemGrantsAndDenialsComposite.column1.header=Right
+ACIItemGrantsAndDenialsComposite.column2.header=Grant/Deny
+ACIItemGrantsAndDenialsComposite.category.read=Read Rights
+ACIItemUserClassesComposite.deselectAll.button=Deselect All
+ACIItemGrantsAndDenialsComposite.category.modify=Modification Rights
+ACIItemGrantsAndDenialsComposite.category.advanced=Advanced Rights
+ACIItemGrantsAndDenialsComposite.description=Grants and Denials:
+ACIItemGrantsAndDenialsComposite.grantAll.button=Grant All
+ACIItemGrantsAndDenialsComposite.denyAll.button=Deny All
+ACIItemProtectedItemsComposite.selectAll.button=Select All
+ACIItemGrantsAndDenialsComposite.deselectAll.button=Deselect All
+ACIItemGrantsAndDenialsComposite.undo.button=Undo
+ACIItemGrantsAndDenialsComposite.redo.button=Redo
+ACIItemProtectedItemsComposite.revers.button=Revert
+ACIItemGrantsAndDenialsComposite.unspecified.icon=resources/icons/checkbox_unchecked.gif
+ACIItemProtectedItemsComposite.deselectAll.button=Deselect All
+ACIItemGrantsAndDenialsComposite.grant.icon=resources/icons/checkbox_grant.gif
+ACIItemItemPermissionsComposite.description=Item Permissions:
+ACIItemItemPermissionsComposite.edit.button=Edit...
+ACIItemGrantsAndDenialsComposite.deny.icon=resources/icons/checkbox_deny.gif
+ACIItemItemPermissionsComposite.add.button=Add...
+ACIItemProtectedItemsComposite.description=Protected Items:
+ACIItemProtectedItemsComposite.edit.button=Edit...
+ACIItemProtectedItemsComposite.error.icon=resources/icons/error.gif
+ACIItemUserPermissionsComposite.descripton=User Permissions:
+ACIItemUserPermissionsComposite.add.button=Add...
+ACIItemUserClassesComposite.selectAll.button=Select All
+ACIItemUserPermissionsComposite.edit.button=Edit...
+ACIItemUserPermissionsComposite.delete.button=Delete

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/org/apache/directory/studio/aciitemeditor/widgets/messages.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/aciitemeditor.gif
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/aciitemeditor.gif?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/aciitemeditor.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/attributetypeeditor.png
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/attributetypeeditor.png?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/attributetypeeditor.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_checked.gif
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_checked.gif?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_checked.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_deny.gif
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_deny.gif?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_deny.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_grant.gif
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_grant.gif?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_grant.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_unchecked.gif
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_unchecked.gif?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/checkbox_unchecked.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/error.gif
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/error.gif?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/error.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/filtereditor.gif
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/filtereditor.gif?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/filtereditor.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/subtreeeditor.png
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/subtreeeditor.png?rev=592011&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/icons/subtreeeditor.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/templates/templates.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/templates/templates.xml?rev=592011&view=auto
==============================================================================
--- directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/templates/templates.xml (added)
+++ directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/templates/templates.xml Mon Nov  5 06:27:47 2007
@@ -0,0 +1,529 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<!-- This file is used to store the code templates for the ACI Item syntax  -->
+<templates>
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.identificationTag" 
+		name="identificationTag"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">identificationTag "${cursor}",
+</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.precedence" 
+		name="precedence"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">precedence ${cursor},
+</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.authenticationLevel" 
+		name="authenticationLevel"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">authenticationLevel ${cursor},
+</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.none" 
+		name="none"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">none</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.simple" 
+		name="simple"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">simple</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.strong" 
+		name="strong"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">strong</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.itemOrUserFirst" 
+		name="itemOrUserFirst"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">itemOrUserFirst ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.itemFirst" 
+		name="itemFirst"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">itemFirst : 
+{
+    ${cursor}
+}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.userFirst" 
+		name="userFirst"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">userFirst : 
+{
+    ${cursor}
+}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.userClasses" 
+		name="userClasses"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">userClasses 
+{
+    ${cursor}
+}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.userPermissions" 
+		name="userPermissions"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">userPermissions 
+{
+    ${cursor}
+}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.protectedItems" 
+		name="protectedItems"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">protectedItems 
+{
+    ${cursor}
+}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.itemPermissions" 
+		name="itemPermissions"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">itemPermissions 
+{
+    ${cursor}
+}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantAdd" 
+		name="grantAdd"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantAdd</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyAdd" 
+		name="denyAdd"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyAdd</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantDiscloseOnError" 
+		name="grantDiscloseOnError"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantDiscloseOnError</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyDiscloseOnError" 
+		name="denyDiscloseOnError"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyDiscloseOnError</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantRead" 
+		name="grantRead"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantRead</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyRead" 
+		name="denyRead"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyRead</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantRemove" 
+		name="grantRemove"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantRemove</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyRemove" 
+		name="denyRemove"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyRemove</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantBrowse" 
+		name="grantBrowse"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantBrowse</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyBrowse" 
+		name="denyBrowse"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyBrowse</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantExport" 
+		name="grantExport"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantExport</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyExport" 
+		name="denyExport"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyExport</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantImport" 
+		name="grantImport"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantImport</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyImport" 
+		name="denyImport"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyImport</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantModify" 
+		name="grantModify"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantModify</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyModify" 
+		name="denyModify"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyModify</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantRename" 
+		name="grantRename"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantRename</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyRename" 
+		name="denyRename"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyRename</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantReturnDN" 
+		name="grantReturnDN"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantReturnDN</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyReturnDN" 
+		name="denyReturnDN"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyReturnDN</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantCompare" 
+		name="grantCompare"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantCompare</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyCompare" 
+		name="denyCompare"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyCompare</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantFilterMatch" 
+		name="grantFilterMatch"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantFilterMatch</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyFilterMatch" 
+		name="denyFilterMatch"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyFilterMatch</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantInvoke" 
+		name="grantInvoke"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantInvoke</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.denyInvoke" 
+		name="denyInvoke"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">denyInvoke</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.classes" 
+		name="classes"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">classes ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.entry" 
+		name="entry"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">entry</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.allUserAttributeTypes" 
+		name="allUserAttributeTypes"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">allUserAttributeTypes</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.allUserAttributeTypesAndValues" 
+		name="allUserAttributeTypesAndValues"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">allUserAttributeTypesAndValues</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.grantsAndDenials" 
+		name="grantsAndDenials"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">grantsAndDenials
+{
+    ${cursor}
+}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.allUsers" 
+		name="allUsers"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">allUsers</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.thisEntry" 
+		name="thisEntry"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">thisEntry</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.attributeType" 
+		name="attributeType"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">attributeType ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.allAttributeValues" 
+		name="allAttributeValues"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">allAttributeValues ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.selfValue" 
+		name="selfValue"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">selfValue ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.item" 
+		name="item"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">item:${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.item" 
+		name="item:"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">item:${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.and" 
+		name="and:"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">and:${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.or" 
+		name="or:"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">or:${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.not" 
+		name="not:"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">not:${cursor}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.name" 
+		name="name"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">name { ${cursor} }</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.userGroup" 
+		name="userGroup"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">userGroup { ${cursor} }</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.subtree" 
+		name="subtree"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">subtree { ${cursor} }</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.base" 
+		name="base"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">base ${cursor}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.specificExclusions" 
+		name="specificExclusions"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">specificExclusions ${cursor}</template>	
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.chopBefore" 
+		name="chopBefore:"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">chopBefore:${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.chopAfter" 
+		name="chopAfter:"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">chopAfter:${cursor}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.minimum" 
+		name="minimum"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">minimum ${cursor}</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.maximum" 
+		name="maximum"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">maximum ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.valuesIn" 
+		name="valuesIn"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">valuesIn ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.type" 
+		name="type"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">type ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.maxCount" 
+		name="maxCount"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">maxCount ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.maxImmSub" 
+		name="maxImmSub"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">maxImmSub ${cursor}</template>
+		
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.maxValueCount" 
+		name="maxValueCount"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">maxValueCount { ${cursor} }</template>
+
+	<template 
+		id="org.apache.directory.studio.aciitemeditor.templates.restrictedBy" 
+		name="restrictedBy"
+		context="org.apache.directory.studio.aciitemeditor.templates" 
+		enabled="true"
+		deleted="false">restrictedBy { ${cursor} }</template>
+
+</templates>
\ No newline at end of file

Propchange: directory/sandbox/felixk/studio-aciitemeditor/src/main/resources/resources/templates/templates.xml
------------------------------------------------------------------------------
    svn:eol-style = native