Author: norman
Date: Mon Aug 10 16:51:22 2009
New Revision: 802857

URL: http://svn.apache.org/viewvc?rev=802857&view=rev
Log:
Bind config parameters via properties file. Thx to Bob Lee to remember me on 
that ;)

Removed:
    labs/hupa/src/main/java/org/apache/hupa/server/annotations/
Modified:
    labs/hupa/src/main/java/org/apache/hupa/server/IMAPStoreCache.java
    labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java
    
labs/hupa/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
    
labs/hupa/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
    
labs/hupa/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
    
labs/hupa/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java

Modified: labs/hupa/src/main/java/org/apache/hupa/server/IMAPStoreCache.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/IMAPStoreCache.java?rev=802857&r1=802856&r2=802857&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/IMAPStoreCache.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/IMAPStoreCache.java Mon Aug 
10 16:51:22 2009
@@ -27,8 +27,7 @@
 import javax.mail.Session;
 
 import org.apache.commons.logging.Log;
-import org.apache.hupa.server.annotations.IMAPServerAddress;
-import org.apache.hupa.server.annotations.IMAPServerPort;
+import com.google.inject.name.Named;
 import org.apache.hupa.shared.data.User;
 
 import com.google.inject.Inject;
@@ -46,7 +45,7 @@
        private int port;
        
        @Inject
