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);
}