- added new camel example
- added new camel context for junit test
This commit is contained in:
		
							parent
							
								
									48f5fdb8e9
								
							
						
					
					
						commit
						9187dbd362
					
				| @ -0,0 +1,20 @@ | ||||
| package com.baeldung.camel.file; | ||||
| 
 | ||||
| import java.text.SimpleDateFormat; | ||||
| import java.util.Date; | ||||
| 
 | ||||
| import org.apache.camel.Exchange; | ||||
| import org.apache.camel.Processor; | ||||
| 
 | ||||
| public class FileProcessor implements Processor { | ||||
| 
 | ||||
|     public void process(Exchange exchange) throws Exception { | ||||
|         String originalFileName = (String) exchange.getIn().getHeader(Exchange.FILE_NAME, String.class); | ||||
| 
 | ||||
|         Date date = new Date(); | ||||
|         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss"); | ||||
|         String changedFileName = dateFormat.format(date) + originalFileName; | ||||
|         exchange.getIn().setHeader(Exchange.FILE_NAME, changedFileName); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,15 @@ | ||||
| package com.baeldung.camel.file; | ||||
| 
 | ||||
| import org.apache.camel.builder.RouteBuilder; | ||||
| 
 | ||||
| public class FileRouter extends RouteBuilder { | ||||
| 
 | ||||
|     private static final String SOURCE_FOLDER = "src/test/source-folder"; | ||||
|     private static final String DESTINATION_FOLDER = "src/test/destination-folder"; | ||||
| 
 | ||||
|     @Override | ||||
|     public void configure() throws Exception { | ||||
|         from("file://" + SOURCE_FOLDER + "?delete=true").process(new FileProcessor()).to("file://" + DESTINATION_FOLDER); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <beans xmlns="http://www.springframework.org/schema/beans" | ||||
| 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
| 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd | ||||
| 	 http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> | ||||
| 
 | ||||
| 	<bean id="fileRouter" class="com.baeldung.camel.file.FileRouter" /> | ||||
| 	<bean id="fileProcessor" class="com.baeldung.camel.file.FileProcessor" /> | ||||
| 
 | ||||
| 	<camelContext xmlns="http://camel.apache.org/schema/spring"> | ||||
| 		<routeBuilder ref="fileRouter" /> | ||||
| 	</camelContext> | ||||
| 
 | ||||
| </beans> | ||||
| @ -0,0 +1,68 @@ | ||||
| package org.apache.camel.file.processor; | ||||
| 
 | ||||
| import java.io.File; | ||||
| 
 | ||||
| import org.apache.camel.CamelContext; | ||||
| import org.apache.camel.builder.RouteBuilder; | ||||
| import org.apache.camel.impl.DefaultCamelContext; | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.springframework.context.support.ClassPathXmlApplicationContext; | ||||
| 
 | ||||
| import com.baeldung.camel.file.FileProcessor; | ||||
| 
 | ||||
| 
 | ||||
| public class FileProcessorTest { | ||||
| 
 | ||||
|     private static final long DURATION_MILIS = 10000; | ||||
|     private static final String SOURCE_FOLDER = "src/test/source-folder"; | ||||
|     private static final String DESTINATION_FOLDER = "src/test/destination-folder"; | ||||
| 
 | ||||
|     @Before | ||||
|     public void setUp() throws Exception { | ||||
|         File sourceFolder = new File(SOURCE_FOLDER); | ||||
|         File destinationFolder = new File(DESTINATION_FOLDER); | ||||
| 
 | ||||
|         cleanFolder(sourceFolder); | ||||
|         cleanFolder(destinationFolder); | ||||
| 
 | ||||
|         sourceFolder.mkdirs(); | ||||
|         File file1 = new File(SOURCE_FOLDER + "/File1.txt"); | ||||
|         File file2 = new File(SOURCE_FOLDER + "/File2.txt"); | ||||
|         file1.createNewFile(); | ||||
|         file2.createNewFile(); | ||||
|     } | ||||
| 
 | ||||
|     private void cleanFolder(File folder) { | ||||
|         File[] files = folder.listFiles(); | ||||
|         if (files != null) { | ||||
|             for (File file : files) { | ||||
|                 if (file.isFile()) { | ||||
|                     file.delete(); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void moveFolderContentJavaDSLTest() throws Exception { | ||||
|         final CamelContext camelContext = new DefaultCamelContext(); | ||||
|         camelContext.addRoutes(new RouteBuilder() { | ||||
|             @Override | ||||
|             public void configure() throws Exception { | ||||
|                 from("file://" + SOURCE_FOLDER + "?delete=true").process(new FileProcessor()).to("file://" + DESTINATION_FOLDER); | ||||
|             } | ||||
|         }); | ||||
|         camelContext.start(); | ||||
|         Thread.sleep(DURATION_MILIS); | ||||
|         camelContext.stop(); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void moveFolderContentSpringDSLTest() throws InterruptedException { | ||||
|         ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("camel-context-test.xml"); | ||||
|         Thread.sleep(DURATION_MILIS); | ||||
|         applicationContext.close(); | ||||
| 
 | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user