svn commit: r1345844 - in /camel/trunk/components/camel-jms/src: main/java/org/apache/camel/component/jms/ main/java/org/apache/camel/component/jms/reply/ test/java/org/apache/camel/component/jms/

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 07:06:55 2012
New Revision: 1345844

URL: http://svn.apache.org/viewvc?rev=1345844view=rev
Log:
CAMEL-5309: Fixed issue when reusing previous jms endpoint with old reply 
manager, when readding a route. The reply manager in use should be be be 
associated with its producer, and also tied to the lifecycle of the producer.

Added:

camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToRemoveAddRouteTest.java
  - copied, changed from r1345686, 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToTest.java
Modified:

camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java

camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java

camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java

camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/ReplyManagerSupport.java

camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=1345844r1=1345843r2=1345844view=diff
==
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
 Mon Jun  4 07:06:55 2012
@@ -16,11 +16,8 @@
  */
 package org.apache.camel.component.jms;
 
-import java.util.HashMap;
-import java.util.Map;
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
-import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.atomic.AtomicBoolean;
 import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
@@ -43,16 +40,12 @@ import org.apache.camel.Service;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedResource;
-import org.apache.camel.component.jms.reply.PersistentQueueReplyManager;
-import org.apache.camel.component.jms.reply.ReplyManager;
-import org.apache.camel.component.jms.reply.TemporaryQueueReplyManager;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.impl.SynchronousDelegateProducer;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
 import org.apache.camel.util.UnsafeUriCharactersEncoder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -81,10 +74,6 @@ public class JmsEndpoint extends Default
 private Destination destination;
 private String selector;
 private JmsConfiguration configuration;
-private final MapString, ReplyManager replyToReplyManager = new 
HashMapString, ReplyManager();
-private ReplyManager replyManager;
-// scheduled executor to check for timeout (reply not received)
-private ScheduledExecutorService replyManagerExecutorService;
 private final AtomicBoolean running = new AtomicBoolean();
 private volatile boolean destroying;
 
@@ -177,14 +166,6 @@ public class JmsEndpoint extends Default
 notifyAll();
 }
 }
-public void destroyMessageListenerContainer(final 
AbstractMessageListenerContainer listenerContainer) {
-destroying = true;
-this.getReplyManagerExecutorService().execute(new Runnable() {
-public void run() {
-destroyMessageListenerContainerInternal(listenerContainer);
-}
-});
-}
 
 public AbstractMessageListenerContainer createMessageListenerContainer() 
throws Exception {
 return configuration.createMessageListenerContainer(this);
@@ -389,31 +370,6 @@ public class JmsEndpoint extends Default
 return true;
 }
 
-public synchronized ReplyManager getReplyManager() throws Exception {
-if (replyManager == null) {
-// use a temporary queue
-replyManager = new TemporaryQueueReplyManager();
-replyManager.setEndpoint(this);
-
replyManager.setScheduledExecutorService(getReplyManagerExecutorService());
-ServiceHelper.startService(replyManager);
-}
-return replyManager;
-}
-
-public synchronized ReplyManager getReplyManager(String replyTo) throws 
Exception {
-ReplyManager answer = replyToReplyManager.get(replyTo);
-if (answer == null) {

svn commit: r1345854 - in /camel/branches/camel-2.9.x: ./ components/camel-jms/src/main/java/org/apache/camel/component/jms/ components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/ co

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 07:50:55 2012
New Revision: 1345854

URL: http://svn.apache.org/viewvc?rev=1345854view=rev
Log:
CAMEL-5309: Fixed issue when reusing previous jms endpoint with old reply 
manager, when readding a route. The reply manager in use should be be be 
associated with its producer, and also tied to the lifecycle of the producer.

Added:

camel/branches/camel-2.9.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToRemoveAddRouteTest.java
  - copied unchanged from r1345844, 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToRemoveAddRouteTest.java
Modified:
camel/branches/camel-2.9.x/   (props changed)

camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java

camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java

camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java

camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/ReplyManagerSupport.java

camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java

Propchange: camel/branches/camel-2.9.x/
--
  Merged /camel/trunk:r1345844

Propchange: camel/branches/camel-2.9.x/
--
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=1345854r1=1345853r2=1345854view=diff
==
--- 
camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
 (original)
+++ 
camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
 Mon Jun  4 07:50:55 2012
@@ -16,11 +16,8 @@
  */
 package org.apache.camel.component.jms;
 
-import java.util.HashMap;
-import java.util.Map;
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
-import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.atomic.AtomicBoolean;
 import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
@@ -43,16 +40,12 @@ import org.apache.camel.Service;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedResource;
-import org.apache.camel.component.jms.reply.PersistentQueueReplyManager;
-import org.apache.camel.component.jms.reply.ReplyManager;
-import org.apache.camel.component.jms.reply.TemporaryQueueReplyManager;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.impl.SynchronousDelegateProducer;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
 import org.apache.camel.util.UnsafeUriCharactersEncoder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -81,10 +74,6 @@ public class JmsEndpoint extends Default
 private Destination destination;
 private String selector;
 private JmsConfiguration configuration;
-private final MapString, ReplyManager replyToReplyManager = new 
HashMapString, ReplyManager();
-private ReplyManager replyManager;
-// scheduled executor to check for timeout (reply not received)
-private ScheduledExecutorService replyManagerExecutorService;
 private final AtomicBoolean running = new AtomicBoolean();
 private volatile boolean destroying;
 
@@ -177,14 +166,6 @@ public class JmsEndpoint extends Default
 notifyAll();
 }
 }
-public void destroyMessageListenerContainer(final 
AbstractMessageListenerContainer listenerContainer) {
-destroying = true;
-this.getReplyManagerExecutorService().execute(new Runnable() {
-public void run() {
-destroyMessageListenerContainerInternal(listenerContainer);
-}
-});
-}
 
 public AbstractMessageListenerContainer createMessageListenerContainer() 
throws Exception {
 return configuration.createMessageListenerContainer(this);
@@ -383,31 +364,6 @@ public class JmsEndpoint extends Default
 return true;
 }
 
-public synchronized ReplyManager getReplyManager() throws Exception {
-if 

svn commit: r1345906 - in /camel/trunk/components/camel-restlet/src: main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java test/java/org/apache/camel/component/restlet/RestletProduce

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 10:15:05 2012
New Revision: 1345906

URL: http://svn.apache.org/viewvc?rev=1345906view=rev
Log:
CAMEL-5329: restlet producer should presever headers like the other http 
components.

Added:

camel/trunk/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java
   (with props)
Modified:

camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java

Modified: 
camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java?rev=1345906r1=1345905r2=1345906view=diff
==
--- 
camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
 (original)
+++ 
camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
 Mon Jun  4 10:15:05 2012
@@ -31,6 +31,7 @@ import org.apache.camel.WrappedFile;
 import org.apache.camel.component.file.GenericFile;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
+import org.apache.camel.util.MessageHelper;
 import org.restlet.Request;
 import org.restlet.Response;
 import org.restlet.data.ChallengeResponse;
@@ -265,6 +266,10 @@ public class DefaultRestletBinding imple
 LOG.debug(Populate exchange from Restlet response: {}, text);
 exchange.getOut().setBody(text);
 }
