You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/12/30 04:57:27 UTC

svn commit: r1053793 - /directory/apacheds/branches/apacheds-AP/core/src/main/java/org/apache/directory/server/core/admin/AdministrativePointInterceptor.java

Author: elecharny
Date: Thu Dec 30 03:57:26 2010
New Revision: 1053793

URL: http://svn.apache.org/viewvc?rev=1053793&view=rev
Log:
Removed dead code

Modified:
    directory/apacheds/branches/apacheds-AP/core/src/main/java/org/apache/directory/server/core/admin/AdministrativePointInterceptor.java

Modified: directory/apacheds/branches/apacheds-AP/core/src/main/java/org/apache/directory/server/core/admin/AdministrativePointInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-AP/core/src/main/java/org/apache/directory/server/core/admin/AdministrativePointInterceptor.java?rev=1053793&r1=1053792&r2=1053793&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-AP/core/src/main/java/org/apache/directory/server/core/admin/AdministrativePointInterceptor.java (original)
+++ directory/apacheds/branches/apacheds-AP/core/src/main/java/org/apache/directory/server/core/admin/AdministrativePointInterceptor.java Thu Dec 30 03:57:26 2010
@@ -41,14 +41,12 @@ import org.apache.directory.server.core.
 import org.apache.directory.server.core.filtering.EntryFilteringCursor;
 import org.apache.directory.server.core.interceptor.BaseInterceptor;
 import org.apache.directory.server.core.interceptor.NextInterceptor;
-import org.apache.directory.server.core.interceptor.context.DeleteOperationContext;
 import org.apache.directory.server.core.interceptor.context.ModifyOperationContext;
 import org.apache.directory.server.core.interceptor.context.MoveAndRenameOperationContext;
 import org.apache.directory.server.core.interceptor.context.MoveOperationContext;
 import org.apache.directory.server.core.interceptor.context.RenameOperationContext;
 import org.apache.directory.server.core.interceptor.context.SearchOperationContext;
 import org.apache.directory.server.core.partition.PartitionNexus;
-import org.apache.directory.server.i18n.I18n;
 import org.apache.directory.shared.ldap.constants.AuthenticationLevel;
 import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.entry.DefaultEntryAttribute;
@@ -60,7 +58,6 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.exception.LdapInvalidAttributeValueException;
 import org.apache.directory.shared.ldap.exception.LdapNoSuchAttributeException;
 import org.apache.directory.shared.ldap.exception.LdapOperationException;
-import org.apache.directory.shared.ldap.exception.LdapSchemaViolationException;
 import org.apache.directory.shared.ldap.exception.LdapUnwillingToPerformException;
 import org.apache.directory.shared.ldap.filter.ExprNode;
 import org.apache.directory.shared.ldap.filter.PresenceNode;
