You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by da...@apache.org on 2003/01/06 18:08:51 UTC
cvs commit: jakarta-james/src/java/org/apache/james/util/mordred PoolConnEntry.java
danny 2003/01/06 09:08:50
Modified: src/java/org/apache/james James.java
src/java/org/apache/james/core AbstractJamesService.java
MailHeaders.java MailImpl.java
MimeMessageInputStreamSource.java
MimeMessageWrapper.java
src/java/org/apache/james/dnsserver DNSServer.java
src/java/org/apache/james/mailrepository
AvalonMailRepository.java JDBCMailRepository.java
src/java/org/apache/james/nntpserver NNTPHandler.java
src/java/org/apache/james/nntpserver/repository
NNTPArticleImpl.java
src/java/org/apache/james/pop3server POP3Handler.java
src/java/org/apache/james/remotemanager RemoteManager.java
RemoteManagerHandler.java
src/java/org/apache/james/security DigestUtil.java
src/java/org/apache/james/services JamesUser.java
MailServer.java
src/java/org/apache/james/smtpserver SMTPHandler.java
src/java/org/apache/james/transport JamesSpoolManager.java
LinearProcessor.java
src/java/org/apache/james/transport/mailets JDBCAlias.java
JDBCListserv.java JDBCVirtualUserTable.java
RemoteDelivery.java
src/java/org/apache/james/transport/matchers
NESSpamCheck.java
src/java/org/apache/james/userrepository
AbstractJdbcUsersRepository.java
UsersLDAPRepository.java
src/java/org/apache/james/util JDBCUtil.java
SqlResources.java
src/java/org/apache/james/util/mordred PoolConnEntry.java
Log:
Formatting only: organising imports
Revision Changes Path
1.38 +38 -18 jakarta-james/src/java/org/apache/james/James.java
Index: James.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/James.java,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- James.java 6 Jan 2003 15:54:14 -0000 1.37
+++ James.java 6 Jan 2003 17:08:41 -0000 1.38
@@ -7,8 +7,36 @@
*/
package org.apache.james;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.SequenceInputStream;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.mail.Address;
+import javax.mail.MessagingException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+
import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.component.*;
+import org.apache.avalon.framework.component.Component;
+import org.apache.avalon.framework.component.ComponentException;
+import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.avalon.framework.component.Composable;
+import org.apache.avalon.framework.component.DefaultComponentManager;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
@@ -20,28 +48,20 @@
import org.apache.avalon.framework.logger.Logger;
import org.apache.james.core.MailHeaders;
import org.apache.james.core.MailImpl;
-import org.apache.james.services.*;
+import org.apache.james.services.DNSServer;
+import org.apache.james.services.JamesUser;
+import org.apache.james.services.MailServer;
+import org.apache.james.services.MailStore;
+import org.apache.james.services.UsersStore;
import org.apache.james.userrepository.DefaultJamesUser;
import org.apache.james.util.RFC2822Headers;
import org.apache.james.util.RFC822DateFormat;
-import org.apache.mailet.*;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
+import org.apache.mailet.MailRepository;
import org.apache.mailet.MailetContext;
-
-import javax.mail.Address;
-import javax.mail.MessagingException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.SequenceInputStream;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.*;
+import org.apache.mailet.SpoolRepository;
+import org.apache.mailet.UsersRepository;
/**
* Core class for JAMES. Provides three primary services:
1.5 +224 -221 jakarta-james/src/java/org/apache/james/core/AbstractJamesService.java
Index: AbstractJamesService.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/core/AbstractJamesService.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AbstractJamesService.java 2 Nov 2002 08:25:14 -0000 1.4
+++ AbstractJamesService.java 6 Jan 2003 17:08:43 -0000 1.5
@@ -7,16 +7,9 @@
*/
package org.apache.james.core;
-import java.io.*;
-import java.net.*;
-
-import org.apache.avalon.framework.logger.*;
-import org.apache.avalon.framework.component.*;
-import org.apache.avalon.framework.configuration.*;
-import org.apache.avalon.framework.activity.*;
-
-import org.apache.avalon.excalibur.thread.ThreadPool;
-import org.apache.avalon.cornerstone.services.threads.ThreadManager;
+import java.net.InetAddress;
+import java.net.ServerSocket;
+import java.net.UnknownHostException;
import org.apache.avalon.cornerstone.services.connection.AbstractHandlerFactory;
import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
@@ -24,103 +17,112 @@
import org.apache.avalon.cornerstone.services.connection.ConnectionManager;
import org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory;
import org.apache.avalon.cornerstone.services.sockets.SocketManager;
+import org.apache.avalon.cornerstone.services.threads.ThreadManager;
+import org.apache.avalon.excalibur.thread.ThreadPool;
+import org.apache.avalon.framework.activity.Disposable;
+import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.component.Component;
+import org.apache.avalon.framework.component.ComponentException;
+import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.avalon.framework.component.Composable;
+import org.apache.avalon.framework.configuration.Configurable;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.james.util.connection.SimpleConnectionManager;
import org.apache.james.util.watchdog.ThreadPerWatchdogFactory;
-import org.apache.james.util.watchdog.Watchdog;
import org.apache.james.util.watchdog.WatchdogFactory;
/**
- * Server which creates connection handlers. All new James service must
- * inherit from this abstract implementation.
+ * Server which creates connection handlers. All new James service must inherit
+ * from this abstract implementation.
*
* @author <a href="mailto:myfam@surfeu.fi">Andrei Ivanov</a>
* @author <a href="farsight@alum.mit.edu">Peter M. Goldstein</a>
*/
public abstract class AbstractJamesService extends AbstractHandlerFactory
- implements Component, Composable, Configurable,
- Disposable, Initializable, ConnectionHandlerFactory {
-
+ implements Component,Composable,Configurable,Disposable,Initializable,
+ ConnectionHandlerFactory {
/**
* The default value for the connection timeout.
*/
- protected static final int DEFAULT_TIMEOUT = 5* 60 * 1000;
+ protected final static int DEFAULT_TIMEOUT = 5*60*1000;
/**
* The name of the parameter defining the connection timeout.
*/
- protected static final String TIMEOUT_NAME = "connectiontimeout";
+ protected final static String TIMEOUT_NAME = "connectiontimeout";
/**
* The name of the parameter defining the service hello name.
*/
- public static final String HELLO_NAME = "helloName";
+ public final static String HELLO_NAME = "helloName";
/**
- * The ConnectionManager that spawns and manages service connections.
+ * Network interface to which the service will bind. If not set, the
+ * server binds to all available interfaces.
*/
- private ConnectionManager connectionManager;
+ protected InetAddress bindTo = null;
/**
- * The name of the thread group to be used by this service for
- * generating connections
+ * The maximum number of connections allowed for this service.
*/
- protected String threadGroup;
-
- /**
- * The thread pool used by this service that holds the threads
- * that service the client connections.
+ protected Integer connectionLimit;
+ /*
+ * The server socket associated with this service
*/
- protected ThreadPool threadPool = null;
+ protected ServerSocket serverSocket;
/**
- * The server socket type used to generate connections for this server.
+ * The name of the connection used by this service. We need to track this
+ * so we can tell the ConnectionManager which service to disconnect upon
+ * shutdown.
*/
- protected String serverSocketType = "plain";
+ protected String connectionName;
/**
- * The port on which this service will be made available.
+ * The hello name for the service.
*/
- protected int port = -1;
+ protected String helloName;
/**
- * Network interface to which the service will bind. If not set,
- * the server binds to all available interfaces.
+ * The server socket type used to generate connections for this server.
*/
- protected InetAddress bindTo = null;
+ protected String serverSocketType = "plain";
- /*
- * The server socket associated with this service
+ /**
+ * The name of the thread group to be used by this service for generating
+ * connections
*/
- protected ServerSocket serverSocket;
+ protected String threadGroup;
/**
- * The name of the connection used by this service. We need to
- * track this so we can tell the ConnectionManager which service
- * to disconnect upon shutdown.
+ * The thread pool used by this service that holds the threads that service
+ * the client connections.
*/
- protected String connectionName;
+ protected ThreadPool threadPool = null;
/**
- * The maximum number of connections allowed for this service.
+ * The port on which this service will be made available.
*/
- protected Integer connectionLimit;
+ protected int port = -1;
/**
- * The connection idle timeout. Used primarily to prevent server
- * problems from hanging a connection.
+ * The connection idle timeout. Used primarily to prevent server problems
+ * from hanging a connection.
*/
protected int timeout;
/**
- * The hello name for the service.
+ * The component manager used by this service.
*/
- protected String helloName;
+ private ComponentManager compMgr;
/**
- * The component manager used by this service.
+ * The ConnectionManager that spawns and manages service connections.
*/
- private ComponentManager compMgr;
+ private ConnectionManager connectionManager;
/**
* Whether this service is enabled.
@@ -128,22 +130,40 @@
private volatile boolean enabled;
/**
+ * This method returns the type of service provided by this server. This
+ * should be invariant over the life of the class. Subclasses may override
+ * this implementation. This implementation parses the complete class
+ * name and returns the undecorated class name.
+ *
+ * @return description of this server
+ */
+ public String getServiceType() {
+ String name = getClass().getName();
+ int p = name.lastIndexOf(".");
+ if((p > 0)&&(p < (name.length()-2))) {
+ name = name.substring(p+1);
+ }
+ return name;
+ }
+
+ /**
* @see org.apache.avalon.framework.component.Composable#compose(ComponentManager)
*/
public void compose(ComponentManager comp) throws ComponentException {
super.compose(comp);
- compMgr = comp;
- connectionManager = (ConnectionManager) compMgr.lookup(ConnectionManager.ROLE);
+ compMgr = comp;
+ connectionManager =
+ (ConnectionManager)compMgr.lookup(ConnectionManager.ROLE);
}
/**
* @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
*/
public void configure(Configuration conf) throws ConfigurationException {
- enabled = conf.getAttributeAsBoolean("enabled", true);
- if (!enabled) {
- getLogger().info(getServiceType() + " disabled by configuration");
- return;
+ enabled = conf.getAttributeAsBoolean("enabled",true);
+ if(!enabled) {
+ getLogger().info(getServiceType()+" disabled by configuration");
+ return;
}
Configuration handlerConfiguration = conf.getChild("handler");
@@ -159,20 +179,23 @@
port = conf.getChild("port").getValueAsInteger(getDefaultPort());
- Configuration serverSocketTypeConf = conf.getChild("serverSocketType", false);
+ Configuration serverSocketTypeConf =
+ conf.getChild("serverSocketType",false);
String confSocketType = null;
- if (serverSocketTypeConf != null ) {
+ if(serverSocketTypeConf != null) {
confSocketType = serverSocketTypeConf.getValue();
}
- if (confSocketType == null) {
+ if(confSocketType == null) {
// Only load the useTLS parameter if a specific socket type has not
// been specified. This maintains backwards compatibility while
// allowing us to have more complex (i.e. multiple SSL configuration)
// deployments
- final boolean useTLS = conf.getChild("useTLS").getValueAsBoolean(isDefaultTLSEnabled());
- if (useTLS) {
- serverSocketType = "ssl";
+ final boolean useTLS =
+ conf.getChild("useTLS").getValueAsBoolean(
+ isDefaultTLSEnabled());
+ if(useTLS) {
+ serverSocketType = "ssl";
}
} else {
serverSocketType = confSocketType;
@@ -180,274 +203,254 @@
StringBuffer infoBuffer;
threadGroup = conf.getChild("threadGroup").getValue(null);
- if (threadGroup != null) {
+ if(threadGroup != null) {
infoBuffer =
- new StringBuffer(64)
- .append(getServiceType())
- .append(" uses thread group: ")
- .append(threadGroup);
+ new StringBuffer(64).append(getServiceType())
+ .append(" uses thread group: ").append(
+ threadGroup);
getLogger().info(infoBuffer.toString());
- }
- else {
- getLogger().info(getServiceType() + " uses default thread group.");
+ } else {
+ getLogger().info(getServiceType()+" uses default thread group.");
}
try {
final String bindAddress = conf.getChild("bind").getValue(null);
- if( null != bindAddress ) {
- bindTo = InetAddress.getByName(bindAddress);
+ if(null != bindAddress) {
+ bindTo = InetAddress.getByName(bindAddress);
infoBuffer =
- new StringBuffer(64)
- .append(getServiceType())
- .append(" bound to: ")
- .append(bindTo);
+ new StringBuffer(64).append(getServiceType())
+ .append(" bound to: ").append(bindTo);
getLogger().info(infoBuffer.toString());
}
- }
- catch( final UnknownHostException unhe ) {
- throw new ConfigurationException( "Malformed bind parameter in configuration of service " + getServiceType(), unhe );
+ } catch(final UnknownHostException unhe) {
+ throw new ConfigurationException(
+ "Malformed bind parameter in configuration of service "
+ +getServiceType(),unhe);
}
- String hostName = null;
+ String hostName = null;
try {
hostName = InetAddress.getLocalHost().getHostName();
- } catch (UnknownHostException ue) {
+ } catch(UnknownHostException ue) {
hostName = "localhost";
}
infoBuffer =
- new StringBuffer(64)
- .append(getServiceType())
- .append(" is running on: ")
- .append(hostName);
+ new StringBuffer(64).append(getServiceType())
+ .append(" is running on: ").append(hostName);
getLogger().info(infoBuffer.toString());
Configuration helloConf = handlerConfiguration.getChild(HELLO_NAME);
- boolean autodetect = helloConf.getAttributeAsBoolean("autodetect", true);
- if (autodetect) {
+ boolean autodetect =
+ helloConf.getAttributeAsBoolean("autodetect",true);
+ if(autodetect) {
helloName = hostName;
} else {
helloName = helloConf.getValue("localhost");
}
infoBuffer =
- new StringBuffer(64)
- .append(getServiceType())
- .append(" handler hello name is: ")
- .append(helloName);
+ new StringBuffer(64).append(getServiceType())
+ .append(" handler hello name is: ").append(
+ helloName);
getLogger().info(infoBuffer.toString());
- timeout = handlerConfiguration.getChild(TIMEOUT_NAME).getValueAsInteger(DEFAULT_TIMEOUT);
+ timeout =
+ handlerConfiguration.getChild(TIMEOUT_NAME).getValueAsInteger(
+ DEFAULT_TIMEOUT);
infoBuffer =
- new StringBuffer(64)
- .append(getServiceType())
- .append(" handler connection timeout is: ")
- .append(timeout);
+ new StringBuffer(64).append(getServiceType())
+ .append(" handler connection timeout is: ")
+ .append(timeout);
getLogger().info(infoBuffer.toString());
- final String location = "generated:" + getServiceType();
+ final String location = "generated:"+getServiceType();
- if (connectionManager instanceof SimpleConnectionManager) {
- String connectionLimitString = conf.getChild("connectionLimit").getValue(null);
- if (connectionLimitString != null) {
+ if(connectionManager instanceof SimpleConnectionManager) {
+ String connectionLimitString =
+ conf.getChild("connectionLimit").getValue(null);
+ if(connectionLimitString != null) {
try {
connectionLimit = new Integer(connectionLimitString);
- } catch (NumberFormatException nfe) {
- getLogger().error("Connection limit value is not properly formatted.", nfe);
+ } catch(NumberFormatException nfe) {
+ getLogger().error(
+ "Connection limit value is not properly formatted.",nfe);
}
- if (connectionLimit.intValue() < 0) {
- getLogger().error("Connection limit value cannot be less than zero.");
- throw new ConfigurationException("Connection limit value cannot be less than zero.");
+ if(connectionLimit.intValue() < 0) {
+ getLogger().error(
+ "Connection limit value cannot be less than zero.");
+ throw new ConfigurationException(
+ "Connection limit value cannot be less than zero.");
}
} else {
- connectionLimit = new Integer(((SimpleConnectionManager)connectionManager).getMaximumNumberOfOpenConnections());
+ connectionLimit =
+ new Integer(
+ ((SimpleConnectionManager)connectionManager)
+ .getMaximumNumberOfOpenConnections());
}
- infoBuffer = new StringBuffer(128)
- .append(getServiceType())
- .append(" will allow a maximum of ")
- .append(connectionLimit.intValue())
- .append(" connections.");
+ infoBuffer =
+ new StringBuffer(128).append(getServiceType())
+ .append(" will allow a maximum of ")
+ .append(connectionLimit.intValue()).append(
+ " connections.");
getLogger().info(infoBuffer.toString());
}
}
/**
+ * @see org.apache.avalon.framework.activity.Disposable#dispose()
+ */
+ public void dispose() {
+ if(!isEnabled()) {
+ return;
+ }
+ StringBuffer infoBuffer =
+ new StringBuffer(64).append(getServiceType()).append(
+ " dispose... ").append(connectionName);
+ getLogger().debug(infoBuffer.toString());
+
+ try {
+ connectionManager.disconnect(connectionName,true);
+ } catch(final Exception e) {
+ StringBuffer warnBuffer =
+ new StringBuffer(64).append("Error disconnecting ")
+ .append(getServiceType()).append(": ");
+ getLogger().warn(warnBuffer.toString(),e);
+ }
+
+ compMgr = null;
+
+ connectionManager = null;
+ threadPool = null;
+
+ // This is needed to make sure sockets are promptly closed on Windows 2000
+ // TODO: Check this - shouldn't need to explicitly gc to force socket closure
+ System.gc();
+
+ getLogger().debug(getServiceType()+" ...dispose end");
+ }
+
+ /**
* @see org.apache.avalon.framework.activity.Initializable#initialize()
*/
public void initialize() throws Exception {
- if (!isEnabled()) {
- getLogger().info(getServiceType() + " Disabled");
- System.out.println(getServiceType() + " Disabled");
+ if(!isEnabled()) {
+ getLogger().info(getServiceType()+" Disabled");
+ System.out.println(getServiceType()+" Disabled");
return;
}
- getLogger().debug(getServiceType() + " init...");
+ getLogger().debug(getServiceType()+" init...");
- SocketManager socketManager = (SocketManager) compMgr.lookup(SocketManager.ROLE);
+ SocketManager socketManager =
+ (SocketManager)compMgr.lookup(SocketManager.ROLE);
- ThreadManager threadManager = (ThreadManager) compMgr.lookup(ThreadManager.ROLE);
+ ThreadManager threadManager =
+ (ThreadManager)compMgr.lookup(ThreadManager.ROLE);
- if (threadGroup != null) {
+ if(threadGroup != null) {
threadPool = threadManager.getThreadPool(threadGroup);
} else {
threadPool = threadManager.getDefaultThreadPool();
}
- ServerSocketFactory factory = socketManager.getServerSocketFactory(serverSocketType);
- ServerSocket serverSocket = factory.createServerSocket(port, 5, bindTo);
-
- if (null == connectionName) {
+ ServerSocketFactory factory =
+ socketManager.getServerSocketFactory(serverSocketType);
+ ServerSocket serverSocket = factory.createServerSocket(port,5,bindTo);
+
+ if(null == connectionName) {
final StringBuffer sb = new StringBuffer();
sb.append(serverSocketType);
sb.append(':');
sb.append(port);
-
- if (null != bindTo) {
+
+ if(null != bindTo) {
sb.append('/');
sb.append(bindTo);
}
connectionName = sb.toString();
}
- if ((connectionLimit != null) &&
- (connectionManager instanceof SimpleConnectionManager)) {
- if (null != threadPool) {
- ((SimpleConnectionManager)connectionManager).connect(connectionName, serverSocket, this, threadPool, connectionLimit.intValue());
- }
- else {
- ((SimpleConnectionManager)connectionManager).connect(connectionName, serverSocket, this, connectionLimit.intValue()); // default pool
+ if(
+ (connectionLimit != null)
+ &&(connectionManager instanceof SimpleConnectionManager)) {
+ if(null != threadPool) {
+ ((SimpleConnectionManager)connectionManager).connect(
+ connectionName,serverSocket,this,threadPool,
+ connectionLimit.intValue());
+ } else {
+ ((SimpleConnectionManager)connectionManager).connect(
+ connectionName,serverSocket,this,connectionLimit.intValue()); // default pool
}
} else {
- if (null != threadPool) {
- connectionManager.connect(connectionName, serverSocket, this, threadPool);
- }
- else {
- connectionManager.connect(connectionName, serverSocket, this); // default pool
+ if(null != threadPool) {
+ connectionManager.connect(
+ connectionName,serverSocket,this,threadPool);
+ } else {
+ connectionManager.connect(connectionName,serverSocket,this); // default pool
}
}
- getLogger().debug(getServiceType() + " ...init end");
+ getLogger().debug(getServiceType()+" ...init end");
StringBuffer logBuffer =
- new StringBuffer(64)
- .append(getServiceType())
- .append(" started ")
- .append(connectionName);
+ new StringBuffer(64).append(getServiceType()).append(" started ")
+ .append(connectionName);
String logString = logBuffer.toString();
System.out.println(logString);
getLogger().info(logString);
}
/**
- * @see org.apache.avalon.framework.activity.Disposable#dispose()
+ * Describes whether this service is enabled by configuration.
+ *
+ * @return is the service enabled.
*/
- public void dispose() {
-
- if (!isEnabled()) {
- return;
- }
- StringBuffer infoBuffer =
- new StringBuffer(64)
- .append(getServiceType())
- .append(" dispose... ")
- .append(connectionName);
- getLogger().debug(infoBuffer.toString());
-
- try {
- connectionManager.disconnect(connectionName, true);
- } catch (final Exception e) {
- StringBuffer warnBuffer =
- new StringBuffer(64)
- .append("Error disconnecting ")
- .append(getServiceType())
- .append(": ");
- getLogger().warn(warnBuffer.toString(), e);
- }
-
- compMgr = null;
-
- connectionManager = null;
- threadPool = null;
-
- // This is needed to make sure sockets are promptly closed on Windows 2000
- // TODO: Check this - shouldn't need to explicitly gc to force socket closure
- System.gc();
-
- getLogger().debug(getServiceType() + " ...dispose end");
+ protected final boolean isEnabled() {
+ return enabled;
}
/**
- * This constructs the WatchdogFactory that will be used to guard
- * against runaway or stuck behavior. Should only be called once
- * by a subclass in its initialize() method.
+ * This constructs the WatchdogFactory that will be used to guard against
+ * runaway or stuck behavior. Should only be called once by a subclass in
+ * its initialize() method.
*
* @return the WatchdogFactory to be employed by subclasses.
*/
protected WatchdogFactory getWatchdogFactory() {
WatchdogFactory theWatchdogFactory = null;
- theWatchdogFactory = new ThreadPerWatchdogFactory(threadPool, timeout);
- if (theWatchdogFactory instanceof LogEnabled) {
+ theWatchdogFactory = new ThreadPerWatchdogFactory(threadPool,timeout);
+ if(theWatchdogFactory instanceof LogEnabled) {
((LogEnabled)theWatchdogFactory).enableLogging(getLogger());
}
return theWatchdogFactory;
- }
-
-
- /**
- * Describes whether this service is enabled by configuration.
- *
- * @return is the service enabled.
- */
- protected final boolean isEnabled() {
- return enabled;
}
+
/**
* Overide this method to create actual instance of connection handler.
*
* @return the new ConnectionHandler
+ *
* @exception Exception if an error occurs
*/
- protected abstract ConnectionHandler newHandler()
- throws Exception;
+ protected abstract ConnectionHandler newHandler() throws Exception;
/**
- * Get the default port for this server type.
- *
- * It is strongly recommended that subclasses of this class
- * override this method to specify the default port for their
- * specific server type.
+ * Get the default port for this server type. It is strongly recommended
+ * that subclasses of this class override this method to specify the
+ * default port for their specific server type.
*
* @return the default port
*/
- protected int getDefaultPort() {
+ protected int getDefaultPort() {
return 0;
- }
+ }
/**
* Get whether TLS is enabled for this server's socket by default.
*
* @return the default port
*/
- protected boolean isDefaultTLSEnabled() {
+ protected boolean isDefaultTLSEnabled() {
return false;
- }
-
- /**
- * This method returns the type of service provided by this server.
- * This should be invariant over the life of the class.
- *
- * Subclasses may override this implementation. This implementation
- * parses the complete class name and returns the undecorated class
- * name.
- *
- * @return description of this server
- */
- public String getServiceType() {
- String name = getClass().getName();
- int p = name.lastIndexOf(".");
- if (p > 0 && p < name.length() - 2) {
- name = name.substring(p + 1);
- }
- return name;
}
}
-
1.5 +7 -2 jakarta-james/src/java/org/apache/james/core/MailHeaders.java
Index: MailHeaders.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/core/MailHeaders.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MailHeaders.java 14 Sep 2002 06:22:36 -0000 1.4
+++ MailHeaders.java 6 Jan 2003 17:08:43 -0000 1.5
@@ -7,10 +7,15 @@
*/
package org.apache.james.core;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.io.Serializable;
+import java.util.Enumeration;
+
import javax.mail.MessagingException;
import javax.mail.internet.InternetHeaders;
-import java.io.*;
-import java.util.Enumeration;
import org.apache.james.util.RFC2822Headers;
1.18 +16 -12 jakarta-james/src/java/org/apache/james/core/MailImpl.java
Index: MailImpl.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/core/MailImpl.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- MailImpl.java 26 Oct 2002 04:15:30 -0000 1.17
+++ MailImpl.java 6 Jan 2003 17:08:43 -0000 1.18
@@ -7,11 +7,17 @@
*/
package org.apache.james.core;
-import org.apache.avalon.framework.activity.Disposable;
-
-import org.apache.james.util.RFC2822Headers;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Iterator;
import javax.mail.Address;
import javax.mail.Message;
@@ -19,13 +25,11 @@
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.ParseException;
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
+
+import org.apache.avalon.framework.activity.Disposable;
+import org.apache.james.util.RFC2822Headers;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
/**
* Wraps a MimeMessage adding routing information (from SMTP) and some simple
1.10 +9 -1 jakarta-james/src/java/org/apache/james/core/MimeMessageInputStreamSource.java
Index: MimeMessageInputStreamSource.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/core/MimeMessageInputStreamSource.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- MimeMessageInputStreamSource.java 26 Oct 2002 04:15:30 -0000 1.9
+++ MimeMessageInputStreamSource.java 6 Jan 2003 17:08:43 -0000 1.10
@@ -7,7 +7,15 @@
*/
package org.apache.james.core;
-import java.io.*;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
import javax.mail.MessagingException;
import org.apache.avalon.framework.activity.Disposable;
1.18 +25 -6 jakarta-james/src/java/org/apache/james/core/MimeMessageWrapper.java
Index: MimeMessageWrapper.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/core/MimeMessageWrapper.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- MimeMessageWrapper.java 26 Oct 2002 04:15:30 -0000 1.17
+++ MimeMessageWrapper.java 6 Jan 2003 17:08:43 -0000 1.18
@@ -7,20 +7,39 @@
*/
package org.apache.james.core;
-import javax.activation.DataHandler;
-import javax.mail.*;
-import javax.mail.internet.*;
-import java.io.*;
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.SequenceInputStream;
+import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.util.Date;
import java.util.Enumeration;
import java.util.Vector;
+import javax.activation.DataHandler;
+import javax.mail.Address;
+import javax.mail.Flags;
+import javax.mail.Header;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Multipart;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.InternetHeaders;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeUtility;
+import javax.mail.internet.NewsAddress;
+
+import org.apache.avalon.framework.activity.Disposable;
import org.apache.james.util.InternetPrintWriter;
import org.apache.james.util.RFC2822Headers;
import org.apache.james.util.RFC822DateFormat;
-
-import org.apache.avalon.framework.activity.Disposable;
/**
1.10 +21 -5 jakarta-james/src/java/org/apache/james/dnsserver/DNSServer.java
Index: DNSServer.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/dnsserver/DNSServer.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- DNSServer.java 2 Oct 2002 06:12:02 -0000 1.9
+++ DNSServer.java 6 Jan 2003 17:08:43 -0000 1.10
@@ -7,16 +7,32 @@
*/
package org.apache.james.dnsserver;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.Vector;
+
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.xbill.DNS.*;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.*;
+import org.xbill.DNS.Cache;
+import org.xbill.DNS.Credibility;
+import org.xbill.DNS.DClass;
+import org.xbill.DNS.ExtendedResolver;
+import org.xbill.DNS.MXRecord;
+import org.xbill.DNS.Name;
+import org.xbill.DNS.RRset;
+import org.xbill.DNS.Rcode;
+import org.xbill.DNS.Record;
+import org.xbill.DNS.Resolver;
+import org.xbill.DNS.SetResponse;
+import org.xbill.DNS.Type;
/**
* Provides DNS client functionality to components running
1.22 +7 -3 jakarta-james/src/java/org/apache/james/mailrepository/AvalonMailRepository.java
Index: AvalonMailRepository.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/mailrepository/AvalonMailRepository.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- AvalonMailRepository.java 6 Jan 2003 12:38:04 -0000 1.21
+++ AvalonMailRepository.java 6 Jan 2003 17:08:43 -0000 1.22
@@ -7,6 +7,13 @@
*/
package org.apache.james.mailrepository;
+import java.io.OutputStream;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
import org.apache.avalon.cornerstone.services.store.ObjectRepository;
import org.apache.avalon.cornerstone.services.store.Store;
import org.apache.avalon.cornerstone.services.store.StreamRepository;
@@ -25,9 +32,6 @@
import org.apache.james.services.MailStore;
import org.apache.james.util.Lock;
import org.apache.mailet.MailRepository;
-
-import java.io.OutputStream;
-import java.util.*;
/**
* Implementation of a MailRepository on a FileSystem.
1.32 +22 -9 jakarta-james/src/java/org/apache/james/mailrepository/JDBCMailRepository.java
Index: JDBCMailRepository.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/mailrepository/JDBCMailRepository.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- JDBCMailRepository.java 6 Jan 2003 12:38:04 -0000 1.31
+++ JDBCMailRepository.java 6 Jan 2003 17:08:44 -0000 1.32
@@ -7,6 +7,28 @@
*/
package org.apache.james.mailrepository;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import javax.mail.internet.MimeMessage;
+
import org.apache.avalon.cornerstone.services.datasource.DataSourceSelector;
import org.apache.avalon.cornerstone.services.store.Store;
import org.apache.avalon.cornerstone.services.store.StreamRepository;
@@ -32,15 +54,6 @@
import org.apache.james.util.SqlResources;
import org.apache.mailet.MailAddress;
import org.apache.mailet.MailRepository;
-
-import javax.mail.internet.MimeMessage;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.sql.*;
-import java.util.*;
/**
* Implementation of a MailRepository on a database.
1.27 +17 -22 jakarta-james/src/java/org/apache/james/nntpserver/NNTPHandler.java
Index: NNTPHandler.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/nntpserver/NNTPHandler.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- NNTPHandler.java 6 Jan 2003 15:53:00 -0000 1.26
+++ NNTPHandler.java 6 Jan 2003 17:08:44 -0000 1.27
@@ -7,40 +7,35 @@
*/
package org.apache.james.nntpserver;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.net.Socket;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.StringTokenizer;
+
import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
import org.apache.avalon.excalibur.pool.Poolable;
import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.component.ComponentManager;
-import org.apache.avalon.framework.component.Composable;
-import org.apache.avalon.framework.configuration.Configurable;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.Logger;
import org.apache.james.nntpserver.repository.NNTPArticle;
import org.apache.james.nntpserver.repository.NNTPGroup;
import org.apache.james.nntpserver.repository.NNTPLineReaderImpl;
-import org.apache.james.nntpserver.repository.NNTPRepository;
-import org.apache.james.services.UsersStore;
import org.apache.james.util.InternetPrintWriter;
-import org.apache.james.util.RFC977DateFormat;
import org.apache.james.util.RFC2980DateFormat;
+import org.apache.james.util.RFC977DateFormat;
import org.apache.james.util.SimplifiedDateFormat;
import org.apache.james.util.watchdog.Watchdog;
import org.apache.james.util.watchdog.WatchdogTarget;
-import org.apache.mailet.UsersRepository;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.net.Socket;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.util.*;
/**
* The NNTP protocol is defined by RFC 977.
1.11 +8 -2 jakarta-james/src/java/org/apache/james/nntpserver/repository/NNTPArticleImpl.java
Index: NNTPArticleImpl.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/nntpserver/repository/NNTPArticleImpl.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- NNTPArticleImpl.java 26 Oct 2002 04:15:29 -0000 1.10
+++ NNTPArticleImpl.java 6 Jan 2003 17:08:45 -0000 1.11
@@ -7,10 +7,16 @@
*/
package org.apache.james.nntpserver.repository;
-import org.apache.james.nntpserver.NNTPException;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.PrintWriter;
import javax.mail.internet.InternetHeaders;
-import java.io.*;
+
+import org.apache.james.nntpserver.NNTPException;
/**
* Please see NNTPArticle for comments
1.21 +16 -9 jakarta-james/src/java/org/apache/james/pop3server/POP3Handler.java
Index: POP3Handler.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/pop3server/POP3Handler.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- POP3Handler.java 6 Jan 2003 15:53:00 -0000 1.20
+++ POP3Handler.java 6 Jan 2003 17:08:45 -0000 1.21
@@ -7,16 +7,29 @@
*/
package org.apache.james.pop3server;
+import java.io.BufferedOutputStream;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.net.Socket;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import javax.mail.MessagingException;
+
import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
import org.apache.avalon.excalibur.collections.ListUtils;
import org.apache.avalon.excalibur.pool.Poolable;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
-
import org.apache.james.Constants;
import org.apache.james.core.MailImpl;
-import org.apache.james.services.MailServer;
-import org.apache.james.services.UsersStore;
import org.apache.james.util.ExtraDotOutputStream;
import org.apache.james.util.InternetPrintWriter;
import org.apache.james.util.watchdog.BytesWrittenResetOutputStream;
@@ -24,12 +37,6 @@
import org.apache.james.util.watchdog.WatchdogTarget;
import org.apache.mailet.Mail;
import org.apache.mailet.MailRepository;
-import org.apache.mailet.UsersRepository;
-
-import javax.mail.MessagingException;
-import java.io.*;
-import java.net.Socket;
-import java.util.*;
/**
* The handler class for POP3 connections.
1.14 +7 -12 jakarta-james/src/java/org/apache/james/remotemanager/RemoteManager.java
Index: RemoteManager.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/remotemanager/RemoteManager.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- RemoteManager.java 6 Jan 2003 15:53:00 -0000 1.13
+++ RemoteManager.java 6 Jan 2003 17:08:45 -0000 1.14
@@ -7,32 +7,27 @@
*/
package org.apache.james.remotemanager;
+import java.util.HashMap;
+
import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
import org.apache.avalon.excalibur.pool.DefaultPool;
import org.apache.avalon.excalibur.pool.HardResourceLimitingPool;
import org.apache.avalon.excalibur.pool.ObjectFactory;
import org.apache.avalon.excalibur.pool.Pool;
import org.apache.avalon.excalibur.pool.Poolable;
-import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
-import org.apache.avalon.framework.component.Composable;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.LogEnabled;
-
import org.apache.james.core.AbstractJamesService;
-import org.apache.james.services.*;
+import org.apache.james.services.MailServer;
+import org.apache.james.services.UsersStore;
import org.apache.james.util.watchdog.Watchdog;
import org.apache.james.util.watchdog.WatchdogFactory;
-import org.apache.james.util.watchdog.WatchdogTarget;
-import org.apache.mailet.*;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.HashMap;
+import org.apache.mailet.UsersRepository;
/**
* Provides a really rude network interface to administer James.
1.23 +16 -19 jakarta-james/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
Index: RemoteManagerHandler.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- RemoteManagerHandler.java 6 Jan 2003 15:53:00 -0000 1.22
+++ RemoteManagerHandler.java 6 Jan 2003 17:08:46 -0000 1.23
@@ -7,22 +7,6 @@
*/
package org.apache.james.remotemanager;
-import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
-import org.apache.avalon.excalibur.pool.Poolable;
-import org.apache.avalon.framework.configuration.Configurable;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.james.Constants;
-import org.apache.james.services.*;
-import org.apache.james.userrepository.DefaultUser;
-import org.apache.james.util.watchdog.Watchdog;
-import org.apache.james.util.watchdog.WatchdogTarget;
-import org.apache.mailet.*;
-import org.apache.mailet.MailAddress;
-
-import javax.mail.internet.ParseException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
@@ -30,10 +14,23 @@
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
-import java.util.StringTokenizer;
+
+import javax.mail.internet.ParseException;
+
+import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
+import org.apache.avalon.excalibur.pool.Poolable;
+import org.apache.avalon.framework.activity.Disposable;
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.james.Constants;
+import org.apache.james.services.JamesUser;
+import org.apache.james.userrepository.DefaultUser;
+import org.apache.james.util.watchdog.Watchdog;
+import org.apache.james.util.watchdog.WatchdogTarget;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.User;
+import org.apache.mailet.UsersRepository;
/**
* Provides a really rude network interface to administer James.
1.7 +9 -4 jakarta-james/src/java/org/apache/james/security/DigestUtil.java
Index: DigestUtil.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/security/DigestUtil.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DigestUtil.java 14 Sep 2002 09:00:57 -0000 1.6
+++ DigestUtil.java 6 Jan 2003 17:08:46 -0000 1.7
@@ -7,12 +7,17 @@
*/
package org.apache.james.security;
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeUtility;
-import java.io.*;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Locale;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeUtility;
/**
1.6 +2 -2 jakarta-james/src/java/org/apache/james/services/JamesUser.java
Index: JamesUser.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/services/JamesUser.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- JamesUser.java 6 Jan 2003 15:53:01 -0000 1.5
+++ JamesUser.java 6 Jan 2003 17:08:46 -0000 1.6
@@ -7,8 +7,8 @@
*/
package org.apache.james.services;
-import org.apache.mailet.*;
import org.apache.mailet.MailAddress;
+import org.apache.mailet.User;
/**
* Interface for objects representing users of an email/ messaging system.
1.13 +7 -6 jakarta-james/src/java/org/apache/james/services/MailServer.java
Index: MailServer.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/services/MailServer.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- MailServer.java 6 Jan 2003 12:38:05 -0000 1.12
+++ MailServer.java 6 Jan 2003 17:08:46 -0000 1.13
@@ -7,14 +7,15 @@
*/
package org.apache.james.services;
-import org.apache.mailet.*;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import java.io.InputStream;
+import java.util.Collection;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import java.io.InputStream;
-import java.util.Collection;
+
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.MailRepository;
/**
* The interface for Phoenix blocks to the James MailServer
1.37 +31 -10 jakarta-james/src/java/org/apache/james/smtpserver/SMTPHandler.java
Index: SMTPHandler.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/smtpserver/SMTPHandler.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- SMTPHandler.java 6 Jan 2003 15:53:01 -0000 1.36
+++ SMTPHandler.java 6 Jan 2003 17:08:47 -0000 1.37
@@ -7,6 +7,31 @@
*/
package org.apache.james.smtpserver;
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.InterruptedIOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.SequenceInputStream;
+import java.net.Socket;
+import java.net.SocketException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Random;
+import java.util.StringTokenizer;
+
+import javax.mail.MessagingException;
+
import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
import org.apache.avalon.excalibur.pool.Poolable;
import org.apache.avalon.framework.activity.Disposable;
@@ -14,19 +39,15 @@
import org.apache.james.Constants;
import org.apache.james.core.MailHeaders;
import org.apache.james.core.MailImpl;
-import org.apache.james.services.MailServer;
-import org.apache.james.util.*;
+import org.apache.james.util.Base64;
+import org.apache.james.util.CharTerminatedInputStream;
+import org.apache.james.util.InternetPrintWriter;
+import org.apache.james.util.RFC2822Headers;
+import org.apache.james.util.RFC822DateFormat;
import org.apache.james.util.watchdog.BytesReadResetInputStream;
import org.apache.james.util.watchdog.Watchdog;
import org.apache.james.util.watchdog.WatchdogTarget;
import org.apache.mailet.MailAddress;
-import org.apache.mailet.UsersRepository;
-
-import javax.mail.MessagingException;
-import java.io.*;
-import java.net.Socket;
-import java.net.SocketException;
-import java.util.*;
/**
* Provides SMTP functionality by carrying out the server side of the SMTP
* interaction.
1.22 +13 -7 jakarta-james/src/java/org/apache/james/transport/JamesSpoolManager.java
Index: JamesSpoolManager.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/JamesSpoolManager.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- JamesSpoolManager.java 6 Jan 2003 12:38:05 -0000 1.21
+++ JamesSpoolManager.java 6 Jan 2003 17:08:47 -0000 1.22
@@ -7,26 +7,32 @@
*/
package org.apache.james.transport;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import javax.mail.MessagingException;
+
import org.apache.avalon.cornerstone.services.threads.ThreadManager;
import org.apache.avalon.excalibur.thread.ThreadPool;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.component.DefaultComponentManager;
-import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.james.core.MailImpl;
import org.apache.james.services.MailStore;
-import org.apache.mailet.*;
-
-import javax.mail.MessagingException;
-import java.util.HashMap;
-import java.util.Iterator;
+import org.apache.mailet.Mail;
+import org.apache.mailet.Mailet;
+import org.apache.mailet.MailetContext;
+import org.apache.mailet.MailetException;
+import org.apache.mailet.Matcher;
+import org.apache.mailet.SpoolRepository;
/**
* Manages the mail spool. This class is responsible for retrieving
1.12 +16 -9 jakarta-james/src/java/org/apache/james/transport/LinearProcessor.java
Index: LinearProcessor.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/LinearProcessor.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- LinearProcessor.java 6 Jan 2003 12:38:05 -0000 1.11
+++ LinearProcessor.java 6 Jan 2003 17:08:47 -0000 1.12
@@ -7,22 +7,29 @@
*/
package org.apache.james.transport;
-import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.Logger;
-import org.apache.james.core.MailImpl;
-import org.apache.mailet.*;
-
-import javax.mail.MessagingException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.Vector;
-import java.util.Iterator;
+
+import javax.mail.MessagingException;
+
+import org.apache.avalon.framework.activity.Disposable;
+import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.james.core.MailImpl;
+import org.apache.mailet.GenericMailet;
+import org.apache.mailet.GenericMatcher;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.Mailet;
+import org.apache.mailet.MailetException;
+import org.apache.mailet.Matcher;
+import org.apache.mailet.SpoolRepository;
/**
* Implements a processor for mails, directing the mail down
1.11 +12 -8 jakarta-james/src/java/org/apache/james/transport/mailets/JDBCAlias.java
Index: JDBCAlias.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/JDBCAlias.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- JDBCAlias.java 23 Aug 2002 08:00:29 -0000 1.10
+++ JDBCAlias.java 6 Jan 2003 17:08:47 -0000 1.11
@@ -7,6 +7,18 @@
*/
package org.apache.james.transport.mailets;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Vector;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.ParseException;
+
import org.apache.avalon.cornerstone.services.datasource.DataSourceSelector;
import org.apache.avalon.excalibur.datasource.DataSourceComponent;
import org.apache.avalon.framework.component.ComponentManager;
@@ -16,14 +28,6 @@
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
import org.apache.mailet.MailetException;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.ParseException;
-import java.sql.*;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Vector;
/**
* Rewrites recipient addresses based on a database table. The connection
1.11 +12 -7 jakarta-james/src/java/org/apache/james/transport/mailets/JDBCListserv.java
Index: JDBCListserv.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/JDBCListserv.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- JDBCListserv.java 23 Aug 2002 08:00:29 -0000 1.10
+++ JDBCListserv.java 6 Jan 2003 17:08:48 -0000 1.11
@@ -7,6 +7,18 @@
*/
package org.apache.james.transport.mailets;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Collection;
+import java.util.Vector;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.ParseException;
+
import org.apache.avalon.cornerstone.services.datasource.DataSourceSelector;
import org.apache.avalon.excalibur.datasource.DataSourceComponent;
import org.apache.avalon.framework.component.ComponentManager;
@@ -14,13 +26,6 @@
import org.apache.james.util.JDBCUtil;
import org.apache.mailet.MailAddress;
import org.apache.mailet.MailetException;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.ParseException;
-import java.sql.*;
-import java.util.Collection;
-import java.util.Locale;
-import java.util.Vector;
/**
* Rewrites recipient addresses based on a database table. The connection
1.2 +12 -8 jakarta-james/src/java/org/apache/james/transport/mailets/JDBCVirtualUserTable.java
Index: JDBCVirtualUserTable.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/JDBCVirtualUserTable.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JDBCVirtualUserTable.java 4 Oct 2002 04:55:19 -0000 1.1
+++ JDBCVirtualUserTable.java 6 Jan 2003 17:08:48 -0000 1.2
@@ -7,6 +7,18 @@
*/
package org.apache.james.transport.mailets;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Vector;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.ParseException;
+
import org.apache.avalon.cornerstone.services.datasource.DataSourceSelector;
import org.apache.avalon.excalibur.datasource.DataSourceComponent;
import org.apache.avalon.framework.component.ComponentManager;
@@ -16,14 +28,6 @@
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
import org.apache.mailet.MailetException;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.ParseException;
-import java.sql.*;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Vector;
/**
* Implements a Virtual User Table for JAMES. Derived from the
1.35 +27 -12 jakarta-james/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
Index: RemoteDelivery.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/RemoteDelivery.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- RemoteDelivery.java 6 Jan 2003 12:41:01 -0000 1.34
+++ RemoteDelivery.java 6 Jan 2003 17:08:48 -0000 1.35
@@ -10,24 +10,39 @@
//import org.apache.avalon.framework.component.ComponentException;
//import org.apache.avalon.framework.component.ComponentManager;
//import org.apache.avalon.framework.configuration.DefaultConfiguration;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.net.ConnectException;
+import java.net.InetAddress;
+import java.net.SocketException;
+import java.net.UnknownHostException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Properties;
+import java.util.Vector;
+
+import javax.mail.Address;
+import javax.mail.MessagingException;
+import javax.mail.SendFailedException;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.URLName;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.ParseException;
+
import org.apache.james.Constants;
import org.apache.james.core.MailImpl;
import org.apache.james.services.MailServer;
-import org.apache.james.services.MailStore;
import org.apache.mailet.GenericMailet;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
import org.apache.mailet.SpoolRepository;
-
-import javax.mail.*;
-import javax.mail.internet.AddressException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.ParseException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.*;
-import java.util.*;
/**
* Receives a MessageContainer from JamesSpoolManager and takes care of delivery
1.4 +5 -4 jakarta-james/src/java/org/apache/james/transport/matchers/NESSpamCheck.java
Index: NESSpamCheck.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/matchers/NESSpamCheck.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- NESSpamCheck.java 14 Sep 2002 06:22:37 -0000 1.3
+++ NESSpamCheck.java 6 Jan 2003 17:08:48 -0000 1.4
@@ -7,6 +7,11 @@
*/
package org.apache.james.transport.matchers;
+import java.util.Collection;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
import org.apache.james.util.RFC2822Headers;
import org.apache.mailet.GenericMatcher;
import org.apache.mailet.Mail;
@@ -14,10 +19,6 @@
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.Perl5Compiler;
import org.apache.oro.text.regex.Perl5Matcher;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-import java.util.Collection;
/**
* This is based on a sample filter.cfg for a Netscape Mail Server to stop
1.16 +13 -5 jakarta-james/src/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java
Index: AbstractJdbcUsersRepository.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- AbstractJdbcUsersRepository.java 6 Jan 2003 15:53:01 -0000 1.15
+++ AbstractJdbcUsersRepository.java 6 Jan 2003 17:08:48 -0000 1.16
@@ -7,11 +7,23 @@
*/
package org.apache.james.userrepository;
+import java.io.File;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
import org.apache.avalon.cornerstone.services.datasource.DataSourceSelector;
import org.apache.avalon.excalibur.datasource.DataSourceComponent;
import org.apache.avalon.framework.CascadingRuntimeException;
import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable;
@@ -25,10 +37,6 @@
import org.apache.james.util.JDBCUtil;
import org.apache.james.util.SqlResources;
import org.apache.mailet.User;
-
-import java.io.File;
-import java.sql.*;
-import java.util.*;
/**
* An abstract base class for creating UserRepository implementations
1.11 +19 -7 jakarta-james/src/java/org/apache/james/userrepository/UsersLDAPRepository.java
Index: UsersLDAPRepository.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/userrepository/UsersLDAPRepository.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- UsersLDAPRepository.java 6 Jan 2003 15:53:02 -0000 1.10
+++ UsersLDAPRepository.java 6 Jan 2003 17:08:49 -0000 1.11
@@ -7,6 +7,25 @@
*/
package org.apache.james.userrepository;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.naming.AuthenticationException;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttribute;
+import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.InitialDirContext;
+import javax.naming.directory.ModificationItem;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configurable;
@@ -16,17 +35,10 @@
import org.apache.avalon.framework.context.ContextException;
import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.logger.Logger;
import org.apache.james.Constants;
import org.apache.mailet.User;
import org.apache.mailet.UsersRepository;
-
-import javax.naming.AuthenticationException;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.*;
-import java.util.*;
/**
* Implementation of a Repository to store users.
1.3 +5 -1 jakarta-james/src/java/org/apache/james/util/JDBCUtil.java
Index: JDBCUtil.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/util/JDBCUtil.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JDBCUtil.java 16 Aug 2002 21:06:32 -0000 1.2
+++ JDBCUtil.java 6 Jan 2003 17:08:49 -0000 1.3
@@ -7,7 +7,11 @@
*/
package org.apache.james.util;
-import java.sql.*;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
import java.util.Locale;
/**
1.6 +11 -6 jakarta-james/src/java/org/apache/james/util/SqlResources.java
Index: SqlResources.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/util/SqlResources.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SqlResources.java 26 Sep 2002 01:44:35 -0000 1.5
+++ SqlResources.java 6 Jan 2003 17:08:49 -0000 1.6
@@ -7,18 +7,23 @@
*/
package org.apache.james.util;
-import org.apache.oro.text.perl.MalformedPerl5PatternException;
-import org.apache.oro.text.perl.Perl5Util;
-import org.w3c.dom.*;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.oro.text.perl.MalformedPerl5PatternException;
+import org.apache.oro.text.perl.Perl5Util;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
/**
1.7 +7 -1 jakarta-james/src/java/org/apache/james/util/mordred/PoolConnEntry.java
Index: PoolConnEntry.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/util/mordred/PoolConnEntry.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- PoolConnEntry.java 16 Aug 2002 21:06:32 -0000 1.6
+++ PoolConnEntry.java 6 Jan 2003 17:08:50 -0000 1.7
@@ -9,7 +9,13 @@
import java.io.PrintWriter;
import java.io.StringWriter;
-import java.sql.*;
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.SQLWarning;
+import java.sql.Statement;
import java.util.Map;
/**
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>