You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by lh...@apache.org on 2009/08/27 13:54:47 UTC

svn commit: r808380 - /servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/MailPollerEndpoint.java

Author: lhein
Date: Thu Aug 27 11:54:47 2009
New Revision: 808380

URL: http://svn.apache.org/viewvc?rev=808380&view=rev
Log:
improved class to be more rules compliant (see SMXCOMP-520)

Modified:
    servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/MailPollerEndpoint.java

Modified: servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/MailPollerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/MailPollerEndpoint.java?rev=808380&r1=808379&r2=808380&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/MailPollerEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/MailPollerEndpoint.java Thu Aug 27 11:54:47 2009
@@ -56,7 +56,7 @@
 
     private AbstractMailMarshaler marshaler = new DefaultMailMarshaler();
 
-    private List<String> seenMessages = Collections.synchronizedList(new LinkedList<String>());
+    private final List<String> seenMessages = Collections.synchronizedList(new LinkedList<String>());
 
     private String customTrustManagers;
 
@@ -74,7 +74,7 @@
 
     private Map<String, String> customProperties;
 
-    private List<String> foundMessagesInFolder = Collections.synchronizedList(new LinkedList<String>());
+    private final List<String> foundMessagesInFolder = Collections.synchronizedList(new LinkedList<String>());
 
     private org.apache.servicemix.store.Store storage;
 
@@ -82,6 +82,8 @@
      * default constructor
      */
     public MailPollerEndpoint() {
+    	super();
+    	
         this.processOnlyUnseenMessages = true;
         this.deleteProcessedMessages = false;
         this.debugMode = false;
@@ -103,25 +105,30 @@
      * @see org.apache.servicemix.common.endpoints.PollingEndpoint#start()
      */
     @Override
+    @SuppressWarnings("unchecked")
     public synchronized void start() throws Exception {
         super.start();
 
-        if (this.storage != null) {
-            String id = config.getUsername() + " @ " + config.getHost();
-            try {
-                // load the list of seen messages
-                List<String> loadedMsg = (List<String>)this.storage.load(id);
-                if (loadedMsg != null && !loadedMsg.isEmpty()) {
-                    for (String uid : loadedMsg) {
-                        if (!this.seenMessages.contains(uid)) {
-                            this.seenMessages.add(uid);
-                        }
-                    }
-                    loadedMsg.clear();
-                }
-            } catch (IOException ioex) {
-                logger.error("Error loading seen messages for: " + id, ioex);
-            }
+        if (this.storage == null) {
+        	return;
+        }
+        	
+        String id = config.getUsername() + " @ " + config.getHost();
+        try {
+        	// load the list of seen messages
+        	List<String> loadedMsg = (List<String>)this.storage.load(id);
+        	if (loadedMsg == null || loadedMsg.isEmpty()) {
+        		return;
+        	}
+        		
+        	for (String uid : loadedMsg) {
+        		if (!this.seenMessages.contains(uid)) {
+        			this.seenMessages.add(uid);
+        		}
+        	}
+        	loadedMsg.clear();
+        } catch (IOException ioex) {
+        	logger.error("Error loading seen messages for: " + id, ioex);
         }
     }
 
@@ -218,11 +225,11 @@
                     // POP3 doesn't support flags, so we need to check manually
                     // if message is new or not
                     try {
-                        Object o_uid = folder.getClass().getMethod("getUID", new Class[] { Message.class }).invoke(folder, new Object[] { mailMsg });
+                        Object ouid = folder.getClass().getMethod("getUID", new Class[] { Message.class }).invoke(folder, new Object[] { mailMsg });
                         
                         // remember each found message
-                        if (o_uid != null) {
-                            uid = (String)o_uid;
+                        if (ouid != null) {
+                            uid = (String)ouid;
                             foundMessagesInFolder.add(uid);
                         }