@@ -485,85 +482,6 @@ public class AdministrativePointIntercep
      */
     private void addAdminPointCache( List<Entry> adminPointEntries ) throws LdapException
     {
-        for ( Entry adminPointEntry : adminPointEntries )
-        {
-            // update the cache
-            DN dn = adminPointEntry.getDn();
-
-            String uuid = adminPointEntry.get( ENTRY_UUID_AT ).getString();
-            EntryAttribute adminPoint = adminPointEntry.get( ADMINISTRATIVE_ROLE_AT );
-            long seqNumber = Long.parseLong( adminPointEntry.get( ApacheSchemaConstants.AP_SEQ_NUMBER_AT ).getString() );
-
-            //createAdministrativePoints( adminPoint, dn, uuid , seqNumber);
-        }
-    }
-
-
-    /**
-     * Update The Administrative Points cache, removing the given AdminPoint
-     */
-    private void deleteAdminPointCache( EntryAttribute adminPoint, DeleteOperationContext deleteContext )
-        throws LdapException
-    {
-        DN dn = deleteContext.getDn();
-        
-        // Remove the APs in the AP cache
-        for ( Value<?> value : adminPoint )
-        {
-            String role = value.getString();
-
-            // Deal with Autonomous AP : delete the 4 associated SAP/AAP
-            if ( isAutonomousAreaRole( role ) )
-            {
-                // The AC AAP
-                directoryService.getAccessControlAPCache().remove( dn );
-
-                // The CA AAP
-                directoryService.getCollectiveAttributeAPCache().remove( dn );
-
-                // The TE AAP
-                directoryService.getTriggerExecutionAPCache().remove( dn );
-
-                // The SS AAP
-                directoryService.getSubschemaAPCache().remove( dn );
-
-                // If it's an AAP, we can get out immediately
-                return;
-            }
-
-            // Deal with AccessControl AP
-            if ( isAccessControlSpecificRole( role ) || isAccessControlInnerRole( role ) )
-            {
-                directoryService.getAccessControlAPCache().remove( dn );
-
-                continue;
-            }
-
-            // Deal with CollectveAttribute AP
-            if ( isCollectiveAttributeSpecificRole( role ) || isCollectiveAttributeInnerRole( role ) )
-            {
-                directoryService.getCollectiveAttributeAPCache().remove( dn );
-
-                continue;
-            }
-
-
-            // Deal with SubSchema AP
-            if ( isSubschemaSpecficRole( role ) )
-            {
-                directoryService.getSubschemaAPCache().remove( dn );
-
-                continue;
-            }
-
-            // Deal with TriggerExecution AP
-            if ( isTriggerExecutionSpecificRole( role ) || isTriggerExecutionInnerRole( role ))
-            {
-                directoryService.getTriggerExecutionAPCache().remove( dn );
-
-                continue;
-            }
-        }
     }
 
 
@@ -647,218 +565,6 @@ public class AdministrativePointIntercep
     }
 
 
