Changeset 176

Show
Ignore:
Timestamp:
01/08/08 21:56:26 (1 year ago)
Author:
jfp
Message:

refactor

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/jsmtpd/src/org/jsmtpd/Controler.java

    r175 r176  
    126126            return false; 
    127127        } 
    128         log.info("Jsmtpd " + ReadConfig.getInstance().getVersion() + ", Copyright (C) 2005 Jean-Francois Poux - jfp@jsmtpd.org"); 
     128        log.info("Jsmtpd " + ReadConfig.getInstance().getProperty("version") + ", Copyright (C) 2005 Jean-Francois Poux - jfp@jsmtpd.org"); 
    129129        log.info("Jsmtpd comes with ABSOLUTELY NO WARRANTY;"); 
    130130        log.info("This is free software, and you are welcome to redistribute it under certain conditions;"); 
     
    232232    public boolean initReceiver() { 
    233233        try { 
    234             rec = new Receiver(ReadConfig.getInstance().getRPort(), ReadConfig.getInstance().getRMaxInstances()); 
    235             if ("on".equals(ReadConfig.getInstance().getProps().getProperty("ssl"))) { 
    236                 int sslPort = Integer.parseInt(ReadConfig.getInstance().getProps().getProperty("sslPort")); 
    237                 sslReceiver = new SslReceiver(sslPort, ReadConfig.getInstance().getRMaxInstances()); 
     234            rec = new Receiver(ReadConfig.getInstance().getIntegerProperty("rPort"), ReadConfig.getInstance().getIntegerProperty("rMaxInstances")); 
     235            if ("on".equals(ReadConfig.getInstance().getProperty("ssl"))) { 
     236                int sslPort = Integer.parseInt(ReadConfig.getInstance().getProperty("sslPort")); 
     237                sslReceiver = new SslReceiver(sslPort, ReadConfig.getInstance().getIntegerProperty("rMaxInstances")); 
    238238            } 
    239239        } catch (IOException e1) { 
  • trunk/jsmtpd/src/org/jsmtpd/config/ReadConfig.java

    r174 r176  
    3030 * @author Jean-Francois POUX 
    3131 */ 
    32 public class ReadConfig { 
    33  
    34     Properties props = new Properties(); 
     32public class ReadConfig extends Properties { 
    3533    private static ReadConfig instance = null; 
    3634 
    37     public Properties getProps() { 
    38                 return props; 
    39         } 
    40  
    41         private ReadConfig() { 
    42  
    43     } 
     35        private ReadConfig() {} 
    4436 
    4537    public static ReadConfig getInstance() { 
     
    5648    public void loadConfig(String configFile) throws ConfigErrorException { 
    5749        try { 
    58             props.load(new FileInputStream(configFile)); 
     50            this.load(new FileInputStream(configFile)); 
    5951        } catch (Exception e) { 
    6052            throw new ConfigErrorException(e); 
     
    6254    } 
    6355 
    64     /** 
    65      * @return the version of jsmtpd 
    66      */ 
    67     public String getVersion() { 
    68         return (props.getProperty("version", "NA")); 
     56    public int getIntegerProperty (String name) { 
     57        return Integer.parseInt(name); 
    6958    } 
    70  
    71     /** 
    72      * @return the tcp port where the listener is bound to 
    73      */ 
    74     public int getRPort() { 
    75         return Integer.parseInt(props.getProperty("rPort", "25").trim()); 
     59     
     60    public boolean getBooleanProperty (String name) { 
     61        return Boolean.parseBoolean(name); 
    7662    } 
    77  
    78     /** 
    79      * @return number of threads to be spawn for handling receiving service 
    80      */ 
    81     public int getRMaxInstances() { 
    82         return Integer.parseInt(props.getProperty("rMaxInstances", "10").trim()); 
    83     } 
    84  
    85     /** 
    86      *  
    87      * @return the temporary path where to store the mails 
    88      */ 
    89     public String getTempPath() { 
    90         return props.getProperty("temporaryFolder", "tmp/"); 
    91     } 
    92  
    93     /** 
    94      * @return maximum temporary disk usage in Mo 
    95      */ 
    96     public int getMaxTemporarySize() { 
    97         return Integer.parseInt(props.getProperty("maxTemporarySize", "1024").trim()); 
    98     } 
    99  
    100     /** 
    101      *  
    102      * @return maximum incoming message size in Mo 
    103      */ 
    104     public int getMaxMessageSize() { 
    105         return Integer.parseInt(props.getProperty("maxMessageSize", "10").trim()); 
    106     } 
    107  
    108     /** 
    109      *  
    110      * @return all connections are aborted after this time in seconds 
    111      */ 
    112     public int getConnectionTimeout() { 
    113         return Integer.parseInt(props.getProperty("connectionTimeout", "20").trim()); 
    114     } 
    115  
    116     /** 
    117      * @return local domain name, must be FQDN 
    118      */ 
    119     public String getLocalDomain() { 
    120         return props.getProperty("localHost", "taldius.ath.cxx").trim(); 
    121     } 
    122  
    123     /** 
    124      * @return number of thread spawn fo delivery service 
    125      */ 
    126     public int getDMaxInstances() { 
    127         return Integer.parseInt(props.getProperty("dMaxInstances", "10").trim()); 
    128     } 
    129  
     63     
    13064    /** 
    13165     *  
     
    13367     */ 
    13468    public boolean getSafeMode() { 
    135         if (props.getProperty("safeMode", "on").trim().equals("on")) 
     69        if (getProperty("safeMode", "on").trim().equals("on")) 
    13670            return true; 
    13771        return false; 
    138     } 
    139  
    140     /** 
    141      *  
    142      * @return path to store any mails in safe mode 
    143      */ 
    144     public String getSafeModePath() { 
    145         return props.getProperty("safeModeFolder", "safeModeFolder/"); 
    146     } 
    147     /** 
    148      * @return number of retries before a mail is lost 
    149      */ 
    150     public int getMaxRetries() { 
    151         return Integer.parseInt(props.getProperty("dNumRetry", "48").trim()); 
    152     } 
    153     /** 
    154      * @return delay between retries in minutes 
    155      */ 
    156     public int getDelayRetry() { 
    157         return Integer.parseInt(props.getProperty("dDelayRetry", "30").trim()); 
    158     } 
    159      
    160     public String getSyslog() { 
    161         return props.getProperty("syslogServer", ""); 
    162     } 
    163     public int getMaxRcpt () { 
    164         return Integer.parseInt(props.getProperty("maxRcpt","100")); 
    165     } 
     72    }     
    16673} 
  • trunk/jsmtpd/src/org/jsmtpd/core/receive/ProtocolHandler.java

    r175 r176  
    103103     * Maximum message size, in ko. 
    104104     */ 
    105     private int maxMessageSize = ReadConfig.getInstance().getMaxMessageSize(); 
     105    private int maxMessageSize = ReadConfig.getInstance().getIntegerProperty("maxMessageSize"); 
    106106    /** 
    107107     * Connection will fail after this timeout 
    108108     */ 
    109     private int timeout = ReadConfig.getInstance().getConnectionTimeout(); 
     109    private int timeout = ReadConfig.getInstance().getIntegerProperty("connectionTimeout"); 
    110110    /** 
    111111     * ACL pluggin to use to check if this mail is to be accepted or not 
     
    121121     * Our hostname 
    122122     */ 
    123     private String localHost = ReadConfig.getInstance().getLocalDomain(); 
     123    private String localHost = ReadConfig.getInstance().getProperty("localHost"); 
    124124 
    125125    /** 
     
    155155    private String authContext = null; 
    156156     
    157     private int maxRcpt =ReadConfig.getInstance().getMaxRcpt(); 
     157    private int maxRcpt =ReadConfig.getInstance().getIntegerProperty("maxRcpt"); 
    158158     
    159159    public void init(Socket sock,boolean secured) { 
  • trunk/jsmtpd/src/org/jsmtpd/core/receive/SslReceiver.java

    r174 r176  
    2323         
    2424        public void initSslEnv() { 
    25                 URL url = this.getClass().getClassLoader().getResource(ReadConfig.getInstance().getProps().getProperty("sslKeystore")); 
     25                URL url = this.getClass().getClassLoader().getResource(ReadConfig.getInstance().getProperty("sslKeystore")); 
    2626        if (url != null) { 
    2727            String ks = url.getFile(); 
    2828            System.setProperty("javax.net.ssl.keyStore", ks); 
    29             System.setProperty("javax.net.ssl.keyStorePassword", ReadConfig.getInstance().getProps().getProperty("sslPassword")); 
     29            System.setProperty("javax.net.ssl.keyStorePassword", ReadConfig.getInstance().getProperty("sslPassword")); 
    3030        } else { 
    3131            log.info("keystore file not found, SSL not available"); 
  • trunk/jsmtpd/src/org/jsmtpd/core/send/DeliveryHandler.java

    r175 r176  
    6767     
    6868    public DeliveryHandler() { 
    69         ReadConfig cfg = ReadConfig.getInstance(); 
     69        ReadConfig readConfig = ReadConfig.getInstance(); 
    7070        acl = PluginStore.getInstance().getAcl(); 
    7171        local = PluginStore.getInstance().getLocalDeliveryService(); 
    7272        remote = PluginStore.getInstance().getRemoteDeliveryService(); 
    7373        dsvc = QueueService.getInstance(); 
    74         runningHost=cfg.getLocalDomain(); 
    75         maxRetries = cfg.getMaxRetries(); 
    76         retryDelay = cfg.getDelayRetry(); 
     74        runningHost=readConfig.getProperty("localHost"); 
     75        maxRetries = readConfig.getIntegerProperty("dNumRetry"); 
     76        retryDelay = readConfig.getIntegerProperty("dDelayRetry"); 
    7777    } 
    7878 
  • trunk/jsmtpd/src/org/jsmtpd/core/send/DeliveryPicker.java

    r142 r176  
    3838 
    3939    public DeliveryPicker() throws InstantiationException, IllegalAccessException, ClassNotFoundException { 
    40         ReadConfig cfg = ReadConfig.getInstance(); 
     40        ReadConfig readConfig = ReadConfig.getInstance(); 
    4141        queueService= QueueService.getInstance(); 
    42         int numThreads = cfg.getDMaxInstances(); 
     42        int numThreads = readConfig.getIntegerProperty("dMaxInstances"); 
    4343        pool = new GrowingThreadPool(numThreads, "org.jsmtpd.core.send.DeliveryWorker","S"); 
    4444        this.start(); 
  • trunk/jsmtpd/src/org/jsmtpd/core/send/QueueService.java

    r175 r176  
    218218 
    219219    private QueueService() { 
    220         ReadConfig cfg = ReadConfig.getInstance(); 
    221         tempPath = cfg.getTempPath(); 
    222         retryDelay = cfg.getDelayRetry() * 60 * 1000; 
     220        ReadConfig readConfig = ReadConfig.getInstance(); 
     221        tempPath = readConfig.getProperty("temporaryFolder"); 
     222        retryDelay = readConfig.getIntegerProperty("dDelayRetry") * 60 * 1000; 
    223223        retryDir = new File(tempPath + "/mqueue/retry"); 
    224224        pendingDir = new File(tempPath + "/mqueue/pending"); 
    225         fastServ = cfg.getDMaxInstances() * 2; 
     225        fastServ = readConfig.getIntegerProperty("dMaxInstances") * 2; 
    226226        log.debug("Buffer set to " + fastServ + " messages max for immediate processing"); 
    227         maxDiskSize = cfg.getMaxTemporarySize() * 1048576; 
     227        maxDiskSize = readConfig.getIntegerProperty("maxTemporarySize") * 1048576; 
    228228        initDiskCount(new File(tempPath)); 
    229229        log.debug("Storage usage "+getStorageStats()); 
    230         safeMode = cfg.getSafeMode(); 
     230        safeMode = readConfig.getSafeMode(); 
    231231        if (safeMode) 
    232232            log.info("Safe Mode on"); 
    233         safeModePath = cfg.getSafeModePath(); 
     233        safeModePath = readConfig.getProperty("safeModeFolder"); 
    234234    } 
    235235    private String getStorageStats () { 
  • trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/MaildirWriter.java

    r140 r176  
    5656        private String basePath="/var/mail"; 
    5757        private String postPath=""; 
    58         private String host = ReadConfig.getInstance().getLocalDomain(); 
     58        private String host = ReadConfig.getInstance().getProperty("localHost"); 
    5959        private Log log = LogFactory.getLog(MaildirWriter.class); 
    6060        private IChown chown = new UnixChown(); 
  • trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/RemoteSmtpSender.java

    r163 r176  
    129129     */ 
    130130    public void initPlugin() throws PluginInitException { 
    131         smtpHostName = ReadConfig.getInstance().getLocalDomain(); 
     131        smtpHostName = ReadConfig.getInstance().getProperty("localHost"); 
    132132        try { 
    133133            Inet4Address localhost = (Inet4Address) InetAddress.getByName("127.0.0.1"); 
  • trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/SMTPRelay.java

    r136 r176  
    114114 
    115115    public void initPlugin() throws PluginInitException { 
    116         smtpHostName = ReadConfig.getInstance().getLocalDomain(); 
     116        smtpHostName = ReadConfig.getInstance().getProperty("localHost"); 
    117117    } 
    118118