Author: eric Date: Fri Feb 8 08:26:41 2013 New Revision: 1443875 URL: http://svn.apache.org/r1443875 Log: Fix missing bits to make server IMAP injection work + tune spring-server.xml to better define dependencies and get rid of some @Named + simple format of various classes (JAMES-1477)
Modified: james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java Modified: james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml URL: http://svn.apache.org/viewvc/james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml (original) +++ james/server/trunk/app/src/main/resources/META-INF/org/apache/james/spring-server.xml Fri Feb 8 08:26:41 2013 @@ -253,25 +253,39 @@ <!-- SMTP Server --> - <bean id="smtpserver" class="org.apache.james.smtpserver.netty.SMTPServerFactory"/> + <bean id="smtpserver" class="org.apache.james.smtpserver.netty.SMTPServerFactory"> + <property name="protocolHandlerLoader" ref="protocolhandlerloader"/> + <property name="fileSystem" ref="filesystem"/> + <property name="dnsService" ref="dnsservice"/> + </bean> <!-- LMTP Server --> - <bean id="lmtpserver" class="org.apache.james.lmtpserver.netty.LMTPServerFactory"/> + <bean id="lmtpserver" class="org.apache.james.lmtpserver.netty.LMTPServerFactory"> + <property name="protocolHandlerLoader" ref="protocolhandlerloader"/> + <property name="fileSystem" ref="filesystem"/> + </bean> <!-- POP3 Server --> - <bean id="pop3server" class="org.apache.james.pop3server.netty.POP3ServerFactory"/> + <bean id="pop3server" class="org.apache.james.pop3server.netty.POP3ServerFactory"> + <property name="protocolHandlerLoader" ref="protocolhandlerloader"/> + <property name="fileSystem" ref="filesystem"/> + </bean> <!-- - IMAP Server + IMAP4 Server --> + <bean id="imapserver" class="org.apache.james.imapserver.netty.IMAPServerFactory"> - <property name="imapDecoder" ref="imapDecoder"/> + <property name="imapProcessor" ref="imapProcessor"/> <property name="imapEncoder" ref="imapEncoder"/> + <property name="imapDecoder" ref="imapDecoder"/> + <property name="fileSystem" ref="filesystem"/> </bean> + <!-- The imapProcessor configuration will be reviewed when IMAP will be integrated into Protocols project --> <!-- Temporary configuration - see IMAP-357 --> <bean id="imapProcessor" class="org.apache.james.imap.processor.main.DefaultImapProcessorFactory" factory-method="createXListSupportingProcessor"> @@ -289,10 +303,12 @@ </set> </constructor-arg> </bean> - <bean id="imapDecoder" factory-bean="imapDecoderFactory" factory-method="buildImapDecoder"/> + <bean id="imapDecoderFactory" class="org.apache.james.imap.main.DefaultImapDecoderFactory"/> - <bean id="imapEncoder" factory-bean="imapEncoderFactory" factory-method="buildImapEncoder"/> + <bean id="imapDecoder" factory-bean="imapDecoderFactory" factory-method="buildImapDecoder"/> + <bean id="imapEncoderFactory" class="org.apache.james.imap.encode.main.DefaultImapEncoderFactory"/> + <bean id="imapEncoder" factory-bean="imapEncoderFactory" factory-method="buildImapEncoder"/> <!-- =========================================================================== Modified: james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java (original) +++ james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java Fri Feb 8 08:26:41 2013 @@ -22,7 +22,9 @@ import static org.jboss.netty.channel.Ch import java.util.concurrent.TimeUnit; +import javax.annotation.Resource; import javax.inject.Inject; +import javax.inject.Named; import javax.net.ssl.SSLEngine; import org.apache.commons.configuration.ConfigurationException; @@ -49,59 +51,49 @@ import org.jboss.netty.handler.timeout.I import org.jboss.netty.util.HashedWheelTimer; /** - * NIO IMAP Server which use Netty + * NIO IMAP Server which use Netty. */ public class IMAPServer extends AbstractConfigurableAsyncServer implements ImapConstants, IMAPServerMBean, NettyConstants { private static final String softwaretype = "JAMES " + VERSION + " Server "; - private String hello; private ImapProcessor processor; private ImapEncoder encoder; - private ImapDecoder decoder; + private String hello; private boolean compress; - private int maxLineLength; - private int inMemorySizeLimit; - private boolean plainAuthDisallowed; - private int timeout; - private int literalSizeLimit; - // Use a big default - public final static int DEFAULT_MAX_LINE_LENGTH = 65536; - - // Use 10MB as default - public final static int DEFAULT_IN_MEMORY_SIZE_LIMIT = 10485760; - - // default timeout is 30 seconds - public final static int DEFAULT_TIMEOUT = 30 * 60; - + public final static int DEFAULT_MAX_LINE_LENGTH = 65536; // Use a big default + public final static int DEFAULT_IN_MEMORY_SIZE_LIMIT = 10485760; // Use 10MB as default + public final static int DEFAULT_TIMEOUT = 30 * 60; // default timeout is 30 seconds public final static int DEFAULT_LITERAL_SIZE_LIMIT = 0; @Inject - public void setImapDecoder(ImapDecoder decoder) { - this.decoder = decoder; + public void setImapProcessor(@Named("imapProcessor") ImapProcessor processor) { + this.processor = processor; } @Inject - public void setImapEncoder(ImapEncoder encoder) { - this.encoder = encoder; + public void setImapDecoder(@Named("imapDecoder") ImapDecoder decoder) { + this.decoder = decoder; } @Inject - public void setImapProcessor(ImapProcessor processor) { - this.processor = processor; + public void setImapEncoder(@Named("imapEncoder") ImapEncoder encoder) { + this.encoder = encoder; } @Override public void doConfigure(final HierarchicalConfiguration configuration) throws ConfigurationException { + super.doConfigure(configuration); + hello = softwaretype + " Server " + getHelloName() + " is ready."; compress = configuration.getBoolean("compress", false); maxLineLength = configuration.getInt("maxLineLength", DEFAULT_MAX_LINE_LENGTH); @@ -113,9 +105,11 @@ public class IMAPServer extends Abstract if (timeout < DEFAULT_TIMEOUT) { throw new ConfigurationException("Minimum timeout of 30 minutes required. See rfc2060 5.4 for details"); } + if (timeout < 0) { timeout = 0; } + } /** @@ -135,7 +129,9 @@ public class IMAPServer extends Abstract @Override protected ChannelPipelineFactory createPipelineFactory(final ChannelGroup group) { + return new ChannelPipelineFactory() { + private final ChannelGroupHandler groupHandler = new ChannelGroupHandler(group); private final HashedWheelTimer timer = new HashedWheelTimer(); Modified: james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java (original) +++ james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java Fri Feb 8 08:26:41 2013 @@ -30,12 +30,11 @@ import org.apache.james.filesystem.api.F import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.decode.ImapDecoder; import org.apache.james.imap.encode.ImapEncoder; -import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader; import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer; import org.apache.james.protocols.lib.netty.AbstractServerFactory; import org.slf4j.Logger; -public class IMAPServerFactory extends AbstractServerFactory{ +public class IMAPServerFactory extends AbstractServerFactory { private FileSystem fileSystem; private ImapDecoder decoder; @@ -43,33 +42,33 @@ public class IMAPServerFactory extends A private ImapProcessor processor; @Inject - @Resource(name = "filesystem") public final void setFileSystem(@Named("filesystem") FileSystem filesystem) { this.fileSystem = filesystem; } + @Inject + public void setImapProcessor(@Named("imapProcessor") ImapProcessor processor) { + this.processor = processor; + } + @Inject - public void setImapDecoder(ImapDecoder decoder) { + public void setImapDecoder(@Named("imapDecoder") ImapDecoder decoder) { this.decoder = decoder; } @Inject - public void setImapEncoder(ImapEncoder encoder) { + public void setImapEncoder(@Named("imapEncoder") ImapEncoder encoder) { this.encoder = encoder; } - @Inject - public void setImapProcessor(ImapProcessor processor) { - this.processor = processor; - } - protected IMAPServer createServer() { return new IMAPServer(); } @SuppressWarnings("unchecked") @Override - protected List<AbstractConfigurableAsyncServer> createServers(Logger log, HierarchicalConfiguration config) throws Exception{ + protected List<AbstractConfigurableAsyncServer> createServers(Logger log, HierarchicalConfiguration config) throws Exception { + List<AbstractConfigurableAsyncServer> servers = new ArrayList<AbstractConfigurableAsyncServer>(); List<HierarchicalConfiguration> configs = config.configurationsAt("imapserver"); @@ -85,7 +84,7 @@ public class IMAPServerFactory extends A } return servers; + } - } Modified: james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java (original) +++ james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java Fri Feb 8 08:26:41 2013 @@ -91,7 +91,6 @@ public class ImapChannelUpstreamHandler @Override public void channelBound(final ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception { - ImapSession imapsession = new NettyImapSession(ctx.getChannel(), logger, context, enabledCipherSuites, compress, plainAuthDisallowed); attributes.set(ctx.getChannel(), imapsession); super.channelBound(ctx, e); @@ -99,6 +98,7 @@ public class ImapChannelUpstreamHandler @Override public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception { + InetSocketAddress address = (InetSocketAddress) ctx.getChannel().getRemoteAddress(); getLogger(ctx.getChannel()).info("Connection closed for " + address.getAddress().getHostAddress()); @@ -113,6 +113,7 @@ public class ImapChannelUpstreamHandler @Override public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception { + InetSocketAddress address = (InetSocketAddress) ctx.getChannel().getRemoteAddress(); getLogger(ctx.getChannel()).info("Connection established from " + address.getAddress().getHostAddress()); @@ -127,6 +128,8 @@ public class ImapChannelUpstreamHandler @Override public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception { + + getLogger(ctx.getChannel()).warn("Error while processing imap request: " + e.getCause().getClass().getName() + " - " + e.getCause().getMessage()); getLogger(ctx.getChannel()).debug("Error while processing imap request", e.getCause()); if (e.getCause() instanceof TooLongFrameException) { @@ -147,7 +150,9 @@ public class ImapChannelUpstreamHandler // See also JAMES-1190 ImapResponseComposer composer = (ImapResponseComposer) ctx.getAttachment(); composer.untaggedResponse(ImapConstants.BAD + " failed. Maximum command line length exceeded"); + } else { + // logout on error not sure if that is the best way to handle it final ImapSession imapSession = (ImapSession) attributes.get(ctx.getChannel()); if (imapSession != null) @@ -165,6 +170,7 @@ public class ImapChannelUpstreamHandler @Override public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception { + ImapSession session = (ImapSession) attributes.get(ctx.getChannel()); ImapResponseComposer response = (ImapResponseComposer) ctx.getAttachment(); ImapMessage message = (ImapMessage) e.getMessage(); @@ -202,6 +208,7 @@ public class ImapChannelUpstreamHandler } super.messageReceived(ctx, e); + } } Modified: james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java (original) +++ james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapIdleStateHandler.java Fri Feb 8 08:26:41 2013 @@ -28,7 +28,7 @@ import org.jboss.netty.handler.timeout.I /** * {@link IdleStateAwareChannelHandler} which will call {@link ImapSession#logout()} if the - * connected client did not receive or send any traffic in a given timeframe + * connected client did not receive or send any traffic in a given timeframe. */ public class ImapIdleStateHandler extends IdleStateAwareChannelHandler implements NettyConstants { @@ -49,8 +49,9 @@ public class ImapIdleStateHandler extend ctx.getChannel().close(); } + super.channelIdle(ctx, e); + } - } Modified: james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java (original) +++ james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java Fri Feb 8 08:26:41 2013 @@ -37,7 +37,6 @@ import org.jboss.netty.buffer.ChannelBuf import org.jboss.netty.buffer.ChannelBuffers; import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelFutureListener; -import org.jboss.netty.channel.ChannelHandler; import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelStateEvent; Modified: james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java (original) +++ james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyStreamImapRequestLineReader.java Fri Feb 8 08:26:41 2013 @@ -48,9 +48,9 @@ public class NettyStreamImapRequestLineR * If the end-of-stream is reached. */ public char nextChar() throws DecodingException { + if (!nextSeen) { int next = -1; - try { next = in.read(); } catch (IOException e) { @@ -59,11 +59,12 @@ public class NettyStreamImapRequestLineR if (next == -1) { throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, "Unexpected end of stream."); } - nextSeen = true; nextChar = (char) next; } + return nextChar; + } /** @@ -89,6 +90,7 @@ public class NettyStreamImapRequestLineR } else { return fin; } + } public void dispose() throws IOException { Modified: james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java (original) +++ james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServer.java Fri Feb 8 08:26:41 2013 @@ -43,12 +43,10 @@ public class OioIMAPServer extends IMAPS /** * As OIO use one thread per connection we disable the use of the {@link ExecutionHandler} - * */ @Override protected ExecutionHandler createExecutionHander() { return null; } - } Modified: james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java (original) +++ james/server/trunk/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java Fri Feb 8 08:26:41 2013 @@ -18,7 +18,7 @@ ****************************************************************/ package org.apache.james.imapserver.netty; -public class OioIMAPServerFactory extends IMAPServerFactory{ +public class OioIMAPServerFactory extends IMAPServerFactory { @Override protected IMAPServer createServer() { Modified: james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java (original) +++ james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java Fri Feb 8 08:26:41 2013 @@ -34,7 +34,7 @@ import org.apache.james.protocols.lib.ha import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader; import org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler; -public class ProtocolHandlerChainImpl implements ProtocolHandlerChain{ +public class ProtocolHandlerChainImpl implements ProtocolHandlerChain { private ProtocolHandlerLoader loader; private HierarchicalConfiguration handlerchainConfig; Modified: james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java (original) +++ james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java Fri Feb 8 08:26:41 2013 @@ -132,7 +132,6 @@ public abstract class AbstractConfigurab try { mbeanServer.registerMBean(this, new ObjectName(getMBeanName())); - } catch (Exception e) { throw new RuntimeException("Unable to register mbean", e); } @@ -264,6 +263,7 @@ public abstract class AbstractConfigurab @PostConstruct public final void init() throws Exception { + if (isEnabled()) { buildSSLContext(); @@ -277,11 +277,14 @@ public abstract class AbstractConfigurab getLogger().info("Init " + getServiceType() + " done"); } + } @PreDestroy public final void destroy() { + getLogger().info("Dispose " + getServiceType()); + if (isEnabled()) { unbind(); postDestroy(); @@ -571,7 +574,6 @@ public abstract class AbstractConfigurab return executionHandler; } - protected abstract ChannelUpstreamHandler createCoreHandler(); @Override @@ -606,5 +608,4 @@ public abstract class AbstractConfigurab }; } - } Modified: james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java (original) +++ james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java Fri Feb 8 08:26:41 2013 @@ -31,13 +31,14 @@ import org.jboss.netty.handler.execution */ public abstract class AbstractExecutorAwareChannelPipelineFactory extends AbstractSSLAwareChannelPipelineFactory{ - public AbstractExecutorAwareChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup group, ExecutionHandler eHandler) { super(timeout, maxConnections, maxConnectsPerIp, group, eHandler); } + public AbstractExecutorAwareChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup group, String[] enabledCipherSuites, ExecutionHandler eHandler) { super(timeout, maxConnections, maxConnectsPerIp, group, enabledCipherSuites, eHandler); } + @Override public ChannelPipeline getPipeline() throws Exception { ChannelPipeline pipeLine = super.getPipeline(); @@ -45,12 +46,12 @@ public abstract class AbstractExecutorAw return pipeLine; } - /** - * REturn the {@link ConnectionCountHandler} to use + * Return the {@link ConnectionCountHandler} to use * * @return cHandler */ protected abstract ConnectionCountHandler getConnectionCountHandler(); + } Modified: james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java (original) +++ james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java Fri Feb 8 08:26:41 2013 @@ -32,7 +32,7 @@ import org.apache.james.protocols.lib.ha /** * Abstract base class which use a {@link ProtocolHandlerLoader} for loading the {@link ProtocolHandler} */ -public abstract class AbstractProtocolAsyncServer extends AbstractConfigurableAsyncServer{ +public abstract class AbstractProtocolAsyncServer extends AbstractConfigurableAsyncServer { private ProtocolHandlerChainImpl handlerChain; Modified: james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java (original) +++ james/server/trunk/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java Fri Feb 8 08:26:41 2013 @@ -32,8 +32,6 @@ import org.jboss.netty.handler.execution /** * {@link OrderedMemoryAwareThreadPoolExecutor} subclass which expose statistics via JMX - * - * */ public class JMXEnabledOrderedMemoryAwareThreadPoolExecutor extends OrderedMemoryAwareThreadPoolExecutor implements JMXEnabledOrderedMemoryAwareThreadPoolExecutorMBean{ @@ -50,10 +48,6 @@ public class JMXEnabledOrderedMemoryAwar this.jmxPath = jmxPath; registerMBean(); } - - - - @Override protected void beforeExecute(Thread t, Runnable r) { Modified: james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java (original) +++ james/server/trunk/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java Fri Feb 8 08:26:41 2013 @@ -44,8 +44,6 @@ public class MockProtocolHandlerLoader i private List<Object> loaderRegistry = new ArrayList<Object>(); - - protected ProtocolHandler create(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException { return (ProtocolHandler) Thread.currentThread().getContextClassLoader().loadClass(className).newInstance(); } @@ -125,4 +123,5 @@ public class MockProtocolHandlerLoader i public Object getObjectForName(String name) { return get(name); } + } Modified: james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java (original) +++ james/server/trunk/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java Fri Feb 8 08:26:41 2013 @@ -21,9 +21,7 @@ package org.apache.james.lmtpserver.nett import java.util.ArrayList; import java.util.List; -import javax.annotation.Resource; import javax.inject.Inject; -import javax.inject.Named; import org.apache.commons.configuration.HierarchicalConfiguration; import org.apache.james.filesystem.api.FileSystem; @@ -38,14 +36,12 @@ public class LMTPServerFactory extends A private FileSystem fileSystem; @Inject - @Resource(name = "protocolhandlerloader") - public void setProtocolHandlerLoader(@Named("protocolhandlerloader") ProtocolHandlerLoader loader) { + public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) { this.loader = loader; } @Inject - @Resource(name = "filesystem") - public final void setFileSystem(@Named("filesystem") FileSystem filesystem) { + public final void setFileSystem(FileSystem filesystem) { this.fileSystem = filesystem; } Modified: james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java (original) +++ james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java Fri Feb 8 08:26:41 2013 @@ -18,7 +18,6 @@ ****************************************************************/ package org.apache.james.pop3server.netty; - import org.apache.james.pop3server.core.CoreCmdHandlerLoader; import org.apache.james.pop3server.jmx.JMXHandlersLoader; import org.apache.james.protocols.api.ProtocolConfiguration; @@ -33,6 +32,7 @@ import org.jboss.netty.channel.ChannelUp * NIO POP3 Server which use Netty */ public class POP3Server extends AbstractProtocolAsyncServer implements POP3ServerMBean { + /** * The configuration data to be passed to the handler */ @@ -91,15 +91,14 @@ public class POP3Server extends Abstract return coreHandler; } - @Override protected Class<? extends HandlersPackage> getCoreHandlersPackage() { return CoreCmdHandlerLoader.class; } - @Override protected Class<? extends HandlersPackage> getJMXHandlersPackage() { return JMXHandlersLoader.class; } + } Modified: james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java (original) +++ james/server/trunk/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java Fri Feb 8 08:26:41 2013 @@ -3,9 +3,7 @@ package org.apache.james.pop3server.nett import java.util.ArrayList; import java.util.List; -import javax.annotation.Resource; import javax.inject.Inject; -import javax.inject.Named; import org.apache.commons.configuration.HierarchicalConfiguration; import org.apache.james.filesystem.api.FileSystem; @@ -20,14 +18,12 @@ public class POP3ServerFactory extends A private FileSystem fileSystem; @Inject - @Resource(name = "protocolhandlerloader") - public void setProtocolHandlerLoader(@Named("protocolhandlerloader") ProtocolHandlerLoader loader) { + public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) { this.loader = loader; } @Inject - @Resource(name = "filesystem") - public final void setFileSystem(@Named("filesystem") FileSystem filesystem) { + public final void setFileSystem(FileSystem filesystem) { this.fileSystem = filesystem; } @@ -38,6 +34,7 @@ public class POP3ServerFactory extends A @SuppressWarnings("unchecked") @Override protected List<AbstractConfigurableAsyncServer> createServers(Logger log, HierarchicalConfiguration config) throws Exception{ + List<AbstractConfigurableAsyncServer> servers = new ArrayList<AbstractConfigurableAsyncServer>(); List<HierarchicalConfiguration> configs = config.configurationsAt("pop3server"); @@ -51,7 +48,7 @@ public class POP3ServerFactory extends A } return servers; + } - } Modified: james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java (original) +++ james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java Fri Feb 8 08:26:41 2013 @@ -18,8 +18,6 @@ ****************************************************************/ package org.apache.james.smtpserver.netty; - - import javax.inject.Inject; import org.apache.commons.configuration.ConfigurationException; @@ -51,7 +49,6 @@ public class SMTPServer extends Abstract private final static int AUTH_ANNOUNCE = 2; private int authRequired = AUTH_DISABLED; - /** * Whether the server needs helo to be send first */ @@ -89,7 +86,7 @@ public class SMTPServer extends Abstract private SMTPChannelUpstreamHandler coreHandler; @Inject - public void setDNSService(DNSService dns) { + public void setDnsService(DNSService dns) { this.dns = dns; } @@ -113,8 +110,7 @@ public class SMTPServer extends Abstract } }; - coreHandler = new SMTPChannelUpstreamHandler(transport, getLogger(), getEncryption()); - + coreHandler = new SMTPChannelUpstreamHandler(transport, getLogger(), getEncryption()); } @Override Modified: james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java (original) +++ james/server/trunk/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java Fri Feb 8 08:26:41 2013 @@ -22,9 +22,7 @@ package org.apache.james.smtpserver.nett import java.util.ArrayList; import java.util.List; -import javax.annotation.Resource; import javax.inject.Inject; -import javax.inject.Named; import org.apache.commons.configuration.HierarchicalConfiguration; import org.apache.james.dnsservice.api.DNSService; @@ -41,20 +39,17 @@ public class SMTPServerFactory extends A private FileSystem fileSystem; @Inject - @Resource(name = "dnsservice") - public void setDNSService(@Named("dnsservice") DNSService dns) { + public void setDnsService(DNSService dns) { this.dns = dns; } @Inject - @Resource(name = "protocolhandlerloader") - public void setProtocolHandlerLoader(@Named("protocolhandlerloader") ProtocolHandlerLoader loader) { + public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) { this.loader = loader; } @Inject - @Resource(name = "filesystem") - public final void setFileSystem(@Named("filesystem") FileSystem filesystem) { + public final void setFileSystem(FileSystem filesystem) { this.fileSystem = filesystem; } @@ -71,7 +66,7 @@ public class SMTPServerFactory extends A for (HierarchicalConfiguration serverConfig: configs) { SMTPServer server = createServer(); - server.setDNSService(dns); + server.setDnsService(dns); server.setProtocolHandlerLoader(loader); server.setLog(log); server.setFileSystem(fileSystem); Modified: james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java?rev=1443875&r1=1443874&r2=1443875&view=diff ============================================================================== --- james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java (original) +++ james/server/trunk/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java Fri Feb 8 08:26:41 2013 @@ -178,7 +178,7 @@ public class SMTPServerTest { // slf4j can't set programmatically any log level. It's just a facade // log.setLevel(SimpleLog.LOG_LEVEL_ALL); m_smtpServer = createSMTPServer(); - m_smtpServer.setDNSService(m_dnsServer); + m_smtpServer.setDnsService(m_dnsServer); m_smtpServer.setFileSystem(fileSystem); m_smtpServer.setProtocolHandlerLoader(chain); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org