-       public IMAPStoreCache(Log logger,@IMAPServerAddress String address, 
@IMAPServerPort int port) {
+       public IMAPStoreCache(Log logger,@Named("IMAPServerAddress") String 
address, @Named("IMAPServerPort") int port) {
                this.logger = logger;
                this.address = address;
                this.port = port;

Modified: labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java?rev=802857&r1=802856&r2=802857&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/guice/ServerModul.java Mon 
Aug 10 16:51:22 2009
@@ -19,16 +19,14 @@
 
 package org.apache.hupa.server.guice;
 
+import java.net.URL;
+import java.util.Properties;
+
 import net.customware.gwt.dispatch.server.guice.ActionHandlerModule;
 
 import org.apache.commons.logging.Log;
 import org.apache.hupa.server.FileItemRegistry;
 import org.apache.hupa.server.IMAPStoreCache;
-import org.apache.hupa.server.annotations.IMAPServerAddress;
-import org.apache.hupa.server.annotations.IMAPServerPort;
-import org.apache.hupa.server.annotations.SMTPAuth;
-import org.apache.hupa.server.annotations.SMTPServerAddress;
-import org.apache.hupa.server.annotations.SMTPServerPort;
 import org.apache.hupa.server.handler.DeleteMessageHandler;
 import org.apache.hupa.server.handler.ExposeMessageHandler;
 import org.apache.hupa.server.handler.FetchFoldersHandler;
@@ -44,6 +42,7 @@
 import org.apache.hupa.server.servlet.UploadAttachmentServlet;
 
 import com.google.inject.Singleton;
+import com.google.inject.name.Names;
 
 /**
  * Module which binds the handlers and configurations
@@ -75,10 +74,27 @@
                bind(UploadAttachmentServlet.class).in(Singleton.class);        
                
                // bind addresses and ports for imap and smtp
-               
bind(String.class).annotatedWith(IMAPServerAddress.class).toInstance("myblog.kicks-ass.org");
-               
bind(Integer.class).annotatedWith(IMAPServerPort.class).toInstance(143);
-               
bind(String.class).annotatedWith(SMTPServerAddress.class).toInstance("myblog.kicks-ass.org");
-               
bind(Integer.class).annotatedWith(SMTPServerPort.class).toInstance(25);
-               
bind(Boolean.class).annotatedWith(SMTPAuth.class).toInstance(true);
+               Properties properties;
+               try {
+                       properties = loadProperties();
+                       Names.bindProperties(binder(), properties);
+
+               } catch (Exception e) {
+                       throw new RuntimeException("Unable to to configure",e);
+               }
+       }
+       
+       private Properties loadProperties() throws Exception {
+               Properties properties = new Properties();
+               String name = "config.properties";
+ 
+               ClassLoader loader = ServerModul.class.getClassLoader();
+               URL url = loader.getResource(name);
+               if ( url == null ) {
+                       url = loader.getResource("/"+name);
+               }
+               properties.load(url.openStream());
+               return properties;
        }
+
 }

Modified: 
labs/hupa/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java?rev=802857&r1=802856&r2=802857&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
 (original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
 Mon Aug 10 16:51:22 2009
@@ -50,9 +50,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.hupa.server.FileItemRegistry;
 import org.apache.hupa.server.IMAPStoreCache;
-import org.apache.hupa.server.annotations.SMTPAuth;
-import org.apache.hupa.server.annotations.SMTPServerAddress;
-import org.apache.hupa.server.annotations.SMTPServerPort;
 import org.apache.hupa.shared.data.MessageAttachment;
 import org.apache.hupa.shared.data.User;
 import org.apache.hupa.shared.rpc.EmptyResult;
@@ -60,6 +57,7 @@
 
 import com.google.inject.Inject;
 import com.google.inject.Provider;
+import com.google.inject.name.Named;
 import com.sun.mail.imap.IMAPFolder;
 import com.sun.mail.imap.IMAPStore;
 
@@ -76,7 +74,7 @@
        private final int port;
 
        @Inject
-       public AbstractSendMessageHandler(Log logger, FileItemRegistry 
registry,IMAPStoreCache store, Provider<HttpSession> 
provider,@SMTPServerAddress String address, @SMTPServerPort int port, @SMTPAuth 
boolean auth) {
+       public AbstractSendMessageHandler(Log logger, FileItemRegistry 
registry,IMAPStoreCache store, Provider<HttpSession> 
provider,@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") 
int port, @Named("SMTPAuth") boolean auth) {
                super(store,logger,provider);
                this.registry = registry;
                this.auth = auth;

Modified: 
labs/hupa/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java?rev=802857&r1=802856&r2=802857&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
 (original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
 Mon Aug 10 16:51:22 2009
@@ -39,13 +39,11 @@
 import org.apache.commons.logging.Log;
 import org.apache.hupa.server.FileItemRegistry;
 import org.apache.hupa.server.IMAPStoreCache;
-import org.apache.hupa.server.annotations.SMTPAuth;
-import org.apache.hupa.server.annotations.SMTPServerAddress;
-import org.apache.hupa.server.annotations.SMTPServerPort;
 import org.apache.hupa.shared.rpc.ForwardMessage;
 
 import com.google.inject.Inject;
 import com.google.inject.Provider;
+import com.google.inject.name.Named;
 import com.sun.mail.imap.IMAPFolder;
 import com.sun.mail.imap.IMAPStore;
 
@@ -54,7 +52,7 @@
        @Inject
        public ForwardMessageHandler(Log logger, FileItemRegistry registry,
                        IMAPStoreCache store, Provider<HttpSession> provider,
-                       @SMTPServerAddress String address,  @SMTPServerPort int 
port, @SMTPAuth boolean auth) {
+                       @Named("SMTPServerAddress") String address, 
@Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth) {
                super(logger, registry, store, provider, address, port, auth);
        }
 

Modified: 
labs/hupa/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java?rev=802857&r1=802856&r2=802857&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java 
(original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java 
Mon Aug 10 16:51:22 2009
@@ -33,13 +33,11 @@
 import org.apache.commons.logging.Log;
 import org.apache.hupa.server.FileItemRegistry;
 import org.apache.hupa.server.IMAPStoreCache;
-import org.apache.hupa.server.annotations.SMTPAuth;
-import org.apache.hupa.server.annotations.SMTPServerAddress;
-import org.apache.hupa.server.annotations.SMTPServerPort;
 import org.apache.hupa.shared.rpc.ReplyMessage;
 
 import com.google.inject.Inject;
 import com.google.inject.Provider;
+import com.google.inject.name.Named;
 import com.sun.mail.imap.IMAPFolder;
 import com.sun.mail.imap.IMAPStore;
 
@@ -48,7 +46,7 @@
        @Inject
        public ReplyMessageHandler(Log logger, FileItemRegistry registry,
                        IMAPStoreCache store, Provider<HttpSession> provider,
-                       @SMTPServerAddress String address, @SMTPServerPort int 
port, @SMTPAuth boolean auth) {
+                       @Named("SMTPServerAddress") String address, 
@Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth) {
                super(logger, registry, store, provider, address, port, auth);
        }
 

Modified: 
labs/hupa/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java?rev=802857&r1=802856&r2=802857&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java 
(original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java 
Mon Aug 10 16:51:22 2009
@@ -31,19 +31,17 @@
 import org.apache.commons.logging.Log;
 import org.apache.hupa.server.FileItemRegistry;
 import org.apache.hupa.server.IMAPStoreCache;
-import org.apache.hupa.server.annotations.SMTPAuth;
-import org.apache.hupa.server.annotations.SMTPServerAddress;
-import org.apache.hupa.server.annotations.SMTPServerPort;
 import org.apache.hupa.shared.rpc.SendMessage;
 
 import com.google.inject.Inject;
 import com.google.inject.Provider;
+import com.google.inject.name.Named;
 
 public class SendMessageHandler extends 
AbstractSendMessageHandler<SendMessage> {
 
        @Inject
        public SendMessageHandler(Log logger, FileItemRegistry registry,
-                       IMAPStoreCache store, Provider<HttpSession> 
provider,@SMTPServerAddress String address, @SMTPServerPort int port, @SMTPAuth 
boolean auth) {
+                       IMAPStoreCache store, Provider<HttpSession> 
provider,@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") 
int port, @Named("SMTPAuth") boolean auth) {
                super(logger, registry, store, provider, address, port, auth);
        }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to