-    /**
-     * Tells if the Administrative Point role is an AAP
-     */
-    private boolean isAAP( EntryAttribute adminPoint )
-    {
-        return ( adminPoint.contains( SchemaConstants.AUTONOMOUS_AREA ) || adminPoint
-            .contains( SchemaConstants.AUTONOMOUS_AREA_OID ) );
-    }
-
-
-    /**
-     * Check that the AT contains the AccessControl SAP role
-     */
-    private boolean hasAccessControlSpecificRole( EntryAttribute adminPoint )
-    {
-        return adminPoint.contains( SchemaConstants.ACCESS_CONTROL_SPECIFIC_AREA ) ||
-               adminPoint.contains( SchemaConstants.ACCESS_CONTROL_SPECIFIC_AREA_OID );
-    }
-
-
-    private boolean isIAP( String role )
-    {
-        return INNER_AREA_ROLES.contains( role );
-    }
-
-
-    /**
-     * Check that the AT contains the CollectiveAttribute SAP role
-     */
-    private boolean hasCollectiveAttributeSpecificRole( EntryAttribute adminPoint )
-    {
-        return adminPoint.contains( SchemaConstants.COLLECTIVE_ATTRIBUTE_SPECIFIC_AREA ) ||
-               adminPoint.contains( SchemaConstants.COLLECTIVE_ATTRIBUTE_SPECIFIC_AREA_OID );
-    }
-
-
-    /**
-     * Check that the AT contains the TriggerExecution SAP role
-     */
-    private boolean hasTriggerExecutionSpecificRole( EntryAttribute adminPoint )
-    {
-        return adminPoint.contains( SchemaConstants.TRIGGER_EXECUTION_SPECIFIC_AREA ) ||
-               adminPoint.contains( SchemaConstants.TRIGGER_EXECUTION_SPECIFIC_AREA_OID );
-    }
-
-
-    /**
-     * Check that the AT contains the SubSchema SAP role
-     */
-    private boolean hasSubSchemaSpecificRole( EntryAttribute adminPoint )
-    {
-        return adminPoint.contains( SchemaConstants.SUB_SCHEMA_ADMIN_SPECIFIC_AREA ) ||
-               adminPoint.contains( SchemaConstants.SUB_SCHEMA_ADMIN_SPECIFIC_AREA_OID );
-    }
-
-
-    /**
-     * Check that we don't have an IAP and a SAP with the same family
-     */
-    private void checkInnerSpecificMix( String role, EntryAttribute adminPoint ) throws LdapUnwillingToPerformException
-    {
-        if ( isAccessControlInnerRole( role ) )
-        {
-            if ( hasAccessControlSpecificRole( adminPoint ) )
-            {
-                // This is inconsistent
-                String message = "Cannot add a specific Administrative Point and the same"
-                    + " inner Administrative point at the same time : " + adminPoint;
-                LOG.error( message );
-                throw new LdapUnwillingToPerformException( message );
-            }
-            else
-            {
-                return;
-            }
-        }
-
-        if ( isCollectiveAttributeInnerRole( role ) )
-        {
-            if ( hasCollectiveAttributeSpecificRole( adminPoint ) )
-            {
-                // This is inconsistent
-                String message = "Cannot add a specific Administrative Point and the same"
-                    + " inner Administrative point at the same time : " + adminPoint;
-                LOG.error( message );
-                throw new LdapUnwillingToPerformException( message );
-            }
-            else
-            {
-                return;
-            }
-        }
-
-        if ( isTriggerExecutionInnerRole( role ) )
-        {
-            if ( hasTriggerExecutionSpecificRole( adminPoint ) )
-            {
-                // This is inconsistent
-                String message = "Cannot add a specific Administrative Point and the same"
-                    + " inner Administrative point at the same time : " + adminPoint;
-                LOG.error( message );
-                throw new LdapUnwillingToPerformException( message );
-            }
-            else
-            {
-                return;
-            }
-        }
-    }
-
-
-    /**
-     * Check that the IAPs (if any) have a parent. We will check for each kind or role :
-     * AC, CA and TE.
-     */
-    private void checkIAPHasParent( String role, EntryAttribute adminPoint, DN dn )
-        throws LdapUnwillingToPerformException
-    {
-        // Check for the AC role
-        if ( isAccessControlInnerRole( role ) )
-        {
-            DnNode<AdministrativePoint> acCache = directoryService.getAccessControlAPCache();
-            
-            DnNode<AdministrativePoint> parent =  acCache.getNode( dn );
-            
-            if ( parent == null )
-            {
-                // We don't have any AC administrativePoint in the tree, this is an error
-                String message = "Cannot add an IAP with no parent : " + adminPoint;
-                LOG.error( message );
-                throw new LdapUnwillingToPerformException( message );
-            }
-        }
-        else if ( isCollectiveAttributeInnerRole( role ) )
-        {
-            DnNode<AdministrativePoint> caCache = directoryService.getCollectiveAttributeAPCache();
-            
-            boolean hasAP = caCache.hasParentElement( dn );
-            
-            if ( !hasAP )
-            {
-                // We don't have any AC administrativePoint in the tree, this is an error
-                String message = "Cannot add an IAP with no parent : " + adminPoint;
-                LOG.error( message );
-                throw new LdapUnwillingToPerformException( message );
-            }
-        }
-        else if ( isTriggerExecutionInnerRole( role ) )
-        {
-            DnNode<AdministrativePoint> caCache = directoryService.getTriggerExecutionAPCache();
-            
-            DnNode<AdministrativePoint> parent =  caCache.getNode( dn );
-            
-            if ( parent == null )
-            {
-                // We don't have any AC administrativePoint in the tree, this is an error
-                String message = "Cannot add an IAP with no parent : " + adminPoint;
-                LOG.error( message );
-                throw new LdapUnwillingToPerformException( message );
-            }
-        }
-        else
-        {
-            // Wtf ? We *must* have an IAP here...
-            String message = "This is not an IAP : " + role;
-            LOG.error( message );
-            throw new LdapUnwillingToPerformException( message );
-        }
-    }
-    
-    
-    //-------------------------------------------------------------------------------------------
-    // Helper methods
-    //-------------------------------------------------------------------------------------------
-    /**
-     * Return the list of AdministrativeRole for a subentry
-     */
-    private Set<AdministrativeRole> getSubentryAdminRoles( Entry subentry ) throws LdapException
-    {
-        Set<AdministrativeRole> adminRoles = new HashSet<AdministrativeRole>();
-
-        EntryAttribute oc = subentry.get( OBJECT_CLASS_AT );
-
-        if ( oc == null )
-        {
-            throw new LdapSchemaViolationException( ResultCodeEnum.OBJECT_CLASS_VIOLATION, I18n.err( I18n.ERR_305 ) );
-        }
-
-        if ( oc.contains( SchemaConstants.ACCESS_CONTROL_SUBENTRY_OC ) )
-        {
-            adminRoles.add( AdministrativeRole.AccessControlInnerArea );
-        }
-
-        if ( oc.contains( SchemaConstants.SUBSCHEMA_OC ) )
-        {
-            adminRoles.add( AdministrativeRole.SubSchemaSpecificArea );
-        }
-
-        if ( oc.contains( SchemaConstants.COLLECTIVE_ATTRIBUTE_SUBENTRY_OC ) )
-        {
-            adminRoles.add( AdministrativeRole.CollectiveAttributeSpecificArea );
-        }
-
-        if ( oc.contains( ApacheSchemaConstants.TRIGGER_EXECUTION_SUBENTRY_OC ) )
-        {
-            adminRoles.add( AdministrativeRole.TriggerExecutionInnerArea );
-        }
-
-        return adminRoles;
-    }
-
-
     //-------------------------------------------------------------------------------------------
     // Interceptor initialization
     //-------------------------------------------------------------------------------------------
