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 2011/11/17 01:11:38 UTC

svn commit: r1202944 - in /directory/apacheds/trunk: core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/ core-api/src/test/java/org/apache/directory/server/core/api/ interceptors/schema/src/main/java/org/apache/directory/se...

Author: elecharny
Date: Thu Nov 17 00:11:37 2011
New Revision: 1202944

URL: http://svn.apache.org/viewvc?rev=1202944&view=rev
Log:
Code cleanup :
- removal of useless methods
- added some Javadoc and comments

Modified:
    directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AbstractOperationContext.java
    directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/OperationContext.java
    directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockOperation.java
    directory/apacheds/trunk/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java

Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AbstractOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AbstractOperationContext.java?rev=1202944&r1=1202943&r2=1202944&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AbstractOperationContext.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AbstractOperationContext.java Thu Nov 17 00:11:37 2011
@@ -21,17 +21,14 @@ package org.apache.directory.server.core
 
 
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.directory.server.core.api.CoreSession;
 import org.apache.directory.server.core.api.LdapPrincipal;
-import org.apache.directory.server.core.api.OperationEnum;
 import org.apache.directory.server.i18n.I18n;
 import org.apache.directory.shared.ldap.model.entry.Entry;
-import org.apache.directory.shared.ldap.model.entry.Modification;
 import org.apache.directory.shared.ldap.model.exception.LdapException;
 import org.apache.directory.shared.ldap.model.message.Control;
 import org.apache.directory.shared.ldap.model.name.Dn;
@@ -298,22 +295,6 @@ public abstract class AbstractOperationC
 
 
     /**
-     * Gets the set of bypassed Interceptors.
-     *
-     * @return the set of bypassed Interceptors
-     */
-    public Collection<String> getByPassed()
-    {
-        if ( byPassed == null )
-        {
-            return Collections.emptyList();
-        }
-
-        return Collections.unmodifiableCollection( byPassed );
-    }
-
-
-    /**
      * {@inheritDoc}
      */
     public final void setInterceptors( List<String> interceptors )
@@ -337,8 +318,6 @@ public abstract class AbstractOperationC
 
         return interceptor;
     }
-
-
     
     
     /**
@@ -360,44 +339,9 @@ public abstract class AbstractOperationC
         this.currentInterceptor = currentInterceptor;
     }
 
-    
-    /**
-     * Sets the set of bypassed Interceptors.
-     * 
-     * @param byPassed the set of bypassed Interceptors
-     */
-    public void setByPassed( Collection<String> byPassed )
-    {
-        this.byPassed = byPassed;
-    }
-
-
-    /**
-     * Checks to see if an Interceptor is bypassed for this operation.
-     *
-     * @param interceptorName the interceptorName of the Interceptor to check for bypass
-     * @return true if the Interceptor should be bypassed, false otherwise
-     */
-    public boolean isBypassed( String interceptorName )
-    {
-        return byPassed != null && byPassed.contains( interceptorName );
-    }
-
-
-    /**
-     * Checks to see if any Interceptors are bypassed by this operation.
-     *
-     * @return true if at least one bypass exists
-     */
-    public boolean hasBypass()
-    {
-        return byPassed != null && !byPassed.isEmpty();
-    }
-
 
     private void setup( AbstractOperationContext opContext )
     {
-        opContext.setPreviousOperation( this );
         next = opContext;
         opContext.setAuthorizedPrincipal( authorizedPrincipal );
     }
@@ -406,18 +350,6 @@ public abstract class AbstractOperationC
     /**
      * {@inheritDoc}
      */
