diff --git a/spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java b/spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java index c8117d9491..0070988ac4 100644 --- a/spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java +++ b/spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java @@ -44,11 +44,11 @@ import org.springframework.util.StringUtils; * @author Oleg Zhurakousky * @since 2.0 */ -public class FileTransferringMessageHandler extends AbstractMessageHandler { +public class FileTransferringMessageHandler extends AbstractMessageHandler { private volatile String temporaryFileSuffix =".writing"; - private final SessionFactory sessionFactory; + private final SessionFactory sessionFactory; private volatile boolean autoCreateDirectory = false; @@ -65,7 +65,7 @@ public class FileTransferringMessageHandler extends AbstractMessageHandler { private volatile String remoteFileSeparator = "/"; - public FileTransferringMessageHandler(SessionFactory sessionFactory) { + public FileTransferringMessageHandler(SessionFactory sessionFactory) { Assert.notNull(sessionFactory, "sessionFactory must not be null"); this.sessionFactory = sessionFactory; } @@ -120,7 +120,7 @@ public class FileTransferringMessageHandler extends AbstractMessageHandler { protected void handleMessageInternal(Message message) throws Exception { File file = this.redeemForStorableFile(message); if (file != null && file.exists()) { - Session session = this.sessionFactory.getSession(); + Session session = this.sessionFactory.getSession(); try { String remoteDirectory = this.directoryExpressionProcessor.processMessage(message); String temporaryRemoteDirectory = remoteDirectory; @@ -191,7 +191,7 @@ public class FileTransferringMessageHandler extends AbstractMessageHandler { } } - private void sendFileToRemoteDirectory(File file, String temporaryRemoteDirectory, String remoteDirectory, String fileName, Session session) + private void sendFileToRemoteDirectory(File file, String temporaryRemoteDirectory, String remoteDirectory, String fileName, Session session) throws FileNotFoundException, IOException { remoteDirectory = this.normalizeDirectoryPath(remoteDirectory); diff --git a/spring-integration-file/src/test/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandlerTests.java b/spring-integration-file/src/test/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandlerTests.java index ebee8103a4..f0b64968a7 100644 --- a/spring-integration-file/src/test/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandlerTests.java +++ b/spring-integration-file/src/test/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandlerTests.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.integration.file.remote.handler; import java.io.InputStream; @@ -36,21 +37,19 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; - /** * @author Oleg Zhurakousky - * */ public class FileTransferringMessageHandlerTests { - @SuppressWarnings("rawtypes") + @SuppressWarnings("unchecked") @Test - public void testRemoteDirWithEmptyString() throws Exception{ - SessionFactory sf = mock(SessionFactory.class); - Session session = mock(Session.class); + public void testRemoteDirWithEmptyString() throws Exception{ + SessionFactory sf = mock(SessionFactory.class); + Session session = mock(Session.class); when(sf.getSession()).thenReturn(session); - doAnswer(new Answer() { + doAnswer(new Answer() { public Object answer(InvocationOnMock invocation) throws Throwable { String path = (String) invocation.getArguments()[1]; assertFalse(path.startsWith("/")); @@ -58,21 +57,21 @@ public class FileTransferringMessageHandlerTests { } }).when(session).rename(Mockito.anyString(), Mockito.anyString()); ExpressionParser parser = new SpelExpressionParser(); - FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sf); + FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sf); handler.setRemoteDirectoryExpression(parser.parseExpression("''")); handler.afterPropertiesSet(); handler.handleMessage(new GenericMessage("hello")); verify(session, times(1)).write(Mockito.any(InputStream.class), Mockito.anyString()); } - - @SuppressWarnings("rawtypes") + + @SuppressWarnings("unchecked") @Test - public void testRemoteDirWithNull() throws Exception{ - SessionFactory sf = mock(SessionFactory.class); - Session session = mock(Session.class); + public void testRemoteDirWithNull() throws Exception{ + SessionFactory sf = mock(SessionFactory.class); + Session session = mock(Session.class); when(sf.getSession()).thenReturn(session); - doAnswer(new Answer() { + doAnswer(new Answer() { public Object answer(InvocationOnMock invocation) throws Throwable { String path = (String) invocation.getArguments()[1]; assertFalse(path.startsWith("/")); @@ -80,7 +79,7 @@ public class FileTransferringMessageHandlerTests { } }).when(session).rename(Mockito.anyString(), Mockito.anyString()); ExpressionParser parser = new SpelExpressionParser(); - FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sf); + FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sf); handler.setRemoteDirectoryExpression(parser.parseExpression("headers['path']")); handler.afterPropertiesSet(); Message message = MessageBuilder.withPayload("hello").setHeader("path", null).build(); diff --git a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParserTests.java b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParserTests.java index fe93825636..4fbb9145e4 100644 --- a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParserTests.java +++ b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParserTests.java @@ -51,7 +51,7 @@ public class FtpOutboundChannelAdapterParserTests { PublishSubscribeChannel channel = ac.getBean("ftpChannel", PublishSubscribeChannel.class); assertEquals(channel, TestUtils.getPropertyValue(consumer, "inputChannel")); assertEquals("ftpOutbound", ((EventDrivenConsumer)consumer).getComponentName()); - FileTransferringMessageHandler handler = (FileTransferringMessageHandler) TestUtils.getPropertyValue(consumer, "handler"); + FileTransferringMessageHandler handler = TestUtils.getPropertyValue(consumer, "handler", FileTransferringMessageHandler.class); String remoteFileSeparator = (String) TestUtils.getPropertyValue(handler, "remoteFileSeparator"); assertNotNull(remoteFileSeparator); assertEquals(".foo", TestUtils.getPropertyValue(handler, "temporaryFileSuffix", String.class)); diff --git a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParserTests.java b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParserTests.java index 1cb550f5aa..0e63927c3a 100644 --- a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParserTests.java +++ b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParserTests.java @@ -43,7 +43,7 @@ public class FtpsOutboundChannelAdapterParserTests { assertTrue(consumer instanceof EventDrivenConsumer); assertEquals(ac.getBean("ftpChannel"), TestUtils.getPropertyValue(consumer, "inputChannel")); assertEquals("ftpOutbound", ((EventDrivenConsumer)consumer).getComponentName()); - FileTransferringMessageHandler handler = (FileTransferringMessageHandler) TestUtils.getPropertyValue(consumer, "handler"); + FileTransferringMessageHandler handler = TestUtils.getPropertyValue(consumer, "handler", FileTransferringMessageHandler.class); assertEquals(ac.getBean("fileNameGenerator"), TestUtils.getPropertyValue(handler, "fileNameGenerator")); assertEquals("UTF-8", TestUtils.getPropertyValue(handler, "charset")); assertNotNull(TestUtils.getPropertyValue(handler, "temporaryDirectory")); diff --git a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpSendingMessageHandlerTest.java b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpSendingMessageHandlerTests.java similarity index 90% rename from spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpSendingMessageHandlerTest.java rename to spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpSendingMessageHandlerTests.java index b64ef9de21..c31cfccd05 100644 --- a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpSendingMessageHandlerTest.java +++ b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpSendingMessageHandlerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2010 the original author or authors. + * Copyright 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,12 +26,12 @@ import java.io.FileOutputStream; import java.io.InputStream; import org.apache.commons.net.ftp.FTPClient; +import org.apache.commons.net.ftp.FTPFile; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; - import org.springframework.expression.common.LiteralExpression; import org.springframework.integration.Message; import org.springframework.integration.file.FileNameGenerator; @@ -43,7 +43,7 @@ import org.springframework.util.FileCopyUtils; /** * @author Oleg Zhurakousky */ -public class FtpSendingMessageHandlerTest { +public class FtpSendingMessageHandlerTests { private static FTPClient ftpClient; private TestFtpSessionFactory sessionFactory; @@ -58,7 +58,6 @@ public class FtpSendingMessageHandlerTest { //sessionFactory.setRemoteWorkingDirectory("remote-test-dir"); } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Test public void testHandleFileContentMessage() throws Exception { File file = new File("remote-target-dir/handlerContent.test"); @@ -66,7 +65,7 @@ public class FtpSendingMessageHandlerTest { file.delete(); } assertFalse(file.exists()); - FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); + FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); handler.setRemoteDirectoryExpression(new LiteralExpression("remote-target-dir")); handler.setFileNameGenerator(new FileNameGenerator() { public String generateFileName(Message message) { @@ -74,9 +73,10 @@ public class FtpSendingMessageHandlerTest { } }); handler.afterPropertiesSet(); - handler.handleMessage(new GenericMessage("hello")); + handler.handleMessage(new GenericMessage("hello")); assertTrue(file.exists()); } + @Test public void testHandleFileAsByte() throws Exception { File file = new File("remote-target-dir/handlerContent.test"); @@ -84,7 +84,7 @@ public class FtpSendingMessageHandlerTest { file.delete(); } assertFalse(file.exists()); - FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); + FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); handler.setRemoteDirectoryExpression(new LiteralExpression("remote-target-dir")); handler.setFileNameGenerator(new FileNameGenerator() { public String generateFileName(Message message) { @@ -103,7 +103,7 @@ public class FtpSendingMessageHandlerTest { file.delete(); } assertFalse(file.exists()); - FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); + FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); handler.setRemoteDirectoryExpression(new LiteralExpression("remote-target-dir")); handler.setFileNameGenerator(new FileNameGenerator() { public String generateFileName(Message message) { diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/OutboundChannelAdapterParserTests.java b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/OutboundChannelAdapterParserTests.java index eeb6af082a..a20917882a 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/OutboundChannelAdapterParserTests.java +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/OutboundChannelAdapterParserTests.java @@ -58,7 +58,7 @@ public class OutboundChannelAdapterParserTests { PublishSubscribeChannel channel = context.getBean("inputChannel", PublishSubscribeChannel.class); assertEquals(channel, TestUtils.getPropertyValue(consumer, "inputChannel")); assertEquals("sftpOutboundAdapter", ((EventDrivenConsumer)consumer).getComponentName()); - FileTransferringMessageHandler handler = (FileTransferringMessageHandler) TestUtils.getPropertyValue(consumer, "handler"); + FileTransferringMessageHandler handler = TestUtils.getPropertyValue(consumer, "handler", FileTransferringMessageHandler.class); String remoteFileSeparator = (String) TestUtils.getPropertyValue(handler, "remoteFileSeparator"); assertNotNull(remoteFileSeparator); assertEquals(".", remoteFileSeparator); @@ -94,7 +94,7 @@ public class OutboundChannelAdapterParserTests { assertTrue(consumer instanceof EventDrivenConsumer); assertEquals(context.getBean("inputChannel"), TestUtils.getPropertyValue(consumer, "inputChannel")); assertEquals("sftpOutboundAdapterWithExpression", ((EventDrivenConsumer)consumer).getComponentName()); - FileTransferringMessageHandler handler = (FileTransferringMessageHandler) TestUtils.getPropertyValue(consumer, "handler"); + FileTransferringMessageHandler handler = TestUtils.getPropertyValue(consumer, "handler", FileTransferringMessageHandler.class); SpelExpression remoteDirectoryExpression = (SpelExpression) TestUtils.getPropertyValue(handler, "directoryExpressionProcessor.expression"); assertNotNull(remoteDirectoryExpression); assertEquals("'foo' + '/' + 'bar'", remoteDirectoryExpression.getExpressionString()); diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpSendingMessageHandlerTests.java b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpSendingMessageHandlerTests.java index 260e9b0ac4..d52cc27f36 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpSendingMessageHandlerTests.java +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpSendingMessageHandlerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2010 the original author or authors. + * Copyright 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -57,7 +57,7 @@ public class SftpSendingMessageHandlerTests { file.delete(); } SessionFactory sessionFactory = new TestSftpSessionFactory(); - FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); + FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); DefaultFileNameGenerator fGenerator = new DefaultFileNameGenerator(); fGenerator.setExpression("payload + '.test'"); handler.setFileNameGenerator(fGenerator); @@ -74,7 +74,7 @@ public class SftpSendingMessageHandlerTests { file.delete(); } SessionFactory sessionFactory = new TestSftpSessionFactory(); - FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); + FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); DefaultFileNameGenerator fGenerator = new DefaultFileNameGenerator(); fGenerator.setExpression("'foo.txt'"); handler.setFileNameGenerator(fGenerator); @@ -84,24 +84,24 @@ public class SftpSendingMessageHandlerTests { assertTrue(new File("remote-target-dir", "foo.txt").exists()); } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Test public void testHandleBytesMessage() throws Exception { File file = new File("remote-target-dir", "foo.txt"); if (file.exists()){ file.delete(); } - SessionFactory sessionFactory = new TestSftpSessionFactory(); - FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); + SessionFactory sessionFactory = new TestSftpSessionFactory(); + FileTransferringMessageHandler handler = new FileTransferringMessageHandler(sessionFactory); DefaultFileNameGenerator fGenerator = new DefaultFileNameGenerator(); fGenerator.setExpression("'foo.txt'"); handler.setFileNameGenerator(fGenerator); handler.setRemoteDirectoryExpression(new LiteralExpression("remote-target-dir")); - handler.handleMessage(new GenericMessage("hello".getBytes())); + handler.handleMessage(new GenericMessage("hello".getBytes())); assertTrue(new File("remote-target-dir", "foo.txt").exists()); } - + + public static class TestSftpSessionFactory extends DefaultSftpSessionFactory { @Override