@@ -945,85 +651,6 @@ public class AdministrativePointIntercep
     
     
     /**
-     * Tells if an entry is a subEntry. We check that the entry has the SubEntry ObjectClass
-     */
-    private boolean isSubentry( Entry entry )
-    {
-        return entry.hasObjectClass( SchemaConstants.SUBENTRY_OC );
-    }
-    
-    
-    /**
-     * Checks if the given DN is a namingContext
-     */
-    private boolean isNamingContext( DN dn ) throws LdapException
-    {
-        DN namingContext = nexus.findSuffix( dn );
-
-        return dn.equals( namingContext );
-    }
-
-    
-    /**
-     * We have to check that we can remove the associated AdministrativePoint : <br/> 
-     * <ul>
-     * <li> if we remove an AAP, no descendant IAP should remain orphan</li>
-     * <li> If we remove a SAP, no descendant IAP should remain orphan</li>
-     * </ul> 
-     * {@inheritDoc}
-     *
-    public void delete( NextInterceptor next, DeleteOperationContext deleteContext ) throws LdapException
-    {
-System.out.println( "addContext : " + deleteContext );
-        Entry entry = deleteContext.getEntry();
-        DN dn = entry.getDn();
-
-        // Check if we are deleting an Administrative Point
-        EntryAttribute adminPoint = entry.get( ADMINISTRATIVE_ROLE_AT );
-
-        if ( adminPoint == null )
-        {
-            // Nope, go on.
-            next.delete( deleteContext );
-
-            LOG.debug( "Exit from Administrative Interceptor" );
-
-            return;
-        }
-
-        LOG.debug( "Deletion of an administrative point at {} for the role {}", dn, adminPoint );
-        
-        // Protect the AP caches against concurrent access
-        lockWrite();
-        
-        // Check that the removed AdministrativeRoles are valid. We don't have to do
-        // any other check, as the deleted entry has no children.
-        for ( Value<?> role : adminPoint )
-        {
-            if ( !isValidRole( role.getString() ) )
-            {
-                String message = "Cannot remove the given role, it's not a valid one :" + role;
-                LOG.error( message );
-                throw new LdapUnwillingToPerformException( message );
-            }
-        }
-
-        // Ok, we can remove the AP
-        next.delete( deleteContext );
-
-        // Now, update the AdminPoint cache
-        deleteAdminPointCache( adminPoint, deleteContext );
-
-        // Release the APCaches lock
-        unlock();
-        
-        LOG.debug( "Deleted an Administrative Point at {}", dn );
-
-        return;
-    }
-
-
-    /**
      * Only the add and remove modifications are fully supported. We have to check that the
      * underlying APs are still consistent.
      * We first have to compute the final AdministrativeRole, then do a diff with the
@@ -1036,7 +663,6 @@ System.out.println( "addContext : " + de
      */
     public void modify( NextInterceptor next, ModifyOperationContext modifyContext ) throws LdapException
     {
-System.out.println( "addContext : " + modifyContext );
         // We have to check that the modification is acceptable
         List<Modification> modifications = modifyContext.getModItems();
         DN dn = modifyContext.getDn();