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 rd...@apache.org on 2008/12/07 23:56:05 UTC

svn commit: r724218 [1/3] - in /james/server/trunk: ./ build-tools/ imapserver-function/src/main/java/org/apache/james/imapserver/ imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/ phoenix-deployment/src/conf/ spring-deployment/...

Author: rdonkin
Date: Sun Dec  7 14:56:04 2008
New Revision: 724218

URL: http://svn.apache.org/viewvc?rev=724218&view=rev
Log:
Fix IMAP configuration. Now smoke test ensures database access runs ok.

Added:
    james/server/trunk/stage/commons-lang/jars/commons-lang-2.2.jar   (with props)
Removed:
    james/server/trunk/stage/commons-lang/jars/commons-lang-2.1.jar
Modified:
    james/server/trunk/build-tools/imap.mpt
    james/server/trunk/build-tools/smoke.xml
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapServer.java
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java
    james/server/trunk/include.properties
    james/server/trunk/phoenix-deployment/src/conf/james-config.xml
    james/server/trunk/phoenix-deployment/src/conf/mailboxManagerSqlResources.xml
    james/server/trunk/pom.xml
    james/server/trunk/spring-deployment/src/main/config/james/james-config.xml
    james/server/trunk/spring-deployment/src/main/config/james/mailboxManagerSqlResources.xml

Modified: james/server/trunk/build-tools/imap.mpt
URL: http://svn.apache.org/viewvc/james/server/trunk/build-tools/imap.mpt?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/build-tools/imap.mpt (original)
+++ james/server/trunk/build-tools/imap.mpt Sun Dec  7 14:56:04 2008
@@ -19,4 +19,11 @@
 S: \* OK JAMES IMAP4rev1 Server.*
 C: abcd CAPABILITY
 S: \* CAPABILITY IMAP4rev1 LITERAL\+
-S: abcd OK CAPABILITY completed.
\ No newline at end of file
+S: abcd OK CAPABILITY completed.
+C: 1 LOGIN user passwd 
+S: 1 OK LOGIN completed.
+C: 2 CREATE sub
+S: 2 OK CREATE completed.
+C: 3 CREATE sub/way
+S: 3 OK CREATE completed.
+

Modified: james/server/trunk/build-tools/smoke.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/build-tools/smoke.xml?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/build-tools/smoke.xml (original)
+++ james/server/trunk/build-tools/smoke.xml Sun Dec  7 14:56:04 2008
@@ -164,7 +164,7 @@
             <StopJames dir='@{dir}' cmd='@{cmd}'/>   
             <StartJames dir='@{dir}' cmd='@{cmd}'/>
             <echo>Waiting for James to boot...</echo>   
-            <waitfor maxwait='45' maxwaitunit='second' timeoutproperty='smoke.boot.failed'>
+            <waitfor maxwait='60' maxwaitunit='second' timeoutproperty='smoke.boot.failed'>
                 <and>   
                     <socket server='localhost' port='10025'/>   
                     <socket server='localhost' port='10110'/>

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java Sun Dec  7 14:56:04 2008
@@ -20,6 +20,8 @@
 package org.apache.james.imapserver;
 
 
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.logger.Logger;
 import org.apache.james.api.imap.process.ImapProcessor;
 import org.apache.james.api.user.UsersRepository;
@@ -42,19 +44,29 @@
     private final ImapDecoder decoder;
     private final ImapProcessor processor;
     private final MailboxManagerProvider mailbox;
+    private final DefaultMailboxManager mailboxManager;
     
     public DefaultImapFactory(FileSystem fileSystem, UsersRepository users, Logger logger) {
         super();
         decoder = new DefaultImapDecoderFactory().buildImapDecoder();
         encoder = new DefaultImapEncoderFactory().buildImapEncoder();
-        mailbox = new DefaultMailboxManagerProvider(
-                new DefaultMailboxManager(new DefaultUserManager(
-                        new FileUserMetaDataRepository("var/users"), users), fileSystem, logger));
+        mailboxManager = new DefaultMailboxManager(new DefaultUserManager(
+                new FileUserMetaDataRepository("var/users"), users), fileSystem, logger);
+        mailbox = new DefaultMailboxManagerProvider(mailboxManager);
         processor = DefaultImapProcessorFactory.createDefaultProcessor(mailbox);
     }
 
