charlesb    01/06/21 10:20:35

  Modified:    src/conf james-config.xml
               src/java/org/apache/james James.java
               src/java/org/apache/james/core AvalonMailStore.java
               src/java/org/apache/james/services MailStore.java
               src/java/org/apache/james/transport JamesSpoolManager.java
  Log:
  Added getInboundSpool method to MailStore plus some cody tidying
  
  Revision  Changes    Path
  1.6       +21 -38    jakarta-james/src/conf/james-config.xml
  
  Index: james-config.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/conf/james-config.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- james-config.xml  2001/06/21 16:04:49     1.5
  +++ james-config.xml  2001/06/21 17:20:16     1.6
  @@ -13,8 +13,8 @@
       CONFIRM? comment in the left
       margin.
   
  -    This is $Revision: 1.5 $
  -    Committed on $Date: 2001/06/21 16:04:49 $ by: $Author: charlesb $ 
  +    This is $Revision: 1.6 $
  +    Committed on $Date: 2001/06/21 17:20:16 $ by: $Author: charlesb $ 
   -->
   <config>
   
  @@ -64,24 +64,7 @@
           </namespaces>
         </imapHost> 
   
  -      <!-- The spool repository is a singular location where incoming mails
  -      are temporarily stored before being processed.
  -     (ex. file://c:/james/spool/) -->
  -      <spoolRepository>
  -        <repository destinationURL="file://var/mail/spool/"
  -                    type="SPOOL">
  -        </repository>
  -      </spoolRepository>
   
  -      <!-- Alternative spool repository definition for Town use
  -      <spoolRepository>
  -        <repository destinationURL="town://mainspool"
  -                    type="SPOOL">
  -          <conn>file:///dev/james/dist/var/maildatabase</conn>
  -          <table>Message</table>
  -        </repository>
  -      </spoolRepository>
  -      -->
   
         <!-- The inbox repository is the location for users inboxes -->
         <inboxRepository>
  @@ -103,26 +86,7 @@
   
     <!-- The James Spool Manager block  -->
     <spoolmanager>
  -      <!-- The spool repository is a singular location where incoming mails
  -      are temporarily stored before being processed.
  -     (ex. file://c:/james/spool/) 
  -     The Spoool Manager and James Block must point to the same repository
  -     to add and process same messages. -->
  -      <spoolRepository>
  -        <repository destinationURL="file://var/mail/spool/"
  -                    type="SPOOL">
  -        </repository>
  -      </spoolRepository>
   
  -      <!-- Alternative spool repository definition for Town use
  -      <spoolRepository>
  -        <repository destinationURL="town://mainspool"
  -                    type="SPOOL">
  -          <conn>file:///dev/james/dist/../../store/maildatabase</conn>
  -          <table>Message</table>
  -        </repository>
  -      </spoolRepository>
  -      -->
   
         <!-- number of spool threads -->
         <threads> 1 </threads>
  @@ -477,6 +441,25 @@
             </types>
           </repository>
         </repositories>
  +
  +      <!-- The spool repository is a singular location where incoming mails
  +      are temporarily stored before being processed.
  +     (ex. file://c:/james/spool/) -->
  +      <spoolRepository>
  +        <repository destinationURL="file://var/mail/spool/"
  +                    type="SPOOL">
  +        </repository>
  +      </spoolRepository>
  +
  +      <!-- Alternative spool repository definition for Town use
  +      <spoolRepository>
  +        <repository destinationURL="town://mainspool"
  +                    type="SPOOL">
  +          <conn>file:///dev/james/dist/var/maildatabase</conn>
  +          <table>Message</table>
  +        </repository>
  +      </spoolRepository>
  +      -->
     </mailstore>
          
     <!-- The User Storage block -->
  
  
  
  1.5       +7 -30     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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- James.java        2001/06/21 16:04:50     1.4
  +++ James.java        2001/06/21 17:20:20     1.5
  @@ -53,15 +53,16 @@
    * @author Serge
    * @author <a href="mailto:[EMAIL PROTECTED]";>Charles Benett</a>
    *
  - * This is $Revision: 1.4 $
  - * Committed on $Date: 2001/06/21 16:04:50 $ by: $Author: charlesb $ 
  + * This is $Revision: 1.5 $
  + * Committed on $Date: 2001/06/21 17:20:20 $ by: $Author: charlesb $ 
    */
   public class James
       extends AbstractLoggable
       implements Block, Contextualizable, Composable, Configurable,
                  Initializable, MailServer, MailetContext {
   
  -    public final static String VERSION = "James 1.2.2 Alpha"; // FIX!
  +    public final static String VERSION = "jakarta-james 1.3-dev";
  +    private final static boolean DEEP_DEBUG = true;
   
       private DefaultComponentManager compMgr; //Components shared
       private DefaultContext context;
  @@ -259,39 +260,15 @@
           // Add this to comp
           compMgr.put("org.apache.james.services.MailServer", this);
   
  -        Configuration spoolConf = conf.getChild("spoolRepository");
  -        Configuration spoolRepConf = spoolConf.getChild("repository");
  -        try {
  -            this.spool = (SpoolRepository) mailstore.select(spoolRepConf);
  -        } catch (Exception e) {
  -            getLogger().error("Cannot open private SpoolRepository");
  -            throw e;
  -        }
  -        getLogger().info("Private SpoolRepository Spool opened: "+spool.hashCode());
  -        //compMgr.put("org.apache.james.services.SpoolRepository", 
(Component)spool);
  +        spool = mailstore.getInboundSpool();
  +        if (DEEP_DEBUG) getLogger().debug("Got spool");
  +
           // For mailet engine provide MailetContext
           //compMgr.put("org.apache.mailet.MailetContext", this);
           // For AVALON aware mailets and matchers, we put the Component object as
           // an attribute
           attributes.put(Constants.AVALON_COMPONENT_MANAGER, compMgr);
   
  -        // int threads = 
conf.getConfiguration("spoolmanagerthreads").getValueAsInt(1);
  -        //while (threads-- > 0) {
  -/*
  -        try {
  -            JamesSpoolManager spoolMgr = new JamesSpoolManager();
  -            setupLogger( spoolMgr, "SpoolManager" );
  -            spoolMgr.configure(conf.getChild("spoolmanager"));
  -            spoolMgr.contextualize(context);
  -            spoolMgr.compose(compMgr);
  -            spoolMgr.initialize();
  -            workerPool.execute(spoolMgr);
  -            getLogger().info("SpoolManager started");
  -        } catch (Exception e) {
  -            getLogger().error("Exception in SpoolManager init: " + e.getMessage());
  -            throw e;
  -        }
  -*/
           System.out.println("James "+VERSION);
           getLogger().info("JAMES ...init end");
       }
  
  
  
  1.3       +24 -0     
jakarta-james/src/java/org/apache/james/core/AvalonMailStore.java
  
  Index: AvalonMailStore.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-james/src/java/org/apache/james/core/AvalonMailStore.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AvalonMailStore.java      2001/06/21 16:04:51     1.2
  +++ AvalonMailStore.java      2001/06/21 17:20:25     1.3
  @@ -23,6 +23,7 @@
   import org.apache.avalon.framework.logger.AbstractLoggable;
   import org.apache.james.services.MailRepository;
   import org.apache.james.services.MailStore;
  +import org.apache.james.services.SpoolRepository;
   import org.apache.log.LogKit;
   import org.apache.log.Logger;
   import org.apache.avalon.phoenix.Block;
  @@ -49,6 +50,8 @@
       protected Configuration          configuration;
       protected ComponentManager       componentManager;
   
  +    private SpoolRepository inboundSpool;
  +
       public void compose( final ComponentManager componentManager )
           throws ComponentException
       {
  @@ -73,6 +76,18 @@
           {
               registerRepository((Configuration) registeredClasses[i]);
           }
  +
  +
  +        Configuration spoolRepConf
  +          = configuration.getChild("spoolRepository").getChild("repository");
  +        try {
  +           inboundSpool  = (SpoolRepository) select(spoolRepConf);
  +        } catch (Exception e) {
  +            getLogger().error("Cannot open private SpoolRepository");
  +            throw e;
  +        }
  +        getLogger().info("SpoolRepository inboundSpool opened: "
  +                          + inboundSpool.hashCode());
           getLogger().info("James MailStore ...init");
       }
   
  @@ -176,4 +191,13 @@
       public static final String getName() {
           return REPOSITORY_NAME + id++;
       }
  +
  +    public SpoolRepository getInboundSpool() {
  +        if (inboundSpool != null) {
  +            return inboundSpool;
  +        } else {
  +            throw new RuntimeException("Inbound spool not defined");
  +        }
  +    }
  +
   }
  
  
  
  1.2       +14 -6     jakarta-james/src/java/org/apache/james/services/MailStore.java
  
  Index: MailStore.java
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/services/MailStore.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MailStore.java    2001/05/11 09:39:34     1.1
  +++ MailStore.java    2001/06/21 17:20:28     1.2
  @@ -13,19 +13,27 @@
    * Interface for an object which provides MailRepositories or SpoolRepositories
    *
    * <p>The select method requires a configuration object with the form:
  - *  <br><repository destinationURL="file://path-to-root-dir-for-repository"
  - *  <br>            type="MAIL"
  - *  <br>            model="SYNCHRONOUS"/>
  - *  <br></repository>
  - * <p>This configuration, including any included child elements, is used to 
configure 
  - * the returned component.
  + *  <br>&lt;repository destinationURL="file://path-to-root-dir-for-repository"
  + *  <br>            type="MAIL"&gt;
  + *  <br>&lt;/repository&gt;
  + * <p>This configuration, including any included child elements, is used to 
  + * configure the returned component.
    *
    * @version 1.0.0, 24/04/1999
    * @author  Federico Barbieri <[EMAIL PROTECTED]>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Charles Benett</a>
  + *
  + * This is $Revision: 1.2 $
  + * Committed on $Date: 2001/06/21 17:20:28 $ by: $Author: charlesb $ 
    */
   public interface MailStore 
       extends Store {
       // MailRepository getInbox(String user);
  +
  +    /**
  +     * Convenience method to get the inbound spool repository.
  +     */
  +    SpoolRepository getInboundSpool();
  +
   }
    
  
  
  
  1.3       +6 -12     
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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JamesSpoolManager.java    2001/06/21 16:04:52     1.2
  +++ JamesSpoolManager.java    2001/06/21 17:20:32     1.3
  @@ -35,14 +35,15 @@
    * @author Serge Knystautas <[EMAIL PROTECTED]>
    * @author Federico Barbieri <[EMAIL PROTECTED]>
    *
  - * This is $Revision: 1.2 $
  - * Committed on $Date: 2001/06/21 16:04:52 $ by: $Author: charlesb $ 
  + * This is $Revision: 1.3 $
  + * Committed on $Date: 2001/06/21 17:20:32 $ by: $Author: charlesb $ 
    */
   public class JamesSpoolManager
       extends AbstractLoggable
       implements Contextualizable, Composable, Configurable, Initializable,
                  Runnable, Disposable,  Block {
   
  +    private final static boolean DEEP_DEBUG = true;
       private DefaultComponentManager compMgr;
       //using implementation as we need put method.
       private Configuration conf;
  @@ -72,18 +73,11 @@
   
           getLogger().info("JamesSpoolManager init...");
           workerPool = blockContext.getThreadPool( "default" );
  -        Configuration spoolConf = conf.getChild("spoolRepository");
  -        Configuration spoolRepConf = spoolConf.getChild("repository");
           MailStore mailstore
             = (MailStore) compMgr.lookup("org.apache.james.services.MailStore");
  -        try {
  -            this.spool = (SpoolRepository) mailstore.select(spoolRepConf);
  -        } catch (Exception e) {
  -            getLogger().error("Cannot open private SpoolRepository");
  -            throw e;
  -        }
  -        getLogger().info("Private SpoolRepository Spool opened: "
  -                         + spool.hashCode());
  +        spool = mailstore.getInboundSpool();
  +        if (DEEP_DEBUG) getLogger().debug("Got spool");
  +
           mailetcontext
             = (MailetContext) compMgr.lookup("org.apache.mailet.MailetContext");
           MailetLoader mailetLoader = new MailetLoader();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to