svn commit: r1240408 - /camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java
Author: hadrian Date: Fri Feb 3 23:46:27 2012 New Revision: 1240408 URL: http://svn.apache.org/viewvc?rev=1240408&view=rev Log: Fix checkstyle and dependency problem from previous commit Modified: camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java Modified: camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java?rev=1240408&r1=1240407&r2=1240408&view=diff == --- camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java (original) +++ camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java Fri Feb 3 23:46:27 2012 @@ -16,18 +16,16 @@ */ package org.apache.camel.itest.issues; -import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; - import java.util.Collection; -import javax.jms.ConnectionFactory; +import javax.naming.Context; -import org.apache.camel.CamelContext; +import org.apache.activemq.camel.component.ActiveMQComponent; import org.apache.camel.Endpoint; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.component.jms.CamelJmsTestHelper; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit4.CamelTestSupport; +import org.apache.camel.util.jndi.JndiContext; import org.junit.Test; /** @@ -52,13 +50,15 @@ public class RemoveEndpointsTest extends // assertNull(context.hasEndpoint("jms://topic:bar")); } -protected CamelContext createCamelContext() throws Exception { -CamelContext camelContext = super.createCamelContext(); - -ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory(); -camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory)); +@Override +protected Context createJndiContext() throws Exception { +JndiContext answer = new JndiContext(); -return camelContext; +// add ActiveMQ with embedded broker +ActiveMQComponent amq = ActiveMQComponent.activeMQComponent("vm://localhost?broker.persistent=false"); +amq.setCamelContext(context); +answer.bind("jms", amq); +return answer; } @Override
svn commit: r1240392 - /camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java
Author: hadrian Date: Fri Feb 3 23:20:44 2012 New Revision: 1240392 URL: http://svn.apache.org/viewvc?rev=1240392&view=rev Log: CAMEL-4976. Test showing problem with Context.removeEndpoints(String) Added: camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java Added: camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java?rev=1240392&view=auto == --- camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java (added) +++ camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/RemoveEndpointsTest.java Fri Feb 3 23:20:44 2012 @@ -0,0 +1,76 @@ +/** + * 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.itest.issues; + +import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; + +import java.util.Collection; + +import javax.jms.ConnectionFactory; + +import org.apache.camel.CamelContext; +import org.apache.camel.Endpoint; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.jms.CamelJmsTestHelper; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit4.CamelTestSupport; +import org.junit.Test; + +/** + * @version + */ +public class RemoveEndpointsTest extends CamelTestSupport { +@Test +public void testRemoveAllEndpoints() throws Exception { +MockEndpoint mock = getMockEndpoint("mock:jms-queue"); +mock.expectedMessageCount(1); + +assertEquals(7, context.getEndpoints().size()); + +template.sendBody("direct:foo", "Hello World"); +assertMockEndpointsSatisfied(); + +Collection list = context.removeEndpoints("*"); +assertEquals(7, list.size()); // all have been removed + +// TODO: [CAMEL-4976] the following fails, but it should pass +// assertEquals(0, context.getEndpoints().size()); +// assertNull(context.hasEndpoint("jms://topic:bar")); +} + +protected CamelContext createCamelContext() throws Exception { +CamelContext camelContext = super.createCamelContext(); + +ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory(); +camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory)); + +return camelContext; +} + +@Override +protected RouteBuilder createRouteBuilder() throws Exception { +return new RouteBuilder() { +@Override +public void configure() throws Exception { +from("direct:foo").to("jms:queue:foo"); +from("jms:queue:foo").to("mock:jms-queue"); +from("jms:topic:bar").to("mock:jms-topic"); +from("seda:mem-queue").to("mock:seda-queue"); +} +}; +} +}
svn commit: r1240376 - in /camel/trunk/camel-core/src/main/java/org/apache/camel: CamelContext.java management/mbean/ManagedCamelContext.java
Author: bvahdat Date: Fri Feb 3 22:32:08 2012 New Revision: 1240376 URL: http://svn.apache.org/viewvc?rev=1240376&view=rev Log: Corrected CamelContext.removeEndpoints() Javadoc & it's API usage by ManagedCamelContext. Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java?rev=1240376&r1=1240375&r2=1240376&view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java Fri Feb 3 22:32:08 2012 @@ -306,7 +306,7 @@ public interface CamelContext extends Su * Removes all endpoints with the given URI. * * @param pattern an uri or pattern to match - * @return a collection of endpoints removed or null if there are no endpoints for this URI + * @return a collection of endpoints removed which could be empty if there are no endpoints found for the given pattern * @throws Exception if at least one endpoint could not be stopped * @see org.apache.camel.util.EndpointHelper#matchEndpoint(String, String) for pattern */ Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java?rev=1240376&r1=1240375&r2=1240376&view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java Fri Feb 3 22:32:08 2012 @@ -318,11 +318,7 @@ public class ManagedCamelContext impleme public int removeEndpoints(String pattern) throws Exception { // endpoints is always removed from JMX if removed from context Collection removed = context.removeEndpoints(pattern); -if (removed == null) { -return 0; -} else { -return removed.size(); -} +return removed.size(); } }
svn commit: r1240374 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/management/ components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/ components/camel-jm
Author: bvahdat Date: Fri Feb 3 22:17:18 2012 New Revision: 1240374 URL: http://svn.apache.org/viewvc?rev=1240374&view=rev Log: Polished. Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java?rev=1240374&r1=1240373&r2=1240374&view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java Fri Feb 3 22:17:18 2012 @@ -29,7 +29,6 @@ import org.apache.camel.Producer; import org.apache.camel.Route; import org.apache.camel.Service; import org.apache.camel.component.bean.BeanProcessor; -import org.apache.camel.component.seda.SedaEndpoint; import org.apache.camel.impl.ScheduledPollConsumer; import org.apache.camel.management.mbean.ManagedBeanProcessor; import org.apache.camel.management.mbean.ManagedBrowsableEndpoint; Modified: camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java?rev=1240374&r1=1240373&r2=1240374&view=diff == --- camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java (original) +++ camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java Fri Feb 3 22:17:18 2012 @@ -21,7 +21,6 @@ import javax.xml.ws.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.After; import org.junit.Test; Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java?rev=1240374&r1=1240373&r2=1240374&view=diff == --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java Fri Feb 3 22:17:18 2012 @@ -28,7 +28,7 @@ public class DefaultSpringErrorHandler i private final LoggingExceptionHandler handler; private final boolean logStackTrace; -public DefaultSpringErrorHandler(Class owner, LoggingLevel level, boolean logStackTrace) { +public DefaultSpringErrorHandler(Class owner, LoggingLevel level, boolean logStackTrace) { this.handler = new LoggingExceptionHandler(owner, level); this.logStackTrace = logStackTrace; }
svn commit: r1240372 - /camel/trunk/components/pom.xml
Author: hadrian Date: Fri Feb 3 22:12:22 2012 New Revision: 1240372 URL: http://svn.apache.org/viewvc?rev=1240372&view=rev Log: Remove extra addition from a previous commit that breaks builds Modified: camel/trunk/components/pom.xml Modified: camel/trunk/components/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/pom.xml?rev=1240372&r1=1240371&r2=1240372&view=diff == --- camel/trunk/components/pom.xml (original) +++ camel/trunk/components/pom.xml Fri Feb 3 22:12:22 2012 @@ -151,7 +151,6 @@ camel-xmpp camel-xstream camel-zookeeper -camel-websocket
svn commit: r1240366 - /camel/trunk/components/camel-avro/pom.xml
Author: iocanel Date: Fri Feb 3 21:59:51 2012 New Revision: 1240366 URL: http://svn.apache.org/viewvc?rev=1240366&view=rev Log: [CAMEL-4859] Added missing license header to camel-avro pom.xml Modified: camel/trunk/components/camel-avro/pom.xml Modified: camel/trunk/components/camel-avro/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-avro/pom.xml?rev=1240366&r1=1240365&r2=1240366&view=diff == --- camel/trunk/components/camel-avro/pom.xml (original) +++ camel/trunk/components/camel-avro/pom.xml Fri Feb 3 21:59:51 2012 @@ -1,4 +1,22 @@ + http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";>
svn commit: r1240351 [2/2] - in /camel/trunk: camel-core/src/main/java/org/apache/camel/builder/ camel-core/src/main/java/org/apache/camel/model/ camel-core/src/main/java/org/apache/camel/model/datafo
Added: camel/trunk/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpProducerTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpProducerTest.java?rev=1240351&view=auto == --- camel/trunk/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpProducerTest.java (added) +++ camel/trunk/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpProducerTest.java Fri Feb 3 21:41:13 2012 @@ -0,0 +1,63 @@ +/** + * 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.avro; + +import java.io.IOException; +import junit.framework.Assert; +import org.apache.avro.Protocol; +import org.apache.avro.ipc.HttpServer; +import org.apache.avro.ipc.Server; +import org.apache.avro.ipc.specific.SpecificResponder; +import org.apache.camel.CamelContext; +import org.apache.camel.avro.generated.Key; +import org.apache.camel.avro.generated.KeyValueProtocol; +import org.apache.camel.avro.generated.Value; +import org.apache.camel.avro.impl.KeyValueProtocolImpl; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.CamelTestSupport; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class AvroHttpProducerTest extends AvroProducerTestSupport { + +static int avroPort = setupFreePort("avroport"); + +@Override +protected void initializeServer() throws IOException { +if (server == null) { +server = new HttpServer(new SpecificResponder(KeyValueProtocol.PROTOCOL, keyValue), avroPort); +server.start(); +} +} + +protected RouteBuilder createRouteBuilder() throws Exception { +return new RouteBuilder() { +@Override +public void configure() throws Exception { +//In Only +from("direct:in").to("avro:http:localhost:" + avroPort); + +//InOut +from("direct:inout").to("avro:http:localhost:" + avroPort).to("mock:result-inout"); +} +}; +} + +} Added: camel/trunk/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpSpringProducerTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpSpringProducerTest.java?rev=1240351&view=auto == --- camel/trunk/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpSpringProducerTest.java (added) +++ camel/trunk/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpSpringProducerTest.java Fri Feb 3 21:41:13 2012 @@ -0,0 +1,75 @@ +/** + * 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.avro; + +import junit.framework.Assert; +import org.apache.avro.Protocol; +import org.apache.avro.ipc.HttpServer; +import org.apache.avro.ipc.Server; +import org.apache.avro.ipc.specific.SpecificResponder; +import org.apache.camel.CamelContext; +import org.apache.camel.avro.generated.Key; +import org.apache.camel.avro.generated.KeyValueProtocol; +import org.apache.camel.avro.generated.Value; +import org.apache.camel.avro.impl.KeyValueProtocolI
svn commit: r1240248 - /camel/branches/camel-2.8.x/parent/pom.xml
Author: jbonofre Date: Fri Feb 3 17:04:36 2012 New Revision: 1240248 URL: http://svn.apache.org/viewvc?rev=1240248&view=rev Log: [CAMEL-4975] Update to h2database 1.3.163 Modified: camel/branches/camel-2.8.x/parent/pom.xml Modified: camel/branches/camel-2.8.x/parent/pom.xml URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/parent/pom.xml?rev=1240248&r1=1240247&r2=1240248&view=diff == --- camel/branches/camel-2.8.x/parent/pom.xml (original) +++ camel/branches/camel-2.8.x/parent/pom.xml Fri Feb 3 17:04:36 2012 @@ -79,7 +79,7 @@ 1.1.2 1.8.5 2.0 -1.2.144 +1.3.163 0.20.203.0 1.1 1.2
svn commit: r1240189 - in /camel/branches/camel-2.8.x/camel-core/src: main/java/org/apache/camel/util/URISupport.java test/java/org/apache/camel/util/URISupportTest.java
Author: hadrian Date: Fri Feb 3 14:25:04 2012 New Revision: 1240189 URL: http://svn.apache.org/viewvc?rev=1240189&view=rev Log: CAMEL-4954. Fix for double decoding of % in uris Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java?rev=1240189&r1=1240188&r2=1240189&view=diff == --- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java (original) +++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java Fri Feb 3 14:25:04 2012 @@ -74,8 +74,10 @@ public final class URISupport { for (String parameter : parameters) { int p = parameter.indexOf("="); if (p >= 0) { +// The replaceAll is an ugly workaround for CAMEL-4954, awaiting a cleaner fix once CAMEL-4425 +// is fully resolved in all components String name = URLDecoder.decode(parameter.substring(0, p), CHARSET); -String value = URLDecoder.decode(parameter.substring(p + 1), CHARSET); +String value = URLDecoder.decode(parameter.substring(p + 1).replaceAll("%", "%25"), CHARSET); // does the key already exist? if (rc.containsKey(name)) { Modified: camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java?rev=1240189&r1=1240188&r2=1240189&view=diff == --- camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java (original) +++ camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java Fri Feb 3 14:25:04 2012 @@ -126,6 +126,13 @@ public class URISupportTest extends Cont assertEquals("jms://queue:foo?foo=bar&selector=somekey%3D%27somevalue%27", out); } +public void testNormalizeEndpointWithPercentSignInParameter() throws Exception { +String out = URISupport.normalizeUri("http://someendpoint?username=james&password=%25test";); +assertNotNull(out); +// Camel will safe encode the URI +assertEquals("http://someendpoint?password=%25test&username=james";, out); +} + public void testParseParameters() throws Exception { URI u = new URI("quartz:myGroup/myTimerName?cron=0+0+*+*+*+?"); Map params = URISupport.parseParameters(u);
svn commit: r1240187 - in /camel/branches/camel-2.9.x/camel-core/src: main/java/org/apache/camel/util/URISupport.java test/java/org/apache/camel/util/URISupportTest.java
Author: hadrian Date: Fri Feb 3 14:23:22 2012 New Revision: 1240187 URL: http://svn.apache.org/viewvc?rev=1240187&view=rev Log: CAMEL-4954. Fix for double decoding of % in uris Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java?rev=1240187&r1=1240186&r2=1240187&view=diff == --- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java (original) +++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/URISupport.java Fri Feb 3 14:23:22 2012 @@ -83,8 +83,10 @@ public final class URISupport { for (String parameter : parameters) { int p = parameter.indexOf("="); if (p >= 0) { +// The replaceAll is an ugly workaround for CAMEL-4954, awaiting a cleaner fix once CAMEL-4425 +// is fully resolved in all components String name = URLDecoder.decode(parameter.substring(0, p), CHARSET); -String value = URLDecoder.decode(parameter.substring(p + 1), CHARSET); +String value = URLDecoder.decode(parameter.substring(p + 1).replaceAll("%", "%25"), CHARSET); // does the key already exist? if (rc.containsKey(name)) { Modified: camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java?rev=1240187&r1=1240186&r2=1240187&view=diff == --- camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java (original) +++ camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/URISupportTest.java Fri Feb 3 14:23:22 2012 @@ -126,6 +126,13 @@ public class URISupportTest extends Cont assertEquals("jms://queue:foo?foo=bar&selector=somekey%3D%27somevalue%27", out); } +public void testNormalizeEndpointWithPercentSignInParameter() throws Exception { +String out = URISupport.normalizeUri("http://someendpoint?username=james&password=%25test";); +assertNotNull(out); +// Camel will safe encode the URI +assertEquals("http://someendpoint?password=%25test&username=james";, out); +} + public void testParseParameters() throws Exception { URI u = new URI("quartz:myGroup/myTimerName?cron=0+0+*+*+*+?"); Map params = URISupport.parseParameters(u);
svn commit: r1240179 - in /camel/branches/camel-2.8.x: ./ components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/ components/camel-cxf-transport/src/test/java/org/ap
Author: ningjiang Date: Fri Feb 3 14:01:43 2012 New Revision: 1240179 URL: http://svn.apache.org/viewvc?rev=1240179&view=rev Log: Merged revisions 1240157 via svnmerge from https://svn.apache.org/repos/asf/camel/branches/camel-2.9.x r1240157 | ningjiang | 2012-02-03 21:33:36 +0800 (Fri, 03 Feb 2012) | 9 lines Merged revisions 1240025 via svnmerge from https://svn.apache.org/repos/asf/camel/trunk r1240025 | ningjiang | 2012-02-03 16:16:26 +0800 (Fri, 03 Feb 2012) | 1 line CAMEL-4973 Camel CXF Transport should update the content-type as other CXF transport does Added: camel/branches/camel-2.8.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java - copied unchanged from r1240157, camel/branches/camel-2.9.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java camel/branches/camel-2.8.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelTestSupport.java - copied unchanged from r1240157, camel/branches/camel-2.9.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelTestSupport.java Modified: camel/branches/camel-2.8.x/ (props changed) camel/branches/camel-2.8.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java camel/branches/camel-2.8.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java Propchange: camel/branches/camel-2.8.x/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Feb 3 14:01:43 2012 @@ -1,2 +1,2 @@ -/camel/branches/camel-2.9.x:1227549,1228229,1229567,1234054,1236672,1238942 -/camel/trunk:1226860,1227540,1228223,1229565,1234043,1236667,1238937 +/camel/branches/camel-2.9.x:1227549,1228229,1229567,1234054,1236672,1238942,1240157 +/camel/trunk:1226860,1227540,1228223,1229565,1234043,1236667,1238937,1240025 Propchange: camel/branches/camel-2.8.x/ -- Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.8.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java?rev=1240179&r1=1240178&r2=1240179&view=diff == --- camel/branches/camel-2.8.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java Fri Feb 3 14:01:43 2012 @@ -1,129 +1,151 @@ -/** - * 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.cxf.common.header; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -import org.apache.camel.Exchange; -import org.apache.camel.spi.HeaderFilterStrategy; -import org.apache.cxf.endpoint.Client; -import org.apache.cxf.helpers.CastUtils; -import org.apache.cxf.message.Message; - -/** - * Utility class to propagate headers to and from CXF message. - * - * @version - */ -public final class CxfHeaderHelper { - -/** - * Utility class does not have public constructor - */ -private CxfHeaderHelper() { -} - -/** - * Propagates Camel headers to CXF message. - * - * @param strategy header filter strategy - * @param headers Camel header - * @param message CXF message - * @param exchange provides context for filtering - */ -public static void propagateCamelToCxf(HeaderFilterStrategy strategy, -Map headers, Message message, Exchange exchange) { - -Map> c
svn commit: r1240157 - in /camel/branches/camel-2.9.x: ./ components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/ components/camel-cxf-transport/src/test/java/org/ap
Author: ningjiang Date: Fri Feb 3 13:33:36 2012 New Revision: 1240157 URL: http://svn.apache.org/viewvc?rev=1240157&view=rev Log: Merged revisions 1240025 via svnmerge from https://svn.apache.org/repos/asf/camel/trunk r1240025 | ningjiang | 2012-02-03 16:16:26 +0800 (Fri, 03 Feb 2012) | 1 line CAMEL-4973 Camel CXF Transport should update the content-type as other CXF transport does Added: camel/branches/camel-2.9.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java - copied unchanged from r1240025, camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java camel/branches/camel-2.9.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelTestSupport.java - copied unchanged from r1240025, camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelTestSupport.java Modified: camel/branches/camel-2.9.x/ (props changed) camel/branches/camel-2.9.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java camel/branches/camel-2.9.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java Propchange: camel/branches/camel-2.9.x/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Feb 3 13:33:36 2012 @@ -1 +1 @@ -/camel/trunk:1235643,1236639,1236667,1237666,1237807,1238225,1238229,1238387,1238463,1238477,1238503,1238937,1238988,1239006,1239045,1239080-1239081,1239470,1239479,1239497,1240063 +/camel/trunk:1235643,1236639,1236667,1237666,1237807,1238225,1238229,1238387,1238463,1238477,1238503,1238937,1238988,1239006,1239045,1239080-1239081,1239470,1239479,1239497,1240025,1240063 Propchange: camel/branches/camel-2.9.x/ -- Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.9.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java?rev=1240157&r1=1240156&r2=1240157&view=diff == --- camel/branches/camel-2.9.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java (original) +++ camel/branches/camel-2.9.x/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java Fri Feb 3 13:33:36 2012 @@ -97,9 +97,11 @@ public final class CxfHeaderHelper { } } -// propagate content type +// propagate content type with the encoding information +// We need to do it as the CXF does this kind of thing in transport level String key = Message.CONTENT_TYPE; -Object value = message.get(key); +Object value = determineContentType(message); + if (value != null && !strategy.applyFilterToExternalHeaders(key, value, exchange)) { headers.put(Exchange.CONTENT_TYPE, value); } @@ -125,5 +127,25 @@ public final class CxfHeaderHelper { headers.put(Exchange.HTTP_RESPONSE_CODE, value); } } + +private static String determineContentType(Message message) { +String ct = (String)message.get(Message.CONTENT_TYPE); +String enc = (String)message.get(Message.ENCODING); + +if (null != ct) { +if (enc != null +&& ct.indexOf("charset=") == -1 +&& !ct.toLowerCase().contains("multipart/related")) { +ct = ct + "; charset=" + enc; +} +} else if (enc != null) { +ct = "text/xml; charset=" + enc; +} else { +ct = "text/xml"; +} +// update the content_type value in the message +message.put(Message.CONTENT_TYPE, ct); +return ct; +} } Modified: camel/branches/camel-2.9.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java?rev=1240157&r1=1240156&r2=1240157&view=diff == --- camel/branches/camel-2.9.x/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java (original) +++ camel/branches/camel-2.9.
svn commit: r1240146 - /camel/branches/camel-2.9.x/parent/pom.xml
Author: jbonofre Date: Fri Feb 3 12:57:09 2012 New Revision: 1240146 URL: http://svn.apache.org/viewvc?rev=1240146&view=rev Log: [CAMEL-4972] Remove h2database dependency Modified: camel/branches/camel-2.9.x/parent/pom.xml Modified: camel/branches/camel-2.9.x/parent/pom.xml URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/parent/pom.xml?rev=1240146&r1=1240145&r2=1240146&view=diff == --- camel/branches/camel-2.9.x/parent/pom.xml (original) +++ camel/branches/camel-2.9.x/parent/pom.xml Fri Feb 3 12:57:09 2012 @@ -78,7 +78,6 @@ 1.1.2 1.8.5 2.0 -1.3.161 0.20.203.0 1.1 1.2 @@ -1372,11 +1371,6 @@ hsqldb ${hsqldb-version} - -com.h2database -h2 -${h2-version} -
svn commit: r1240144 - /camel/trunk/parent/pom.xml
Author: jbonofre Date: Fri Feb 3 12:51:45 2012 New Revision: 1240144 URL: http://svn.apache.org/viewvc?rev=1240144&view=rev Log: [CAMEL-4972] Remove h2database dependency Modified: camel/trunk/parent/pom.xml Modified: camel/trunk/parent/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=1240144&r1=1240143&r2=1240144&view=diff == --- camel/trunk/parent/pom.xml (original) +++ camel/trunk/parent/pom.xml Fri Feb 3 12:51:45 2012 @@ -79,7 +79,6 @@ 1.8.5 2.1 2.0 -1.3.161 1.0.0 1.1 1.2 @@ -1388,11 +1387,6 @@ hsqldb ${hsqldb-version} - -com.h2database -h2 -${h2-version} -
svn commit: r1240087 - in /camel/trunk/components/camel-websocket: pom.xml src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRoute2Test.java src/test/java/org/apache/camel/compone
Author: cmoulliard Date: Fri Feb 3 11:28:13 2012 New Revision: 1240087 URL: http://svn.apache.org/viewvc?rev=1240087&view=rev Log: Add a first camel unit test for websocket Added: camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRoute2Test.java Modified: camel/trunk/components/camel-websocket/pom.xml camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRouteTest.java Modified: camel/trunk/components/camel-websocket/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-websocket/pom.xml?rev=1240087&r1=1240086&r2=1240087&view=diff == --- camel/trunk/components/camel-websocket/pom.xml (original) +++ camel/trunk/components/camel-websocket/pom.xml Fri Feb 3 11:28:13 2012 @@ -89,4 +89,11 @@ test + + + +cubeindia + http://m2.cubeia.com/nexus/content/repositories/thirdparty/ + + \ No newline at end of file Added: camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRoute2Test.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRoute2Test.java?rev=1240087&view=auto == --- camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRoute2Test.java (added) +++ camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRoute2Test.java Fri Feb 3 11:28:13 2012 @@ -0,0 +1,82 @@ +package org.apache.camel.component.websocket; + +import de.roderick.weberknecht.WebSocketConnection; +import de.roderick.weberknecht.WebSocketEventHandler; +import de.roderick.weberknecht.WebSocketException; +import de.roderick.weberknecht.WebSocketMessage; +import org.apache.camel.Exchange; +import org.apache.camel.ExchangePattern; +import org.apache.camel.Processor; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.test.CamelTestSupport; +import org.junit.Test; + +import java.net.URI; +import java.net.URISyntaxException; + +public class WebsocketClientCamelRoute2Test extends CamelTestSupport { + +private static URI uriWS; +private static WebSocketConnection webSocketConnection; + +@Test +public void testWSHttpCall() throws WebSocketException { + +try { +uriWS = new URI("ws://127.0.0.1:9292/test"); +WebSocketConnection webSocketConnection = new WebSocketConnection(uriWS); + +// Register Event Handlers +webSocketConnection.setEventHandler(new WebSocketEventHandler() { +public void onOpen() { +System.out.println("--open"); +} + +public void onMessage(WebSocketMessage message) { +System.out.println("--received message: " + message.getText()); +} + +public void onClose() { +System.out.println("--close"); +} +}); + +// Establish WebSocket Connection +webSocketConnection.connect(); +System.out.println(">>> Connection established."); + +// Send Data +webSocketConnection.send("Hello from WS Client"); + + +} catch (WebSocketException ex) { +ex.printStackTrace(); +} catch (URISyntaxException e) { +e.printStackTrace(); +} + + +} + +@Override +protected RouteBuilder createRouteBuilder() throws Exception { +return new RouteBuilder() { +public void configure() { +from("websocket://test") +.setExchangePattern(ExchangePattern.InOut) +.log(">>> Message received from WebSocket Client : ${body}") +.process(new Processor() { +@Override +public void process(Exchange exchange) throws Exception { +String response = ">> welcome on board"; +exchange.getOut().setBody(response); +exchange.getIn().setBody(response); +} +}); + +} +}; +} + + +} Modified: camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRouteTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRouteTest.java?rev=1240087&r1=1240086&r2=1240087&view=diff == -
svn commit: r1240071 - in /camel/trunk/components/camel-websocket: ./ src/main/java/org/apache/camel/component/websocket/ src/test/java/org/apache/camel/component/websocket/ src/test/resources/
Author: cmoulliard Date: Fri Feb 3 10:47:53 2012 New Revision: 1240071 URL: http://svn.apache.org/viewvc?rev=1240071&view=rev Log: Add a first camel unit test for websocket Added: camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRouteTest.java camel/trunk/components/camel-websocket/src/test/resources/log4j.properties Modified: camel/trunk/components/camel-websocket/pom.xml camel/trunk/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java Modified: camel/trunk/components/camel-websocket/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-websocket/pom.xml?rev=1240071&r1=1240070&r2=1240071&view=diff == --- camel/trunk/components/camel-websocket/pom.xml (original) +++ camel/trunk/components/camel-websocket/pom.xml Fri Feb 3 10:47:53 2012 @@ -62,15 +62,31 @@ +org.apache.camel +camel-test +test + + junit junit test - - org.mockito - mockito-core - - test - + +org.mockito +mockito-core +test + + +de.roderick +weberknecht +0.1.1 +test + + + +org.slf4j +slf4j-log4j12 +test + \ No newline at end of file Modified: camel/trunk/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java?rev=1240071&r1=1240070&r2=1240071&view=diff == --- camel/trunk/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java (original) +++ camel/trunk/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java Fri Feb 3 10:47:53 2012 @@ -16,10 +16,6 @@ */ package org.apache.camel.component.websocket; -import java.net.InetSocketAddress; -import java.util.HashMap; -import java.util.Map; - import org.apache.camel.Endpoint; import org.apache.camel.impl.DefaultComponent; import org.eclipse.jetty.server.Server; @@ -32,6 +28,10 @@ import org.eclipse.jetty.servlet.Servlet import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.net.InetSocketAddress; +import java.util.HashMap; +import java.util.Map; + public class WebsocketComponent extends DefaultComponent { private static final Logger LOG = LoggerFactory.getLogger(WebsocketComponent.class); @@ -62,9 +62,6 @@ public class WebsocketComponent extends } @Override -/** - * uri --> websocket://foo?storeImplementationClass=org.apache.camel.hazelcast.HazelcastWebsocketStore&storeName=foo - */ protected Endpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception { WebsocketEndpoint endpoint = endpoints.get(remaining); if (endpoint == null) { @@ -165,7 +162,7 @@ public class WebsocketComponent extends @Override protected void doStart() throws Exception { super.doStart(); -LOG.info("Staring server {}:{}; static resources: {}", new Object[] {host, port, staticResources}); +LOG.info("Starting server {}:{}; static resources: {}", new Object[] {host, port, staticResources}); context = createContext(); server = createServer(context, host, port, staticResources); server.start(); Added: camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRouteTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRouteTest.java?rev=1240071&view=auto == --- camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRouteTest.java (added) +++ camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketClientCamelRouteTest.java Fri Feb 3 10:47:53 2012 @@ -0,0 +1,83 @@ +package org.apache.camel.component.websocket; + +import de.roderick.weberknecht.WebSocketConnection; +import de.roderick.weberknecht.WebSocketEventHandler; +import de.roderick.weberknecht.WebSocketException; +import de.roderick.weberknecht.WebSocketMessage; +import org.apache.camel.ExchangePattern; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.test.CamelTe
svn commit: r1240067 - /camel/trunk/components/camel-jms/src/test/resources/log4j.properties
Author: davsclaus Date: Fri Feb 3 10:34:07 2012 New Revision: 1240067 URL: http://svn.apache.org/viewvc?rev=1240067&view=rev Log: Log to file Modified: camel/trunk/components/camel-jms/src/test/resources/log4j.properties Modified: camel/trunk/components/camel-jms/src/test/resources/log4j.properties URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/resources/log4j.properties?rev=1240067&r1=1240066&r2=1240067&view=diff == --- camel/trunk/components/camel-jms/src/test/resources/log4j.properties (original) +++ camel/trunk/components/camel-jms/src/test/resources/log4j.properties Fri Feb 3 10:34:07 2012 @@ -18,7 +18,7 @@ # # The logging properties used # -log4j.rootLogger=INFO, stdout +log4j.rootLogger=INFO, out #log4j.logger.org.apache.activemq.spring=WARN #log4j.logger.org.apache.camel.component.jms=TRACE
svn commit: r1240066 - in /camel/branches/camel-2.9.x: ./ components/camel-jms/src/test/resources/ components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/ components/camel-spring/sr
Author: davsclaus Date: Fri Feb 3 10:33:03 2012 New Revision: 1240066 URL: http://svn.apache.org/viewvc?rev=1240066&view=rev Log: CAMEL-4961: Improved TX commit/rollback logging a bit Modified: camel/branches/camel-2.9.x/ (props changed) camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/log4j.properties camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java Propchange: camel/branches/camel-2.9.x/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Feb 3 10:33:03 2012 @@ -1 +1 @@ -/camel/trunk:1235643,1236639,1236667,1237666,1237807,1238225,1238229,1238387,1238463,1238477,1238503,1238937,1238988,1239006,1239045,1239080-1239081,1239470,1239479,1239497 +/camel/trunk:1235643,1236639,1236667,1237666,1237807,1238225,1238229,1238387,1238463,1238477,1238503,1238937,1238988,1239006,1239045,1239080-1239081,1239470,1239479,1239497,1240063 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/test/resources/log4j.properties URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/log4j.properties?rev=1240066&r1=1240065&r2=1240066&view=diff == --- camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/log4j.properties (original) +++ camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/log4j.properties Fri Feb 3 10:33:03 2012 @@ -27,6 +27,7 @@ log4j.rootLogger=INFO, out #log4j.logger.org.apache.camel=DEBUG #log4j.logger.org.springframework.jms.listener=TRACE #log4j.logger.org.apache.camel.management=DEBUG +#log4j.logger.org.apache.camel.spring.spi=DEBUG # CONSOLE appender not used by default log4j.appender.stdout=org.apache.log4j.ConsoleAppender Modified: camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml?rev=1240066&r1=1240065&r2=1240066&view=diff == --- camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml (original) +++ camel/branches/camel-2.9.x/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml Fri Feb 3 10:33:03 2012 @@ -54,8 +54,9 @@ - - + + + Modified: camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java?rev=1240066&r1=1240065&r2=1240066&view=diff == --- camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java (original) +++ camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java Fri Feb 3 10:33:03 2012 @@ -126,23 +126,17 @@ public class TransactionErrorHandler ext // mark the beginning of this transaction boundary exchange.getUnitOfWork().beginTransactedBy(transactionKey); -if (log.isDebugEnabled()) { -log.debug("Transaction begin ({}) redelivered({}) for {})", new Object[]{transactionKey, redelivered, ids}); -} - +// do in transaction +logTransactionBegin(redelivered, ids); doInTransactionTemplate(exchange); +logTransactionCommit(redelivered, ids); -if (log.isDebugEnabled()) { -log.debug("Transaction commit ({}) redelivered({}) for {})", new Object[]{transactionKey, redelivered, ids}); -} } catch (TransactionRollbackException e) { -// ignore as its just a dummy exception to force spring TX to rollback -if (log.isDebugEnabled()) { -log.debug("Transaction rollback ({}) redelivered({}) for {} due exchange was marked for rollbackOnly", new Object[]{transactionKey, redelivered, ids}); -} +// do not s
svn commit: r1240063 - in /camel/trunk/components: camel-jms/src/test/resources/ camel-jms/src/test/resources/org/apache/camel/component/jms/tx/ camel-spring/src/main/java/org/apache/camel/spring/spi/
Author: davsclaus Date: Fri Feb 3 10:30:08 2012 New Revision: 1240063 URL: http://svn.apache.org/viewvc?rev=1240063&view=rev Log: CAMEL-4961: Improved TX commit/rollback logging a bit Modified: camel/trunk/components/camel-jms/src/test/resources/log4j.properties camel/trunk/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java Modified: camel/trunk/components/camel-jms/src/test/resources/log4j.properties URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/resources/log4j.properties?rev=1240063&r1=1240062&r2=1240063&view=diff == --- camel/trunk/components/camel-jms/src/test/resources/log4j.properties (original) +++ camel/trunk/components/camel-jms/src/test/resources/log4j.properties Fri Feb 3 10:30:08 2012 @@ -18,7 +18,7 @@ # # The logging properties used # -log4j.rootLogger=INFO, out +log4j.rootLogger=INFO, stdout #log4j.logger.org.apache.activemq.spring=WARN #log4j.logger.org.apache.camel.component.jms=TRACE @@ -27,6 +27,7 @@ log4j.rootLogger=INFO, out #log4j.logger.org.apache.camel=DEBUG #log4j.logger.org.springframework.jms.listener=TRACE #log4j.logger.org.apache.camel.management=DEBUG +#log4j.logger.org.apache.camel.spring.spi=DEBUG # CONSOLE appender not used by default log4j.appender.stdout=org.apache.log4j.ConsoleAppender Modified: camel/trunk/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml?rev=1240063&r1=1240062&r2=1240063&view=diff == --- camel/trunk/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml (original) +++ camel/trunk/components/camel-jms/src/test/resources/org/apache/camel/component/jms/tx/JMSTransactionIsTransactedRedeliveredTest.xml Fri Feb 3 10:30:08 2012 @@ -54,8 +54,9 @@ - - + + + Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java?rev=1240063&r1=1240062&r2=1240063&view=diff == --- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java (original) +++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java Fri Feb 3 10:30:08 2012 @@ -126,23 +126,17 @@ public class TransactionErrorHandler ext // mark the beginning of this transaction boundary exchange.getUnitOfWork().beginTransactedBy(transactionKey); -if (log.isDebugEnabled()) { -log.debug("Transaction begin ({}) redelivered({}) for {})", new Object[]{transactionKey, redelivered, ids}); -} - +// do in transaction +logTransactionBegin(redelivered, ids); doInTransactionTemplate(exchange); +logTransactionCommit(redelivered, ids); -if (log.isDebugEnabled()) { -log.debug("Transaction commit ({}) redelivered({}) for {})", new Object[]{transactionKey, redelivered, ids}); -} } catch (TransactionRollbackException e) { -// ignore as its just a dummy exception to force spring TX to rollback -if (log.isDebugEnabled()) { -log.debug("Transaction rollback ({}) redelivered({}) for {} due exchange was marked for rollbackOnly", new Object[]{transactionKey, redelivered, ids}); -} +// do not set as exception, as its just a dummy exception to force spring TX to rollback +logTransactionRollback(redelivered, ids, null, true); } catch (Throwable e) { exchange.setException(e); -logTransactionRollback(redelivered, ids, e); +logTransactionRollback(redelivered, ids, e, false); } finally { // mark the end of this transaction boundary exchange.getUnitOfWork().endTransactedBy(transactionKey); @@ -229,21 +223,68 @@ public class TransactionErrorHandler ext } /** - * Logs the transaction rollback + * Logs the transaction begin + */ +private void logTransactionBegin(String redelivered, String ids) { +if (log.isDebugEnabled()) { +log.debug("Transaction begi
[CONF] Apache Camel > Camel 2.10.0 Release
Camel 2.10.0 Release Page edited by Claus Ibsen Changes (2) ... h3. New [Data Formats|Data Format] * {{camel-gson}} - For [JSON] data format using Google GSon project h3. New [Languages] h3. New [Examples] * There is a {{camel-example-ssh}} h3. New [Tutorials] ... Full Content Camel 2.10.0 release (currently in progress) New and Noteworthy Welcome to the 2.10.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...) Internal code cleanup to reduce warnings reported by Eclipse Moved Spring Testing from camel-test to camel-test-spring component. Camel Property Placeholders is now supported in embedded _expression_s in the Camel routes. Added missing options in the XML DSL for the XPath language to control and set XPath Engine to use, etc. Added option logNamespaces to XPath language to have INFO logging of detected namespaces from message. Can be used to aid during issues with having XPath _expression_ works as expected (as often its a namespace conflict). Added replyToCacheLevelName option to JMS component, to allow to configure cache levels for persistent reply consumer, when doing request/reply over JMS. Some message brokers do not work well with caching, so users may need to configure this option to CACHE_NONE. Added antInclude and antExclude options to File and FTP components, to make it easier to specify include/exclude using ANT style. The Camel archetypes for java and scala, no longer generates project with Spring dependency. Improved JdbcMessageIdRepository in 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 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 explicit configure a managementNamePattern in case you do not want the bundleId as part of the MBean names. Added streaming update support to Solr as well as support for SolrInputDocuments 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, now rejecting continue processing messages or redeliveries. Add ShutdownPrepared SPI to allow custom Services (also EIPs) in routes to do custom code preparing 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 occurred during process a message. Added errorHandlerLoggingLevel, and errorHandlerLogStackTrace options to tweak the logging verbosity. Added messageId as MDC logging key. Improved Camel's Transaction Error Handler logging to better pinpoint and correlate redelivered messages (from eg a JMS broker), making reading the logs much easier. Fixed issues Fixed memory leak issue when dynamic adding and removing a lot of routes at runtime. Fixed potential NPE in FTP consumer when using double slashes as starting directory. Fixed InterceptSendToEndpoint with a when and skipSendToEndpoint=true should only skip sending if the predicate was true. Fixed issue with Bean Binding directly in method name not working properly with method call expressions. Fixed issue with using custom namespaces in XPath expressions when using OSGi Blueprint Fixed Validation to support xs:import in the schema files. Fixed Poll Enrich where timeout was not explicit configured to use the blocking mode. Was wrongly using the non blocking mode. Fixed Threads EIP to handle rejected policies to ensure the Exchange will done the UnitOfWork, to ensure the Exchange will get de-registered from the inflight registry. Fixed Delayer not working with a Bean _expression_ to define the delay when using XML DSL Fixed JMS consumer will no longer complain by default about no errorHandler configured, if uncaught exception was thrown during processing a message. New Enterprise Integration Patterns New Components camel-cdi camel-gson - For JSON data format using Google GSon project camel-mina2 camel-ssh - For executing commands on a SSH Server camel-test-blueprint - For Blueprint Testing camel-test-spring - For Spring Testing camel-twitter - For integrati
[CONF] Apache Camel > Articles
Articles Page edited by Claus Ibsen Changes (1) ... * [Unit testing OSGi Blueprint with Apache Camel made easier|http://davsclaus.blogspot.com/2012/01/unit-testing-osgi-blueprint-with-apache.html] - Blog post how Camel [Testing] with OSGi blueprint became much much easier, than having to resort to use pax exam. * [Communication between two remote Camel routes using Apache Karaf Cellar | http://blog.nanthrax.net/2012/02/communication-between-two-remote-camel-routes-using-karaf-cellar/] by Jean-Baptiste Onofré * [Correlating logs from redelivered messages|http://davsclaus.blogspot.com/2012/02/correlating-logs-from-redelivered.html] - By Claus Ibsen, talks how you can correlate externally redelivered message in the logs, to know what is what. The blog also shows how you can customize logging levels, and what you can tell from JMX as well. ... Full Content See alsoSee also Camel User Stories. We have collected a number of links to external resources about Camel. The list is ordered so the newest links is added to the bottom of the list. Articles on Apache Camel Wanna try our Apache Camel developer tools for Enterprise Integration Patterns? by James Strachan A bit more meat: Camel applied : JMS to File by Mike McLean Matteo wrote a blog entry about using Camel with iBatis Knowledge Tree integration using Apache Camel Integrating Apache Camel with JBoss ESB by Edgar Ankiewsky Simple DSL OSGi bundle example by Andrej Koelewijn Realization of EAI Patterns with Apache Camel by Pascal Kolb at the Universität Stuttgart Spring Remoting with JMS Example on Amin Abbaspour's Weblog Implementing Fuji integration scenario using Camel SE by Louis Polycarpou on using Camel with Open ESB Using the Camel aggregator correctly by Torsten Mielke, a great blog entry how to use the Camel aggregator. Camel routes and HL7 by Roger Searjeant on using Camel and its HL7 support in the health care space. Combining ApacheCamel+BSF to make JBoss ESB polyglot by Edgard Ankiewsky Silva, a JBoss employeer. Groovy and Grape - easiest way to send gtalk message with Apache Camel by Andrej Koelewijn how easy it is to use Groovy and Grape to quickly try out new frameworks such as Apache Camel. Domain-Specific Languages (DSLs) in Apache Camel (Spanish) by Gema Perdiguero, Tecsisa. Apache Camel integration in ServiceMix (Spanish) by Sebastián Gómez, Tecsisa. Open Source Integration with Apache Camel and How Fuse IDE Can Help by Jonathan Anstey. Updated article of the Apache Camel: Integration Nirvana. Great for learning what Camel is and what it can do Leverage EIP with Apache Camel and Twitter by Bruno Borges Apache Camel Reference Card at DZone (the first card out of two) by Claus Ibsen Updated Apache Camel Reference Card at DZone by Claus Ibsen, updated for Camel 2.x Reference Card Using RSS with Apache Camel by Jeroen Reijn Using Groovy and Camel to pool Google Analyst email reports by Mr. Haki Using grails-camel plugin to work with Camel in Grails land by Mr. Haki Send mail with Apache Camel from Gails by Mr. Haki Navigating the Integration Landscape - Claus Ibsen on Apache Camel Claus Ibsen was interviewed at DZone discussing the integration landscape Apache Camel: Enterprise Integration met scripttalen en DSLs (Dutch) by Peter Maas, Finalist IT Group. Axis 2 ride with Camel how to use Axis 2 with the Camel report incident tutorial by Sagara Introduction to the Open eHealth Integration Platform (based on top of Apache Camel) Excellent DZone article by Martin Krasser An IRC alerter written using Apache Camel and Java how to easily integrate IRC with Camel to monitor and do alerts. Entreprise 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 A Camel based XML payload HTTP polling provider by Christopher Hunt to use Camel with AJAX. Interesting read. Camel vs. JBI by Adrian Trenaman. Things to consider when selecting between Apache Camel and Apache Servicemix by Ashwin Karpe Groovy and Camel for monitoring ActiveMQ by Eric Hauser how to monitor AMQ Advisory queues from a single groovy file. 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. Highly recommended for new users Apache Camel alternatives by Gunnar Hillert. He presents a brief overview of other projects in the integration space. First steps with Apache Camel on Google App Engine by Martin Krasser posts his findings to get Camel running on the GAE. A jira notification system for irc using Camel by Guillaume Nodet - all code is in a single XML hot deployed in Apache Kar
svn commit: r1240025 - in /camel/trunk/components/camel-cxf-transport/src: main/java/org/apache/camel/component/cxf/common/header/ test/java/org/apache/camel/component/cxf/transport/
Author: ningjiang Date: Fri Feb 3 08:16:26 2012 New Revision: 1240025 URL: http://svn.apache.org/viewvc?rev=1240025&view=rev Log: CAMEL-4973 Camel CXF Transport should update the content-type as other CXF transport does Added: camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelDestinationTest.java (with props) camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelTestSupport.java - copied, changed from r1239623, camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java Modified: camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java Modified: camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java?rev=1240025&r1=1240024&r2=1240025&view=diff == --- camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java (original) +++ camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java Fri Feb 3 08:16:26 2012 @@ -97,9 +97,11 @@ public final class CxfHeaderHelper { } } -// propagate content type +// propagate content type with the encoding information +// We need to do it as the CXF does this kind of thing in transport level String key = Message.CONTENT_TYPE; -Object value = message.get(key); +Object value = determineContentType(message); + if (value != null && !strategy.applyFilterToExternalHeaders(key, value, exchange)) { headers.put(Exchange.CONTENT_TYPE, value); } @@ -125,5 +127,25 @@ public final class CxfHeaderHelper { headers.put(Exchange.HTTP_RESPONSE_CODE, value); } } + +private static String determineContentType(Message message) { +String ct = (String)message.get(Message.CONTENT_TYPE); +String enc = (String)message.get(Message.ENCODING); + +if (null != ct) { +if (enc != null +&& ct.indexOf("charset=") == -1 +&& !ct.toLowerCase().contains("multipart/related")) { +ct = ct + "; charset=" + enc; +} +} else if (enc != null) { +ct = "text/xml; charset=" + enc; +} else { +ct = "text/xml"; +} +// update the content_type value in the message +message.put(Message.CONTENT_TYPE, ct); +return ct; +} } Modified: camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java?rev=1240025&r1=1240024&r2=1240025&view=diff == --- camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java (original) +++ camel/trunk/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JaxWSCamelConduitTest.java Fri Feb 3 08:16:26 2012 @@ -16,68 +16,16 @@ */ package org.apache.camel.component.cxf.transport; - -import javax.jws.WebMethod; -import javax.jws.WebResult; -import javax.jws.WebService; -import javax.xml.namespace.QName; -import javax.xml.ws.Service; - +import org.apache.camel.Exchange; +import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit4.CamelTestSupport; -import org.apache.cxf.BusFactory; -import org.junit.Before; import org.junit.Test; - import static org.hamcrest.CoreMatchers.is; + /** * Test CXF-CamelConduit when the destination is not a pipeline */ -public class JaxWSCamelConduitTest extends CamelTestSupport { - -/** - * Expected SOAP answer for the 'SampleWS.getSomething' method - */ -public static final String ANSWER = "" -+ "" + "" -+ "Something" + "" -+ "" + ""; - -/** - * Sample WebService - */ -@WebService(targetNamespace = "urn:test", serviceName = "testService", portName = "testPort") -public interface SampleWS { - -@WebMethod -@