+
+// preserve headers from in by copying any non existing headers
+// to avoid overriding existing headers with old values
+MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), false);
 }
 
 public HeaderFilterStrategy getHeaderFilterStrategy() {

Added: 
camel/trunk/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java?rev=1345906view=auto
==
--- 
camel/trunk/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java
 (added)
+++ 
camel/trunk/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java
 Mon Jun  4 10:15:05 2012
@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.restlet;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.junit.Test;
+
+/**
+ * @version 
+ */
+public class RestletProducerPropagateHeadersTest extends RestletTestSupport {
+
+@Test
+public void testRestletProducerGet() throws Exception {
+getMockEndpoint(mock:result).expectedMessageCount(1);
+getMockEndpoint(mock:result).expectedHeaderReceived(foo, bar);
+
+MapString, Object headers = new HashMapString, Object();
+headers.put(id, 123);
+headers.put(foo, bar);
+
+String out = template.requestBodyAndHeaders(direct:start, null, 
headers, String.class);
+assertEquals(123;Donald Duck, out);
+
+assertMockEndpointsSatisfied();
+}
+
+@Override
+protected RouteBuilder createRouteBuilder() throws Exception {
+return new RouteBuilder() {
+@Override
+public void configure() throws Exception {
+from(direct:start)
+.to(restlet:http://localhost:; + portNum + 
/users/123/basic)
+.to(mock:result);
+
+from(restlet:http://localhost:; + portNum + 
/users/{id}/basic)
+.process(new Processor() {
+public void process(Exchange exchange) throws 
Exception 

svn commit: r1345908 - in /camel/branches/camel-2.9.x: ./ components/camel-restlet/src/main/java/org/apache/camel/component/restlet/ components/camel-restlet/src/test/java/org/apache/camel/component/r

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 10:16:31 2012
New Revision: 1345908

URL: http://svn.apache.org/viewvc?rev=1345908view=rev
Log:
CAMEL-5329: restlet producer should presever headers like the other http 
components.

Added:

camel/branches/camel-2.9.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java
  - copied unchanged from r1345906, 
camel/trunk/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java
Modified:
camel/branches/camel-2.9.x/   (props changed)

camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java

Propchange: camel/branches/camel-2.9.x/
--
  Merged /camel/trunk:r1345906

Propchange: camel/branches/camel-2.9.x/
--
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java?rev=1345908r1=1345907r2=1345908view=diff
==
--- 
camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
 (original)
+++ 
camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
 Mon Jun  4 10:16:31 2012
@@ -31,6 +31,7 @@ import org.apache.camel.WrappedFile;
 import org.apache.camel.component.file.GenericFile;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
+import org.apache.camel.util.MessageHelper;
 import org.restlet.Request;
 import org.restlet.Response;
 import org.restlet.data.ChallengeResponse;
@@ -265,6 +266,10 @@ public class DefaultRestletBinding imple
 LOG.debug(Populate exchange from Restlet response: {}, text);
 exchange.getOut().setBody(text);
 }
+
+// preserve headers from in by copying any non existing headers
+// to avoid overriding existing headers with old values
+MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), false);
 }
 
 public HeaderFilterStrategy getHeaderFilterStrategy() {




svn commit: r1345909 - in /camel/branches/camel-2.8.x: ./ components/camel-restlet/src/main/java/org/apache/camel/component/restlet/ components/camel-restlet/src/test/java/org/apache/camel/component/r

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 10:18:37 2012
New Revision: 1345909

URL: http://svn.apache.org/viewvc?rev=1345909view=rev
Log:
CAMEL-5329: restlet producer should presever headers like the other http 
components.

Added:

camel/branches/camel-2.8.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java
  - copied unchanged from r1345908, 
camel/branches/camel-2.9.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerPropagateHeadersTest.java
Modified:
camel/branches/camel-2.8.x/   (props changed)

camel/branches/camel-2.8.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java

Propchange: camel/branches/camel-2.8.x/
--
  Merged /camel/trunk:r1345906
  Merged /camel/branches/camel-2.9.x:r1345908

Propchange: camel/branches/camel-2.8.x/
--
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.8.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java?rev=1345909r1=1345908r2=1345909view=diff
==
--- 
camel/branches/camel-2.8.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
 (original)
+++ 
camel/branches/camel-2.8.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
 Mon Jun  4 10:18:37 2012
@@ -29,6 +29,7 @@ import org.apache.camel.component.file.G
 import org.apache.camel.converter.jaxp.StringSource;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
+import org.apache.camel.util.MessageHelper;
 import org.restlet.Request;
 import org.restlet.Response;
 import org.restlet.data.ChallengeResponse;
@@ -256,6 +257,10 @@ public class DefaultRestletBinding imple
 LOG.debug(Populate exchange from Restlet response: {}, text);
 exchange.getOut().setBody(text);
 }
+
+// preserve headers from in by copying any non existing headers
+// to avoid overriding existing headers with old values
+MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), false);
 }
 
 public HeaderFilterStrategy getHeaderFilterStrategy() {




svn commit: r1345931 - in /camel/trunk/components/camel-quartz/src: main/java/org/apache/camel/component/quartz/ test/java/org/apache/camel/component/quartz/ test/resources/org/apache/camel/component/

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 12:03:35 2012
New Revision: 1345931

URL: http://svn.apache.org/viewvc?rev=1345931view=rev
Log:
CAMEL-5259: Fixed quartz component need to use unique management name for 
CamelContext, on jobs to pickup correct context, in case multiple Camel apps 
with same name is running in the JVM.

Added:

camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextSameNameClashTest.java
  - copied, changed from r1345843, 
camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextTest.java
Modified:

camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java

camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConstants.java

camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java

camel/trunk/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml

camel/trunk/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml

Modified: 
camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java?rev=1345931r1=1345930r2=1345931view=diff
==
--- 
camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
 (original)
+++ 
camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
 Mon Jun  4 12:03:35 2012
@@ -53,7 +53,6 @@ import org.slf4j.LoggerFactory;
  */
 public class QuartzComponent extends DefaultComponent implements 
StartupListener {
 private static final transient Logger LOG = 
LoggerFactory.getLogger(QuartzComponent.class);
-private final AtomicInteger jobs = new AtomicInteger();
 private Scheduler scheduler;
 private final ListJobToAdd jobsToAdd = new ArrayListJobToAdd();
 private SchedulerFactory factory;
@@ -165,7 +164,8 @@ public class QuartzComponent extends Def
 public void onCamelContextStarted(CamelContext camelContext, boolean 
alreadyStarted) throws Exception {
 if (scheduler != null) {
 // register current camel context to scheduler so we can look it 
up when jobs is being triggered
-scheduler.getContext().put(QuartzConstants.QUARTZ_CAMEL_CONTEXT + 
- + getCamelContext().getName(), getCamelContext());
+// must use management name as it should be unique in the same JVM
+scheduler.getContext().put(QuartzConstants.QUARTZ_CAMEL_CONTEXT + 
- + getCamelContext().getManagementName(), getCamelContext());
 }
 
 // if not configure to auto start then don't start it
@@ -191,9 +191,9 @@ public class QuartzComponent extends Def
 super.doStop();
 
 if (scheduler != null) {
-int number = jobs.get();
-if (number  0) {
-LOG.info(Cannot shutdown Quartz scheduler:  + 
scheduler.getSchedulerName() +  as there are still  + number +  jobs 
registered.);
+AtomicInteger number = (AtomicInteger) 
scheduler.getContext().get(CamelJobs);
+if (number != null  number.get()  0) {
+LOG.info(Cannot shutdown Quartz scheduler:  + 
scheduler.getSchedulerName() +  as there are still  + number.get() +  jobs 
registered.);
 } else {
 // no more jobs then shutdown the scheduler
 LOG.info(There are no more jobs registered, so shutting down 
Quartz scheduler:  + scheduler.getSchedulerName());
@@ -214,7 +214,7 @@ public class QuartzComponent extends Def
 }
 
 private void doAddJob(JobDetail job, Trigger trigger) throws 
SchedulerException {
-jobs.incrementAndGet();
+incrementJobCounter(getScheduler());
 
 Trigger existingTrigger = getScheduler().getTrigger(trigger.getName(), 
trigger.getGroup());
 if (existingTrigger == null) {
@@ -254,7 +254,7 @@ public class QuartzComponent extends Def
 }
 
 public void pauseJob(Trigger trigger) throws SchedulerException {
-jobs.decrementAndGet();
+decrementJobCounter(getScheduler());
 
 if (isClustered()) {
 // do not pause jobs which are clustered, as we want the jobs to 
continue running on the other nodes
@@ -470,8 +470,31 @@ public class QuartzComponent extends Def
 }
 
 // register current camel context to scheduler so we can look it up 
when jobs is being triggered
-scheduler.getContext().put(QuartzConstants.QUARTZ_CAMEL_CONTEXT + - 
+ getCamelContext().getName(), getCamelContext());
+// must use management name as 

svn commit: r1345933 - in /camel/branches/camel-2.9.x: ./ components/camel-quartz/src/main/java/org/apache/camel/component/quartz/ components/camel-quartz/src/test/java/org/apache/camel/component/quar

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 12:06:06 2012
New Revision: 1345933

URL: http://svn.apache.org/viewvc?rev=1345933view=rev
Log:
CAMEL-5259: Fixed quartz component need to use unique management name for 
CamelContext, on jobs to pickup correct context, in case multiple Camel apps 
with same name is running in the JVM.

Added:

camel/branches/camel-2.9.x/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextSameNameClashTest.java
  - copied unchanged from r1345931, 
camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzTwoCamelContextSameNameClashTest.java
Modified:
camel/branches/camel-2.9.x/   (props changed)

camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java

camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConstants.java

camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java

camel/branches/camel-2.9.x/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartTest.xml

camel/branches/camel-2.9.x/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreTest.xml

Propchange: camel/branches/camel-2.9.x/
--
  Merged /camel/trunk:r1345931

Propchange: camel/branches/camel-2.9.x/
--
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java?rev=1345933r1=1345932r2=1345933view=diff
==
--- 
camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
 (original)
+++ 
camel/branches/camel-2.9.x/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
 Mon Jun  4 12:06:06 2012
@@ -53,7 +53,6 @@ import org.slf4j.LoggerFactory;
  */
 public class QuartzComponent extends DefaultComponent implements 
StartupListener {
 private static final transient Logger LOG = 
LoggerFactory.getLogger(QuartzComponent.class);
-private final AtomicInteger jobs = new AtomicInteger();
 private Scheduler scheduler;
 private final ListJobToAdd jobsToAdd = new ArrayListJobToAdd();
 private SchedulerFactory factory;
@@ -165,7 +164,8 @@ public class QuartzComponent extends Def
 public void onCamelContextStarted(CamelContext camelContext, boolean 
alreadyStarted) throws Exception {
 if (scheduler != null) {
 // register current camel context to scheduler so we can look it 
up when jobs is being triggered
-scheduler.getContext().put(QuartzConstants.QUARTZ_CAMEL_CONTEXT + 
- + getCamelContext().getName(), getCamelContext());
+// must use management name as it should be unique in the same JVM
+scheduler.getContext().put(QuartzConstants.QUARTZ_CAMEL_CONTEXT + 
- + getCamelContext().getManagementName(), getCamelContext());
 }
 
 // if not configure to auto start then don't start it
@@ -191,9 +191,9 @@ public class QuartzComponent extends Def
 super.doStop();
 
 if (scheduler != null) {
-int number = jobs.get();
-if (number  0) {
-LOG.info(Cannot shutdown Quartz scheduler:  + 
scheduler.getSchedulerName() +  as there are still  + number +  jobs 
registered.);
+AtomicInteger number = (AtomicInteger) 
scheduler.getContext().get(CamelJobs);
+if (number != null  number.get()  0) {
+LOG.info(Cannot shutdown Quartz scheduler:  + 
scheduler.getSchedulerName() +  as there are still  + number.get() +  jobs 
registered.);
 } else {
 // no more jobs then shutdown the scheduler
 LOG.info(There are no more jobs registered, so shutting down 
Quartz scheduler:  + scheduler.getSchedulerName());
@@ -214,7 +214,7 @@ public class QuartzComponent extends Def
 }
 
 private void doAddJob(JobDetail job, Trigger trigger) throws 
SchedulerException {
-jobs.incrementAndGet();
+incrementJobCounter(getScheduler());
 
 Trigger existingTrigger = getScheduler().getTrigger(trigger.getName(), 
trigger.getGroup());
 if (existingTrigger == null) {
@@ -254,7 +254,7 @@ public class QuartzComponent extends Def
 }
 
 public void pauseJob(Trigger trigger) throws SchedulerException {
-jobs.decrementAndGet();
+ 

[CONF] Apache Camel Camel 2.10.0 Release

2012-06-04 Thread confluence







Camel 2.10.0 Release
Page edited by Claus Ibsen


 Changes (1)
 




...
* Fixed issue with {{camel-blueprint}} and using {{CamelContextAware}} beans for {{EventNotifier}} (and the beans from this [list|Advanced configuration of CamelContext using Spring]) injecting the {{CamelContext}} which is not ready, causing the blueprint container to hang waiting for the service. * Fixed [Bindy] to not use default locale, but only use locale if explicit configured. 
* Fixed [Restlet] not propagating headers during routing. * Fixed running multiple Camel apps with same CamelContext name in a single JVM with [Quarz] component, causing jobs to pick wrong CamelContext. 
 h3. New [Enterprise Integration Patterns] 
...


Full Content

Camel 2.10.0 release (currently in progress)




New and Noteworthy

Welcome to the 2.10.0 release with approximately XXX issues resolved - including new features, improvements, and bug fixes, such as: 


	Added support for Java 1.7
	Added consumer to JCR component
	Internal code cleanup to reduce warnings reported by Eclipse
	Moved Spring Testing from camel-test to camel-test-spring component.
	Camel Property Placeholders are now supported in embedded _expression_s within Camel routes.
	Added missing options in the XML DSL for the XPath language to control and set which XPath Engine to use, etc.
	Added option logNamespaces to the XPath language to have INFO logging of detected namespaces from message.  This can be used to troubleshoot issues where an XPath _expression_ doesn't work as expected (as it's often a namespace conflict).
	Added replyToCacheLevelName option to the JMS component, allowing configuration of cache levels for persistent reply consumers when doing request/reply over JMS. Some message brokers do not work well with caching, so users may need to set this option to CACHE_NONE.
	Added antInclude and antExclude options to File and FTP components to make it easier to specify include/exclude filters using ANT syntax.
	The Camel archetypes for Java and Scala no longer generate projects with Spring dependencies.
	Improved JdbcMessageIdRepository in the SQL to use custom SQL statements/queries.
	Added option to Properties to allow silently ignoring property locations not found, such as a .properties file.
	Added managementNamePattern attribute to camelContext to make it very easy to customize and control the JMX naming of the Camel application. See details at Camel JMX. For example, in OSGi environments you can explicitly configure a managementNamePattern in case you do not want the bundleId as part of MBean names.
	Added streaming update support to Solr as well as support for SolrInputDocuments
	Added SolrJ DirectXMLRequest support to Solr to support XML based index updates
	Improved Camel Mail to support the replyTo option
	Added traceEnabled option to Jetty component so you have control over whether to allow HTTP TRACE calls against your Jetty endpoints.
	Polished the Camel Maven Archetypes to let the projects be prepared for Testing, and fixed any WARNs from Maven.
	Added dumpRouteStatsAsXml methods to JMX to make it easier to get the total performance stats as XML, and in one JMX call.
	Graceful Shutdown is now more aggressive if timeout occurred during shutdown, rejecting continued processing of messages or redeliveries.
	Add ShutdownPrepared SPI to allow custom Services (also EIPs) in routes to do custom code in preparation for shutdown.
	The camel-archetype-java Camel Maven Archetypes is now a pure Java DSL based project (no longer Spring)
	JMS consumer is less verbose when logging uncaught exceptions thrown while processing a message. Added errorHandlerLoggingLevel, and errorHandlerLogStackTrace options to tweak the logging verbosity.
	Added messageId as an MDC logging key.
	Improved Camel's Transaction Error Handler logging to better pinpoint and correlate redelivered messages (from, e.g., a JMS broker), making the logs much easier to read.
	Added a timeout option to Spring Web Services for specifying the read timeout while invoking a webservice.
	Optimized Type Converter registry for possible concurrency contention when looking up a type converter.
	Improved Simple language to work better with floating point numbers in Predicates
	Camel is now less verbose when starting and stopping, with less being logged at INFO level.
	Add support for keyed data queues to JT400 component.
	Idempotent Consumer is now enlisted in JMX, which allows monitoring the duplicate message count as well as the operation to reset it.
	Thread pools registered in JMX are now unregistered when Camel shuts them down. Note that all MBeans will be unregistered from JMX when Camel shuts itself down. This improvement is to unregister thread pools 

[CONF] Apache Camel XmlJson

2012-06-04 Thread confluence







XmlJson
Page edited by Raul Kripalani


 Changes (5)
 




...
dataFormats xmljson id=xmljson/ 
xmljson id=xmljsonWithOptions forceTopLevelObject=true trimSpaces=true rootName=newRoot skipNamespaces=true removeNamespacePrefixes=true expandableProperties=d e/ 
 removeNamespacePrefixes=true expandableProperties=d e/ 
/dataFormats {code} 
...
ListXmlJsonDataFormat.NamespacesPerElementMapping namespaces = new ArrayListXmlJsonDataFormat.NamespacesPerElementMapping(); namespaces.add(new XmlJsonDataFormat.NamespacesPerElementMapping(, |ns1|http://camel.apache.org/test1||http://camel.apache.org/default|)); 
namespaces.add(new XmlJsonDataFormat.NamespacesPerElementMapping(surname, |ns2|http://camel.apache.org/personalData|ns3|http://camel.apache.org/personalData2|)); |ns2|http://camel.apache.org/personalData| + 
   ns3|http://camel.apache.org/personalData2|)); 
namespacesFormat.setNamespaceMappings(namespaces); namespacesFormat.setRootElement(person); 
...
 {quote} 
An object is an unordered set of name/value pairs. [...]. 
{quote}  
...


Full Content

XML JSON Data Format (camel-xmljson)

Available as of Camel 2.10

Camel already supports a number of data formats to perform XML and JSON-related conversions, but all of them require a POJO either as an input (for marshalling) or produce a POJO as output (for unmarshalling). This data format provides the capability to convert from XML to JSON and viceversa directly, without stepping through intermediate POJOs.

This data format leverages the Json-lib library to achieve direct conversion. In this context, XML is considered the high-level format, while JSON is the low-level format. Hence, the marshal/unmarshal semantics are assigned as follows:


	marshalling = converting from XML to JSON
	unmarshalling = converting from JSON to XML.



Options

This data format supports the following options. You can set them via all DSLs. The defaults marked with *) are determined by json-lib, rather than the code of the data format itself. They are reflected here for convenience so that you don't have to dot back and forth with the json-lib docs.



 Name 
 Type 
 Default 
 Description 


 encoding 
 String 
 UTF-8 *) 
 Used when unmarshalling (JSON to XML conversion). Sets the encoding for the call to XMLSerializer.write() method, hence it is only used when producing XML. 
When producing JSON, the encoding is determined by the input String being processed. If the conversion is performed on an InputStream, json-lib uses the platform's default encoding (e.g. determined by the file.encoding system property). 


 elementName 
 String 
 'e' *) 
 Used when unmarshalling(JSON to XML conversion). Specifies the name of the XML elements representing each array element. See json-lib doc. 


 arrayName 
 String 
 'a' *) 
 Used when unmarshalling(JSON to XML conversion). Specifies the name of the top-level XML element. 
For example, when converting[1, 2, 3], it will be output by default as ae1/ee2/ee3/e/a. By setting this option or rootName, you can alter the name of element 'a'. 


 rootName 
 String 
 none *) 
 Used when unmarshalling(JSON to XML conversion). When converting any JSON construct (object, array, null) to XML (unmarshalling), it specifies the name of the top-level element. 
If not set, json-lib will use arrayName orobjectName (default value: 'o', at the current time it is not configurable in this data format). If set to 'root', the JSON string { 'x': 'value1', 'y' : 'value2' } would turn into rootxvalue1/xyvalue2/y/root, otherwise the 'root' element would be named 'o'. 


 namespaceLenient 
 Boolean 
 false *) 
 Used when unmarshalling(JSON to XML conversion). According to the json-lib docs: "Flag to be tolerant to incomplete namespace prefixes." In most cases, json-lib automatically changes this flag at runtime to match the processing. 


 namespaceMappings 
 ListNamespacesPerElementMapping 
 none 
 Used when unmarshalling(JSON to XML conversion). Binds namespace prefixes and URIs to specific JSON elements.NamespacesPerElementMapping is a wrapper around an element name + a Map of prefixes against URIs.  


 expandableProperties 
 ListString 
 none 
 Used when unmarshalling(JSON to XML conversion). With expandable properties, JSON array elements are converted to XML as a sequence of repetitive XML elements with the local name equal to the JSON key, for example: { number: 1,2,3 }, normally converted to: numbere1/ee2/ee3/e/number (where e can be modified by setting elementName), would instead translate to number1/numbernumber2/numbernumber3/number, if "number" is set as an 

svn commit: r820233 - in /websites/production/camel/content: cache/main.pageCache xmljson.html

2012-06-04 Thread buildbot
Author: buildbot
Date: Mon Jun  4 14:18:16 2012
New Revision: 820233

Log:
Production update by buildbot for camel

Modified:
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/xmljson.html

Modified: websites/production/camel/content/cache/main.pageCache
==
Binary files - no diff available.

Modified: websites/production/camel/content/xmljson.html
==
--- websites/production/camel/content/xmljson.html (original)
+++ websites/production/camel/content/xmljson.html Mon Jun  4 14:18:16 2012
@@ -106,14 +106,16 @@ If not set, json-lib will use ttarrayN
 pJust instantiate the XmlJsonDataFormat from package 
org.apache.camel.dataformat.xmljson. Make sure you have installed the 
ttcamel-xmljson/tt feature (if running on OSGi) or that you've included 
camel-xmljson-{version}.jar and its transitive dependencies in your classpath. 
Example initialization with a default configuration:/p
 
 div class=code panel style=border-width: 1px;div class=codeContent 
panelContent
-pre class=code-javaXmlJsonDataFormat xmlJsonFormat = span 
class=code-keywordnew/span XmlJsonDataFormat();
+pre class=code-java
+XmlJsonDataFormat xmlJsonFormat = span class=code-keywordnew/span 
XmlJsonDataFormat();
 /pre
 /div/div
 
 pTo tune the behaviour of the data format as per the options above, use the 
appropriate setters:/p
 
 div class=code panel style=border-width: 1px;div class=codeContent 
panelContent
-pre class=code-javaXmlJsonDataFormat xmlJsonFormat = span 
class=code-keywordnew/span XmlJsonDataFormat();
+pre class=code-java
+XmlJsonDataFormat xmlJsonFormat = span class=code-keywordnew/span 
XmlJsonDataFormat();
 xmlJsonFormat.setEncoding(span class=code-quoteUTF-8/span);
 xmlJsonFormat.setForceTopLevelObject(span class=code-keywordtrue/span);
 xmlJsonFormat.setTrimSpaces(span class=code-keywordtrue/span);
@@ -127,7 +129,8 @@ xmlJsonFormat.setExpandableProperties(Ar
 pOnce you've instantiated the data format, the next step is to actually use 
the it from within the ttmarshal()/tt and ttunmarshal()/tt DSL 
elements:/p
 
 div class=code panel style=border-width: 1px;div class=codeContent 
panelContent
-pre class=code-javaspan class=code-comment// from XML to JSON
+pre class=code-java
+span class=code-comment// from XML to JSON
 /spanfrom(span 
class=code-quotedirect:marshal/span).marshal(xmlJsonFormat).to(span 
class=code-quotemock:json/span);
 span class=code-comment// from JSON to XML
 /spanfrom(span 
class=code-quotedirect:unmarshal/span).unmarshal(xmlJsonFormat).to(span 
class=code-quotemock:xml/span);
@@ -139,7 +142,8 @@ xmlJsonFormat.setExpandableProperties(Ar
 pAlternatively, you can define the data format inline by using the 
ttxmljson()/tt DSL element./p
 
 div class=code panel style=border-width: 1px;div class=codeContent 
panelContent
-pre class=code-javaspan class=code-comment// from XML to JSON - inline 
dataformat
+pre class=code-java
+span class=code-comment// from XML to JSON - inline dataformat
 /spanfrom(span 
class=code-quotedirect:marshalInline/span).marshal().xmljson().to(span 
class=code-quotemock:jsonInline/span);
 span class=code-comment// from JSON to XML - inline dataformat
 /spanfrom(span 
class=code-quotedirect:unmarshalInline/span).unmarshal().xmljson().to(span
 class=code-quotemock:xmlInline/span);
@@ -149,7 +153,8 @@ xmlJsonFormat.setExpandableProperties(Ar
 pIf you wish, you can even pass in a Maplt;String, Stringgt; to the inline 
methods to provide custom options:/p
 
 div class=code panel style=border-width: 1px;div class=codeContent 
panelContent
-pre class=code-javaMaplt;span class=code-objectString/span, span 
class=code-objectString/spangt; xmlJsonOptions = span 
class=code-keywordnew/span HashMaplt;span 
class=code-objectString/span, span 
class=code-objectString/spangt;();
+pre class=code-java
+Maplt;span class=code-objectString/span, span 
class=code-objectString/spangt; xmlJsonOptions = span 
class=code-keywordnew/span HashMaplt;span 
class=code-objectString/span, span 
class=code-objectString/spangt;();
 
xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.ENCODING,
 span class=code-quoteUTF-8/span);
 
xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.ROOT_NAME,
 span class=code-quotenewRoot/span);
 
xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.SKIP_NAMESPACES,
 span class=code-quotespan class=code-keywordtrue/span/span);
@@ -168,9 +173,11 @@ xmlJsonOptions.put(org.apache.camel.mode
 pWithin the ttlt;dataFormatsgt;/tt block, simply configure an 
ttxmljson/tt element with unique IDs:/p
 
 div class=code panel style=border-width: 1px;div class=codeContent 
panelContent
-pre class=code-xmlspan class=code-taglt;dataFormatsgt;/span
+pre class=code-xml
+span class=code-taglt;dataFormatsgt;/span
 span class=code-taglt;xmljson id=span 

svn commit: r1346016 - in /camel/trunk: platforms/karaf/features/ platforms/karaf/features/src/main/resources/ tests/camel-itest-osgi/ tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 15:39:02 2012
New Revision: 1346016

URL: http://svn.apache.org/viewvc?rev=1346016view=rev
Log:
CAMEL-4930: Added osgi tests for camel-xmljson. Thanks to Raul for the patch.

Added:

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/xmljson/

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/xmljson/XmlJsonBlueprintRouteTest.java
   (with props)

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/xmljson/XmlJsonRouteBuilder.java
   (with props)

camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/xmljson/

camel/trunk/tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/xmljson/xmlJsonBlueprintCamelContext.xml
   (with props)
Modified:
camel/trunk/platforms/karaf/features/pom.xml
camel/trunk/platforms/karaf/features/src/main/resources/features.xml
camel/trunk/tests/camel-itest-osgi/pom.xml

Modified: camel/trunk/platforms/karaf/features/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/features/pom.xml?rev=1346016r1=1346015r2=1346016view=diff
==
--- camel/trunk/platforms/karaf/features/pom.xml (original)
+++ camel/trunk/platforms/karaf/features/pom.xml Mon Jun  4 15:39:02 2012
@@ -54,6 +54,7 @@
   commons-jxpath-version1.3/commons-jxpath-version
   commons-math-version2.2/commons-math-version
   commons-dbcp-bundle-version1.4_3/commons-dbcp-bundle-version
+  commons-lang-version-xmljson2.5/commons-lang-version-xmljson
   dom4j-bundle-version1.6.1_5/dom4j-bundle-version
   el-api-1.0-version1.0.1/el-api-1.0-version
   ezmorph-bundle-version1.0.6_1/ezmorph-bundle-version

Modified: camel/trunk/platforms/karaf/features/src/main/resources/features.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/features/src/main/resources/features.xml?rev=1346016r1=1346015r2=1346016view=diff
==
--- camel/trunk/platforms/karaf/features/src/main/resources/features.xml 
(original)
+++ camel/trunk/platforms/karaf/features/src/main/resources/features.xml Mon 
Jun  4 15:39:02 2012
@@ -824,6 +824,8 @@
 bundle 
dependency='true'mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ezmorph/${ezmorph-bundle-version}/bundle
 bundle dependency='true'mvn:xom/xom/${xom-version}/bundle
 bundle 
dependency='true'mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.json-lib/${jsonlib-bundle-version}/bundle
+bundle 
dependency='true'mvn:commons-lang/commons-lang/${commons-lang-version-xmljson}/bundle
+bundle 
dependency='true'mvn:commons-collections/commons-collections/${commons-collections-version}/bundle
 feature version='${project.version}'camel-core/feature
 bundlemvn:org.apache.camel/camel-xmljson/${project.version}/bundle
   /feature

Modified: camel/trunk/tests/camel-itest-osgi/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/pom.xml?rev=1346016r1=1346015r2=1346016view=diff
==
--- camel/trunk/tests/camel-itest-osgi/pom.xml (original)
+++ camel/trunk/tests/camel-itest-osgi/pom.xml Mon Jun  4 15:39:02 2012
@@ -226,6 +226,11 @@
   artifactIdcamel-rss/artifactId
   scopetest/scope
 /dependency
+dependency
+  groupIdorg.apache.camel/groupId
+  artifactIdcamel-xmljson/artifactId
+  scopetest/scope
+/dependency
dependency
  groupIdorg.apache.camel.tests/groupId
  artifactIdorg.apache.camel.tests.mock-javamail_1.7/artifactId

Added: 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/xmljson/XmlJsonBlueprintRouteTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/xmljson/XmlJsonBlueprintRouteTest.java?rev=1346016view=auto
==
--- 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/xmljson/XmlJsonBlueprintRouteTest.java
 (added)
+++ 
camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/xmljson/XmlJsonBlueprintRouteTest.java
 Mon Jun  4 15:39:02 2012
@@ -0,0 +1,84 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ 

svn commit: r1346030 - in /camel/trunk/components/camel-hbase: ./ src/test/resources/log4j.properties

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 16:40:00 2012
New Revision: 1346030

URL: http://svn.apache.org/viewvc?rev=1346030view=rev
Log:
Added log4j properties file

Added:
camel/trunk/components/camel-hbase/src/test/resources/log4j.properties   
(with props)
Modified:
camel/trunk/components/camel-hbase/   (props changed)

Propchange: camel/trunk/components/camel-hbase/
--
--- svn:ignore (added)
+++ svn:ignore Mon Jun  4 16:40:00 2012
@@ -0,0 +1,17 @@
+.pmd
+.checkstyle
+.ruleset
+target
+.settings
+.classpath
+.project
+.wtpmodules
+prj.el
+.jdee_classpath
+.jdee_sources
+velocity.log
+eclipse-classes
+*.ipr
+*.iml
+*.iws
+*.idea

Added: camel/trunk/components/camel-hbase/src/test/resources/log4j.properties
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-hbase/src/test/resources/log4j.properties?rev=1346030view=auto
==
--- camel/trunk/components/camel-hbase/src/test/resources/log4j.properties 
(added)
+++ camel/trunk/components/camel-hbase/src/test/resources/log4j.properties Mon 
Jun  4 16:40:00 2012
@@ -0,0 +1,38 @@
+## ---
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the License); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an AS IS BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---
+
+#
+# The logging properties used for testing
+#
+log4j.rootLogger=INFO, file
+
+# uncomment the following line to turn on Camel debugging
+#log4j.logger.org.apache.camel=DEBUG
+#log4j.logger.org.apache.camel.component.hbase=TRACE
+
+
+# CONSOLE appender not used by default
+log4j.appender.out=org.apache.log4j.ConsoleAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - 
%m%n
+
+# File appender
+log4j.appender.file=org.apache.log4j.FileAppender
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.file=target/camel-hbase-test.log
+log4j.appender.file.append=true
+log4j.appender.file.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - 
%m%n

Propchange: 
camel/trunk/components/camel-hbase/src/test/resources/log4j.properties
--
svn:eol-style = native

Propchange: 
camel/trunk/components/camel-hbase/src/test/resources/log4j.properties
--
svn:keywords = Rev Date

Propchange: 
camel/trunk/components/camel-hbase/src/test/resources/log4j.properties
--
svn:mime-type = text/plain




svn commit: r820245 - in /websites/production/camel/content: cache/main.pageCache mongodb.html

2012-06-04 Thread buildbot
Author: buildbot
Date: Mon Jun  4 17:18:02 2012
New Revision: 820245

Log:
Production update by buildbot for camel

Modified:
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/mongodb.html

Modified: websites/production/camel/content/cache/main.pageCache
==
Binary files - no diff available.

Modified: websites/production/camel/content/mongodb.html
==
--- websites/production/camel/content/mongodb.html (original)
+++ websites/production/camel/content/mongodb.html Mon Jun  4 17:18:02 2012
@@ -441,8 +441,8 @@ from(span class=code-quotemongodb:m
 
 div class=code panel style=border-width: 1px;div class=codeContent 
panelContent
 pre class=code-java
-from(span 
class=code-quotemongodb:myDb?database=flightsamp;collection=cancellationsamp;tailTrackIncreasingField=departureTimeamp;persistentTailTracking=span
 
class=code-keywordtrue/spanamp;persistentId=cancellationsTrackeramp;tailTrackDb=trackers/span
 + 
-span 
class=code-quoteamp;tailTrackCollection=camelTrackersamp;tailTrackField=lastProcessedDepartureTime/span)
+from(span 
class=code-quotemongodb:myDb?database=flightsamp;collection=cancellationsamp;tailTrackIncreasingField=departureTimeamp;persistentTailTracking=span
 class=code-keywordtrue/spanamp;persistentId=cancellationsTracker/span 
+
+span 
class=code-quoteamp;tailTrackDb=trackersamp;tailTrackCollection=camelTrackersamp;tailTrackField=lastProcessedDepartureTime/span)
.id(span class=code-quotetailableCursorConsumer3/span)
.autoStartup(span class=code-keywordfalse/span)
.to(span class=code-quotemock:test/span);




svn commit: r1346059 - in /camel/trunk/components/camel-flatpack/src: main/java/org/apache/camel/component/flatpack/ test/data/fixedLong/ test/data/fixedMixed/ test/data/fixedShort/ test/java/org/apac

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 17:57:38 2012
New Revision: 1346059

URL: http://svn.apache.org/viewvc?rev=1346059view=rev
Log:
CAMEL-5035: Added support for handling long/short lines to flatpack component. 
Thanks to Chris Geer for the patch.

Added:
camel/trunk/components/camel-flatpack/src/test/data/fixedMixed/

camel/trunk/components/camel-flatpack/src/test/data/fixedMixed/PEOPLE-FixedLength.txt
   (with props)
camel/trunk/components/camel-flatpack/src/test/data/fixedShort/

camel/trunk/components/camel-flatpack/src/test/data/fixedShort/PEOPLE-FixedLength.txt
   (with props)

camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowLongTest.java
   (with props)

camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowShortAndLongTest.java
   (with props)

camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowShortTest.java
   (with props)

camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowLongTest-context.xml
   (with props)

camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowShortAndLongTest-context.xml
   (with props)

camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowShortTest-context.xml
   (with props)
Modified:

camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java

camel/trunk/components/camel-flatpack/src/test/data/fixedLong/PEOPLE-FixedLength.txt

Modified: 
camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java?rev=1346059r1=1346058r2=1346059view=diff
==
--- 
camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java
 (original)
+++ 
camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java
 Mon Jun  4 17:57:38 2012
@@ -50,6 +50,8 @@ public class FixedLengthEndpoint extends
 private LoadBalancer loadBalancer = new RoundRobinLoadBalancer();
 private ParserFactory parserFactory = DefaultParserFactory.getInstance();
 private boolean splitRows = true;
+private boolean allowShortLines;
+private boolean ignoreExtraColumns;
 
 public FixedLengthEndpoint() {
 }
@@ -87,7 +89,16 @@ public class FixedLengthEndpoint extends
 protected Parser createParser(String resourceUri, Reader bodyReader) 
throws IOException {
 InputStream is = 
ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext().getClassResolver(),
 resourceUri);
 InputStreamReader reader = new InputStreamReader(is);
-return getParserFactory().newFixedLengthParser(reader, bodyReader);
+Parser parser = getParserFactory().newFixedLengthParser(reader, 
bodyReader);
+if (allowShortLines) {
+parser.setHandlingShortLines(true);
+parser.setIgnoreParseWarnings(true);
+}
+if (ignoreExtraColumns) {
+parser.setIgnoreExtraColumns(true);
+parser.setIgnoreParseWarnings(true);
+}
+return parser;
 }
 
 // Properties
@@ -117,7 +128,32 @@ public class FixedLengthEndpoint extends
 return splitRows;
 }
 
+/**
+ * Sets the Component to send each row as a separate exchange once parsed
+ */
 public void setSplitRows(boolean splitRows) {
 this.splitRows = splitRows;
 }
+
+public boolean isAllowShortLines() {
+return this.allowShortLines;
+}
+
+/**
+ * Allows for lines to be shorter than expected and ignores the extra 
characters
+ */
+public void setAllowShortLines(boolean allowShortLines) {
+this.allowShortLines = allowShortLines;
+}
+
+/**
+ * Allows for lines to be longer than expected and ignores the extra 
characters
+ */
+public void setIgnoreExtraColumns(boolean ignoreExtraColumns) {
+this.ignoreExtraColumns = ignoreExtraColumns;
+}
+
+public boolean isIgnoreExtraColumns() {
+return ignoreExtraColumns;
+}
 }

Modified: 
camel/trunk/components/camel-flatpack/src/test/data/fixedLong/PEOPLE-FixedLength.txt
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-flatpack/src/test/data/fixedLong/PEOPLE-FixedLength.txt?rev=1346059r1=1346058r2=1346059view=diff
==
--- 
camel/trunk/components/camel-flatpack/src/test/data/fixedLong/PEOPLE-FixedLength.txt
 (original)
+++ 

[CONF] Apache Camel Flatpack

2012-06-04 Thread confluence







Flatpack
Page edited by Claus Ibsen


 Changes (2)
 




...
| {{textQualifier}} | {{}} | The text qualifier for delimited files.| | {{ignoreFirstRecord}} | {{true}} | Whether the first line is ignored for delimited files (for the column headers).| 
| {{splitRows}} | {{true}} | As of Camel 1.5, the The component can either process each row one by one or the entire content at once. | 
| {{allowShortLines}} | {{false}} | *Camel 2.9.3:* Allows for lines to be shorter than expected and ignores the extra characters. | | {{ignoreExtraColumns}} | {{false}} | *Camel 2.9.3:* Allows for lines to be longer than expected and ignores the extra characters. | 
{div}  
...


Full Content

Flatpack Component

The Flatpack component supports fixed width and delimited file parsing via the FlatPack library.
Notice: This component only supports consuming from flatpack files to Object model. You can not (yet) write from Object model to flatpack format.

Maven users will need to add the following dependency to their pom.xml for this component:


dependency
groupIdorg.apache.camel/groupId
artifactIdcamel-flatpack/artifactId
versionx.x.x/version
!-- use the same version as your Camel core version --
/dependency



URI format



flatpack:[delim|fixed]:flatPackConfig.pzmap.xml[?options]



Or for a delimited file handler with no configuration file just use



flatpack:someName[?options]



You can append query options to the URI in the following format, ?option=valueoption=value...

URI Options



 Name 
 Default Value 
 Description 


 delimiter 
 , 
 The default character delimiter for delimited files.


 textQualifier 
 " 
 The text qualifier for delimited files.


 ignoreFirstRecord 
 true 
 Whether the first line is ignored for delimited files (for the column headers).


 splitRows 
 true 
 The component can either process each row one by one or the entire content at once. 


 allowShortLines 
 false 
 Camel 2.9.3: Allows for lines to be shorter than expected and ignores the extra characters. 


 ignoreExtraColumns 
 false 
 Camel 2.9.3: Allows for lines to be longer than expected and ignores the extra characters. 





Examples


	flatpack:fixed:foo.pzmap.xml creates a fixed-width endpoint using the foo.pzmap.xml file configuration.
	flatpack:delim:bar.pzmap.xml creates a delimited endpoint using the bar.pzmap.xml file configuration.
	flatpack:foo creates a delimited endpoint called foo with no file configuration.



Message Headers
Camel will store the following headers on the IN message:



 Header 
 Description 


 camelFlatpackCounter 
 The current row index. For splitRows=false the counter is the total number of rows. 





Message Body
The component delivers the data in the IN message as a org.apache.camel.component.flatpack.DataSetList object that has converters for java.util.Map or java.util.List.
Usually you want the Map if you process one row at a time (splitRows=true). Use List for the entire content (splitRows=false), where each element in the list is a Map.
Each Map contains the key for the column name and its corresponding value.

For example to get the firstname from the sample below:


  Map row = exchange.getIn().getBody(Map.class);
  String firstName = row.get("FIRSTNAME");



However, you can also always get it as a List (even for splitRows=true). The same example:


  List data = ""
  Map row = (Map)data.get(0);
  String firstName = row.get("FIRSTNAME");



Header and Trailer records
In Camel 1.5 onwards the header and trailer notions in Flatpack are supported. However, you must use fixed record IDs:

	header for the header record (must be lowercase)
	trailer for the trailer record (must be lowercase)



The example below illustrates this fact that we have a header and a trailer. You can omit one or both of them if not needed. 


RECORD id="header" startPosition="1" endPosition="3" indicator="HBT"
COLUMN name="INDICATOR" length="3"/
COLUMN name="DATE" length="8"/
/RECORD

COLUMN name="FIRSTNAME" length="35" /
COLUMN name="LASTNAME" length="35" /
COLUMN name="ADDRESS" length="100" /
COLUMN name="CITY" length="100" /
COLUMN name="STATE" length="2" /
COLUMN name="ZIP" length="5" /

RECORD id="trailer" startPosition="1" endPosition="3" indicator="FBT"
COLUMN name="INDICATOR" length="3"/
COLUMN name="STATUS" length="7"/
/RECORD




Using the endpoint

A common use case is sending a file to this endpoint for further processing in a separate route. For example:



  camelContext xmlns="http://activemq.apache.org/camel/schema/spring"
route
  from uri="file://someDirectory"/
  to uri="flatpack:foo"/
/route

route
  from uri="flatpack:foo"/

svn commit: r1346061 - in /camel/branches/camel-2.9.x: ./ components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/ components/camel-flatpack/src/test/data/fixedLong/ components/cam

2012-06-04 Thread davsclaus
Author: davsclaus
Date: Mon Jun  4 17:59:17 2012
New Revision: 1346061

URL: http://svn.apache.org/viewvc?rev=1346061view=rev
Log:
CAMEL-5035: Added support for handling long/short lines to flatpack component. 
Thanks to Chris Geer for the patch.

Added:

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/data/fixedMixed/
  - copied from r1346059, 
camel/trunk/components/camel-flatpack/src/test/data/fixedMixed/

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/data/fixedShort/
  - copied from r1346059, 
camel/trunk/components/camel-flatpack/src/test/data/fixedShort/

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowLongTest.java
  - copied unchanged from r1346059, 
camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowLongTest.java

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowShortAndLongTest.java
  - copied unchanged from r1346059, 
camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowShortAndLongTest.java

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowShortTest.java
  - copied unchanged from r1346059, 
camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/FixedLengthAllowShortTest.java

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowLongTest-context.xml
  - copied unchanged from r1346059, 
camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowLongTest-context.xml

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowShortAndLongTest-context.xml
  - copied unchanged from r1346059, 
camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowShortAndLongTest-context.xml

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowShortTest-context.xml
  - copied unchanged from r1346059, 
camel/trunk/components/camel-flatpack/src/test/resources/org/apache/camel/component/flatpack/FixedLengthAllowShortTest-context.xml
Modified:
camel/branches/camel-2.9.x/   (props changed)

camel/branches/camel-2.9.x/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java

camel/branches/camel-2.9.x/components/camel-flatpack/src/test/data/fixedLong/PEOPLE-FixedLength.txt

Propchange: camel/branches/camel-2.9.x/
--
  Merged /camel/trunk:r1346059

Propchange: camel/branches/camel-2.9.x/
--
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.9.x/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java?rev=1346061r1=1346060r2=1346061view=diff
==
--- 
camel/branches/camel-2.9.x/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java
 (original)
+++ 
camel/branches/camel-2.9.x/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FixedLengthEndpoint.java
 Mon Jun  4 17:59:17 2012
@@ -50,6 +50,8 @@ public class FixedLengthEndpoint extends
 private LoadBalancer loadBalancer = new RoundRobinLoadBalancer();
 private ParserFactory parserFactory = DefaultParserFactory.getInstance();
 private boolean splitRows = true;
+private boolean allowShortLines;
+private boolean ignoreExtraColumns;
 
 public FixedLengthEndpoint() {
 }
@@ -87,7 +89,16 @@ public class FixedLengthEndpoint extends
 protected Parser createParser(String resourceUri, Reader bodyReader) 
throws IOException {
 InputStream is = 
ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext().getClassResolver(),
 resourceUri);
 InputStreamReader reader = new InputStreamReader(is);
-return getParserFactory().newFixedLengthParser(reader, bodyReader);
+Parser parser = getParserFactory().newFixedLengthParser(reader, 
bodyReader);
+if (allowShortLines) {
+parser.setHandlingShortLines(true);
+parser.setIgnoreParseWarnings(true);
+}
+if (ignoreExtraColumns) {
+parser.setIgnoreExtraColumns(true);
+

svn commit: r820250 - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache flatpack.html

2012-06-04 Thread buildbot
Author: buildbot
Date: Mon Jun  4 18:20:20 2012
New Revision: 820250

Log:
Production update by buildbot for camel

Modified:
websites/production/camel/content/book-component-appendix.html
websites/production/camel/content/book-in-one-page.html
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/flatpack.html

Modified: websites/production/camel/content/book-component-appendix.html
==
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Mon Jun  4 
18:20:20 2012
@@ -4568,7 +4568,7 @@ flatpack:someName[?options]
 
 h3a shape=rect name=BookComponentAppendix-URIOptions/aURI 
Options/h3
 div class=confluenceTableSmalldiv class=table-wrap
-table class=confluenceTabletbodytrth colspan=1 rowspan=1 
class=confluenceTh Name /thth colspan=1 rowspan=1 
class=confluenceTh Default Value /thth colspan=1 rowspan=1 
class=confluenceTh Description /th/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttdelimiter/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd tt,/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd The default character delimiter for delimited 
files./td/trtrtd colspan=1 rowspan=1 class=confluenceTd 
tttextQualifier/tt /tdtd colspan=1 rowspan=1 class=confluenceTd 
tt/tt /tdtd colspan=1 rowspan=1 class=confluenceTd The text 
qualifier for delimited files./td/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttignoreFirstRecord/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd tttrue/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd Whether the first line is ignored for 
 delimited files (for the column headers)./td/trtrtd colspan=1 
rowspan=1 class=confluenceTd ttsplitRows/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd tttrue/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd As of Camel 1.5, the component can either 
process each row one by one or the entire content at once. 
/td/tr/tbody/table
+table class=confluenceTabletbodytrth colspan=1 rowspan=1 
class=confluenceTh Name /thth colspan=1 rowspan=1 
class=confluenceTh Default Value /thth colspan=1 rowspan=1 
class=confluenceTh Description /th/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttdelimiter/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd tt,/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd The default character delimiter for delimited 
files./td/trtrtd colspan=1 rowspan=1 class=confluenceTd 
tttextQualifier/tt /tdtd colspan=1 rowspan=1 class=confluenceTd 
tt/tt /tdtd colspan=1 rowspan=1 class=confluenceTd The text 
qualifier for delimited files./td/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttignoreFirstRecord/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd tttrue/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd Whether the first line is ignored for 
 delimited files (for the column headers)./td/trtrtd colspan=1 
rowspan=1 class=confluenceTd ttsplitRows/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd tttrue/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd The component can either process each row one 
by one or the entire content at once. /td/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttallowShortLines/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd ttfalse/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd bCamel 2.9.3:/b Allows for lines to be shorter than 
expected and ignores the extra characters. /td/trtrtd colspan=1 
rowspan=1 class=confluenceTd ttignoreExtraColumns/tt /tdtd 
colspan=1 rowspan=1 class=confluenceTd ttfalse/tt /tdtd 
colspan=1 rowspan=1 class=confluenceTd bCamel 2.9.3:/b Allows for 
lines to be longer than expected and ignores the extra characters. 
/td/tr/tbody/table
 /div
 /div
 

Modified: websites/production/camel/content/book-in-one-page.html
==
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Mon Jun  4 18:20:20 
2012
@@ -24977,7 +24977,7 @@ flatpack:someName[?options]
 
 h3a shape=rect name=BookInOnePage-URIOptions/aURI Options/h3
 div class=confluenceTableSmalldiv class=table-wrap
-table class=confluenceTabletbodytrth colspan=1 rowspan=1 
class=confluenceTh Name /thth colspan=1 rowspan=1 
class=confluenceTh Default Value /thth colspan=1 rowspan=1 
class=confluenceTh Description /th/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttdelimiter/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd tt,/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd The default character delimiter for delimited 
files./td/trtrtd colspan=1 rowspan=1 class=confluenceTd 
tttextQualifier/tt /tdtd colspan=1 rowspan=1 class=confluenceTd 
tt/tt /tdtd colspan=1 rowspan=1 class=confluenceTd The text 
qualifier for delimited files./td/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttignoreFirstRecord/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd tttrue/tt /tdtd colspan=1 

svn commit: r820258 [2/2] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache jms.html

2012-06-04 Thread buildbot
Modified: websites/production/camel/content/jms.html
==
--- websites/production/camel/content/jms.html (original)
+++ websites/production/camel/content/jms.html Mon Jun  4 19:20:34 2012
@@ -187,8 +187,7 @@ In Camel 2.8 onwards, the default settin
 div class=table-wrap
 table class=confluenceTabletbodytrth colspan=1 rowspan=1 
class=confluenceTh Option /thth colspan=1 rowspan=1 
class=confluenceTh Default Value /thth colspan=1 rowspan=1 
class=confluenceTh Description /th/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttacceptMessagesWhileStopping/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd ttfalse/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd Specifies whether the consumer accept 
messages while it is stopping. You may consider enabling this option, if you 
start and stop a shape=rect href=jms.html title=JMSJMS/a routes at 
runtime, while there are still messages enqued on the queue. If this option is 
ttfalse/tt, and you stop the a shape=rect href=jms.html 
title=JMSJMS/a route, then messages may be rejected, and the JMS broker 
would have to attempt redeliveries, which yet again may be rejected, and 
eventually the message may be moved at a d
 ead letter queue on the JMS broker. To avoid this its recommended to enable 
this option. /td/trtrtd colspan=1 rowspan=1 class=confluenceTd 
ttacknowledgementModeName/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd ttAUTO_ACKNOWLEDGE/tt /tdtd colspan=1 
rowspan=1 class=confluenceTd The JMS acknowledgement name, which is one 
of: ttTRANSACTED/tt, ttCLIENT_ACKNOWLEDGE/tt, 
ttAUTO_ACKNOWLEDGE/tt, ttDUPS_OK_ACKNOWLEDGE/tt /td/trtrtd 
colspan=1 rowspan=1 class=confluenceTd ttacknowledgementMode/tt 
/tdtd colspan=1 rowspan=1 class=confluenceTd tt-1/tt /tdtd 
colspan=1 rowspan=1 class=confluenceTd The JMS acknowledgement mode 
defined as an Integer. Allows you to set vendor-specific extensions to the 
acknowledgment mode. For the regular modes, it is preferable to use the 
ttacknowledgementModeName/tt instead. /td/trtrtd colspan=1 
rowspan=1 class=confluenceTd ttalwaysCopyMes
 sage/tt /tdtd colspan=1 rowspan=1 class=confluenceTd 
ttfalse/tt /tdtd colspan=1 rowspan=1 class=confluenceTd If 
tttrue/tt, Camel will always make a JMS message copy of the message when it 
is passed to the producer for sending. Copying the message is needed in some 
situations, such as when a ttreplyToDestinationSelectorName/tt is set 
(incidentally, Camel will set the ttalwaysCopyMessage/tt option to 
tttrue/tt, if a ttreplyToDestinationSelectorName/tt is set) 
/td/trtrtd colspan=1 rowspan=1 class=confluenceTd 
ttasyncConsumer/tt /tdtd colspan=1 rowspan=1 class=confluenceTd 
ttfalse/tt /tdtd colspan=1 rowspan=1 class=confluenceTd bCamel 
2.9:/b Whether the ttJmsConsumer/tt processes the a shape=rect 
href=exchange.html title=ExchangeExchange/a a shape=rect 
href=asynchronous-routing-engine.html title=Asynchronous Routing 
Engineasynchronously/a. If enabled then the ttJ
 msConsumer/tt may pickup the next message from the JMS queue, while the 
previous message is being processed asynchronously (by the a shape=rect 
href=asynchronous-routing-engine.html title=Asynchronous Routing 
EngineAsynchronous Routing Engine/a). This means that messages may be 
processed not 100% strictly in order. If disabled (as default) then the a 
shape=rect href=exchange.html title=ExchangeExchange/a is fully 
processed before the ttJmsConsumer/tt will pickup the next message from the 
JMS queue. Note if tttransacted/tt has been enabled, then 
ttasyncConsumer=true/tt does not run asynchronously, as transactions must 
be executed synchronously (Camel 3.0 may support async transactions). 
/td/trtrtd colspan=1 rowspan=1 class=confluenceTd 
ttasyncStartListener/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd ttfalse/tt /tdtd colspan=1 rowspan=1 
class=confluenceTd bCamel 2.10:/b Whether to startup the 
 ttJmsConsumer/tt message listener asynchronously, when starting a route. 
For example if a ttJmsConsumer/tt cannot get a connection to a remote JMS 
broker, then it may block while retrying and/or failover. This will cause Camel 
to block while starting routes. By setting this option to tttrue/tt, you 
will let routes startup, while the ttJmsConsumer/tt connects to the JMS 
broker using a dedicated thread in asynchronous mode. If this option is used, 
then beware that if the connection could not be established, then an exception 
is logged at ttWARN/tt level, and the consumer will not be able to receive 
messages; You can then restart the route to retry. /td/trtrtd 
colspan=1 rowspan=1 class=confluenceTd ttasyncStopListener/tt 
/tdtd colspan=1 rowspan=1 class=confluenceTd ttfalse/tt /tdtd 
colspan=1 rowspan=1 class=confluenceTd bCamel 2.10:/b Whether to 
stop the ttJmsConsumer/tt message listener asynchronously, when s
 topping a route. /td/trtrtd colspan=1 rowspan=1 
class=confluenceTd ttautoStartup/tt /tdtd colspan=1 rowspan=1 

[CONF] Apache Camel Articles

2012-06-04 Thread confluence







Articles
Page edited by Raul Kripalani


 Changes (2)
 




...
* [Using Apache Camel and Java EE in an OSGi World|http://www.java-tv.com/2012/02/28/using-apache-camel-and-java-ee-in-an-osgi-world/] \- Video presentation from JavaOne 2011 by Jeff Genender and Johan Edstrom, talking about their experience with Camel and OSGi in a real life project. * [Migrating akka-camel module to Akka 2.x|http://skillsmatter.com/podcast/scala/akka-2-x] \- Video presentation from ScalaDays 2012 by Peter Gabryanczy. Peter has been working on migration of Akka-Camel module to Akka 2.x, and will share his experiences and show how Apache Camel library plays nicely with the newest version of akka 2.x. The presentation will be full of examples and will contain a short demo of camel integration. 
* [Camel and MongoDB: a match made in heaven|http://blog.raulkr.net/2012/06/camel-and-mongodb-match-made-in-heaven.html] \- Introduction to the Camel MongoDB component launched with the Camel 2.10 release 
  
...
* [Kai Wähners Blog|http://www.kai-waehner.de/blog] \- Kai blogs about Camel, ESB, Cloud, and present Camel at various conferences as well. * [Michael Wareckis Blog|http://michalwarecki.blogspot.com/] \- Michael blogs about SOA, BPA and Camel. 
* [Raul Kripalanis Blog|http://blog.raulkr.net/] \- Raúl blogs about Camel, ServiceMix, ActiveMQ, CXF, SOA, Open Source in general, both in Spanish and English. 


Full Content

See alsoSee also Camel User Stories.

We have collected a number of links to external resources about Camel. The lists are ordered so the newest links are added to the bottom of each list.

Articles on Apache Camel


Introduction

If you have never used or seen Camel before, then you should start with Apache Camel Tutorial  Introduction to EIP, Routes, Components, Testing, and other Concepts  an article by Kai Wähner, where he puts EIP and Camel into the big   picture and gives a run down of the important Camel concepts. Demo source code can be downloaded at github to get started with your first Camel project easily.


Some further simple introductory articles to learn the basics:


	Simple DSL OSGi bundle example by Andrej Koelewijn
	Realization of EAI Patterns with Apache Camel by Pascal Kolb at the Universität Stuttgart
	Navigating the Integration Landscape - Claus Ibsen on Apache Camel Claus Ibsen was interviewed at DZone discussing the integration landscape
	Enterprise Integration Pattern with Apache Camel 2.0 by Julien Dechmann, how to use Camel to split and transform CSV files to POJO and XML and sending to a JMS destination
	Camellos - Discovering Apache Camel by Gunnar Hillert. A very nice and short blog series about Camel showing its powers in a simple and intuitive way.
	First step with Apache Camel by Lukasz Budnik. Great first steps where Lukas does a fairly complex route as his first encounter with Camel.
	Devoxx talk about Apache Camel  Impressions from the talk by Jos Nieuwenhuis
	LEGO Java: Apache Camel Context and Route Basics shows how to build integration applications using EIPs LEGO style. Building an application to parse HTML pages from web sites.
	LEGO® Java (II): Apache Camel Error Handling, Java Beans and Web Services part 2 of the LEGO Camel blog series. This time we covers error handling and using beans with Camel.



Using Camel

These examples show usage of several different components and other concepts such as error handling.


	A bit more meat: Camel applied : JMS to File by Mike McLean
	Matteo wrote a blog entry about using Camel with iBatis
	Using the Camel aggregator correctly by Torsten Mielke, a great blog entry how to use the Camel aggregator.
	Spring Remoting with JMS Example on Amin Abbaspour's Weblog
	Camel routes and HL7 by Roger Searjeant on using Camel and its HL7 support in the health care space.
	Leverage EIP with Apache Camel and Twitter by Bruno Borges
	Using RSS with Apache Camel by Jeroen Reijn
	Axis 2 ride with Camel how to use Axis 2 with Camel by Sagara
	A Camel based XML payload HTTP polling provider by Christopher Hunt to use Camel with AJAX. Interesting read.
	First steps with Apache Camel on Google App Engine by Martin Krasser posts his findings to get Camel running on the GAE.
	Camel, CXF and JMS by Example by Silvester van der Bijl. Good blog entry how to use CXF and Camel together.
	A simple file monitoring console with camel, cometd and jquery by Andrej Koelewijn. Shows how to use Camel to monitor log files and  push lines changed using cometd to a webpage. All in a few files using  Groovy.
	Advanced Event Notification Framework with Apache Camel by Hendy showing how to use Camel for a lightweight even notification system.
	Camel IRC Message Route Example by James Carr. An 

[CONF] Apache Camel Articles

2012-06-04 Thread confluence







Articles
Page edited by Raul Kripalani


 Changes (2)
 




...
* [Using Apache Camel and Java EE in an OSGi World|http://www.java-tv.com/2012/02/28/using-apache-camel-and-java-ee-in-an-osgi-world/] \- Video presentation from JavaOne 2011 by Jeff Genender and Johan Edstrom, talking about their experience with Camel and OSGi in a real life project. * [Migrating akka-camel module to Akka 2.x|http://skillsmatter.com/podcast/scala/akka-2-x] \- Video presentation from ScalaDays 2012 by Peter Gabryanczy. Peter has been working on migration of Akka-Camel module to Akka 2.x, and will share his experiences and show how Apache Camel library plays nicely with the newest version of akka 2.x. The presentation will be full of examples and will contain a short demo of camel integration. 
* [Camel and MongoDB: a match made in heaven|http://blog.raulkr.net/2012/06/camel-and-mongodb-match-made-in-heaven.html] \- Introduction to the Camel MongoDB component launched with the Camel 2.10 release. 
  
...
* [Kai Wähners Blog|http://www.kai-waehner.de/blog] \- Kai blogs about Camel, ESB, Cloud, and present Camel at various conferences as well. * [Michael Wareckis Blog|http://michalwarecki.blogspot.com/] \- Michael blogs about SOA, BPA and Camel. 
* [Raul Kripalanis Blog|http://blog.raulkr.net/] \- Raúl blogs about Camel, ServiceMix, ActiveMQ, CXF, SOA, Open Source in general, both in Spanish and English. 


Full Content

See alsoSee also Camel User Stories.

We have collected a number of links to external resources about Camel. The lists are ordered so the newest links are added to the bottom of each list.

Articles on Apache Camel


Introduction

If you have never used or seen Camel before, then you should start with Apache Camel Tutorial  Introduction to EIP, Routes, Components, Testing, and other Concepts  an article by Kai Wähner, where he puts EIP and Camel into the big   picture and gives a run down of the important Camel concepts. Demo source code can be downloaded at github to get started with your first Camel project easily.


Some further simple introductory articles to learn the basics:


	Simple DSL OSGi bundle example by Andrej Koelewijn
	Realization of EAI Patterns with Apache Camel by Pascal Kolb at the Universität Stuttgart
	Navigating the Integration Landscape - Claus Ibsen on Apache Camel Claus Ibsen was interviewed at DZone discussing the integration landscape
	Enterprise Integration Pattern with Apache Camel 2.0 by Julien Dechmann, how to use Camel to split and transform CSV files to POJO and XML and sending to a JMS destination
	Camellos - Discovering Apache Camel by Gunnar Hillert. A very nice and short blog series about Camel showing its powers in a simple and intuitive way.
	First step with Apache Camel by Lukasz Budnik. Great first steps where Lukas does a fairly complex route as his first encounter with Camel.
	Devoxx talk about Apache Camel  Impressions from the talk by Jos Nieuwenhuis
	LEGO Java: Apache Camel Context and Route Basics shows how to build integration applications using EIPs LEGO style. Building an application to parse HTML pages from web sites.
	LEGO® Java (II): Apache Camel Error Handling, Java Beans and Web Services part 2 of the LEGO Camel blog series. This time we covers error handling and using beans with Camel.



Using Camel

These examples show usage of several different components and other concepts such as error handling.


	A bit more meat: Camel applied : JMS to File by Mike McLean
	Matteo wrote a blog entry about using Camel with iBatis
	Using the Camel aggregator correctly by Torsten Mielke, a great blog entry how to use the Camel aggregator.
	Spring Remoting with JMS Example on Amin Abbaspour's Weblog
	Camel routes and HL7 by Roger Searjeant on using Camel and its HL7 support in the health care space.
	Leverage EIP with Apache Camel and Twitter by Bruno Borges
	Using RSS with Apache Camel by Jeroen Reijn
	Axis 2 ride with Camel how to use Axis 2 with Camel by Sagara
	A Camel based XML payload HTTP polling provider by Christopher Hunt to use Camel with AJAX. Interesting read.
	First steps with Apache Camel on Google App Engine by Martin Krasser posts his findings to get Camel running on the GAE.
	Camel, CXF and JMS by Example by Silvester van der Bijl. Good blog entry how to use CXF and Camel together.
	A simple file monitoring console with camel, cometd and jquery by Andrej Koelewijn. Shows how to use Camel to monitor log files and  push lines changed using cometd to a webpage. All in a few files using  Groovy.
	Advanced Event Notification Framework with Apache Camel by Hendy showing how to use Camel for a lightweight even notification system.
	Camel IRC Message Route Example by James Carr. An 

[CONF] Apache Camel Articles

2012-06-04 Thread confluence







Articles
Page edited by Raul Kripalani


 Changes (1)
 




...
* [Using Apache Camel and Java EE in an OSGi World|http://www.java-tv.com/2012/02/28/using-apache-camel-and-java-ee-in-an-osgi-world/] \- Video presentation from JavaOne 2011 by Jeff Genender and Johan Edstrom, talking about their experience with Camel and OSGi in a real life project. * [Migrating akka-camel module to Akka 2.x|http://skillsmatter.com/podcast/scala/akka-2-x] \- Video presentation from ScalaDays 2012 by Peter Gabryanczy. Peter has been working on migration of Akka-Camel module to Akka 2.x, and will share his experiences and show how Apache Camel library plays nicely with the newest version of akka 2.x. The presentation will be full of examples and will contain a short demo of camel integration. 
* [Camel and MongoDB: a match made in heaven|http://blog.raulkr.net/2012/06/camel-and-mongodb-match-made-in-heaven.html] \- Introduction to the Camel MongoDB component launched with the Camel 2.10 release. 
  
...


Full Content

See alsoSee also Camel User Stories.

We have collected a number of links to external resources about Camel. The lists are ordered so the newest links are added to the bottom of each list.

Articles on Apache Camel


Introduction

If you have never used or seen Camel before, then you should start with Apache Camel Tutorial  Introduction to EIP, Routes, Components, Testing, and other Concepts  an article by Kai Wähner, where he puts EIP and Camel into the big   picture and gives a run down of the important Camel concepts. Demo source code can be downloaded at github to get started with your first Camel project easily.


Some further simple introductory articles to learn the basics:


	Simple DSL OSGi bundle example by Andrej Koelewijn
	Realization of EAI Patterns with Apache Camel by Pascal Kolb at the Universität Stuttgart
	Navigating the Integration Landscape - Claus Ibsen on Apache Camel Claus Ibsen was interviewed at DZone discussing the integration landscape
	Enterprise Integration Pattern with Apache Camel 2.0 by Julien Dechmann, how to use Camel to split and transform CSV files to POJO and XML and sending to a JMS destination
	Camellos - Discovering Apache Camel by Gunnar Hillert. A very nice and short blog series about Camel showing its powers in a simple and intuitive way.
	First step with Apache Camel by Lukasz Budnik. Great first steps where Lukas does a fairly complex route as his first encounter with Camel.
	Devoxx talk about Apache Camel  Impressions from the talk by Jos Nieuwenhuis
	LEGO Java: Apache Camel Context and Route Basics shows how to build integration applications using EIPs LEGO style. Building an application to parse HTML pages from web sites.
	LEGO® Java (II): Apache Camel Error Handling, Java Beans and Web Services part 2 of the LEGO Camel blog series. This time we covers error handling and using beans with Camel.



Using Camel

These examples show usage of several different components and other concepts such as error handling.


	A bit more meat: Camel applied : JMS to File by Mike McLean
	Matteo wrote a blog entry about using Camel with iBatis
	Using the Camel aggregator correctly by Torsten Mielke, a great blog entry how to use the Camel aggregator.
	Spring Remoting with JMS Example on Amin Abbaspour's Weblog
	Camel routes and HL7 by Roger Searjeant on using Camel and its HL7 support in the health care space.
	Leverage EIP with Apache Camel and Twitter by Bruno Borges
	Using RSS with Apache Camel by Jeroen Reijn
	Axis 2 ride with Camel how to use Axis 2 with Camel by Sagara
	A Camel based XML payload HTTP polling provider by Christopher Hunt to use Camel with AJAX. Interesting read.
	First steps with Apache Camel on Google App Engine by Martin Krasser posts his findings to get Camel running on the GAE.
	Camel, CXF and JMS by Example by Silvester van der Bijl. Good blog entry how to use CXF and Camel together.
	A simple file monitoring console with camel, cometd and jquery by Andrej Koelewijn. Shows how to use Camel to monitor log files and  push lines changed using cometd to a webpage. All in a few files using  Groovy.
	Advanced Event Notification Framework with Apache Camel by Hendy showing how to use Camel for a lightweight even notification system.
	Camel IRC Message Route Example by James Carr. An IRC bot which can parse _javascript_ and Ruby expressions.
	A composite REST service using Apache Camel by Andrej Koelewijn. A blog entry how to expose a REST service and have  Camel aggregate data from multiple sources to be returned.
	EDA events over system boundaries with Camel by Sculptur team blog.
	Dynamic FTP Client using Apache Camel and Spring by Mattias Severson, showing how to develop an FTP client that could  

[CONF] Apache Camel Articles

2012-06-04 Thread confluence







Articles
Page edited by Raul Kripalani


 Changes (2)
 




...
* [Working with EMail attachments|http://jason-sherman.blogspot.se/2012/04/camel-working-with-email-attachments.html] \- by Jason Sherman, whom blogs about how to split emails with multiple  attachments into multiple messages with a single attachment each, for  further processing in Camel. * [Using Quartz, Camel and Spring for Distributed Service Orchestration|http://thinkinginsoftware.blogspot.se/2012/05/using-quartz-camel-and-spring-for.html] \- by Nestor Urquiza blogs about using Quartz and Camel to build a distributed solution running a clustered Camel application on multiple Tomcat instances. 
* [Camel and MongoDB: a match made in heaven|http://blog.raulkr.net/2012/06/camel-and-mongodb-match-made-in-heaven.html] \- Introduction to the Camel MongoDB component launched with the Camel 2.10 release. 
 h3. Tooling / Combination with other Products 
...
* [Using Apache Camel and Java EE in an OSGi World|http://www.java-tv.com/2012/02/28/using-apache-camel-and-java-ee-in-an-osgi-world/] \- Video presentation from JavaOne 2011 by Jeff Genender and Johan Edstrom, talking about their experience with Camel and OSGi in a real life project. * [Migrating akka-camel module to Akka 2.x|http://skillsmatter.com/podcast/scala/akka-2-x] \- Video presentation from ScalaDays 2012 by Peter Gabryanczy. Peter has been working on migration of Akka-Camel module to Akka 2.x, and will share his experiences and show how Apache Camel library plays nicely with the newest version of akka 2.x. The presentation will be full of examples and will contain a short demo of camel integration. 
* [Camel and MongoDB: a match made in heaven|http://blog.raulkr.net/2012/06/camel-and-mongodb-match-made-in-heaven.html] \- Introduction to the Camel MongoDB component launched with the Camel 2.10 release. 
  
...


Full Content

See alsoSee also Camel User Stories.

We have collected a number of links to external resources about Camel. The lists are ordered so the newest links are added to the bottom of each list.

Articles on Apache Camel


Introduction

If you have never used or seen Camel before, then you should start with Apache Camel Tutorial  Introduction to EIP, Routes, Components, Testing, and other Concepts  an article by Kai Wähner, where he puts EIP and Camel into the big   picture and gives a run down of the important Camel concepts. Demo source code can be downloaded at github to get started with your first Camel project easily.


Some further simple introductory articles to learn the basics:


	Simple DSL OSGi bundle example by Andrej Koelewijn
	Realization of EAI Patterns with Apache Camel by Pascal Kolb at the Universität Stuttgart
	Navigating the Integration Landscape - Claus Ibsen on Apache Camel Claus Ibsen was interviewed at DZone discussing the integration landscape
	Enterprise Integration Pattern with Apache Camel 2.0 by Julien Dechmann, how to use Camel to split and transform CSV files to POJO and XML and sending to a JMS destination
	Camellos - Discovering Apache Camel by Gunnar Hillert. A very nice and short blog series about Camel showing its powers in a simple and intuitive way.
	First step with Apache Camel by Lukasz Budnik. Great first steps where Lukas does a fairly complex route as his first encounter with Camel.
	Devoxx talk about Apache Camel  Impressions from the talk by Jos Nieuwenhuis
	LEGO Java: Apache Camel Context and Route Basics shows how to build integration applications using EIPs LEGO style. Building an application to parse HTML pages from web sites.
	LEGO® Java (II): Apache Camel Error Handling, Java Beans and Web Services part 2 of the LEGO Camel blog series. This time we covers error handling and using beans with Camel.



Using Camel

These examples show usage of several different components and other concepts such as error handling.


	A bit more meat: Camel applied : JMS to File by Mike McLean
	Matteo wrote a blog entry about using Camel with iBatis
	Using the Camel aggregator correctly by Torsten Mielke, a great blog entry how to use the Camel aggregator.
	Spring Remoting with JMS Example on Amin Abbaspour's Weblog
	Camel routes and HL7 by Roger Searjeant on using Camel and its HL7 support in the health care space.
	Leverage EIP with Apache Camel and Twitter by Bruno Borges
	Using RSS with Apache Camel by Jeroen Reijn
	Axis 2 ride with Camel how to use Axis 2 with Camel by Sagara
	A Camel based XML payload HTTP polling provider by Christopher Hunt to use Camel with AJAX. Interesting read.
	First steps with Apache Camel on Google App Engine by Martin Krasser posts his findings to get Camel running on the GAE.
	Camel, CXF and JMS by 

svn commit: r1346099 - in /camel/trunk/components/camel-hbase/src: main/java/org/apache/camel/component/hbase/ main/java/org/apache/camel/component/hbase/converter/ main/java/org/apache/camel/componen

2012-06-04 Thread bvahdat
Author: bvahdat
Date: Mon Jun  4 19:27:41 2012
New Revision: 1346099

URL: http://svn.apache.org/viewvc?rev=1346099view=rev
Log:
Cleaned up all the JDK compiler warnings by camel-hbase.

Modified:

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/converter/HBaseModelConverter.java

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/mapping/BodyMappingStrategy.java

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/mapping/CellMappingStrategyFactory.java

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/mapping/HeaderMappingStrategy.java

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/model/HBaseCell.java

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/model/HBaseRow.java

camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java

camel/trunk/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/HBaseProducerTest.java

camel/trunk/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepositoryTest.java

Modified: 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java?rev=1346099r1=1346098r2=1346099view=diff
==
--- 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
 (original)
+++ 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
 Mon Jun  4 19:27:41 2012
@@ -27,16 +27,12 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTablePool;
 import org.apache.hadoop.hbase.filter.Filter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Represents an HBase endpoint.
  */
 public class HBaseEndpoint extends DefaultEndpoint {
 
-private static final Logger LOG = 
LoggerFactory.getLogger(HBaseEndpoint.class);
-
 private Configuration configuration;
 private String tableName;
 private HBaseAdmin admin;
@@ -66,10 +62,6 @@ public class HBaseEndpoint extends Defau
 this.tablePool = tablePool;
 }
 
-public HBaseEndpoint(String endpointUri) {
-super(endpointUri);
-}
-
 public Producer createProducer() throws Exception {
 return new HBaseProducer(this, tablePool, tableName);
 }

Modified: 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java?rev=1346099r1=1346098r2=1346099view=diff
==
--- 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java
 (original)
+++ 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java
 Mon Jun  4 19:27:41 2012
@@ -40,14 +40,11 @@ import org.apache.hadoop.hbase.client.Re
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.filter.Filter;
 import org.apache.hadoop.hbase.filter.FilterList;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * The HBase producer.
  */
 public class HBaseProducer extends DefaultProducer implements ServicePoolAware 
{
-private static final transient Logger LOG = 
LoggerFactory.getLogger(HBaseProducer.class);
 private HBaseEndpoint endpoint;
 private String tableName;
 private final HTablePool tablePool;

Modified: 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/converter/HBaseModelConverter.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/converter/HBaseModelConverter.java?rev=1346099r1=1346098r2=1346099view=diff
==
--- 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/converter/HBaseModelConverter.java
 (original)
+++ 
camel/trunk/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/converter/HBaseModelConverter.java
 Mon Jun  4 19:27:41 2012
@@ -16,19 +16,8 @@
  */
 package org.apache.camel.component.hbase.converter;
 
-import 

svn commit: r1346111 - in /camel/trunk/components/camel-jclouds/src: main/java/org/apache/camel/component/jclouds/ test/java/org/apache/camel/component/jclouds/

2012-06-04 Thread bvahdat
Author: bvahdat
Date: Mon Jun  4 19:41:17 2012
New Revision: 1346111

URL: http://svn.apache.org/viewvc?rev=1346111view=rev
Log:
Cleaned up all the JDK compiler warnings by camel-jclouds.

Modified:

camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java

camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java

camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java

camel/trunk/components/camel-jclouds/src/test/java/org/apache/camel/component/jclouds/JcloudsBlobStoreProducerTest.java

Modified: 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java?rev=1346111r1=1346110r2=1346111view=diff
==
--- 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java
 (original)
+++ 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java
 Mon Jun  4 19:41:17 2012
@@ -25,7 +25,6 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.converter.stream.CachedOutputStream;
 import org.apache.camel.impl.ScheduledBatchPollingConsumer;
-import org.apache.camel.spi.Synchronization;
 import org.apache.camel.util.CastUtils;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;

Modified: 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java?rev=1346111r1=1346110r2=1346111view=diff
==
--- 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java
 (original)
+++ 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java
 Mon Jun  4 19:41:17 2012
@@ -25,14 +25,10 @@ import org.jclouds.blobstore.domain.Blob
 import org.jclouds.blobstore.util.BlobStoreUtils;
 import org.jclouds.domain.Location;
 import org.jclouds.io.Payload;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import static org.jclouds.blobstore.options.PutOptions.Builder.multipart;
 
 public final class JcloudsBlobStoreHelper {
 
-private static final Logger LOG = 
LoggerFactory.getLogger(JcloudsBlobStoreHelper.class);
-
 private JcloudsBlobStoreHelper() {
 //Utility Class
 }

Modified: 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java?rev=1346111r1=1346110r2=1346111view=diff
==
--- 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java
 (original)
+++ 
camel/trunk/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java
 Mon Jun  4 19:41:17 2012
@@ -16,38 +16,29 @@
  */
 package org.apache.camel.component.jclouds;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
 import com.google.common.io.ByteStreams;
 import com.google.common.io.InputSupplier;
 import org.apache.camel.Converter;
 import org.apache.camel.Exchange;
 import org.apache.camel.FallbackConverter;
-import org.apache.camel.StreamCache;
 import org.apache.camel.TypeConverter;
 import org.apache.camel.component.file.GenericFile;
 import org.apache.camel.converter.stream.CachedOutputStream;
 import org.apache.camel.converter.stream.StreamSourceCache;
 import org.apache.camel.spi.TypeConverterRegistry;
-import org.apache.camel.util.IOHelper;
 import org.jclouds.io.Payload;
 import org.jclouds.io.payloads.ByteArrayPayload;
 import org.jclouds.io.payloads.FilePayload;
 import org.jclouds.io.payloads.InputStreamPayload;
 import org.jclouds.io.payloads.StringPayload;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 @Converter
 public final class JcloudsPayloadConverter {
 
-private static final Logger LOG = 
LoggerFactory.getLogger(JcloudsPayloadConverter.class);
-
 private JcloudsPayloadConverter() {
 //Utility Class
   

svn commit: r820265 - in /websites/production/camel/content: articles.html cache/main.pageCache

2012-06-04 Thread buildbot
Author: buildbot
Date: Mon Jun  4 20:18:34 2012
New Revision: 820265

Log:
Production update by buildbot for camel

Modified:
websites/production/camel/content/articles.html
websites/production/camel/content/cache/main.pageCache

Modified: websites/production/camel/content/articles.html
==
--- websites/production/camel/content/articles.html (original)
+++ websites/production/camel/content/articles.html Mon Jun  4 20:18:34 2012
@@ -96,7 +96,7 @@
 
 pThese examples show usage of several different components and other 
concepts such as error handling./p
 
-ullia shape=rect class=external-link 
href=http://mikemclean.ca/muse/2009/05/a-bit-more-meat-camel-applied-jms-to-file/;
 rel=nofollowA bit more meat: Camel applied : JMS to File/a by Mike 
McLean/liliMatteo wrote a blog entry about a shape=rect 
class=external-link 
href=http://matteoredaelli.wordpress.com/2008/10/08/using-apache-camel-with-ibatis/;
 rel=nofollowusing Camel with iBatis/a/lilia shape=rect 
class=external-link 
href=http://tmielke.blogspot.com/2009/01/using-camel-aggregator-correctly.html;
 rel=nofollowUsing the Camel aggregator correctly/a by Torsten Mielke, a 
great blog entry how to use the Camel aggregator./lilia shape=rect 
class=external-link href=http://aminsblog.wordpress.com/2008/05/06/15/; 
rel=nofollowSpring Remoting with JMS Example/a on a shape=rect 
class=external-link 
href=http://searjeant.blogspot.com/2009/02/camel-routes-and-hl7.html; 
rel=nofollowAmin Abbaspour's Weblog/a/lilia sh
 ape=rect class=external-link 
href=http://searjeant.blogspot.com/2009/02/camel-routes-and-hl7.html; 
rel=nofollowCamel routes and HL7/a by Roger Searjeant on using Camel and 
its HL7 support in the health care space./lilia shape=rect 
class=external-link 
href=http://blog.brunoborges.com.br/2009/03/leverage-eip-with-apache-camel-and.html;
 rel=nofollowLeverage EIP with Apache Camel and Twitter/a by Bruno 
Borges/lilia shape=rect class=external-link 
href=http://blog.jeroenreijn.com/2009/03/apache-camel-open-source-integration.html;
 rel=nofollowUsing RSS with Apache Camel/a by Jeroen Reijn/lilia 
shape=rect class=external-link 
href=http://ssagara.blogspot.com/2009/04/axis2-ride-with-camel.html; 
rel=nofollowAxis 2 ride with Camel/a how to use Axis 2 with Camel by 
Sagara/lilia shape=rect class=external-link 
href=http://christopherhunt-software.blogspot.com/2009/07/camel-based-xml-payload-http-polling.html;
 rel=nofollowA
  Camel based XML payload HTTP polling provider/a by Christopher Hunt to use 
Camel with AJAX. Interesting read./lilia shape=rect 
class=external-link 
href=http://krasserm.blogspot.com/2009/10/first-steps-with-apache-camel-on-google.html;
 rel=nofollowFirst steps with Apache Camel on Google App Engine/a by 
Martin Krasser posts his findings to get Camel running on the GAE./lilia 
shape=rect class=external-link 
href=http://blog.software-art.nl/2009/11/15/camel-cxf-and-jms-by-example/; 
rel=nofollowCamel, CXF and JMS by Example/a by Silvester van der Bijl. 
Good blog entry how to use CXF and Camel together./lilia shape=rect 
class=external-link 
href=http://www.andrejkoelewijn.com/wp/2009/10/27/simple-log-console-with-camel-and-cometd/;
 rel=nofollowA simple file monitoring console with camel, cometd and 
jquery/a by Andrej Koelewijn. Shows how to use Camel to monitor log files and 
 push lines changed using cometd to a webpage. All in a few f
 iles using  Groovy./lilia shape=rect class=external-link 
href=http://spring-java-ee.blogspot.com/2010/01/advanced-event-notification-framework.html;
 rel=nofollowAdvanced Event Notification Framework with Apache Camel/a by 
Hendy showing how to use Camel for a lightweight even notification 
system./lilia shape=rect class=external-link 
href=http://github.com/jamescarr/irc-camel-example; rel=nofollowCamel IRC 
Message Route Example/a by James Carr. An IRC bot which can parse JavaScript 
and Ruby expressions./lilia shape=rect class=external-link 
href=http://www.andrejkoelewijn.com/wp/2010/06/13/a-composite-rest-service-using-camel/;
 rel=nofollowA composite REST service using Apache Camel/a by Andrej 
Koelewijn. A blog entry how to expose a REST service and have  Camel aggregate 
data from multiple sources to be returned./lilia shape=rect 
class=external-link 
href=http://fornax-sculptor.blogspot.com/2010/08/eda-events-over-system-bo
 undaries-with.html rel=nofollowEDA events over system boundaries with 
Camel/a by a shape=rect class=external-link 
href=http://sites.google.com/site/fornaxsculptor/; rel=nofollowSculptur/a 
team blog./lilia shape=rect class=external-link 
href=http://blog.jayway.com/2010/08/12/dynamic-ftp-client-using-apache-camel-and-spring/;
 rel=nofollowDynamic FTP Client using Apache Camel and Spring/a by Mattias 
Severson, showing how to develop an FTP client that could  transmit files to 
various FTP servers as a part of a delivery system in a  Java enterprise 
application./lilia 

svn commit: r1346160 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/component/file/strategy/ camel-core/src/test/java/org/apache/camel/language/simple/ components/camel-beanio/src/main/j

2012-06-04 Thread bvahdat
Author: bvahdat
Date: Mon Jun  4 21:17:34 2012
New Revision: 1346160

URL: http://svn.apache.org/viewvc?rev=1346160view=rev
Log:
Polished.

Modified:

camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java

camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleBackwardsCompatibleTest.java

camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserExpressionInvalidTest.java

camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserExpressionTest.java

camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateInvalidTest.java

camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java

camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserRegexpPredicateTest.java

camel/trunk/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java

camel/trunk/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/IntegerPatternFormat.java

camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFactoryBean.java

camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelThreadPoolFactoryBean.java

camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackException.java

camel/trunk/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackProducer.java

camel/trunk/components/camel-flatpack/src/test/java/org/apache/camel/component/flatpack/InvalidFixedLengthTest.java

camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/OSGiIntegrationTestSupport.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hazelcast/HazelcastTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hdfs/HdfsBlueprintRouteTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hl7/HL7MLLPCodecTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreBlueprintRouteTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jetty/OSGiMulitJettyCamelContextsTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiBlueprintRouteTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/quartz/QuartzCronRouteTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/stream/StreamTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/velocity/VelocityBlueprintTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/velocity/VelocityTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/xstream/XstreamBlueprintRouteTest.java

camel/trunk/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTestSupport.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java?rev=1346160r1=1346159r2=1346160view=diff
==
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
 Mon Jun  4 21:17:34 2012
@@ -17,7 +17,6 @@
 package org.apache.camel.component.file.strategy;
 
 import java.io.File;
-import java.io.IOException;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.component.file.GenericFile;

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleBackwardsCompatibleTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleBackwardsCompatibleTest.java?rev=1346160r1=1346159r2=1346160view=diff
==
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleBackwardsCompatibleTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleBackwardsCompatibleTest.java
 Mon Jun  4 21:17:34 2012
@@ -55,7 +55,7 @@ public class SimpleBackwardsCompatibleTe