You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2006/11/04 16:00:38 UTC
svn commit: r471209 - in
/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service:
./ protocol/handler/
Author: akarasulu
Date: Sat Nov 4 07:00:37 2006
New Revision: 471209
URL: http://svn.apache.org/viewvc?view=rev&rev=471209
Log:
couple bug fixes ...
o fixed issue with MINA where multiple codecs were being used causing an
exception
o fixed issue with normalization where we were not using proper normalized
DN when making calls to the nexus.
Modified:
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/ClientConnectionManager.java
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientContextHandler.java
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientProtocolHandler.java
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationProtocolHandler.java
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationServerProtocolHandler.java
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/ClientConnectionManager.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/ClientConnectionManager.java?view=diff&rev=471209&r1=471208&r2=471209
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/ClientConnectionManager.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/ClientConnectionManager.java Sat Nov 4 07:00:37 2006
@@ -25,6 +25,7 @@
import org.apache.directory.mitosis.common.Replica;
import org.apache.directory.mitosis.configuration.ReplicationConfiguration;
+import org.apache.directory.mitosis.service.protocol.codec.ReplicationClientProtocolCodecFactory;
import org.apache.directory.mitosis.service.protocol.handler.ReplicationClientProtocolHandler;
import org.apache.mina.common.ConnectFuture;
import org.apache.mina.common.ExecutorThreadModel;
@@ -33,6 +34,7 @@
import org.apache.mina.common.IoSession;
import org.apache.mina.common.RuntimeIOException;
import org.apache.mina.filter.LoggingFilter;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.transport.socket.nio.SocketConnector;
import org.apache.mina.transport.socket.nio.SocketConnectorConfig;
import org.slf4j.Logger;
@@ -68,6 +70,10 @@
threadModel.setExecutor(
new ThreadPoolExecutor(16, 16, 60, TimeUnit.SECONDS, new LinkedBlockingQueue() ));
connectorConfig.setThreadModel(threadModel);
+
+ //// add codec
+ connectorConfig.getFilterChain().addLast( "protocol",
+ new ProtocolCodecFilter( new ReplicationClientProtocolCodecFactory() ) );
//// add logger
connectorConfig.getFilterChain().addLast( "logger", new LoggingFilter() );
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientContextHandler.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientContextHandler.java?view=diff&rev=471209&r1=471208&r2=471209
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientContextHandler.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientContextHandler.java Sat Nov 4 07:00:37 2006
@@ -21,8 +21,8 @@
import java.net.InetSocketAddress;
import java.util.Iterator;
+import java.util.Map;
-import javax.naming.Name;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
@@ -267,15 +267,12 @@
private void sendAllEntries( ReplicationContext ctx ) throws NamingException
{
- Attributes rootDSE =
- ctx.getServiceConfiguration().getPartitionNexus().getRootDSE();
+ Attributes rootDSE = ctx.getServiceConfiguration().getPartitionNexus().getRootDSE();
Attribute namingContextsAttr = rootDSE.get( "namingContexts" );
if( namingContextsAttr == null || namingContextsAttr.size() == 0 )
{
- SessionLog.warn(
- ctx.getSession(),
- "No namingContexts attributes in rootDSE." );
+ SessionLog.warn( ctx.getSession(), "No namingContexts attributes in rootDSE." );
return;
}
@@ -284,31 +281,34 @@
while( e.hasMore() )
{
Object value = e.next();
+
// Convert attribute value to JNDI name.
- Name contextName;
- if( value instanceof Name )
+ LdapDN contextName;
+ if( value instanceof LdapDN )
{
- contextName = ( Name ) value;
+ contextName = ( LdapDN ) value;
}
else
{
contextName = new LdapDN( String.valueOf( value ) );
}
- SessionLog.info(
- ctx.getSession(),
- "Sending entries under '" + contextName + '\'' );
+ SessionLog.info( ctx.getSession(), "Sending entries under '" + contextName + '\'' );
+
+ Map mapping = ctx.getServiceConfiguration().getGlobalRegistries()
+ .getAttributeTypeRegistry().getNormalizerMapping();
+ contextName.normalize( mapping );
sendAllEntries( ctx, contextName );
}
}
- private void sendAllEntries( ReplicationContext ctx, Name contextName ) throws NamingException
+ private void sendAllEntries( ReplicationContext ctx, LdapDN contextName ) throws NamingException
{
// Retrieve all subtree including the base entry
SearchControls ctrl = new SearchControls();
ctrl.setSearchScope( SearchControls.SUBTREE_SCOPE );
NamingEnumeration e = ctx.getServiceConfiguration().getPartitionNexus().search(
- (LdapDN)contextName,
+ contextName,
ctx.getServiceConfiguration().getEnvironment(),
new PresenceNode( "objectClass" ), ctrl );
@@ -341,9 +341,7 @@
}
// Convert the entry into AddEntryOperation log.
- Operation op = new AddEntryOperation(
- csn,
- new LdapDN( sr.getName() ), attrs );
+ Operation op = new AddEntryOperation( csn, new LdapDN( sr.getName() ), attrs );
// Send a LogEntry message for the entry.
ctx.getSession().write( new LogEntryMessage( ctx.getNextSequence(), op ) );
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientProtocolHandler.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientProtocolHandler.java?view=diff&rev=471209&r1=471208&r2=471209
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientProtocolHandler.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientProtocolHandler.java Sat Nov 4 07:00:37 2006
@@ -20,13 +20,12 @@
package org.apache.directory.mitosis.service.protocol.handler;
import org.apache.directory.mitosis.service.ReplicationService;
-import org.apache.directory.mitosis.service.protocol.codec.ReplicationClientProtocolCodecFactory;
public class ReplicationClientProtocolHandler extends
ReplicationProtocolHandler
{
public ReplicationClientProtocolHandler( ReplicationService service )
{
- super( service, new ReplicationClientContextHandler(), new ReplicationClientProtocolCodecFactory() );
+ super( service, new ReplicationClientContextHandler() );
}
}
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationProtocolHandler.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationProtocolHandler.java?view=diff&rev=471209&r1=471208&r2=471209
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationProtocolHandler.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationProtocolHandler.java Sat Nov 4 07:00:37 2006
@@ -27,9 +27,6 @@
import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.IoSession;
-import org.apache.mina.filter.LoggingFilter;
-import org.apache.mina.filter.codec.ProtocolCodecFactory;
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
public class ReplicationProtocolHandler implements IoHandler
{
@@ -39,22 +36,19 @@
private final ReplicationConfiguration configuration;
private final DirectoryServiceConfiguration serviceCfg;
private final ReplicationContextHandler contextHandler;
- private final ProtocolCodecFactory codecFactory;
+
public ReplicationProtocolHandler(
ReplicationService service,
- ReplicationContextHandler contextHandler,
- ProtocolCodecFactory codecFactory )
+ ReplicationContextHandler contextHandler )
{
assert service != null;
assert contextHandler != null;
- assert codecFactory != null;
this.service = service;
this.configuration = service.getConfiguration();
this.serviceCfg = service.getFactoryConfiguration();
this.contextHandler = contextHandler;
- this.codecFactory = codecFactory;
}
private ReplicationContext getContext( IoSession session )
@@ -65,10 +59,6 @@
public void sessionCreated( IoSession session ) throws Exception
{
session.setAttribute( CONTEXT, new SimpleReplicationContext( service, serviceCfg, configuration, session ) );
- session.getFilterChain().addLast(
- "codec", new ProtocolCodecFilter( codecFactory ) );
- session.getFilterChain().addLast(
- "log", new LoggingFilter() );
}
public void exceptionCaught( IoSession session, Throwable cause ) throws Exception
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationServerProtocolHandler.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationServerProtocolHandler.java?view=diff&rev=471209&r1=471208&r2=471209
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationServerProtocolHandler.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationServerProtocolHandler.java Sat Nov 4 07:00:37 2006
@@ -20,13 +20,12 @@
package org.apache.directory.mitosis.service.protocol.handler;
import org.apache.directory.mitosis.service.ReplicationService;
-import org.apache.directory.mitosis.service.protocol.codec.ReplicationClientProtocolCodecFactory;
public class ReplicationServerProtocolHandler extends
ReplicationProtocolHandler
{
public ReplicationServerProtocolHandler( ReplicationService service )
{
- super( service, new ReplicationClientContextHandler(), new ReplicationClientProtocolCodecFactory() );
+ super( service, new ReplicationServerContextHandler() );
}
}