diff --git a/spring-batch-infrastructure/.settings/org.maven.ide.eclipse.prefs b/spring-batch-infrastructure/.settings/org.maven.ide.eclipse.prefs index 993c4b407..12a52787e 100644 --- a/spring-batch-infrastructure/.settings/org.maven.ide.eclipse.prefs +++ b/spring-batch-infrastructure/.settings/org.maven.ide.eclipse.prefs @@ -1,4 +1,4 @@ -#Tue Jul 07 11:35:38 BST 2009 +#Wed Jan 13 12:53:06 GMT 2010 activeProfiles= eclipse.preferences.version=1 fullBuildGoals=process-test-resources diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/DefaultMailErrorHandler.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/DefaultMailErrorHandler.java index 082623131..d90d2ea7d 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/DefaultMailErrorHandler.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/DefaultMailErrorHandler.java @@ -15,8 +15,6 @@ */ package org.springframework.batch.item.mail; -import javax.mail.MessagingException; - import org.springframework.mail.MailException; import org.springframework.mail.MailMessage; import org.springframework.mail.MailSendException; @@ -48,14 +46,14 @@ public class DefaultMailErrorHandler implements MailErrorHandler { /** * Wraps the input exception with a runtime {@link MailException}. The - * exception message will contain the failed message. + * exception message will contain the failed message (using toString). * * @param message a failed message * @param exception a MessagingException - * @throws MailException a translation of the MessagingException - * @see MailErrorHandler#handle(MailMessage, MessagingException) + * @throws MailException a translation of the Exception + * @see MailErrorHandler#handle(MailMessage, Exception) */ - public void handle(MailMessage message, MessagingException exception) throws MailException { + public void handle(MailMessage message, Exception exception) throws MailException { String msg = message.toString(); throw new MailSendException("Mail server send failed: " + msg.substring(0, Math.min(maxMessageLength, msg.length())), exception); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/MailErrorHandler.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/MailErrorHandler.java index f5268b48e..a6a09dcf8 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/MailErrorHandler.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/MailErrorHandler.java @@ -15,8 +15,6 @@ */ package org.springframework.batch.item.mail; -import javax.mail.MessagingException; - import org.springframework.mail.MailException; import org.springframework.mail.MailMessage; @@ -33,13 +31,14 @@ public interface MailErrorHandler { /** * This method will be called for each message that failed sending in the - * chunk. If an exception is thrown from this method, then it will propagate - * to the caller. - * + * chunk. If the failed message is needed by the handler it will need to be + * downcast according to its runtime type. If an exception is thrown from + * this method, then it will propagate to the caller. + * * @param message the failed message * @param exception the exception that caused the failure * @throws MailException if the exception cannot be handled */ - public void handle(MailMessage message, MessagingException exception) throws MailException; + public void handle(MailMessage message, Exception exception) throws MailException; } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/SimpleMailMessageItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/SimpleMailMessageItemWriter.java index cad5d38d3..0421d10e3 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/SimpleMailMessageItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/SimpleMailMessageItemWriter.java @@ -19,8 +19,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import javax.mail.MessagingException; - import org.springframework.batch.item.ItemWriter; import org.springframework.beans.factory.InitializingBean; import org.springframework.mail.MailException; @@ -104,7 +102,7 @@ public class SimpleMailMessageItemWriter implements ItemWriter failedMessages = e.getFailedMessages(); for (Entry entry : failedMessages.entrySet()) { - mailErrorHandler.handle((SimpleMailMessage) entry.getKey(), (MessagingException) entry.getValue()); + mailErrorHandler.handle((SimpleMailMessage) entry.getKey(), entry.getValue()); } } } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/javamail/MimeMessageItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/javamail/MimeMessageItemWriter.java index 00e3e3ca1..ec2019e48 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/javamail/MimeMessageItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/mail/javamail/MimeMessageItemWriter.java @@ -19,7 +19,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.springframework.batch.item.ItemWriter; @@ -108,7 +107,7 @@ public class MimeMessageItemWriter implements ItemWriter { @SuppressWarnings("unchecked") Map failedMessages = e.getFailedMessages(); for (Entry entry : failedMessages.entrySet()) { - mailErrorHandler.handle(new MimeMailMessage((MimeMessage)entry.getKey()), (MessagingException)entry.getValue()); + mailErrorHandler.handle(new MimeMailMessage((MimeMessage)entry.getKey()), entry.getValue()); } } } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/DefaultMailErrorHandlerTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/DefaultMailErrorHandlerTests.java index 2783b7bc7..03f218316 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/DefaultMailErrorHandlerTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/DefaultMailErrorHandlerTests.java @@ -52,7 +52,7 @@ public class DefaultMailErrorHandlerTests { } /** - * Test method for {@link DefaultMailErrorHandler#handle(MailMessage, MessagingException)}. + * Test method for {@link DefaultMailErrorHandler#handle(MailMessage, Exception)}. */ @Test(expected=MailSendException.class) public void testHandle() { diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/SimpleMailMessageItemWriterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/SimpleMailMessageItemWriterTests.java index 726957e47..b509f90a1 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/SimpleMailMessageItemWriterTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/SimpleMailMessageItemWriterTests.java @@ -89,7 +89,7 @@ public class SimpleMailMessageItemWriterTests { final AtomicReference content = new AtomicReference(); writer.setMailErrorHandler(new MailErrorHandler() { - public void handle(MailMessage message, MessagingException exception) throws MailException { + public void handle(MailMessage message, Exception exception) throws MailException { content.set(exception.getMessage()); } }); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/javamail/MimeMessageItemWriterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/javamail/MimeMessageItemWriterTests.java index 53e21e502..c0bb8ae04 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/javamail/MimeMessageItemWriterTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/mail/javamail/MimeMessageItemWriterTests.java @@ -94,7 +94,7 @@ public class MimeMessageItemWriterTests { final AtomicReference content = new AtomicReference(); writer.setMailErrorHandler(new MailErrorHandler() { - public void handle(MailMessage message, MessagingException exception) throws MailException { + public void handle(MailMessage message, Exception exception) throws MailException { content.set(exception.getMessage()); } }); diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/domain/mail/internal/TestMailErrorHandler.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/domain/mail/internal/TestMailErrorHandler.java index f2fbf5fc8..4b18f54c8 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/domain/mail/internal/TestMailErrorHandler.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/domain/mail/internal/TestMailErrorHandler.java @@ -18,7 +18,6 @@ package org.springframework.batch.sample.domain.mail.internal; import java.util.ArrayList; import java.util.List; -import javax.mail.MessagingException; import org.springframework.batch.item.mail.MailErrorHandler; import org.springframework.mail.MailMessage; @@ -37,7 +36,7 @@ public class TestMailErrorHandler implements MailErrorHandler { private List failedMessages = new ArrayList(); - public void handle(MailMessage failedMessage, MessagingException ex) { + public void handle(MailMessage failedMessage, Exception ex) { this.failedMessages.add(failedMessage); System.out.println("Mail message failed: " + failedMessage); System.out.println(ex);