+    /**
+     * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
+     */
+    public void configure( final Configuration configuration ) throws ConfigurationException {
+        mailboxManager.configure(configuration);
+    }
 
-
+    public void initialize() throws Exception {
+        mailboxManager.initialize();
+    }
+    
     public ImapRequestHandler createHandler()
     { 
         return new ImapRequestHandler(decoder, processor, encoder);

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapHandler.java Sun Dec  7 14:56:04 2008
@@ -81,6 +81,9 @@
      * @see ConnectionHandler#handleConnection(Socket)
      */
     public void handleProtocol() throws IOException {
+            getLogger().debug(
+                "Connection from " + helper.getRemoteHost() + " (" + helper.getRemoteIP()
+                        + ") opened.");
             final OutputStreamImapResponseWriter writer = new OutputStreamImapResponseWriter( helper.getOutputStream() );
             ImapResponseComposer response = new ImapResponseComposerImpl( writer);
 

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapServer.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapServer.java?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapServer.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/ImapServer.java Sun Dec  7 14:56:04 2008
@@ -20,6 +20,8 @@
 package org.apache.james.imapserver;
 
 import java.util.Date;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
@@ -57,11 +59,6 @@
     private DefaultImapFactory factory;
     
     private String hello = softwaretype;
-
-    public ImapServer()
-    {
-    }
-    
     
     
     public void service(ServiceManager comp) throws ServiceException {
@@ -71,29 +68,42 @@
     }
 
 
+    @Override
+    public void dispose() {
+        super.dispose();
+    }
+
+
+
+    @Override
+    public void initialize() throws Exception {
+        getLogger().debug("Initialising...");
+        factory.initialize();
+        super.initialize();
+    }
+
+
 
     /**
      * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
      */
-    public void configure( final Configuration configuration ) throws ConfigurationException
-    {
+    public void configure( final Configuration configuration ) throws ConfigurationException {
         super.configure( configuration );
+        factory.configure(configuration);
         hello  = softwaretype + " Server " + helloName + " is ready.";
     }
     
     /**
      * @see AbstractJamesService#getDefaultPort()
      */
-    protected int getDefaultPort()
-    {
+    protected int getDefaultPort() {
         return 143;
     }
 
     /**
      * @see AbstractJamesService#getServiceType()
      */
-    public String getServiceType()
-    {
+    public String getServiceType() {
         return "IMAP Service";
     }
 
@@ -102,7 +112,7 @@
      * @see org.apache.avalon.excalibur.pool.ObjectFactory#newInstance()
      */
     public ProtocolHandler newProtocolHandlerInstance()
-    {
+    {  
         final ImapRequestHandler handler = factory.createHandler();
         final ImapHandler imapHandler = new ImapHandler(handler, hello); 
         getLogger().debug("Create handler instance");

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java Sun Dec  7 14:56:04 2008
@@ -79,8 +79,7 @@
                 Torque.init(torqueConf);
                 conn = Transaction.begin(MailboxRowPeer.DATABASE_NAME);
                 SqlResources sqlResources = new SqlResources();
-                sqlResources.init(fileSystem
-                        .getResource(configFile),
+                sqlResources.init(fileSystem.getResource(configFile),
                         DefaultMailboxManager.class.getName(), conn,
                         new HashMap());
 

Modified: james/server/trunk/include.properties
URL: http://svn.apache.org/viewvc/james/server/trunk/include.properties?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/include.properties (original)
+++ james/server/trunk/include.properties Sun Dec  7 14:56:04 2008
@@ -244,7 +244,7 @@
 torque.jar=${path.lib.torque}/${jarname.torque.jar}
 jarname.village.jar=village-2.0.jar
 village.jar=${path.lib.village}/${jarname.village.jar}
-jarname.commons-lang.jar=commons-lang-2.1.jar
+jarname.commons-lang.jar=commons-lang-2.2.jar
 commons-lang.jar=${path.lib.commonslang}/${jarname.commons-lang.jar}
 jarname.commons-configuration.jar=commons-configuration-1.5.jar
 commons-configuration.jar=${path.lib.commonsconfiguration}/${jarname.commons-configuration.jar}

Modified: james/server/trunk/phoenix-deployment/src/conf/james-config.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/conf/james-config.xml?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/phoenix-deployment/src/conf/james-config.xml (original)
+++ james/server/trunk/phoenix-deployment/src/conf/james-config.xml Sun Dec  7 14:56:04 2008
@@ -137,7 +137,6 @@
       <configuration-directory>file://conf</configuration-directory>
    </James>
 
-    
    <!-- This is an example configuration for FetchMail, a JavaMail based gateway  -->
    <!-- service that pulls messages from other sources, and inserts them into the -->
    <!-- spool.  They are then processed normally, although FetchMail generally    -->
@@ -1072,6 +1071,33 @@
          <connectiontimeout>360000</connectiontimeout>
             
       </handler>
+      <configFile>file://conf/mailboxManagerSqlResources.xml</configFile>
+      
+      <torque-properties>
+        <property name="torque.database.default"
+                  value="mailboxmanager"/>
+        <property
+                  name="torque.database.mailboxmanager.adapter"
+                  value="derby"/>
+        <property
+                  name="torque.dsfactory.mailboxmanager.factory"
+                  value="org.apache.torque.dsfactory.SharedPoolDataSourceFactory"/>
+        <property
+                  name="torque.dsfactory.mailboxmanager.connection.driver"
+                  value="org.apache.derby.jdbc.EmbeddedDriver"/>
+        <property
+                  name="torque.dsfactory.mailboxmanager.connection.url"
+                  value="jdbc:derby:../apps/james/var/mailboxmanager-derbydb;create=true"/>
+        <property
+                  name="torque.dsfactory.mailboxmanager.connection.user"
+                  value="app"/>
+        <property
+                  name="torque.dsfactory.mailboxmanager.connection.password"
+                  value="app"/>
+        <property
+                  name="torque.dsfactory.mailboxmanager.pool.maxActive"
+                  value="100"/>
+      </torque-properties>
    </imapserver>
 
     <!-- The NNTP server is enabled by default -->

Modified: james/server/trunk/phoenix-deployment/src/conf/mailboxManagerSqlResources.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/conf/mailboxManagerSqlResources.xml?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/phoenix-deployment/src/conf/mailboxManagerSqlResources.xml (original)
+++ james/server/trunk/phoenix-deployment/src/conf/mailboxManagerSqlResources.xml Sun Dec  7 14:56:04 2008
@@ -40,7 +40,7 @@
 
   <dbOptions>
   </dbOptions>
-  <sqlDefs name="org.apache.james.mailboxmanager.torque.TorqueMailboxManagerFactory">
+  <sqlDefs name="org.apache.james.mailboxmanager.torque.DefaultMailboxManager">
 
     <sql name="tableName">${table}</sql>
 

Modified: james/server/trunk/pom.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/pom.xml?rev=724218&r1=724217&r2=724218&view=diff
==============================================================================
--- james/server/trunk/pom.xml (original)
+++ james/server/trunk/pom.xml Sun Dec  7 14:56:04 2008
@@ -568,7 +568,7 @@
     <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
-      <version>2.1</version>
+      <version>2.2</version>
     </dependency>
     <!-- used by torque -->
     <dependency>



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org