001    package org.tynamo.watchdog.services;
002    
003    import java.io.IOException;
004    import java.util.Properties;
005    
006    import org.apache.tapestry5.ioc.MappedConfiguration;
007    import org.apache.tapestry5.ioc.ServiceBinder;
008    
009    import tynamo_watchdog.Watchdog;
010    
011    public class WatchdogModule {
012            private static final String version;
013            public static final String javamailSpec;
014            public static final String javamailProvider;
015            static {
016                    Properties moduleProperties = new Properties();
017                    String aVersion = "unversioned";
018                    String aJavamailSpec = "unknown";
019                    String aJavamailProvider = "unknown";
020                    try {
021                            moduleProperties.load(WatchdogModule.class.getResourceAsStream("module.properties"));
022                            aVersion = moduleProperties.getProperty("module.version");
023                            aJavamailSpec = moduleProperties.getProperty("javamail.spec");
024                            aJavamailProvider = moduleProperties.getProperty("javamail.provider");
025                    } catch (IOException e) {
026                            // ignore
027                    }
028                    version = aVersion;
029                    javamailSpec = aJavamailSpec;
030                    javamailProvider = aJavamailProvider;
031            }
032    
033            public static void bind(ServiceBinder binder) {
034                    binder.bind(WatchdogService.class, WatchdogServiceImpl.class);
035            }
036    
037            // FIXME should you contribute factory defaults for smtp.host and smtp.port?
038            public static void contributeFactoryDefaults(MappedConfiguration<String, String> configuration) {
039                    configuration.add(Watchdog.KEEPALIVE_INTERVAL, "5000");
040                    configuration.add(Watchdog.FINALALARM_DELAY, "60000");
041            }
042    }