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 2013/05/25 10:13:00 UTC
svn commit: r1486298 - in /directory/apacheds/trunk:
core-api/src/main/java/org/apache/directory/server/core/api/filtering/
core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/
core/src/main/java/org/apache/directory/server/...
Author: elecharny
Date: Sat May 25 08:12:59 2013
New Revision: 1486298
URL: http://svn.apache.org/r1486298
Log:
o Fixed many potential NPE detected by Sonar
o Fixed a bad list access on CursorList
o Initializing a default CacheService if none is given at startup
Modified:
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/ModifyOperationContext.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/UnbindOperationContext.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/GracefulShutdownHandler.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/SearchRequestHandler.java
directory/apacheds/trunk/service-builder/src/main/java/org/apache/directory/server/config/builder/ServiceBuilder.java
directory/apacheds/trunk/service-osgi/src/main/java/org/apache/directory/server/ApacheDsService.java
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java Sat May 25 08:12:59 2013
@@ -112,7 +112,7 @@ public class CursorList extends Abstract
this.list = Collections.emptyList();
}
- listSize = list.size();
+ listSize = this.list.size();
if ( ( start < 0 ) || ( start > listSize ) )
{
@@ -135,7 +135,7 @@ public class CursorList extends Abstract
this.end = end;
this.searchContext = searchContext;
index = start;
- currentCursor = list.get( index );
+ currentCursor = this.list.get( index );
}
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/AddOperationContext.java Sat May 25 08:12:59 2013
@@ -23,6 +23,7 @@ package org.apache.directory.server.core
import org.apache.directory.api.ldap.model.entry.DefaultEntry;
import org.apache.directory.api.ldap.model.entry.Entry;
import org.apache.directory.api.ldap.model.exception.LdapException;
+import org.apache.directory.api.ldap.model.exception.LdapOperationErrorException;
import org.apache.directory.api.ldap.model.message.AddRequest;
import org.apache.directory.api.ldap.model.message.MessageTypeEnum;
import org.apache.directory.api.ldap.model.message.controls.ManageDsaIT;
@@ -118,6 +119,10 @@ public class AddOperationContext extends
{
setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.ADD ) );
}
+ else
+ {
+ throw new LdapOperationErrorException( "No session to proceed the operation" );
+ }
entry = new ClonedServerEntry(
new DefaultEntry( session.getDirectoryService().getSchemaManager(), addRequest.getEntry() ) );
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/ModifyOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/ModifyOperationContext.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/ModifyOperationContext.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/ModifyOperationContext.java Sat May 25 08:12:59 2013
@@ -29,6 +29,7 @@ import org.apache.directory.api.ldap.mod
import org.apache.directory.api.ldap.model.entry.Modification;
import org.apache.directory.api.ldap.model.entry.ModificationOperation;
import org.apache.directory.api.ldap.model.exception.LdapException;
+import org.apache.directory.api.ldap.model.exception.LdapOperationErrorException;
import org.apache.directory.api.ldap.model.message.MessageTypeEnum;
import org.apache.directory.api.ldap.model.message.ModifyRequest;
import org.apache.directory.api.ldap.model.message.controls.ManageDsaIT;
@@ -96,6 +97,10 @@ public class ModifyOperationContext exte
{
setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.MODIFY ) );
}
+ else
+ {
+ throw new LdapOperationErrorException( "Cannot proceed the operation with no session" );
+ }
modItems = ServerEntryUtils.toServerModification( modifyRequest.getModifications().toArray(
new DefaultModification[0] ), session.getDirectoryService().getSchemaManager() );
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/UnbindOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/UnbindOperationContext.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/UnbindOperationContext.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/interceptor/context/UnbindOperationContext.java Sat May 25 08:12:59 2013
@@ -41,10 +41,7 @@ public class UnbindOperationContext exte
{
super( session, session.getEffectivePrincipal().getDn() );
- if ( session != null )
- {
- setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.UNBIND ) );
- }
+ setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.UNBIND ) );
}
@@ -53,10 +50,7 @@ public class UnbindOperationContext exte
super( session, session.getEffectivePrincipal().getDn() );
setRequestControls( unbindRequest.getControls() );
- if ( session != null )
- {
- setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.UNBIND ) );
- }
+ setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.UNBIND ) );
}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java Sat May 25 08:12:59 2013
@@ -1792,11 +1792,14 @@ public class DefaultDirectoryService imp
setDefaultInterceptorConfigurations();
}
- if ( cacheService != null )
+ if ( cacheService == null )
{
- cacheService.initialize( instanceLayout );
+ // Initialize a default cache service
+ cacheService = new CacheService();
}
+ cacheService.initialize( instanceLayout );
+
// Initialize the AP caches
accessControlAPCache = new DnNode<AccessControlAdministrativePoint>();
collectiveAttributeAPCache = new DnNode<CollectiveAttributeAdministrativePoint>();
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/GracefulShutdownHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/GracefulShutdownHandler.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/GracefulShutdownHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/GracefulShutdownHandler.java Sat May 25 08:12:59 2013
@@ -247,21 +247,21 @@ public class GracefulShutdownHandler imp
LOG.warn( "Failed to sent NoD for client: " + session, e );
}
}
- }
- // And close the connections when the NoDs are sent.
- Iterator<IoSession> sessionIt = sessions.iterator();
+ // And close the connections when the NoDs are sent.
+ Iterator<IoSession> sessionIt = sessions.iterator();
- for ( WriteFuture future : writeFutures )
- {
- try
+ for ( WriteFuture future : writeFutures )
{
- future.awaitUninterruptibly( 1000 );
- sessionIt.next().close( true );
- }
- catch ( Exception e )
- {
- LOG.warn( "Failed to sent NoD.", e );
+ try
+ {
+ future.awaitUninterruptibly( 1000 );
+ sessionIt.next().close( true );
+ }
+ catch ( Exception e )
+ {
+ LOG.warn( "Failed to sent NoD.", e );
+ }
}
}
}
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/SearchRequestHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/SearchRequestHandler.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/SearchRequestHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/request/SearchRequestHandler.java Sat May 25 08:12:59 2013
@@ -477,6 +477,8 @@ public class SearchRequestHandler extend
boolean hasMoreEntry = cursor.next();
+ // We have some entry, move back to the first one, as we just moved forward
+ // to get the first entry
if ( hasMoreEntry )
{
cursor.previous();
Modified: directory/apacheds/trunk/service-builder/src/main/java/org/apache/directory/server/config/builder/ServiceBuilder.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/service-builder/src/main/java/org/apache/directory/server/config/builder/ServiceBuilder.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/service-builder/src/main/java/org/apache/directory/server/config/builder/ServiceBuilder.java (original)
+++ directory/apacheds/trunk/service-builder/src/main/java/org/apache/directory/server/config/builder/ServiceBuilder.java Sat May 25 08:12:59 2013
@@ -69,7 +69,6 @@ import org.apache.directory.server.confi
import org.apache.directory.server.config.beans.SaslMechHandlerBean;
import org.apache.directory.server.config.beans.TcpTransportBean;
import org.apache.directory.server.config.beans.TransportBean;
-import org.apache.directory.server.config.beans.UdpTransportBean;
import org.apache.directory.server.constants.ApacheSchemaConstants;
import org.apache.directory.server.core.DefaultDirectoryService;
import org.apache.directory.server.core.api.DirectoryService;
@@ -514,7 +513,7 @@ public class ServiceBuilder
{
transport = new TcpTransport();
}
- else if ( transportBean instanceof UdpTransportBean )
+ else
{
transport = new UdpTransport();
}
@@ -972,13 +971,13 @@ public class ServiceBuilder
// Relplication pinger thread sleep time
ldapServer.setReplPingerSleepTime( ldapServerBean.getReplPingerSleep() );
-
+
// Enabled cipher suites
- if( ldapServerBean.getEnabledCipherSuites() != null )
+ if ( ldapServerBean.getEnabledCipherSuites() != null )
{
ldapServer.setEnabledCipherSuites( ldapServerBean.getEnabledCipherSuites() );
}
-
+
// The transports
Transport[] transports = createTransports( ldapServerBean.getTransports() );
ldapServer.setTransports( transports );
Modified: directory/apacheds/trunk/service-osgi/src/main/java/org/apache/directory/server/ApacheDsService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/service-osgi/src/main/java/org/apache/directory/server/ApacheDsService.java?rev=1486298&r1=1486297&r2=1486298&view=diff
==============================================================================
--- directory/apacheds/trunk/service-osgi/src/main/java/org/apache/directory/server/ApacheDsService.java (original)
+++ directory/apacheds/trunk/service-osgi/src/main/java/org/apache/directory/server/ApacheDsService.java Sat May 25 08:12:59 2013
@@ -29,6 +29,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import org.apache.commons.lang.time.DateUtils;
import org.apache.directory.server.config.ConfigPartitionReader;
import org.apache.directory.server.config.LdifConfigExtractor;
import org.apache.directory.server.config.beans.ConfigBean;
@@ -52,31 +53,6 @@ import org.apache.directory.server.integ
import org.apache.directory.server.kerberos.kdc.KdcServer;
import org.apache.directory.server.ldap.LdapServer;
import org.apache.directory.server.ntp.NtpServer;
-import org.apache.directory.shared.ldap.model.constants.SchemaConstants;
-import org.apache.directory.shared.ldap.model.entry.Attribute;
-import org.apache.directory.shared.ldap.model.entry.DefaultAttribute;
-import org.apache.directory.shared.ldap.model.entry.DefaultModification;
-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.entry.ModificationOperation;
-import org.apache.directory.shared.ldap.model.filter.ExprNode;
-import org.apache.directory.shared.ldap.model.filter.PresenceNode;
-import org.apache.directory.shared.ldap.model.message.AliasDerefMode;
-import org.apache.directory.shared.ldap.model.message.SearchScope;
-import org.apache.directory.shared.ldap.model.name.Dn;
-import org.apache.directory.shared.ldap.model.schema.AttributeType;
-import org.apache.directory.shared.ldap.model.schema.AttributeTypeOptions;
-import org.apache.directory.shared.ldap.model.schema.SchemaManager;
-import org.apache.directory.shared.ldap.model.schema.registries.SchemaLoader;
-import org.apache.directory.shared.ldap.model.schema.syntaxCheckers.CsnSyntaxChecker;
-import org.apache.directory.shared.ldap.model.schema.syntaxCheckers.GeneralizedTimeSyntaxChecker;
-import org.apache.directory.shared.ldap.model.schema.syntaxCheckers.UuidSyntaxChecker;
-import org.apache.directory.shared.ldap.schemaextractor.SchemaLdifExtractor;
-import org.apache.directory.shared.ldap.schemaextractor.impl.DefaultSchemaLdifExtractor;
-import org.apache.directory.shared.ldap.schemaloader.LdifSchemaLoader;
-import org.apache.directory.shared.ldap.schemamanager.impl.DefaultSchemaManager;
-import org.apache.directory.shared.util.DateUtils;
-import org.apache.directory.shared.util.exception.Exceptions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -578,7 +554,10 @@ public class ApacheDsService
}
// We now have to stop the underlaying DirectoryService
- ldapServer.getDirectoryService().shutdown();
+ if ( ldapServer != null )
+ {
+ ldapServer.getDirectoryService().shutdown();
+ }
}
private static final String BANNER_LDAP = " _ _ ____ ____ \n"