-    public void add( Entry entry, Collection<String> byPassed ) throws LdapException
-    {
-        AddOperationContext addContext = new AddOperationContext( session, entry );
-        setup( addContext );
-        addContext.setByPassed( byPassed );
-        session.getDirectoryService().getOperationManager().add( addContext );
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
     public void delete( Dn dn ) throws LdapException
     {
         DeleteOperationContext deleteContext = new DeleteOperationContext( session, dn );
@@ -429,19 +361,6 @@ public abstract class AbstractOperationC
     /**
      * {@inheritDoc}
      */
-    public boolean hasEntry( Dn dn, Collection<String> byPassed ) throws LdapException
-    {
-        HasEntryOperationContext hasEntryContext = new HasEntryOperationContext( session, dn );
-        setup( hasEntryContext );
-        hasEntryContext.setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.HAS_ENTRY ) );
-
-        return session.getDirectoryService().getOperationManager().hasEntry( hasEntryContext );
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
     public Entry lookup( LookupOperationContext lookupContext ) throws LdapException
     {
         if ( lookupContext != next )
@@ -453,41 +372,6 @@ public abstract class AbstractOperationC
     }
 
 
-    /**
-     * {@inheritDoc}
-     */
-    public Entry lookup( Dn dn, Collection<String> byPassed ) throws LdapException
-    {
-        LookupOperationContext lookupContext = newLookupContext( dn );
-        lookupContext.setByPassed( byPassed );
-        return session.getDirectoryService().getOperationManager().lookup( lookupContext );
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Entry lookup( Dn dn, Collection<String> byPassed, String... attrIds ) throws LdapException
-    {
-        LookupOperationContext lookupContext = newLookupContext( dn );
-        lookupContext.setByPassed( byPassed );
-        lookupContext.setAttrsId( attrIds );
-        return session.getDirectoryService().getOperationManager().lookup( lookupContext );
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public void modify( Dn dn, List<Modification> mods, Collection<String> byPassed ) throws LdapException
-    {
-        ModifyOperationContext modifyContext = new ModifyOperationContext( session, dn, mods );
-        setup( modifyContext );
-        modifyContext.setByPassed( byPassed );
-        session.getDirectoryService().getOperationManager().modify( modifyContext );
-    }
-
-
     // TODO - need synchronization here and where we update links
     /**
      * {@inheritDoc}
@@ -496,6 +380,7 @@ public abstract class AbstractOperationC
     {
         LookupOperationContext lookupContext = new LookupOperationContext( session, dn );
         setup( lookupContext );
+        
         return lookupContext;
     }
 
@@ -518,73 +403,6 @@ public abstract class AbstractOperationC
     // OperationContext Linked List Methods
     // -----------------------------------------------------------------------
     /**
-     * {@inheritDoc}
-     */
-    public boolean isFirstOperation()
-    {
-        return previous == null;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public OperationContext getFirstOperation()
-    {
-        if ( previous == null )
-        {
-            return this;
-        }
-
-        return previous.getFirstOperation();
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public OperationContext getLastOperation()
-    {
-        if ( next == null )
-        {
-            return this;
-        }
-
-        return next.getLastOperation();
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public OperationContext getNextOperation()
-    {
-        return next;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    protected void setNextOperation( OperationContext next )
-    {
-        this.next = next;
-    }
-
-
-    public OperationContext getPreviousOperation()
-    {
-        return previous;
-    }
-
-
-    protected void setPreviousOperation( OperationContext previous )
-    {
-        this.previous = previous;
-    }
-
-
-    /**
      * @param entry the entry to set
      */
     public void setEntry( Entry entry )

Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/OperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/OperationContext.java?rev=1202944&r1=1202943&r2=1202944&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/OperationContext.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/OperationContext.java Thu Nov 17 00:11:37 2011
@@ -20,15 +20,12 @@
 package org.apache.directory.server.core.api.interceptor.context;
 
 
-import java.util.Collection;
 import java.util.List;
 
 import org.apache.directory.server.core.api.CoreSession;
 import org.apache.directory.server.core.api.LdapPrincipal;
 import org.apache.directory.server.core.api.entry.ClonedServerEntry;
-import org.apache.directory.server.core.api.interceptor.Interceptor;
 import org.apache.directory.shared.ldap.model.entry.Entry;
-import org.apache.directory.shared.ldap.model.entry.Modification;
 import org.apache.directory.shared.ldap.model.exception.LdapException;
 import org.apache.directory.shared.ldap.model.message.Control;
 import org.apache.directory.shared.ldap.model.name.Dn;
@@ -43,51 +40,6 @@ import org.apache.directory.shared.ldap.
 public interface OperationContext
 {
     /**
-     * Checks to see if this operation is the first operation in a chain of
-     * operations performed on the DirectoryService.  The first operation in
-     * a sequence of operations, is not a byproduct of another operation
-     * unlike operations following in the sequence.  The other operations
-     * following the first, occur as a side effect to complete this first
-     * operation.
-     * 
-     * @return true if the operation is the first, false otherwise
-     */
-    boolean isFirstOperation();
-    
-    
-    /**
-     * Gets the first, direct operation issued against the DirectoryService.
-     *
-     * @return the first, direct operation issued
-     */
-    OperationContext getFirstOperation();
-    
-    
-    /**
-     * Gets the previous, operation issued on the DirectoryService.
-     *
-     * @return the previous, operation issued
-     */
-    OperationContext getPreviousOperation();
-    
-    
-    /**
-     * Gets the next, indirect operation issued on the DirectoryService.
-     *
-     * @return the next, indirect operation issued
-     */
-    OperationContext getNextOperation();
-    
-    
-    /**
-     * Gets the last, operation issued on the DirectoryService.
-     *
-     * @return the last, operation issued
-     */
-    OperationContext getLastOperation();
-    
-    
-    /**
      * @return The number of the current interceptor in the list
      */
     int getCurrentInterceptor();
@@ -263,30 +215,6 @@ public interface OperationContext
     
     
     /**
-     * Checks to see if an Interceptor is bypassed for this operation.
-     *
-     * @param interceptorName the interceptorName of the Interceptor to check for bypass
-     * @return true if the Interceptor should be bypassed, false otherwise
-     */
-    boolean isBypassed( String interceptorName );
-
-
-    /**
-     * Checks to see if any Interceptors are bypassed by this Invocation.
-     *
-     * @return true if at least one bypass exists
-     */
-    boolean hasBypass();
-    
-    
-    /**
-     * Gets the set of bypassed Interceptors.
-     *
-     * @return the set of bypassed Interceptors
-     */
-    Collection<String> getByPassed();
-    
-    /**
      * Gets the next interceptor in the list of interceptors. The
      * position in the list will be incremented.
      * 
@@ -304,14 +232,6 @@ public interface OperationContext
     
     
     /**
-     * Sets the set of bypassed Interceptors.
-     * 
-     * @param byPassed the set of bypassed Interceptors
-     */
-    void setByPassed( Collection<String> byPassed );
-    
-    
-    /**
      * Gets the session associated with this operation.
      *
      * @return the session associated with this operation
@@ -322,26 +242,12 @@ public interface OperationContext
     // -----------------------------------------------------------------------
     // Utility Factory Methods to Create New OperationContexts
     // -----------------------------------------------------------------------
-    
-    
     LookupOperationContext newLookupContext( Dn dn );
 
     
-    Entry lookup( Dn dn, Collection<String> byPass ) throws LdapException;
-    
-    
-    Entry lookup( Dn dn, Collection<String> byPass, String... attrIds ) throws LdapException;
-    
-    
     Entry lookup( LookupOperationContext lookupContext ) throws LdapException;
     
     
-    void modify( Dn dn, List<Modification> mods, Collection<String> byPass ) throws LdapException;
-    
-    
-    void add( Entry entry, Collection<String> byPass ) throws LdapException;
-    
-    
     /**
      * Process the delete for inner operations. This is only valid for SubschemaSubentry
      * operations, and will most certainly be removed later.
@@ -353,17 +259,6 @@ public interface OperationContext
 
 
     /**
-     * Checks to see if an entry exists.
-     *
-     * @param dn the distinguished name of the entry to check
-     * @param byPass collection of {@link Interceptor}'s to bypass for this check
-     * @return true if the entry exists, false if it does not
-     * @throws Exception on failure to perform this operation
-     */
-    boolean hasEntry( Dn dn, Collection<String> byPass ) throws LdapException;
-    
-    
-    /**
      * Set the throwReferral flag to true
      */
     void throwReferral();

Modified: directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockOperation.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockOperation.java?rev=1202944&r1=1202943&r2=1202944&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockOperation.java (original)
+++ directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockOperation.java Thu Nov 17 00:11:37 2011
@@ -19,7 +19,6 @@
  */
 package org.apache.directory.server.core.api;
 
-import java.util.Collection;
 import java.util.List;
 
 import org.apache.directory.server.core.api.CoreSession;
@@ -32,7 +31,6 @@ import org.apache.directory.server.core.
 import org.apache.directory.server.core.api.interceptor.context.SearchOperationContext;
 import org.apache.directory.shared.ldap.model.constants.AuthenticationLevel;
 import org.apache.directory.shared.ldap.model.entry.Entry;
-import org.apache.directory.shared.ldap.model.entry.Modification;
 import org.apache.directory.shared.ldap.model.exception.LdapException;
 import org.apache.directory.shared.ldap.model.message.Control;
 import org.apache.directory.shared.ldap.model.name.Dn;
@@ -52,14 +50,7 @@ public class MockOperation implements Op
     }
 
 
-    public EntryFilteringCursor search( SearchOperationContext searchContext )
-        throws LdapException
-    {
-        return new BaseEntryFilteringCursor( new MockCursor( count ), searchContext );
-    }
-
-
-    public EntryFilteringCursor search( SearchOperationContext searchContext, Collection<String> bypass ) throws LdapException
+    public EntryFilteringCursor search( SearchOperationContext searchContext ) throws LdapException
     {
         return new BaseEntryFilteringCursor( new MockCursor( count ), searchContext );
     }
@@ -80,12 +71,6 @@ public class MockOperation implements Op
     }
 
 
-    public Collection<String> getByPassed()
-    {
-        return null;
-    }
-
-
     public Dn getDn()
     {
         return null;
@@ -128,12 +113,6 @@ public class MockOperation implements Op
     }
 
 
-    public boolean hasBypass()
-    {
-        return false;
-    }
-
-
     public boolean hasRequestControl( String numericOid )
     {
         return false;
@@ -158,52 +137,18 @@ public class MockOperation implements Op
     }
 
 
-    public boolean isBypassed( String interceptorName )
-    {
-        return false;
-    }
-
-
-    public boolean isCollateralOperation()
-    {
-        return false;
-    }
-
-
-    public Entry lookup( Dn dn, Collection<String> bypass ) throws LdapException
-    {
-        return null;
-    }
-
-
     public Entry lookup( LookupOperationContext lookupContext ) throws LdapException
     {
         return null;
     }
 
 
-    public Entry lookup( Dn dn, Collection<String> byPass, String... attrIds ) throws LdapException
-    {
-        return null;
-    }
-    
-
     public LookupOperationContext newLookupContext( Dn dn )
     {
         return null;
     }
 
 
-    public void setByPassed( Collection<String> byPassed )
-    {
-    }
-
-
-    public void setCollateralOperation( boolean collateralOperation )
-    {
-    }
-
-
     public void setDn( Dn dn )
     {
     }
@@ -215,57 +160,11 @@ public class MockOperation implements Op
     }
 
 
-    public OperationContext getFirstOperation()
-    {
-        return null;
-    }
-
-
-    public OperationContext getLastOperation()
-    {
-        return null;
-    }
-
-
-    public OperationContext getNextOperation()
-    {
-        return null;
-    }
-
-
-    public OperationContext getPreviousOperation()
-    {
-        return null;
-    }
-
-
-    public boolean isFirstOperation()
-    {
-        return false;
-    }
-
-
-    public void add( Entry entry, Collection<String> bypass ) throws LdapException
-    {
-    }
-
-
     public void delete( Dn dn ) throws LdapException
     {
     }
 
 
-    public void modify( Dn dn, List<Modification> mods, Collection<String> bypass ) throws LdapException
-    {
-    }
-
-
-    public boolean hasEntry( Dn dn, Collection<String> byPass ) throws LdapException
-    {
-        return false;
-    }
-
-
     public ReferralHandlingMode getReferralHandlingMode()
     {
         return null;
@@ -313,15 +212,12 @@ public class MockOperation implements Op
     @Override
     public void setInterceptors( List<String> interceptors )
     {
-        // TODO Auto-generated method stub
-        
     }
 
 
     @Override
     public String getNextInterceptor()
     {
-        // TODO Auto-generated method stub
         return "";
     }
 

Modified: directory/apacheds/trunk/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java?rev=1202944&r1=1202943&r2=1202944&view=diff
==============================================================================
--- directory/apacheds/trunk/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java (original)
+++ directory/apacheds/trunk/interceptors/schema/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryManager.java Thu Nov 17 00:11:37 2011
@@ -160,7 +160,17 @@ public class SchemaSubentryManager
     }
 
     
-
+    /**
+     * Find the next interceptor in an operation's list of interceptors, assuming that
+     * we are already processing an operation, and we have stopped in a specific
+     * interceptor.<br/>
+     * For instance, if the list of all the interceptors is : <br/>
+     * [A, B, C, D, E, F]<br/>
+     * and we ave two operations op1 and op2 with the following interceptors list : <br/>
+     * op1 -> [A, D, F]<br/>
+     * op2 -> [B, C, E]<br/>
+     * then assuming that we have stopped at D, then op1.next -> F and op2.next -> E.
+     */
     private Interceptor findNextInterceptor( OperationEnum operation, DirectoryService directoryService )
     {
         Interceptor interceptor = null;
@@ -198,6 +208,9 @@ public class SchemaSubentryManager
     }
     
     
+    /**
+     * Find the position in the operation's list knowing the inteceptor name.
+     */
     private int findPosition( OperationEnum operation, Interceptor interceptor, DirectoryService directoryService )
     {
         int position = 1;
@@ -221,11 +234,15 @@ public class SchemaSubentryManager
     
     
     /**
-     * @TODO
+     * Update the SubschemaSubentry with all the modifications
      */
     public void modifySchemaSubentry( ModifyOperationContext modifyContext, boolean doCascadeModify ) throws LdapException
     {
         DirectoryService directoryService = modifyContext.getSession().getDirectoryService();
+        
+        // Compute the next interceptor for the Add and Delete operation, starting from
+        // the schemaInterceptor. We also need to get the position of this next interceptor
+        // in the operation's list.
         Interceptor nextAdd = findNextInterceptor( OperationEnum.ADD, directoryService );
         int positionAdd = findPosition( OperationEnum.ADD, nextAdd, directoryService );
         Interceptor nextDelete = findNextInterceptor( OperationEnum.DELETE, directoryService );