git commit: upgrade camel-rx to use the latest version of rxjava
Updated Branches: refs/heads/master 0bdf8431d - d3265079a upgrade camel-rx to use the latest version of rxjava Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d3265079 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d3265079 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d3265079 Branch: refs/heads/master Commit: d3265079ad4c4a2e8d1bb2efa2fa3cca660f39a3 Parents: 0bdf843 Author: James Strachan james.strac...@gmail.com Authored: Mon Sep 2 11:27:14 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Mon Sep 2 11:27:14 2013 +0100 -- .../camel-rx/src/test/java/org/apache/camel/rx/SendToTest.java | 2 +- parent/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/d3265079/components/camel-rx/src/test/java/org/apache/camel/rx/SendToTest.java -- diff --git a/components/camel-rx/src/test/java/org/apache/camel/rx/SendToTest.java b/components/camel-rx/src/test/java/org/apache/camel/rx/SendToTest.java index 818c550..83de696 100644 --- a/components/camel-rx/src/test/java/org/apache/camel/rx/SendToTest.java +++ b/components/camel-rx/src/test/java/org/apache/camel/rx/SendToTest.java @@ -27,7 +27,7 @@ public class SendToTest extends RxTestSupport { @Test public void testSendObservableToEndpoint() throws Exception { Order[] expectedBodies = {new Order(o1, 1.10), new Order(o2, 2.20), new Order(o3, 3.30)}; -ObservableOrder someObservable = Observable.toObservable(expectedBodies); +ObservableOrder someObservable = Observable.from(expectedBodies); final MockEndpoint mockEndpoint = camelContext.getEndpoint(mock:results, MockEndpoint.class); mockEndpoint.expectedBodiesReceived(expectedBodies); http://git-wip-us.apache.org/repos/asf/camel/blob/d3265079/parent/pom.xml -- diff --git a/parent/pom.xml b/parent/pom.xml index 3da331c..9823794 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -332,7 +332,7 @@ rhino-version1.7R2/rhino-version rome-bundle-version1.0_3/rome-bundle-version rome-version1.0/rome-version -rxjava-version0.10.1/rxjava-version +rxjava-version0.11.1/rxjava-version saaj-impl-version1.3.2_2/saaj-impl-version saxon-bundle-version9.5.0.2_1/saxon-bundle-version saxon-version9.5.0.2/saxon-version
git commit: avoid possible hang or crash if we try and complete on a component which is not active and hasn't been configured. Also provide an API to lookup components which are active (to avoid forci
Updated Branches: refs/heads/master a87a8d129 - 708c4cd87 avoid possible hang or crash if we try and complete on a component which is not active and hasn't been configured. Also provide an API to lookup components which are active (to avoid forcing lazy create) Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/708c4cd8 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/708c4cd8 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/708c4cd8 Branch: refs/heads/master Commit: 708c4cd87e3e2cdc0922749e4ab1a660d5337291 Parents: a87a8d1 Author: James Strachan james.strac...@gmail.com Authored: Wed Aug 21 12:11:40 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Wed Aug 21 12:11:40 2013 +0100 -- .../src/main/java/org/apache/camel/CamelContext.java| 10 ++ .../java/org/apache/camel/impl/DefaultCamelContext.java | 4 .../camel/management/mbean/ManagedCamelContext.java | 12 3 files changed, 22 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/708c4cd8/camel-core/src/main/java/org/apache/camel/CamelContext.java -- diff --git a/camel-core/src/main/java/org/apache/camel/CamelContext.java b/camel-core/src/main/java/org/apache/camel/CamelContext.java index 64f4d7a..d8f7894 100644 --- a/camel-core/src/main/java/org/apache/camel/CamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/CamelContext.java @@ -248,6 +248,16 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration { Component getComponent(String componentName); /** + * Gets a component from the context by name. + * + * @param componentName the name of the component + * @param autoCreateComponents whether or not the component should + * be lazily created if it does not already exist + * @return the component + */ +Component getComponent(String name, boolean autoCreateComponents); + +/** * Gets a component from the context by name and specifying the expected type of component. * * @param name the name to lookup http://git-wip-us.apache.org/repos/asf/camel/blob/708c4cd8/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java -- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java index 7dd64de..9fe8bb1 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java @@ -331,6 +331,10 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon } public Component getComponent(String name) { +return getComponent(name, autoCreateComponents); +} + +public Component getComponent(String name, boolean autoCreateComponents) { // synchronize the look up and auto create so that 2 threads can't // concurrently auto create the same component. synchronized (components) { http://git-wip-us.apache.org/repos/asf/camel/blob/708c4cd8/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java -- diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java index e643e8d..b41ff35 100644 --- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java @@ -373,10 +373,14 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti if (completionText == null) { completionText = ; } -Component component = context.getComponent(componentName); -ComponentConfiguration configuration = component.createComponentConfiguration(); -configuration.setParameters(endpointParameters); -return configuration.completeEndpointPath(completionText); +Component component = context.getComponent(componentName, false); +if (component != null) { +ComponentConfiguration configuration = component.createComponentConfiguration(); +configuration.setParameters(endpointParameters); +return configuration.completeEndpointPath(completionText); +} else { +return new ArrayListString(); +} } public String
git commit: fixes CAMEL-6638 to add a vertx component for working with http://vertx.io/
Updated Branches: refs/heads/master 68b357d8b - 7173865d8 fixes CAMEL-6638 to add a vertx component for working with http://vertx.io/ Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7173865d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7173865d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7173865d Branch: refs/heads/master Commit: 7173865d8e9fdd4d358f5cf4ccc662183c561049 Parents: 68b357d Author: James Strachan james.strac...@gmail.com Authored: Wed Aug 14 21:41:45 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Wed Aug 14 21:41:45 2013 +0100 -- components/camel-vertx/pom.xml | 71 +++ .../camel/component/vertx/VertxComponent.java | 90 .../camel/component/vertx/VertxConsumer.java| 64 ++ .../camel/component/vertx/VertxEndpoint.java| 75 +++ .../camel/component/vertx/VertxProducer.java| 65 ++ .../src/main/resources/META-INF/LICENSE.txt | 203 +++ .../src/main/resources/META-INF/NOTICE.txt | 11 + .../services/org/apache/camel/component/vertx | 17 ++ .../camel/component/vertx/VertxRouteTest.java | 67 ++ .../src/test/resources/log4j.properties | 38 components/pom.xml | 1 + 11 files changed, 702 insertions(+) -- http://git-wip-us.apache.org/repos/asf/camel/blob/7173865d/components/camel-vertx/pom.xml -- diff --git a/components/camel-vertx/pom.xml b/components/camel-vertx/pom.xml new file mode 100644 index 000..0dcd804 --- /dev/null +++ b/components/camel-vertx/pom.xml @@ -0,0 +1,71 @@ +?xml version=1.0 encoding=UTF-8? +!-- + 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. +-- +project xmlns=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/maven-v4_0_0.xsd; + modelVersion4.0.0/modelVersion + + parent +groupIdorg.apache.camel/groupId +artifactIdcomponents/artifactId +version2.12-SNAPSHOT/version + /parent + + artifactIdcamel-vertx/artifactId + packagingbundle/packaging + nameCamel :: Vertx/name + descriptionCamel Vertx support/description + + properties + camel.osgi.export.pkgorg.apache.camel.component.vertx.*/camel.osgi.export.pkg + /properties + + dependencies + +dependency + groupIdorg.apache.camel/groupId + artifactIdcamel-core/artifactId +/dependency +dependency + groupIdio.vertx/groupId + artifactIdvertx-core/artifactId + version2.0.1-final/version +/dependency + +!-- testing -- +dependency + groupIdorg.apache.camel/groupId + artifactIdcamel-test/artifactId + scopetest/scope +/dependency +dependency + groupIdorg.slf4j/groupId + artifactIdslf4j-log4j12/artifactId + scopetest/scope +/dependency +dependency + groupIdjunit/groupId + artifactIdjunit/artifactId + scopetest/scope +/dependency +dependency + groupIdorg.mockito/groupId + artifactIdmockito-all/artifactId + version${mockito-version}/version + scopetest/scope +/dependency + /dependencies +/project http://git-wip-us.apache.org/repos/asf/camel/blob/7173865d/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxComponent.java -- diff --git a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxComponent.java b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxComponent.java new file mode 100644 index 000..f7b55c8 --- /dev/null +++ b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxComponent.java @@ -0,0 +1,90 @@ +/** + * + * 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
git commit: improve CAMEL-6394 so we use the correct JSON schema name for the type of the property ; )
Updated Branches: refs/heads/master 25612791c - 1d981304a improve CAMEL-6394 so we use the correct JSON schema name for the type of the property ;) Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1d981304 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1d981304 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1d981304 Branch: refs/heads/master Commit: 1d981304a8586924f6a770a5c35f5ee0c7768aa7 Parents: 2561279 Author: James Strachan james.strac...@gmail.com Authored: Thu Jul 18 15:44:57 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Thu Jul 18 15:44:57 2013 +0100 -- .../main/java/org/apache/camel/impl/ParameterConfiguration.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/1d981304/camel-core/src/main/java/org/apache/camel/impl/ParameterConfiguration.java -- diff --git a/camel-core/src/main/java/org/apache/camel/impl/ParameterConfiguration.java b/camel-core/src/main/java/org/apache/camel/impl/ParameterConfiguration.java index 5ce3d88..af6883c 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/ParameterConfiguration.java +++ b/camel-core/src/main/java/org/apache/camel/impl/ParameterConfiguration.java @@ -68,6 +68,6 @@ public class ParameterConfiguration { String typeName = parameterType.getCanonicalName(); // TODO would be nice to add a description; wonder if we can find that from somewhere // generated by the APT tool? -return doubleQuote(name) + : { \typeName\: + doubleQuote(typeName) + }; +return doubleQuote(name) + : { \type\: + doubleQuote(typeName) + }; } }
git commit: fix possible NPE exception when running camel 2.12.0 on OpenShift (and other PaaS environments where server socket creation is not allowed)
Updated Branches: refs/heads/master 2d686b4ae - fd03dc872 fix possible NPE exception when running camel 2.12.0 on OpenShift (and other PaaS environments where server socket creation is not allowed) Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/fd03dc87 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/fd03dc87 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/fd03dc87 Branch: refs/heads/master Commit: fd03dc87221ebeb76ddf4d5478d9f5924b7ec5d8 Parents: 2d686b4 Author: James Strachan james.strac...@gmail.com Authored: Tue Jul 16 09:48:17 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Tue Jul 16 09:48:17 2013 +0100 -- .../apache/camel/impl/ActiveMQUuidGenerator.java | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/fd03dc87/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java -- diff --git a/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java b/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java index 3afe604..110715e 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java +++ b/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java @@ -78,14 +78,17 @@ public class ActiveMQUuidGenerator implements UuidGenerator { LOG.warn(Cannot generate unique stub by using DNS and binding to local port: + idGeneratorPort + due + ioe.getMessage()); } } finally { -try { -// TODO: replace the following line with IOHelper.close(ss) when Java 6 support is dropped -ss.close(); -} catch (IOException ioe) { -if (LOG.isTraceEnabled()) { -LOG.trace(Closing the server socket failed, ioe); -} else { -LOG.warn(Closing the server socket failed + due + ioe.getMessage()); +// some environments, such as a PaaS may not allow us to create the ServerSocket +if (ss != null) { +try { +// TODO: replace the following line with IOHelper.close(ss) when Java 6 support is dropped +ss.close(); +} catch (IOException ioe) { +if (LOG.isTraceEnabled()) { +LOG.trace(Closing the server socket failed, ioe); +} else { +LOG.warn(Closing the server socket failed + due + ioe.getMessage()); +} } } }
git commit: removed redundant close() as we close in the finally block - which avoids a double close() call
Updated Branches: refs/heads/master fd03dc872 - 51bdf0996 removed redundant close() as we close in the finally block - which avoids a double close() call Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/51bdf099 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/51bdf099 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/51bdf099 Branch: refs/heads/master Commit: 51bdf0996772db221391984dab410b2607bb3cf2 Parents: fd03dc8 Author: James Strachan james.strac...@gmail.com Authored: Tue Jul 16 09:50:34 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Tue Jul 16 09:50:34 2013 +0100 -- .../src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/51bdf099/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java -- diff --git a/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java b/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java index 110715e..3346f21 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java +++ b/camel-core/src/main/java/org/apache/camel/impl/ActiveMQUuidGenerator.java @@ -70,7 +70,6 @@ public class ActiveMQUuidGenerator implements UuidGenerator { ss = new ServerSocket(idGeneratorPort); stub = - + ss.getLocalPort() + - + System.currentTimeMillis() + -; Thread.sleep(100); -ss.close(); } catch (Exception ioe) { if (LOG.isTraceEnabled()) { LOG.trace(Cannot generate unique stub by using DNS and binding to local port: + idGeneratorPort, ioe);
git commit: Added test case to ensure that CAMEL-6394 generates properly formatted JSON which can actually be parsed; and fixed bug in incorrect JSON encoding ; )
Updated Branches: refs/heads/master 46a9c2b01 - 4eed66cdf Added test case to ensure that CAMEL-6394 generates properly formatted JSON which can actually be parsed; and fixed bug in incorrect JSON encoding ;) Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4eed66cd Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4eed66cd Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4eed66cd Branch: refs/heads/master Commit: 4eed66cdf21ed2995e43ed9bbcf86d321f16fe0a Parents: 46a9c2b Author: James Strachan james.strac...@gmail.com Authored: Mon Jul 15 10:57:05 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Mon Jul 15 10:57:05 2013 +0100 -- camel-core/pom.xml| 10 +- .../apache/camel/impl/ComponentConfigurationSupport.java | 1 - .../apache/camel/management/EndpointCompletionTest.java | 7 +++ 3 files changed, 16 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/4eed66cd/camel-core/pom.xml -- diff --git a/camel-core/pom.xml b/camel-core/pom.xml index 143d1e8..1f6fbcc 100755 --- a/camel-core/pom.xml +++ b/camel-core/pom.xml @@ -138,7 +138,14 @@ artifactIdeasymock/artifactId scopetest/scope /dependency - + +!-- for json tests -- +dependency + groupIdcom.fasterxml.jackson.core/groupId + artifactIdjackson-databind/artifactId + version${jackson2-version}/version +/dependency + !-- validator -- dependency groupIdxml-resolver/groupId @@ -146,6 +153,7 @@ version${xml-resolver-version}/version scopetest/scope /dependency + /dependencies http://git-wip-us.apache.org/repos/asf/camel/blob/4eed66cd/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java -- diff --git a/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java b/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java index 4dae1b7..40f190c 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java +++ b/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java @@ -174,7 +174,6 @@ public abstract class ComponentConfigurationSupport implements ComponentConfigur } else { buffer.append(,); } -buffer.append(entry.getKey()); buffer.append(\n); buffer.append(entry.getValue().toJson()); } http://git-wip-us.apache.org/repos/asf/camel/blob/4eed66cd/camel-core/src/test/java/org/apache/camel/management/EndpointCompletionTest.java -- diff --git a/camel-core/src/test/java/org/apache/camel/management/EndpointCompletionTest.java b/camel-core/src/test/java/org/apache/camel/management/EndpointCompletionTest.java index b081380..1512914 100644 --- a/camel-core/src/test/java/org/apache/camel/management/EndpointCompletionTest.java +++ b/camel-core/src/test/java/org/apache/camel/management/EndpointCompletionTest.java @@ -23,6 +23,8 @@ import java.util.Map; import javax.management.MBeanServer; import javax.management.ObjectName; +import com.fasterxml.jackson.databind.ObjectMapper; + import org.apache.camel.builder.RouteBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -79,6 +81,11 @@ public class EndpointCompletionTest extends ManagementTestSupport { mbeanServer.invoke(on, componentParameterJsonSchema, params, signature)); LOG.info(Component + componentName + returned JSON: + answer); + +// now lets validate that the generated JSON parses correctly +ObjectMapper mapper = new ObjectMapper(); +HashMap data = mapper.readValue(answer, HashMap.class); +LOG.info(Read JSON: + data); return answer; }
git commit: added a simple CSV test case for using camel and beanio; using a map rather than explicit bean mapping
Updated Branches: refs/heads/master 26088b497 - e42b0b9e5 added a simple CSV test case for using camel and beanio; using a map rather than explicit bean mapping Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e42b0b9e Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e42b0b9e Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e42b0b9e Branch: refs/heads/master Commit: e42b0b9e532257bc20fb7bd64c0c2a99d980a73d Parents: 26088b4 Author: James Strachan james.strac...@gmail.com Authored: Thu Jul 11 10:55:25 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Thu Jul 11 10:55:25 2013 +0100 -- .../camel/dataformat/beanio/csv/CsvTest.java| 121 +++ .../camel/dataformat/beanio/csv/mappings.xml| 14 +++ 2 files changed, 135 insertions(+) -- http://git-wip-us.apache.org/repos/asf/camel/blob/e42b0b9e/components/camel-beanio/src/test/java/org/apache/camel/dataformat/beanio/csv/CsvTest.java -- diff --git a/components/camel-beanio/src/test/java/org/apache/camel/dataformat/beanio/csv/CsvTest.java b/components/camel-beanio/src/test/java/org/apache/camel/dataformat/beanio/csv/CsvTest.java new file mode 100644 index 000..c2fdbb5 --- /dev/null +++ b/components/camel-beanio/src/test/java/org/apache/camel/dataformat/beanio/csv/CsvTest.java @@ -0,0 +1,121 @@ +/** + * + * 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.dataformat.beanio.csv; + +import org.apache.camel.Exchange; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.dataformat.beanio.BeanIODataFormat; +import org.apache.camel.spi.DataFormat; +import org.apache.camel.test.junit4.CamelTestSupport; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + */ +public class CsvTest extends CamelTestSupport { +private static final String FIXED_DATA = +James,Strachan,22 + LS + +Claus,Ibsen,21 + LS; + +private boolean verbose = false; + +/* +@Test +public void testMarshal() throws Exception { +ListEmployee employees = getEmployees(); + +MockEndpoint mock = getMockEndpoint(mock:beanio-marshal); +mock.expectedBodiesReceived(FIXED_DATA); + +template.sendBody(direct:marshal, employees); + +mock.assertIsSatisfied(); +} +*/ + +@Test +public void testUnmarshal() throws Exception { +MockEndpoint mock = getMockEndpoint(mock:beanio-unmarshal); +mock.expectedMessageCount(2); + +template.sendBody(direct:unmarshal, FIXED_DATA); + +mock.assertIsSatisfied(); + +ListExchange exchanges = mock.getExchanges(); +if (verbose) { +for (Exchange exchange : exchanges) { +Object body = exchange.getIn().getBody(); +System.out.println(received message + body + of class + body.getClass().getName()); +} +} +ListMap results = new ArrayListMap(); +for (Exchange exchange : exchanges) { +Map body = exchange.getIn().getBody(Map.class); +if (body != null) { +results.add(body); +} +} +assertRecord(results, 0, James, Strachan, 22); +assertRecord(results, 1, Claus, Ibsen, 21); +} + +protected static void assertRecord(ListMap results, int index, String expectedFirstName, String expectedLastName, int expectedAge) { +assertTrue(Not enough Map messages received: + results.size(), results.size() index); +Map map = results.get(index); +assertNotNull(No map result found for index + index, map); + +String text = bodyAsMap( + index + ) ; +assertEquals(text + firstName, expectedFirstName, map.get(firstName)); +assertEquals(text + lastName, expectedLastName, map.get(lastName)); +assertEquals(text + age, expectedAge,
git commit: expose the component HTML to the CamelContext and the MBean so it can be displayed by tooling
Updated Branches: refs/heads/master 868a358ad - 3ec75ec79 expose the component HTML to the CamelContext and the MBean so it can be displayed by tooling Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3ec75ec7 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3ec75ec7 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3ec75ec7 Branch: refs/heads/master Commit: 3ec75ec79f29658b2e840787701e71885a5bdaae Parents: 868a358 Author: James Strachan james.strac...@gmail.com Authored: Sun Jun 9 09:55:38 2013 -0400 Committer: James Strachan james.strac...@gmail.com Committed: Sun Jun 9 09:58:09 2013 -0400 -- .../java/org/apache/camel/CamelContext.java | 6 + .../mbean/ManagedCamelContextMBean.java | 9 +++ .../apache/camel/impl/DefaultCamelContext.java | 12 ++ .../management/mbean/ManagedCamelContext.java | 5 .../apache/camel/util/CamelContextHelper.java | 1 + .../java/org/apache/camel/util/IOHelper.java| 25 .../camel/component/ComponentDiscoveryTest.java | 9 +++ .../camel/blueprint/BlueprintCamelContext.java | 5 .../core/osgi/OsgiDefaultCamelContext.java | 5 .../core/osgi/utils/BundleContextUtils.java | 19 +++ 10 files changed, 96 insertions(+) -- http://git-wip-us.apache.org/repos/asf/camel/blob/3ec75ec7/camel-core/src/main/java/org/apache/camel/CamelContext.java -- diff --git a/camel-core/src/main/java/org/apache/camel/CamelContext.java b/camel-core/src/main/java/org/apache/camel/CamelContext.java index 5b2b4f6..7f467f1 100644 --- a/camel-core/src/main/java/org/apache/camel/CamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/CamelContext.java @@ -1205,4 +1205,10 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration { * @throws Exception is thrown if error occurred */ MapString,Properties findComponents() throws LoadPropertiesException, IOException; + + +/** + * Returns the HTML documentation for the given camel component + */ +String getComponentDocumentation(String componentName) throws IOException; } http://git-wip-us.apache.org/repos/asf/camel/blob/3ec75ec7/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java -- diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java index 4af6d3d..514fdbe 100644 --- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java +++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java @@ -16,6 +16,7 @@ */ package org.apache.camel.api.management.mbean; +import java.io.IOException; import java.util.List; import java.util.Map; import java.util.Properties; @@ -219,4 +220,12 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean @ManagedOperation(description = Returns the list of available endpoint paths for the given component name, endpoint properties and completion text) ListString completeEndpointPath(String componentName, MapString, Object endpointParameters, String completionText) throws Exception; +/** + * Returns the HTML documentation for the given camel component + * + * @param componentName the component name + */ +@ManagedOperation(description = Returns the HTML documentation for the given camel component) +String getComponentDocumentation(String componentName) throws IOException; + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/3ec75ec7/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java -- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java index c61c79f..22fa6e1 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java @@ -18,11 +18,13 @@ package org.apache.camel.impl; import java.io.IOException; import java.io.InputStream; +import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; +import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; @@ -125,6 +127,7 @@ import
git commit: search all bundles in the bundleContext for the OSGi version of findComponents()
Updated Branches: refs/heads/master 5e1a3a3ea - 3553b95ad search all bundles in the bundleContext for the OSGi version of findComponents() Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3553b95a Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3553b95a Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3553b95a Branch: refs/heads/master Commit: 3553b95ad66ff5240725de6479ff66292605ddcb Parents: 5e1a3a3 Author: James Strachan james.strac...@gmail.com Authored: Sat Jun 8 08:11:44 2013 +0200 Committer: James Strachan james.strac...@gmail.com Committed: Sat Jun 8 08:11:44 2013 +0200 -- .../camel/core/osgi/OsgiDefaultCamelContext.java | 13 ++--- 1 files changed, 10 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/3553b95a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java -- diff --git a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java index 9f7b0b2..1a7b472 100644 --- a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java +++ b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java @@ -21,6 +21,8 @@ import java.net.URL; import java.util.Enumeration; import java.util.Map; import java.util.Properties; +import java.util.SortedMap; +import java.util.TreeMap; import org.apache.camel.TypeConverter; import org.apache.camel.core.osgi.utils.BundleContextUtils; @@ -48,9 +50,14 @@ public class OsgiDefaultCamelContext extends DefaultCamelContext { } public MapString, Properties findComponents() throws LoadPropertiesException, IOException { -Bundle bundle = bundleContext.getBundle(); -EnumerationURL iter = bundle.getResources(CamelContextHelper.COMPONENT_DESCRIPTOR); -return CamelContextHelper.findComponents(this, iter); +SortedMapString, Properties answer = new TreeMapString, Properties(); +Bundle[] bundles = bundleContext.getBundles(); +for (Bundle bundle : bundles) { +EnumerationURL iter = bundle.getResources(CamelContextHelper.COMPONENT_DESCRIPTOR); +SortedMapString,Properties map = CamelContextHelper.findComponents(this, iter); +answer.putAll(map); +} +return answer; } @Override
git commit: fixed findComponents() for in blueprint too (had missed there's 2 OSGi camel context implementations - DOH ; )
Updated Branches: refs/heads/master 512b0a165 - d33db16a3 fixed findComponents() for in blueprint too (had missed there's 2 OSGi camel context implementations - DOH ;) Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d33db16a Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d33db16a Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d33db16a Branch: refs/heads/master Commit: d33db16a385d1eaf1ced7da8766aaa7e4175b783 Parents: 512b0a1 Author: James Strachan james.strac...@gmail.com Authored: Sat Jun 8 09:47:49 2013 +0200 Committer: James Strachan james.strac...@gmail.com Committed: Sat Jun 8 10:29:09 2013 +0200 -- .../camel/blueprint/BlueprintCamelContext.java |9 + .../camel/core/osgi/OsgiDefaultCamelContext.java | 16 +--- .../camel/core/osgi/utils/BundleContextUtils.java | 28 +++ 3 files changed, 39 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/d33db16a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java -- diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java index cded338..8a86bf6 100644 --- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java +++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java @@ -16,6 +16,10 @@ */ package org.apache.camel.blueprint; +import java.io.IOException; +import java.util.Map; +import java.util.Properties; + import org.apache.camel.TypeConverter; import org.apache.camel.core.osgi.OsgiCamelContextHelper; import org.apache.camel.core.osgi.OsgiFactoryFinderResolver; @@ -25,6 +29,7 @@ import org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.spi.FactoryFinder; import org.apache.camel.spi.Registry; +import org.apache.camel.util.LoadPropertiesException; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceEvent; import org.osgi.framework.ServiceListener; @@ -109,6 +114,10 @@ public class BlueprintCamelContext extends DefaultCamelContext implements Servic stop(); } +@Override +public MapString, Properties findComponents() throws LoadPropertiesException, IOException { +return BundleContextUtils.findComponents(bundleContext, this); +} @Override public void blueprintEvent(BlueprintEvent event) { http://git-wip-us.apache.org/repos/asf/camel/blob/d33db16a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java -- diff --git a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java index 1a7b472..d049f1c 100644 --- a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java +++ b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java @@ -17,21 +17,15 @@ package org.apache.camel.core.osgi; import java.io.IOException; -import java.net.URL; -import java.util.Enumeration; import java.util.Map; import java.util.Properties; -import java.util.SortedMap; -import java.util.TreeMap; import org.apache.camel.TypeConverter; import org.apache.camel.core.osgi.utils.BundleContextUtils; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.spi.FactoryFinder; import org.apache.camel.spi.Registry; -import org.apache.camel.util.CamelContextHelper; import org.apache.camel.util.LoadPropertiesException; -import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; public class OsgiDefaultCamelContext extends DefaultCamelContext { @@ -49,15 +43,9 @@ public class OsgiDefaultCamelContext extends DefaultCamelContext { OsgiCamelContextHelper.osgiUpdate(this, bundleContext); } +@Override public MapString, Properties findComponents() throws LoadPropertiesException, IOException { -SortedMapString, Properties answer = new TreeMapString, Properties(); -Bundle[] bundles = bundleContext.getBundles(); -for (Bundle bundle : bundles) { -EnumerationURL iter = bundle.getResources(CamelContextHelper.COMPONENT_DESCRIPTOR); -SortedMapString,Properties map = CamelContextHelper.findComponents(this, iter); -answer.putAll(map); -} -
git commit: provide an implementation of CAMEL-6391 so that we can use completion when entering the endpoint path values. for example for file components, we can use bash style completion on the avail
Updated Branches: refs/heads/master ca35a4d7b - 4cc51e1c6 provide an implementation of CAMEL-6391 so that we can use completion when entering the endpoint path values. for example for file components, we can use bash style completion on the available directory/file names from a karaf command, CLI tool, IDE or web based tool Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4cc51e1c Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4cc51e1c Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4cc51e1c Branch: refs/heads/master Commit: 4cc51e1c6ed20787cf9241e2909e72d05331 Parents: ca35a4d Author: James Strachan james.strac...@gmail.com Authored: Fri May 24 10:23:13 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Fri May 24 10:23:13 2013 +0100 -- .../org/apache/camel/ComponentConfiguration.java | 15 +++ .../management/mbean/ManagedCamelContextMBean.java | 22 .../apache/camel/component/file/FileComponent.java | 56 ++- .../camel/impl/ComponentConfigurationSupport.java |9 ++ .../management/mbean/ManagedCamelContext.java | 19 .../org/apache/camel/spi/EndpointCompleter.java| 41 .../camel/management/EndpointCompletionTest.java | 78 +++ 7 files changed, 239 insertions(+), 1 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/4cc51e1c/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java -- diff --git a/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java b/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java index 91ac7cf..4873ad4 100644 --- a/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java +++ b/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java @@ -17,6 +17,7 @@ package org.apache.camel; import java.net.URISyntaxException; +import java.util.List; import java.util.Map; import java.util.SortedMap; @@ -134,5 +135,19 @@ public interface ComponentConfiguration { */ void setEndpointParameter(Endpoint endpoint, String name, Object value) throws RuntimeCamelException; +/** + * A helper method for tools such as CLIs, IDEs or web tools that provides a completion list for Endpoint Paths + * rather like bash tab completion or Karaf attribute or option completion handers. + * + * So given the current configuration data, return a list of completions given the specified text. + * + * e.g. return the files in a directory, the matching queues in a message broker, the database tables in a database component etc + * + * @param completionText the prefix text used to complete on (usually a matching bit of text) + * + * @return a list of matches + * @return a list of matches + */ +ListString completeEndpointPath(String completionText); } http://git-wip-us.apache.org/repos/asf/camel/blob/4cc51e1c/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java -- diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java index 002f556..ea4e8b9 100644 --- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java +++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java @@ -16,6 +16,7 @@ */ package org.apache.camel.api.management.mbean; +import java.util.List; import java.util.Map; import java.util.Properties; import java.util.concurrent.TimeUnit; @@ -172,6 +173,15 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean MapString, Properties findComponents() throws Exception; /** + * Find the names of all the Camel components available in the classpath and {@link org.apache.camel.spi.Registry}. + * + * @return a list with the names of the camel components + * @throws Exception is thrown if error occurred + */ +@ManagedOperation(description = Find all Camel components names available in the classpath) +ListString findComponentNames() throws Exception; + +/** * Resets all the performance counters. * * @param includeRoutes whether to reset all routes as well. @@ -180,4 +190,16 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean @ManagedOperation(description = Reset counters) void reset(boolean includeRoutes) throws Exception; + +/** + * Helper method for tooling which returns the completion
git commit: fixes CAMEL-6394 to add a createParameterJsonSchema() method on ComponentConfiguration along with a componentParameterJsonSchema() method on the MBean; so its easy for tools to enquire wha
Updated Branches: refs/heads/master 9e31679fc - 0bd7c3826 fixes CAMEL-6394 to add a createParameterJsonSchema() method on ComponentConfiguration along with a componentParameterJsonSchema() method on the MBean; so its easy for tools to enquire what parameters are available on an endpoint Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0bd7c382 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0bd7c382 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0bd7c382 Branch: refs/heads/master Commit: 0bd7c3826efb53a00a75a345274828a1c33ba8a1 Parents: 9e31679 Author: James Strachan james.strac...@gmail.com Authored: Fri May 24 14:08:25 2013 +0100 Committer: James Strachan james.strac...@gmail.com Committed: Fri May 24 14:08:25 2013 +0100 -- .../org/apache/camel/ComponentConfiguration.java |8 .../management/mbean/ManagedCamelContextMBean.java | 10 + .../camel/impl/ComponentConfigurationSupport.java | 21 +++ .../apache/camel/impl/ParameterConfiguration.java | 11 ++ .../management/mbean/ManagedCamelContext.java |8 .../org/apache/camel/util/StringQuoteHelper.java | 27 ++ .../camel/management/EndpointCompletionTest.java | 29 ++- 7 files changed, 112 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/camel/blob/0bd7c382/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java -- diff --git a/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java b/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java index 4873ad4..9e0deb5 100644 --- a/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java +++ b/camel-core/src/main/java/org/apache/camel/ComponentConfiguration.java @@ -149,5 +149,13 @@ public interface ComponentConfiguration { * @return a list of matches */ ListString completeEndpointPath(String completionText); + +/** + * Creates a a href=http://json-schema.org/;JSON schema/a representation of the + * configuration parameters for this endpoint and the types and validation rules. + * + * @return a JSON string which represents the JSON schema for this endpoints configuration parameters. + */ +String createParameterJsonSchema(); } http://git-wip-us.apache.org/repos/asf/camel/blob/0bd7c382/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java -- diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java index 4adbc30..829eede 100644 --- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java +++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java @@ -181,6 +181,16 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean @ManagedOperation(description = Find all Camel components names available in the classpath) ListString findComponentNames() throws Exception; + +/** + * Returns the JSON schema representation of the endpoint parameters for the given component name + * + * @param componentName the name of the component to lookup + * @throws Exception is thrown if error occurred + */ +@ManagedOperation(description = Returns the JSON schema representation of the endpoint parameters for the given component name) +String componentParameterJsonSchema(String componentName) throws Exception; + /** * Resets all the performance counters. * http://git-wip-us.apache.org/repos/asf/camel/blob/0bd7c382/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java -- diff --git a/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java b/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java index 027a610..bbe8c0c 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java +++ b/camel-core/src/main/java/org/apache/camel/impl/ComponentConfigurationSupport.java @@ -23,6 +23,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.SortedMap; import org.apache.camel.Component; import org.apache.camel.ComponentConfiguration; @@ -163,6 +164,26 @@ public abstract class ComponentConfigurationSupport implements ComponentConfigur return new ArrayListString(); }
svn commit: r1476897 - /camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
Author: jstrachan Date: Mon Apr 29 06:00:08 2013 New Revision: 1476897 URL: http://svn.apache.org/r1476897 Log: make the annotation processor more restrictive on the annotations it processes to try help the CI build on jdk 1.6 - thanks Babak! Also used java 7 source only to help further nudge the jdk 6 build along a bit more Modified: camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java Modified: camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java URL: http://svn.apache.org/viewvc/camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java?rev=1476897r1=1476896r2=1476897view=diff == --- camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java (original) +++ camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java Mon Apr 29 06:00:08 2013 @@ -58,8 +58,8 @@ import java.util.TreeMap; * Processes all Camel endpoints */ //@SupportedOptions({foo}) -@SupportedAnnotationTypes({org.apache.camel.*, org.apache.camel.spi.*}) -@SupportedSourceVersion(SourceVersion.RELEASE_6) +@SupportedAnnotationTypes({org.apache.camel.spi.*}) +@SupportedSourceVersion(SourceVersion.RELEASE_7) public class EndpointAnnotationProcessor extends AbstractProcessor { public boolean process(Set? extends TypeElement annotations, final RoundEnvironment roundEnv) { if (roundEnv.processingOver()) {
svn commit: r1476899 - /camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
Author: jstrachan Date: Mon Apr 29 06:03:32 2013 New Revision: 1476899 URL: http://svn.apache.org/r1476899 Log: ah, rollback the java 7 source as that doesn't work too well on jdk 6 :) Modified: camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java Modified: camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java URL: http://svn.apache.org/viewvc/camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java?rev=1476899r1=1476898r2=1476899view=diff == --- camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java (original) +++ camel/trunk/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java Mon Apr 29 06:03:32 2013 @@ -59,7 +59,7 @@ import java.util.TreeMap; */ //@SupportedOptions({foo}) @SupportedAnnotationTypes({org.apache.camel.spi.*}) -@SupportedSourceVersion(SourceVersion.RELEASE_7) +@SupportedSourceVersion(SourceVersion.RELEASE_6) public class EndpointAnnotationProcessor extends AbstractProcessor { public boolean process(Set? extends TypeElement annotations, final RoundEnvironment roundEnv) { if (roundEnv.processingOver()) {
svn commit: r1470838 - in /camel/trunk/tooling/maven/camel-package-maven-plugin: pom.xml src/main/java/org/apache/camel/maven/packaging/EndpointMojo.java src/main/resources/camel-package-maven-plugin.
Author: jstrachan Date: Tue Apr 23 07:53:38 2013 New Revision: 1470838 URL: http://svn.apache.org/r1470838 Log: added a maven report plugin for endpoint documentation, generated from the @UriEndpoint / @UriParam / @UriParams annotations and javadoc. See CAMEL-6304 Added: camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointMojo.java (with props) camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/resources/camel-package-maven-plugin.properties (contents, props changed) - copied, changed from r1467765, camel/trunk/tooling/maven/camel-maven-plugin/src/main/resources/camel-maven-plugin.properties Modified: camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml Modified: camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml?rev=1470838r1=1470837r2=1470838view=diff == --- camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml (original) +++ camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml Tue Apr 23 07:53:38 2013 @@ -58,6 +58,14 @@ scopeprovided/scope version2.2.1/version /dependency +dependency + groupIdorg.apache.maven.reporting/groupId + artifactIdmaven-reporting-api/artifactId +/dependency +dependency + groupIdorg.apache.maven.reporting/groupId + artifactIdmaven-reporting-impl/artifactId +/dependency !-- add some logging to the classpath -- Added: camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointMojo.java URL: http://svn.apache.org/viewvc/camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointMojo.java?rev=1470838view=auto == --- camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointMojo.java (added) +++ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointMojo.java Tue Apr 23 07:53:38 2013 @@ -0,0 +1,472 @@ +/** + * + * 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.maven.packaging; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FilenameFilter; +import java.util.Locale; +import java.util.ResourceBundle; + +import org.apache.maven.doxia.sink.Sink; +import org.apache.maven.doxia.siterenderer.Renderer; +import org.apache.maven.project.MavenProject; +import org.apache.maven.reporting.AbstractMavenReport; +import org.apache.maven.reporting.MavenReportException; +import org.codehaus.plexus.util.IOUtil; + +/** + * Generates a HTML report for all the Camel endpoints and their configuration parameters + * + * @goal endpoints + * @phase site + */ +public class EndpointMojo extends AbstractMavenReport { + +/** + * Reference to Maven Project. + * + * @parameter property=project + * @required + * @readonly + */ +private MavenProject project; + +/** + * @component + * @required + * @readonly + */ +private Renderer renderer; + +/** + * Base output directory for reports. + * + * @parameter default-value=${project.build.directory}/site + * @required + */ +private File outputDirectory; + + +protected void executeReport(final Locale locale) throws MavenReportException { +try { +File dir = new File(project.getBuild().getOutputDirectory(), org/apache/camel/component); +getLog().info(Looking into directory + dir.getAbsolutePath()); +if (dir.exists() dir.isDirectory()) { +File[] files = dir.listFiles(new FilenameFilter() { +@Override +public boolean accept(File dir, String name) { +return name.toLowerCase().endsWith(.html); +} +}); +if (files != null files.length 0) { +boolean
svn commit: r1470842 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/component/bean/ camel-core/src/main/java/org/apache/camel/component/timer/ components/camel-jms/src/main/java/org/apac
Author: jstrachan Date: Tue Apr 23 08:02:18 2013 New Revision: 1470842 URL: http://svn.apache.org/r1470842 Log: port a bunch of components to use the new UriEndpointComponent base class for Component implementations which makes use of the new @UriEndpoint / @UriParam annotations to provide better metadata in their ComponentConfiguration implementation; see CAMEL-6306 and CAMEL-6304 Added: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentConfigurationTest.java (with props) Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java camel/trunk/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsComponent.java camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java camel/trunk/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java?rev=1470842r1=1470841r2=1470842view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java Tue Apr 23 08:02:18 2013 @@ -16,23 +16,23 @@ */ package org.apache.camel.component.bean; -import java.util.Map; - import org.apache.camel.Endpoint; import org.apache.camel.Processor; -import org.apache.camel.impl.DefaultComponent; import org.apache.camel.impl.ProcessorEndpoint; +import org.apache.camel.impl.UriEndpointComponent; import org.apache.camel.util.LRUSoftCache; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Map; + /** * The a href=http://camel.apache.org/bean.html;Bean Component/a * will look up the URI in the {@link org.apache.camel.spi.Registry} and use that to handle message dispatching. * * @version */ -public class BeanComponent extends DefaultComponent { +public class BeanComponent extends UriEndpointComponent { private static final transient Logger LOG = LoggerFactory.getLogger(BeanComponent.class); // use an internal soft cache for BeanInfo as they are costly to introspect @@ -40,6 +40,7 @@ public class BeanComponent extends Defau private final LRUSoftCacheBeanInfoCacheKey, BeanInfo cache = new LRUSoftCacheBeanInfoCacheKey, BeanInfo(1000); public BeanComponent() { +super(BeanEndpoint.class); } /** Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java?rev=1470842r1=1470841r2=1470842view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java Tue Apr 23 08:02:18 2013 @@ -25,6 +25,7 @@ import java.util.Timer; import org.apache.camel.Endpoint; import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; /** * Represents the component that manages {@link TimerEndpoint}. It holds the @@ -32,9 +33,13 @@ import org.apache.camel.impl.DefaultComp * * @version */ -public class TimerComponent extends DefaultComponent { +public class TimerComponent extends UriEndpointComponent { private final MapString, Timer timers = new HashMapString, Timer(); +public TimerComponent() { +super(TimerEndpoint.class); +} + public Timer getTimer(TimerEndpoint endpoint) { String key = endpoint.getTimerName(); if (!endpoint.isDaemon()) { Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java?rev=1470842r1=1470841r2=1470842view=diff == --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java Tue Apr 23 08:02:18 2013 @@ -25,7 +25,7 @@ import javax.jms.Session; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.LoggingLevel
svn commit: r1464879 - /camel/trunk/parent/pom.xml
Author: jstrachan Date: Fri Apr 5 08:10:28 2013 New Revision: 1464879 URL: http://svn.apache.org/r1464879 Log: upgraded to the latest rxjava release Modified: camel/trunk/parent/pom.xml Modified: camel/trunk/parent/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=1464879r1=1464878r2=1464879view=diff == --- camel/trunk/parent/pom.xml (original) +++ camel/trunk/parent/pom.xml Fri Apr 5 08:10:28 2013 @@ -315,7 +315,7 @@ rhino-version1.7R2/rhino-version rome-bundle-version1.0_3/rome-bundle-version rome-version1.0/rome-version -rxjava-version0.6.0/rxjava-version +rxjava-version0.6.3/rxjava-version saaj-impl-version1.3.2_2/saaj-impl-version saxon-bundle-version9.4.0.4_2/saxon-bundle-version saxon-version9.4.0.4/saxon-version
svn commit: r1457229 - /camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java
Author: jstrachan Date: Sat Mar 16 09:48:13 2013 New Revision: 1457229 URL: http://svn.apache.org/r1457229 Log: fixes CAMEL-6169 so that the camelComponent.properties file is deployed into the maven repository; so folks can easily search for classifier camelComponent and extension properties to find all the camel components in a maven repo (from version 2.11 onwards) Modified: camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java Modified: camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java URL: http://svn.apache.org/viewvc/camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java?rev=1457229r1=1457228r2=1457229view=diff == --- camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java (original) +++ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java Sat Mar 16 09:48:13 2013 @@ -25,6 +25,7 @@ import org.apache.maven.plugin.AbstractM import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; +import org.apache.maven.project.MavenProjectHelper; /** * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel. @@ -51,6 +52,13 @@ public class PackageMojo extends Abstrac */ protected File outDir; +/** + * Maven ProjectHelper. + * + * @component + * @readonly + */ +private MavenProjectHelper projectHelper; /** * Execute goal. @@ -88,6 +96,10 @@ public class PackageMojo extends Abstrac try { properties.store(new FileWriter(outFile), Generated by camel-package-maven-plugin); getLog().info(Generated + outFile + containing the Camel + (files.length 1 ? components : component ) + names); + +if (projectHelper != null) { +projectHelper.attachArtifact( this.project, properties, camelComponent, outFile); +} } catch (IOException e) { throw new MojoExecutionException(Failed to write properties to + outFile + . Reason: + e, e); }
svn commit: r1457242 - /camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java
Author: jstrachan Date: Sat Mar 16 12:23:19 2013 New Revision: 1457242 URL: http://svn.apache.org/r1457242 Log: fixed maven plugin so that it includes the component.properties inside the jar Modified: camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java Modified: camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java URL: http://svn.apache.org/viewvc/camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java?rev=1457242r1=1457241r2=1457242view=diff == --- camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java (original) +++ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java Sat Mar 16 12:23:19 2013 @@ -19,6 +19,8 @@ package org.apache.camel.maven.packaging import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; import org.apache.maven.plugin.AbstractMojo; @@ -98,7 +100,10 @@ public class PackageMojo extends Abstrac getLog().info(Generated + outFile + containing the Camel + (files.length 1 ? components : component ) + names); if (projectHelper != null) { -projectHelper.attachArtifact( this.project, properties, camelComponent, outFile); +ListString includes = new ArrayListString(); +includes.add(**/component.properties); +projectHelper.addResource(this.project, outDir.getPath(), includes, new ArrayListString()); +projectHelper.attachArtifact(this.project, properties, camelComponent, outFile); } } catch (IOException e) { throw new MojoExecutionException(Failed to write properties to + outFile + . Reason: + e, e);
svn commit: r1455850 - /camel/trunk/components/camel-rx/pom.xml
Author: jstrachan Date: Wed Mar 13 09:39:11 2013 New Revision: 1455850 URL: http://svn.apache.org/r1455850 Log: updated to the latest RxJava release Modified: camel/trunk/components/camel-rx/pom.xml Modified: camel/trunk/components/camel-rx/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/pom.xml?rev=1455850r1=1455849r2=1455850view=diff == --- camel/trunk/components/camel-rx/pom.xml (original) +++ camel/trunk/components/camel-rx/pom.xml Wed Mar 13 09:39:11 2013 @@ -48,7 +48,7 @@ dependency groupIdcom.netflix.rxjava/groupId artifactIdrxjava-core/artifactId - version0.5.4/version + version0.6.0/version /dependency !-- test dependencies --
svn commit: r1453234 - in /camel/trunk/components/camel-rx: ./ src/main/java/org/apache/camel/rx/ src/main/java/org/apache/camel/rx/support/ src/test/java/org/apache/camel/rx/
Author: jstrachan Date: Wed Mar 6 09:26:48 2013 New Revision: 1453234 URL: http://svn.apache.org/r1453234 Log: added the ObservableMessage and ObservableBody helper classes which are Processors and make it easy to embed some RX processing code to handle messages / bodies inside an existing camel route. e.g. its handy if you want to do filtering, marshalling or transforming before hitting the RX code. Also refactored some useful functions and classes into the support package, renamed the test cases to be more descriptive Added: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ObservableBody.java (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ObservableMessage.java (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ExchangeToBodyFunc1.java (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ExchangeToMessageFunc1.java (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ObservableProcessor.java (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ObserverSender.java (contents, props changed) - copied, changed from r1453182, camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ProducerObserver.java camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ProcessorToObserver.java (with props) camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableBodyTest.java (with props) camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageTest.java (with props) camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ToObservableAndMapTest.java (contents, props changed) - copied, changed from r1453182, camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageMapTest.java camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ToObservableBodyTest.java (contents, props changed) - copied, changed from r1453182, camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableBodyTest.java camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ToObservableTest.java (contents, props changed) - copied, changed from r1453182, camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageTest.java Removed: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ProducerObserver.java camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageMapTest.java Modified: camel/trunk/components/camel-rx/pom.xml camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/EndpointSubscription.java Modified: camel/trunk/components/camel-rx/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/pom.xml?rev=1453234r1=1453233r2=1453234view=diff == --- camel/trunk/components/camel-rx/pom.xml (original) +++ camel/trunk/components/camel-rx/pom.xml Wed Mar 6 09:26:48 2013 @@ -54,7 +54,7 @@ !-- test dependencies -- dependency groupIdorg.apache.camel/groupId - artifactIdcamel-test-spring/artifactId + artifactIdcamel-test/artifactId scopetest/scope /dependency dependency Added: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ObservableBody.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ObservableBody.java?rev=1453234view=auto == --- camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ObservableBody.java (added) +++ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ObservableBody.java Wed Mar 6 09:26:48 2013 @@ -0,0 +1,39 @@ +/** + * + * 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.rx; + +import
svn commit: r1452207 - in /camel/trunk/components/camel-rx/src: main/java/org/apache/camel/rx/ReactiveCamel.java main/java/org/apache/camel/rx/support/ProducerObserver.java test/java/org/apache/camel/
Author: jstrachan Date: Mon Mar 4 08:26:40 2013 New Revision: 1452207 URL: http://svn.apache.org/r1452207 Log: added a helper method for sending events on any ObservableT to a camel endpoint Added: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ProducerObserver.java (with props) camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/SendToTest.java (with props) Modified: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java Modified: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java?rev=1452207r1=1452206r2=1452207view=diff == --- camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java (original) +++ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java Mon Mar 4 08:26:40 2013 @@ -23,6 +23,8 @@ import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.rx.support.EndpointObservable; import org.apache.camel.rx.support.EndpointSubscription; +import org.apache.camel.rx.support.ProducerObserver; +import org.apache.camel.util.CamelContextHelper; import rx.Observable; import rx.Observer; @@ -45,7 +47,7 @@ public class ReactiveCamel { * to be processed using a href=https://rx.codeplex.com/;Reactive Extensions/a */ public ObservableMessage toObservable(String uri) { -return toObservable(camelContext.getEndpoint(uri)); +return toObservable(endpoint(uri)); } /** @@ -54,7 +56,7 @@ public class ReactiveCamel { * to be processed using a href=https://rx.codeplex.com/;Reactive Extensions/a */ public T ObservableT toObservable(String uri, final ClassT bodyType) { -return toObservable(camelContext.getEndpoint(uri), bodyType); +return toObservable(endpoint(uri), bodyType); } @@ -87,10 +89,33 @@ public class ReactiveCamel { }); } +/** + * Sends events on the given {@link Observable} to the given camel endpoint + */ +public T void sendTo(ObservableT observable, String endpointUri) { +sendTo(observable, endpoint(endpointUri)); +} +/** + * Sends events on the given {@link Observable} to the given camel endpoint + */ +public T void sendTo(ObservableT observable, Endpoint endpoint) { +try { +ProducerObserver observer = new ProducerObserver(endpoint); +observable.subscribe(observer); +} catch (Exception e) { +throw new RuntimeCamelRxException(e); +} +} + + public CamelContext getCamelContext() { return camelContext; } +public Endpoint endpoint(String endpointUri) { +return CamelContextHelper.getMandatoryEndpoint(camelContext, endpointUri); +} + /** * Returns a newly created {@link Observable} given a function which converts @@ -106,4 +131,5 @@ public class ReactiveCamel { }; return new EndpointObservable(endpoint, func); } + } Added: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ProducerObserver.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ProducerObserver.java?rev=1452207view=auto == --- camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ProducerObserver.java (added) +++ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ProducerObserver.java Mon Mar 4 08:26:40 2013 @@ -0,0 +1,72 @@ +/** + * + * 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.rx.support; + +import org.apache.camel.Endpoint; +import org.apache.camel.Exchange; +import org.apache.camel.Message; +import org.apache.camel.Producer; +import org.apache.camel.rx.RuntimeCamelRxException; + +import rx.Observer; + +/** + */ +public class ProducerObserver implements Observer
svn commit: r1452192 - in /camel/trunk/components: ./ camel-rx/ camel-rx/src/ camel-rx/src/main/ camel-rx/src/main/java/ camel-rx/src/main/java/org/ camel-rx/src/main/java/org/apache/ camel-rx/src/mai
Author: jstrachan Date: Mon Mar 4 06:19:55 2013 New Revision: 1452192 URL: http://svn.apache.org/r1452192 Log: Initial spike of Camel RX, the Reactive Extensions for Camel using RxJava Added: camel/trunk/components/camel-rx/ camel/trunk/components/camel-rx/pom.xml (with props) camel/trunk/components/camel-rx/src/ camel/trunk/components/camel-rx/src/main/ camel/trunk/components/camel-rx/src/main/java/ camel/trunk/components/camel-rx/src/main/java/org/ camel/trunk/components/camel-rx/src/main/java/org/apache/ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/RuntimeCamelRxException.java (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/package.html (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/EndpointObservable.java (with props) camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/support/EndpointSubscription.java (with props) camel/trunk/components/camel-rx/src/main/resources/ camel/trunk/components/camel-rx/src/main/resources/META-INF/ camel/trunk/components/camel-rx/src/main/resources/META-INF/LICENSE.txt (with props) camel/trunk/components/camel-rx/src/main/resources/META-INF/NOTICE.txt (with props) camel/trunk/components/camel-rx/src/test/ camel/trunk/components/camel-rx/src/test/java/ camel/trunk/components/camel-rx/src/test/java/org/ camel/trunk/components/camel-rx/src/test/java/org/apache/ camel/trunk/components/camel-rx/src/test/java/org/apache/camel/ camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageMapTest.java (with props) camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageTest.java (with props) camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/RxTestSupport.java (with props) camel/trunk/components/camel-rx/src/test/resources/ camel/trunk/components/camel-rx/src/test/resources/log4j.properties (with props) Modified: camel/trunk/components/pom.xml Added: camel/trunk/components/camel-rx/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/pom.xml?rev=1452192view=auto == --- camel/trunk/components/camel-rx/pom.xml (added) +++ camel/trunk/components/camel-rx/pom.xml Mon Mar 4 06:19:55 2013 @@ -0,0 +1,72 @@ +?xml version=1.0 encoding=UTF-8? +!-- + 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. +-- +project xmlns=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/maven-v4_0_0.xsd; + modelVersion4.0.0/modelVersion + + parent +groupIdorg.apache.camel/groupId +artifactIdcomponents/artifactId +version2.11-SNAPSHOT/version + /parent + + artifactIdcamel-rx/artifactId + packagingbundle/packaging + nameCamel :: RX/name + descriptionCamel Reactive Extensions support/description + + properties +camel.osgi.export.pkgorg.apache.camel.rx.*/camel.osgi.export.pkg +!-- +camel.osgi.export.service +/camel.osgi.export.service +-- + /properties + + + dependencies + +dependency + groupIdorg.apache.camel/groupId + artifactIdcamel-core/artifactId +/dependency + +dependency + groupIdcom.netflix.rxjava/groupId + artifactIdrxjava-core/artifactId + version0.5.4/version +/dependency + +!-- test dependencies -- +dependency + groupIdorg.apache.camel/groupId + artifactIdcamel-test-spring/artifactId + scopetest/scope +/dependency +dependency + groupIdorg.slf4j/groupId + artifactIdslf4j-log4j12/artifactId + scopetest/scope +/dependency +dependency
svn commit: r1452193 - in /camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx: ReactiveCamel.java package.html
Author: jstrachan Date: Mon Mar 4 06:22:28 2013 New Revision: 1452193 URL: http://svn.apache.org/r1452193 Log: add link to the RxJava wiki which gives a better overview of what RxJava is about Modified: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/package.html Modified: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java?rev=1452193r1=1452192r2=1452193view=diff == --- camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java (original) +++ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java Mon Mar 4 06:22:28 2013 @@ -31,7 +31,7 @@ import rx.util.functions.Func1; /** * Provides the a href=https://rx.codeplex.com/;Reactive Extensions/a support for - * Camel via the a href=https://github.com/Netflix/RxJava#readme;RxJava library/a + * Camel via the a href=https://github.com/Netflix/RxJava/wiki;RxJava library/a */ public class ReactiveCamel { private final CamelContext camelContext; Modified: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/package.html URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/package.html?rev=1452193r1=1452192r2=1452193view=diff == --- camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/package.html (original) +++ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/package.html Mon Mar 4 06:22:28 2013 @@ -20,7 +20,7 @@ body The a href=http://camel.apache.org/rx.html;Reactive Camel/a library for working with Reactive Extensions -and Camel +and Camel using a href=https://github.com/Netflix/RxJava/wiki;RxJava/a /body /html
svn commit: r1452197 - in /camel/trunk/components/camel-rx/src: main/java/org/apache/camel/rx/ test/java/org/apache/camel/rx/
Author: jstrachan Date: Mon Mar 4 07:06:12 2013 New Revision: 1452197 URL: http://svn.apache.org/r1452197 Log: added an overloaded version of toObservable() that takes the body type as an argument so that the body of the message can be extracted and processed as an Observable directly for cases where the user knows the type of the payload in a message Added: camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableBodyTest.java - copied, changed from r1452192, camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageTest.java camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/Order.java (with props) Modified: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/RxTestSupport.java Modified: camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java?rev=1452197r1=1452196r2=1452197view=diff == --- camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java (original) +++ camel/trunk/components/camel-rx/src/main/java/org/apache/camel/rx/ReactiveCamel.java Mon Mar 4 07:06:12 2013 @@ -49,6 +49,17 @@ public class ReactiveCamel { } /** + * Returns an {@link rx.Observable T} for the messages with their payload converted to the given type + * to allow the messages sent on the endpoint + * to be processed using a href=https://rx.codeplex.com/;Reactive Extensions/a + */ +public T ObservableT toObservable(String uri, final ClassT bodyType) { +return toObservable(camelContext.getEndpoint(uri), bodyType); +} + + + +/** * Returns an {@link rx.Observable org.apache.camel.Message } to allow the messages sent on the endpoint * to be processed using a href=https://rx.codeplex.com/;Reactive Extensions/a */ @@ -61,6 +72,21 @@ public class ReactiveCamel { }); } +/** + * Returns an {@link rx.Observable T} for the messages with their payload converted to the given type + * to allow the messages sent on the endpoint + * to be processed using a href=https://rx.codeplex.com/;Reactive Extensions/a + */ +public T ObservableT toObservable(Endpoint endpoint, final ClassT bodyType) { +return createEndpointObservable(endpoint, new Func1Exchange, T() { +@Override +public T call(Exchange exchange) { +Message in = exchange.getIn(); +return in.getBody(bodyType); +} +}); +} + public CamelContext getCamelContext() { return camelContext; } Copied: camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableBodyTest.java (from r1452192, camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableBodyTest.java?p2=camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableBodyTest.javap1=camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageTest.javar1=1452192r2=1452197rev=1452197view=diff == --- camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableMessageTest.java (original) +++ camel/trunk/components/camel-rx/src/test/java/org/apache/camel/rx/ObservableBodyTest.java Mon Mar 4 07:06:12 2013 @@ -17,7 +17,6 @@ */ package org.apache.camel.rx; -import org.apache.camel.Message; import org.apache.camel.component.mock.MockEndpoint; import org.junit.Test; import org.slf4j.Logger; @@ -25,27 +24,48 @@ import org.slf4j.LoggerFactory; import rx.Observable; import rx.util.functions.Action1; +import rx.util.functions.Func1; /** */ -public class ObservableMessageTest extends RxTestSupport { -private static final transient Logger LOG = LoggerFactory.getLogger(ObservableMessageTest.class); +public class ObservableBodyTest extends RxTestSupport { +private static final transient Logger LOG = LoggerFactory.getLogger(ObservableBodyTest.class); @Test public void testConsume() throws Exception { final MockEndpoint mockEndpoint = camelContext.getEndpoint(mock:results, MockEndpoint.class); -mockEndpoint.expectedMessageCount(4); +mockEndpoint.expectedBodiesReceived(b, d); -ObservableMessage observable = reactiveCamel.toObservable(timer://foo?fixedRate=trueperiod=100); -observable.take(4).subscribe(new Action1Message() { +// lets consume, filter and map events +ObservableOrder observable
svn commit: r1404218 - in /camel/trunk: camel-core/ components/ tooling/maven/ tooling/maven/camel-package-maven-plugin/ tooling/maven/camel-package-maven-plugin/src/ tooling/maven/camel-package-maven
Author: jstrachan Date: Wed Oct 31 16:09:22 2012 New Revision: 1404218 URL: http://svn.apache.org/viewvc?rev=1404218view=rev Log: added a simple camel maven plugin to generate a META-INF/services/org/apache/camel/component.properties file in each jar which contains a camel component (we could do the same trick for languages too) so we can easily auto-detect components on the classpath Added: camel/trunk/tooling/maven/camel-package-maven-plugin/ camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml (with props) camel/trunk/tooling/maven/camel-package-maven-plugin/src/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageMojo.java (with props) camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/resources/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/resources/META-INF/ camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/resources/META-INF/LICENSE.txt (with props) camel/trunk/tooling/maven/camel-package-maven-plugin/src/main/resources/META-INF/NOTICE.txt (with props) Modified: camel/trunk/camel-core/pom.xml camel/trunk/components/pom.xml camel/trunk/tooling/maven/pom.xml Modified: camel/trunk/camel-core/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/pom.xml?rev=1404218r1=1404217r2=1404218view=diff == --- camel/trunk/camel-core/pom.xml (original) +++ camel/trunk/camel-core/pom.xml Wed Oct 31 16:09:22 2012 @@ -159,6 +159,20 @@ forkedProcessTimeoutInSeconds3000/forkedProcessTimeoutInSeconds /configuration /plugin + + plugin +groupIdorg.apache.camel/groupId +artifactIdcamel-package-maven-plugin/artifactId +version${project.version}/version +executions + execution +goals + goalpackage/goal +/goals +phasecompile/phase + /execution +/executions + /plugin /plugins /build Modified: camel/trunk/components/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/pom.xml?rev=1404218r1=1404217r2=1404218view=diff == --- camel/trunk/components/pom.xml (original) +++ camel/trunk/components/pom.xml Wed Oct 31 16:09:22 2012 @@ -169,4 +169,21 @@ modulecamel-zookeeper/module /modules + build +plugins + plugin +groupIdorg.apache.camel/groupId +artifactIdcamel-package-maven-plugin/artifactId +version${project.version}/version +executions + execution +goals + goalpackage/goal +/goals +phasecompile/phase + /execution +/executions + /plugin +/plugins + /build /project Added: camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml?rev=1404218view=auto == --- camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml (added) +++ camel/trunk/tooling/maven/camel-package-maven-plugin/pom.xml Wed Oct 31 16:09:22 2012 @@ -0,0 +1,69 @@ +?xml version=1.0 encoding=UTF-8? +!-- +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. +-- +project xmlns=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/maven
svn commit: r1404252 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/impl/ camel-core/src/main/java/org/apache/camel/spi/ camel-core/src/main/java/org/apache/camel/util/ camel-core/src/te
Author: jstrachan Date: Wed Oct 31 17:04:13 2012 New Revision: 1404252 URL: http://svn.apache.org/viewvc?rev=1404252view=rev Log: added a helper method so we can easily discover all the components on the classpath or in the Registry (assuming they all use the camel-package-maven-plugin that is for classpath discovery :) Added: camel/trunk/camel-core/src/main/java/org/apache/camel/util/LoadPropertiesException.java (with props) camel/trunk/camel-core/src/test/java/org/apache/camel/component/ComponentDiscoveryTest.java (with props) Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultClassResolver.java camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ClassResolver.java camel/trunk/camel-core/src/main/java/org/apache/camel/util/CamelContextHelper.java camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiClassResolver.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultClassResolver.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultClassResolver.java?rev=1404252r1=1404251r2=1404252view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultClassResolver.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultClassResolver.java Wed Oct 31 17:04:13 2012 @@ -18,6 +18,7 @@ package org.apache.camel.impl; import java.io.InputStream; import java.net.URL; +import java.util.Enumeration; import org.apache.camel.spi.ClassResolver; import org.apache.camel.util.CastUtils; @@ -88,6 +89,12 @@ public class DefaultClassResolver implem return ObjectHelper.loadResourceAsURL(uri); } +@Override +public EnumerationURL loadResourcesAsURL(String uri) { +ObjectHelper.notEmpty(uri, uri); +return ObjectHelper.loadResourcesAsURL(uri); +} + protected Class? loadClass(String name, ClassLoader loader) { ObjectHelper.notEmpty(name, name); return ObjectHelper.loadClass(name, loader); Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ClassResolver.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ClassResolver.java?rev=1404252r1=1404251r2=1404252view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ClassResolver.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ClassResolver.java Wed Oct 31 17:04:13 2012 @@ -18,6 +18,7 @@ package org.apache.camel.spi; import java.io.InputStream; import java.net.URL; +import java.util.Enumeration; /** * A class resolver for loading classes in a loosly coupled manner to cater for different platforms such @@ -117,4 +118,11 @@ public interface ClassResolver { */ URL loadResourceAsURL(String uri); +/** + * Loads the given resources as a URL + * + * @param uri the uri of the resource + * @return the URLs found on the classpath + */ +EnumerationURL loadResourcesAsURL(String uri); } Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/util/CamelContextHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/CamelContextHelper.java?rev=1404252r1=1404251r2=1404252view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/util/CamelContextHelper.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/util/CamelContextHelper.java Wed Oct 31 17:04:13 2012 @@ -16,9 +16,19 @@ */ package org.apache.camel.util; +import java.io.IOException; +import java.net.URL; +import java.util.Enumeration; import java.util.Locale; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.SortedMap; +import java.util.StringTokenizer; +import java.util.TreeMap; import org.apache.camel.CamelContext; +import org.apache.camel.Component; import org.apache.camel.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.NoSuchBeanException; @@ -34,6 +44,7 @@ import static org.apache.camel.util.Obje * @version */ public final class CamelContextHelper { +public static final String COMPONENT_DESCRIPTOR = META-INF/services/org/apache/camel/component.properties; /** * Utility classes should not have a public constructor. @@ -338,4 +349,45 @@ public final class CamelContextHelper { return null; } +/** + * Finds all possible Components on the classpath and Registry + */ +public static SortedMapString, Properties findComponents(CamelContext camelContext) throws LoadPropertiesException { +SortedMapString,Properties map = new
svn commit: r1400019 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/component/binding/ camel-core/src/main/java/org/apache/camel/processor/binding/ camel-core/src/main/java/org/apache/ca
Author: jstrachan Date: Fri Oct 19 10:04:59 2012 New Revision: 1400019 URL: http://svn.apache.org/viewvc?rev=1400019view=rev Log: initial spike of support for Bindings on camel endpoints. see https://cwiki.apache.org/confluence/display/CAMEL/Binding for more details Added: camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/ camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java (with props) camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingConsumerProcessor.java (with props) camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java (with props) camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingNameComponent.java (with props) camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingProducer.java (with props) camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/DataFormatBinding.java (with props) camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/package.html - copied, changed from r1399705, camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/package.html camel/trunk/camel-core/src/main/java/org/apache/camel/spi/Binding.java (with props) camel/trunk/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/binding - copied, changed from r1399705, camel/trunk/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/bean camel/trunk/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonBindingTest.java - copied, changed from r1399705, camel/trunk/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonMarshalTest.java camel/trunk/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonNameBindingTest.java (with props) Added: camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java?rev=1400019view=auto == --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java (added) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java Fri Oct 19 10:04:59 2012 @@ -0,0 +1,100 @@ +/** + * + * 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.binding; + +import java.util.Map; + +import org.apache.camel.CamelContext; +import org.apache.camel.Endpoint; +import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.spi.Binding; +import org.apache.camel.util.CamelContextHelper; +import org.apache.camel.util.ObjectHelper; + +import static org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint; + +/** + * A composite {@link Component} which creates a {@link BindingEndpoint} from a + * configured {@link Binding} instance and using the optional {@link #setUriPostfix(String)} + * and {@link #setUriPostfix(String)} to create the underlying endpoint from the remaining URI + */ +public class BindingComponent extends DefaultComponent { +private Binding binding; +private String uriPrefix; +private String uriPostfix; + +public BindingComponent() { +} + +public BindingComponent(Binding binding) { +this.binding = binding; +} + +public BindingComponent(Binding binding, String uriPrefix) { +this(binding); +this.uriPrefix = uriPrefix; +} + +public BindingComponent(Binding binding, String uriPrefix, String uriPostfix) { +this(binding, uriPrefix); +this.uriPostfix = uriPostfix; +} + +public Binding getBinding() { +return binding; +} + +public void setBinding(Binding binding) { +this.binding = binding; +} + +public String getUriPostfix() { +return uriPostfix; +} + +public
svn commit: r1400025 - /camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java
Author: jstrachan Date: Fri Oct 19 10:27:01 2012 New Revision: 1400025 URL: http://svn.apache.org/viewvc?rev=1400025view=rev Log: fixed typeo Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java?rev=1400025r1=1400024r2=1400025view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingComponent.java Fri Oct 19 10:27:01 2012 @@ -30,7 +30,7 @@ import static org.apache.camel.util.Came /** * A composite {@link Component} which creates a {@link BindingEndpoint} from a - * configured {@link Binding} instance and using the optional {@link #setUriPostfix(String)} + * configured {@link Binding} instance and using the optional {@link #setUriPrefix(String)} * and {@link #setUriPostfix(String)} to create the underlying endpoint from the remaining URI */ public class BindingComponent extends DefaultComponent {
svn commit: r1400030 - /camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/DataFormatBinding.java
Author: jstrachan Date: Fri Oct 19 10:31:20 2012 New Revision: 1400030 URL: http://svn.apache.org/viewvc?rev=1400030view=rev Log: removed some old cruft Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/DataFormatBinding.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/DataFormatBinding.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/DataFormatBinding.java?rev=1400030r1=1400029r2=1400030view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/DataFormatBinding.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/binding/DataFormatBinding.java Fri Oct 19 10:31:20 2012 @@ -82,17 +82,4 @@ public class DataFormatBinding implement public void setProducerDataFormat(DataFormat producerDataFormat) { this.producerDataFormat = producerDataFormat; } - - -/** - * We need to set the exchange as being out capable for the output to be copied in a pipeline - * p/ - * TODO should we be more clever about other patterns here? - */ -protected void makeOutCapable(Exchange exchange) { -if (!exchange.getPattern().isOutCapable()) { -exchange.setPattern(ExchangePattern.InOut); -} -} - }
svn commit: r1400095 - in /camel/trunk/camel-core/src/main/java/org/apache/camel: component/binding/BindingEndpoint.java spi/HasBinding.java
Author: jstrachan Date: Fri Oct 19 13:39:56 2012 New Revision: 1400095 URL: http://svn.apache.org/viewvc?rev=1400095view=rev Log: added a little interface so its easy to discover a binding on an endpoint Added: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasBinding.java (with props) Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java?rev=1400095r1=1400094r2=1400095view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/binding/BindingEndpoint.java Fri Oct 19 13:39:56 2012 @@ -25,6 +25,7 @@ import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.impl.DefaultEndpoint; import org.apache.camel.spi.Binding; +import org.apache.camel.spi.HasBinding; import org.apache.camel.util.ExchangeHelper; /** @@ -32,7 +33,7 @@ import org.apache.camel.util.ExchangeHel * before its sent to the endpoint and processes messages received by the endpoint consumer before its passed * to the real consumer. */ -public class BindingEndpoint extends DefaultEndpoint { +public class BindingEndpoint extends DefaultEndpoint implements HasBinding { private final Binding binding; private final Endpoint delegate; @@ -58,6 +59,7 @@ public class BindingEndpoint extends Def return true; } +@Override public Binding getBinding() { return binding; } Added: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasBinding.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasBinding.java?rev=1400095view=auto == --- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasBinding.java (added) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasBinding.java Fri Oct 19 13:39:56 2012 @@ -0,0 +1,32 @@ +/** + * + * 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.spi; + +/** + * Allows objects such as Endpoints to expose that they have a + * a href=http://camel.apache.org/binding.html;Binding/a. + * + * For example bean or cxf endpoints can expose the internal binding metadata at runtime + */ +public interface HasBinding { + +/** + * Returns the binding for this endpoint if one can be deduced or is associated + */ +Binding getBinding(); +} Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasBinding.java -- svn:eol-style = native
svn commit: r1399664 - in /camel/trunk: parent/ tooling/archetypes/camel-archetype-activemq/src/main/resources/archetype-resources/ tooling/archetypes/camel-archetype-blueprint/src/main/resources/arch
Author: jstrachan Date: Thu Oct 18 13:55:22 2012 New Revision: 1399664 URL: http://svn.apache.org/viewvc?rev=1399664view=rev Log: added resources plugin to the archetypes to avoid eclipse m2e errors when importing the archetype genearted project Modified: camel/trunk/parent/pom.xml camel/trunk/tooling/archetypes/camel-archetype-activemq/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-blueprint/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-component-scala/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-component/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-dataformat/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-java/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-scala/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-spring-dm/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-spring/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-web/src/main/resources/archetype-resources/pom.xml camel/trunk/tooling/archetypes/camel-archetype-webconsole/src/main/resources/archetype-resources/pom.xml Modified: camel/trunk/parent/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=1399664r1=1399663r2=1399664view=diff == --- camel/trunk/parent/pom.xml (original) +++ camel/trunk/parent/pom.xml Thu Oct 18 13:55:22 2012 @@ -223,6 +223,7 @@ lucene-version3.6.1/lucene-version lightcouch-version0.0.4/lightcouch-version !-- needed from tooling/archetypes -- +maven-resources-plugin-version2.4.3/maven-resources-plugin-version maven-reporting-api-version2.2.1/maven-reporting-api-version maven-reporting-impl-version2.0.5/maven-reporting-impl-version maven-version2.0/maven-version @@ -2076,7 +2077,7 @@ plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-resources-plugin/artifactId - version2.4.3/version + version${maven-resources-plugin-version}/version configuration encodingUTF-8/encoding /configuration Modified: camel/trunk/tooling/archetypes/camel-archetype-activemq/src/main/resources/archetype-resources/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/tooling/archetypes/camel-archetype-activemq/src/main/resources/archetype-resources/pom.xml?rev=1399664r1=1399663r2=1399664view=diff == --- camel/trunk/tooling/archetypes/camel-archetype-activemq/src/main/resources/archetype-resources/pom.xml (original) +++ camel/trunk/tooling/archetypes/camel-archetype-activemq/src/main/resources/archetype-resources/pom.xml Thu Oct 18 13:55:22 2012 @@ -108,6 +108,14 @@ target1.6/target /configuration /plugin + plugin +groupIdorg.apache.maven.plugins/groupId +artifactIdmaven-resources-plugin/artifactId +version${maven-resources-plugin-version}/version +configuration + encodingUTF-8/encoding +/configuration + /plugin !-- allows the route to be ran via 'mvn camel:run' -- plugin Modified: camel/trunk/tooling/archetypes/camel-archetype-blueprint/src/main/resources/archetype-resources/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/tooling/archetypes/camel-archetype-blueprint/src/main/resources/archetype-resources/pom.xml?rev=1399664r1=1399663r2=1399664view=diff == --- camel/trunk/tooling/archetypes/camel-archetype-blueprint/src/main/resources/archetype-resources/pom.xml (original) +++ camel/trunk/tooling/archetypes/camel-archetype-blueprint/src/main/resources/archetype-resources/pom.xml Thu Oct 18 13:55:22 2012 @@ -88,6 +88,14 @@ target1.6/target /configuration /plugin + plugin +groupIdorg.apache.maven.plugins/groupId +artifactIdmaven-resources-plugin/artifactId +version${maven-resources-plugin-version}/version +configuration + encodingUTF-8/encoding +/configuration + /plugin !-- to generate the MANIFEST-FILE of the bundle -- plugin Modified: camel/trunk/tooling/archetypes/camel-archetype-component-scala/src/main/resources/archetype-resources/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/tooling/archetypes/camel-archetype-component-scala/src/main/resources/archetype-resources/pom.xml?rev=1399664r1=1399663r2=1399664view=diff
svn commit: r1390918 - in /camel/trunk: components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/ examples/camel-example-cdi/ examples/camel-example-cdi/src/test/java/org/apache/camel/example/
Author: jstrachan Date: Thu Sep 27 10:04:36 2012 New Revision: 1390918 URL: http://svn.apache.org/viewvc?rev=1390918view=rev Log: split the example integration test into 2 separate tests; one using an embedded @Produces @ContextAware RouteBuilder producer method and another using a separate TestRouteBuilder; also fixed the bug in CamelContextConfig of not correctly using the correct class for producer methods or beans Added: camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/one/ camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/one/IntegrationTest.java (contents, props changed) - copied, changed from r1390881, camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/two/ camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/two/SeparateRouteBuilderIntegrationTest.java (contents, props changed) - copied, changed from r1390867, camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/two/TestRouteBuilder.java (with props) Removed: camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java camel/trunk/examples/camel-example-cdi/pom.xml Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java?rev=1390918r1=1390917r2=1390918view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java Thu Sep 27 10:04:36 2012 @@ -28,6 +28,7 @@ import org.apache.camel.RuntimeCamelExce import org.apache.camel.cdi.CdiCamelContext; import org.apache.camel.model.RouteContainer; import org.apache.camel.util.ObjectHelper; +import org.jboss.weld.bean.ProducerMethod; /** * Configuration options to be applied to a {@link org.apache.camel.CamelContext} by a {@link CamelContextBean} @@ -43,6 +44,10 @@ public class CamelContextConfig { for (Bean? bean : routeBuilderBeans) { CreationalContext? createContext = beanManager.createCreationalContext(bean); Class? beanClass = bean.getBeanClass(); +if (bean instanceof ProducerMethod) { +ProducerMethod producerMethod = (ProducerMethod) bean; +beanClass = producerMethod.getType(); +} Object reference = beanManager.getReference(bean, beanClass, createContext); ObjectHelper.notNull(reference, Could not instantiate bean of type + beanClass.getName() + for + bean); try { Modified: camel/trunk/examples/camel-example-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cdi/pom.xml?rev=1390918r1=1390917r2=1390918view=diff == --- camel/trunk/examples/camel-example-cdi/pom.xml (original) +++ camel/trunk/examples/camel-example-cdi/pom.xml Thu Sep 27 10:04:36 2012 @@ -145,6 +145,20 @@ failOnMissingWebXmlfalse/failOnMissingWebXml /configuration /plugin + + plugin +!-- lets re-enable IntegrationTest -- +groupIdorg.apache.maven.plugins/groupId +artifactIdmaven-surefire-plugin/artifactId +configuration + includes +include**/*Test.java/include + /includes + excludes +exclude**/*XXXTest.*/exclude + /excludes +/configuration + /plugin /plugins /build @@ -156,6 +170,13 @@ /activation dependencies dependency +groupIdorg.jboss.spec/groupId +artifactIdjboss-javaee-6.0/artifactId +version${jboss-javaee-6-version}/version +typepom/type +scopeprovided/scope +/dependency +dependency groupIdorg.jboss.arquillian.container/groupId artifactIdarquillian-weld-ee-embedded-1.1/artifactId version${arquillian-weld-ee-embedded-version}/version Copied: camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/one/IntegrationTest.java (from r1390881, camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java) URL: http://svn.apache.org/viewvc/camel
svn commit: r1390923 - /camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java
Author: jstrachan Date: Thu Sep 27 10:12:12 2012 New Revision: 1390923 URL: http://svn.apache.org/viewvc?rev=1390923view=rev Log: avoid using a weld class directly (used by accident, bad James! :) Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java?rev=1390923r1=1390922r2=1390923view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/internal/CamelContextConfig.java Thu Sep 27 10:12:12 2012 @@ -16,8 +16,10 @@ */ package org.apache.camel.cdi.internal; +import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; +import java.util.Set; import javax.enterprise.context.spi.CreationalContext; import javax.enterprise.inject.spi.Bean; @@ -28,7 +30,6 @@ import org.apache.camel.RuntimeCamelExce import org.apache.camel.cdi.CdiCamelContext; import org.apache.camel.model.RouteContainer; import org.apache.camel.util.ObjectHelper; -import org.jboss.weld.bean.ProducerMethod; /** * Configuration options to be applied to a {@link org.apache.camel.CamelContext} by a {@link CamelContextBean} @@ -44,9 +45,13 @@ public class CamelContextConfig { for (Bean? bean : routeBuilderBeans) { CreationalContext? createContext = beanManager.createCreationalContext(bean); Class? beanClass = bean.getBeanClass(); -if (bean instanceof ProducerMethod) { -ProducerMethod producerMethod = (ProducerMethod) bean; -beanClass = producerMethod.getType(); +SetType types = bean.getTypes(); +for (Type type : types) { +// lets use the first type for producer methods +if (type instanceof Class?) { +beanClass = (Class?) type; +break; +} } Object reference = beanManager.getReference(bean, beanClass, createContext); ObjectHelper.notNull(reference, Could not instantiate bean of type + beanClass.getName() + for + bean);
svn commit: r1389291 - in /camel/trunk/tests/camel-itest-cdi: ./ src/main/java/org/apache/camel/itest/cdi/ src/main/java/org/apache/camel/itest/cdi/properties/ src/test/java/org/apache/camel/itest/cdi
Author: jstrachan Date: Mon Sep 24 11:02:03 2012 New Revision: 1389291 URL: http://svn.apache.org/viewvc?rev=1389291view=rev Log: re-enabled the IntegrationTest of camel-cdi and moved the properties test into a separate package so its a bit easier to test the two integration tests in Arquillian Added: camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/ camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel1Config.java (contents, props changed) - copied, changed from r1388550, camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel1Config.java camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel2Config.java (contents, props changed) - copied, changed from r1388550, camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel2Config.java camel/trunk/tests/camel-itest-cdi/src/test/java/org/apache/camel/itest/cdi/properties/ camel/trunk/tests/camel-itest-cdi/src/test/java/org/apache/camel/itest/cdi/properties/PropertiesConfigurationTest.java (contents, props changed) - copied, changed from r1388550, camel/trunk/tests/camel-itest-cdi/src/test/java/org/apache/camel/itest/cdi/PropertiesConfigurationTest.java Removed: camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel1Config.java camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel2Config.java camel/trunk/tests/camel-itest-cdi/src/test/java/org/apache/camel/itest/cdi/PropertiesConfigurationTest.java Modified: camel/trunk/tests/camel-itest-cdi/pom.xml Modified: camel/trunk/tests/camel-itest-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-cdi/pom.xml?rev=1389291r1=1389290r2=1389291view=diff == --- camel/trunk/tests/camel-itest-cdi/pom.xml (original) +++ camel/trunk/tests/camel-itest-cdi/pom.xml Mon Sep 24 11:02:03 2012 @@ -62,6 +62,23 @@ /dependency /dependencies +build + plugins +plugin + !-- lets re-enable IntegrationTest -- + groupIdorg.apache.maven.plugins/groupId + artifactIdmaven-surefire-plugin/artifactId + configuration +includes + include**/*Test.java/include +/includes +excludes + exclude**/*XXXTest.*/exclude +/excludes + /configuration +/plugin + /plugins +/build profiles profile idarquillian-weld-ee-embedded/id Copied: camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel1Config.java (from r1388550, camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel1Config.java) URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel1Config.java?p2=camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel1Config.javap1=camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel1Config.javar1=1388550r2=1389291rev=1389291view=diff == --- camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel1Config.java (original) +++ camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel1Config.java Mon Sep 24 11:02:03 2012 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.camel.itest.cdi; +package org.apache.camel.itest.cdi.properties; import org.apache.deltaspike.core.api.config.PropertyFileConfig; Propchange: camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel1Config.java -- svn:eol-style = native Copied: camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel2Config.java (from r1388550, camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel2Config.java) URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel2Config.java?p2=camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/properties/Camel2Config.javap1=camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel2Config.javar1=1388550r2=1389291rev=1389291view=diff == --- camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Camel2Config.java (original) +++ camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache
svn commit: r1389294 - /camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CamelContextAwareTest.java
Author: jstrachan Date: Mon Sep 24 11:05:12 2012 New Revision: 1389294 URL: http://svn.apache.org/viewvc?rev=1389294view=rev Log: avoid unnecessary extra injection point Modified: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CamelContextAwareTest.java Modified: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CamelContextAwareTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CamelContextAwareTest.java?rev=1389294r1=1389293r2=1389294view=diff == --- camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CamelContextAwareTest.java (original) +++ camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CamelContextAwareTest.java Mon Sep 24 11:05:12 2012 @@ -30,9 +30,6 @@ public class CamelContextAwareTest exten @Inject private ContextAwareBean bean; -@Inject -private CamelContext context; - @Test public void shouldInjectCamelContextToBean() throws InterruptedException { assertNotNull(bean.getCamelContext());
svn commit: r1381202 - in /camel/trunk: components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/ tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/ tests/camel-itest-cd
Author: jstrachan Date: Wed Sep 5 14:42:52 2012 New Revision: 1381202 URL: http://svn.apache.org/viewvc?rev=1381202view=rev Log: improved CAMEL-5566 so we can use @CamelStartup on @Produces methods too; for example when reusing a RouteBuilder class multiple times with different configurations/injections Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java (with props) camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/MyConfig.java (with props) camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/MyRouteBuilder.java (with props) Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/Constants.java camel/trunk/tests/camel-itest-cdi/src/test/java/org/apache/camel/itest/cdi/IntegrationTest.java Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java?rev=1381202r1=1381201r2=1381202view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java Wed Sep 5 14:42:52 2012 @@ -47,19 +47,19 @@ public class CamelContextBean implements private final BeanManager beanManager; private final String name; private final String camelContextName; -private final ListBean? routeBuilderBeans; private final InjectionTargetCdiCamelContext target; +private final CamelContextConfig config; public CamelContextBean(BeanManager beanManager) { -this(beanManager, CamelContext, , Collections.EMPTY_LIST); +this(beanManager, CamelContext, , new CamelContextConfig()); } public CamelContextBean(BeanManager beanManager, String name, String camelContextName, -ListBean? routeBuilderBeans) { +CamelContextConfig config) { this.beanManager = beanManager; this.name = name; this.camelContextName = camelContextName; -this.routeBuilderBeans = routeBuilderBeans; +this.config = config; this.target = beanManager.createInjectionTarget(beanManager.createAnnotatedType(CdiCamelContext.class)); } @@ -131,14 +131,6 @@ public class CamelContextBean implements } public void configureCamelContext(CdiCamelContext camelContext) { -for (Bean? bean : routeBuilderBeans) { -CreationalContext? creationalContext = beanManager.createCreationalContext(bean); -RouteBuilder routeBuilder = (RouteBuilder)beanManager.getReference(bean, RouteBuilder.class, creationalContext); -try { -camelContext.addRoutes(routeBuilder); -} catch (Exception e) { -throw new RuntimeCamelException(Could not add route builder + routeBuilder + . Reason: + e, e); -} -} +config.configure(camelContext, beanManager); } } Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java?rev=1381202view=auto == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java (added) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java Wed Sep 5 14:42:52 2012 @@ -0,0 +1,53 @@ +/** + * + * 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
svn commit: r1381216 - /camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java
Author: jstrachan Date: Wed Sep 5 15:08:00 2012 New Revision: 1381216 URL: http://svn.apache.org/viewvc?rev=1381216view=rev Log: simplfied integration test using @CamelStartup Modified: camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java Modified: camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java?rev=1381216r1=1381215r2=1381216view=diff == --- camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java (original) +++ camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java Wed Sep 5 15:08:00 2012 @@ -21,6 +21,7 @@ import javax.inject.Inject; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.cdi.CamelStartup; import org.apache.camel.cdi.Mock; import org.apache.camel.component.cdi.internal.CamelExtension; import org.apache.camel.component.mock.MockEndpoint; @@ -44,13 +45,11 @@ public class IntegrationTest { MyRoutes config; @Inject -CamelContext camelContext; - -@Inject @Mock MockEndpoint result; @Produces +@CamelStartup public RouteBuilder createRoutes() { return new RouteBuilder() { public void configure() { @@ -61,17 +60,9 @@ public class IntegrationTest { @Test public void integrationTest() throws Exception { -assertNotNull(CamelContext not injected!, camelContext); -assertTrue(CamelContext is started, camelContext.getStatus().isStarted()); - assertNotNull(config not injected!, config); assertNotNull(MockEndpoint result not injected!, result); -//camelContext.setTracing(true); - -// TODO we could maybe auto-register this? -camelContext.addRoutes(createRoutes()); - result.expectedMessageCount(2); result.assertIsSatisfied(); }
svn commit: r1381224 - in /camel/trunk: components/camel-cdi/src/main/java/org/apache/camel/cdi/ components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/ tests/camel-itest-cdi/src/m
Author: jstrachan Date: Wed Sep 5 15:24:46 2012 New Revision: 1381224 URL: http://svn.apache.org/viewvc?rev=1381224view=rev Log: lets go with the more DRY @ContextName(foo) for CAMEL-5566 Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/ContextName.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/MyConfig.java camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/RoutesContextA.java camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/RoutesContextB.java camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/RoutesContextC.java camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/RoutesContextD.java Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/ContextName.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/ContextName.java?rev=1381224r1=1381223r2=1381224view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/ContextName.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/ContextName.java Wed Sep 5 15:24:46 2012 @@ -36,5 +36,5 @@ public @interface ContextName { * Returns the name of the CamelContext to add the routes to. * If no value is specified then the default CamelContext is used. */ -String contextName() default ; +String value() default ; } Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java?rev=1381224r1=1381223r2=1381224view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java Wed Sep 5 15:24:46 2012 @@ -69,11 +69,12 @@ public class CamelExtension implements E } /** - * If no context name is specified then default it to the value from the {@link org.apache.camel.cdi.ContextName} annotation + * If no context name is specified then default it to the value from + * the {@link org.apache.camel.cdi.ContextName} annotation */ public static String getCamelContextName(String context, ContextName annotation) { if (ObjectHelper.isEmpty(context) annotation != null) { -return annotation.contextName(); +return annotation.value(); } return context; } @@ -164,7 +165,7 @@ public class CamelExtension implements E private void addRouteBuilderBean(Bean? bean, ContextName annotation) { if (annotation != null) { -String contextName = annotation.contextName(); +String contextName = annotation.value(); CamelContextConfig config = camelContextConfigMap.get(contextName); if (config == null) { config = new CamelContextConfig(); Modified: camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/MyConfig.java URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/MyConfig.java?rev=1381224r1=1381223r2=1381224view=diff == --- camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/MyConfig.java (original) +++ camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/MyConfig.java Wed Sep 5 15:24:46 2012 @@ -28,13 +28,13 @@ import org.apache.camel.cdi.ContextName; public class MyConfig { @Produces -@ContextName(contextName = contextE) +@ContextName(contextE) public RouteBuilder createRouteA() { return new MyRouteBuilder(seda:E.a, mock:E.b); } @Produces -@ContextName(contextName = contextE) +@ContextName(contextE) public RouteBuilder createRouteB() { return new MyRouteBuilder(seda:E.c, mock:E.d); } Modified: camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/RoutesContextA.java URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/RoutesContextA.java?rev=1381224r1=1381223r2=1381224view=diff == --- camel/trunk/tests/camel-itest-cdi/src/main/java/org/apache/camel/itest/cdi/RoutesContextA.java (original) +++ camel/trunk/tests/camel
svn commit: r1381278 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/model/ components/camel-cdi/src/main/java/org/apache/camel/cdi/ components/camel-cdi/src/main/java/org/apache/camel/co
Author: jstrachan Date: Wed Sep 5 18:15:15 2012 New Revision: 1381278 URL: http://svn.apache.org/viewvc?rev=1381278view=rev Log: initial implementation of CAMEL-5554 so we can easily reuse XML based route definitions from inside CDI Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/RoutesXml.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromClassPathTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromURLTest.java (with props) camel/trunk/components/camel-cdi/src/test/resources/routes.xml (with props) Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiBeanRegistry.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextConfig.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointDefinedUsingConfigPropertyTest.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java?rev=1381278r1=1381277r2=1381278view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java Wed Sep 5 18:15:15 2012 @@ -16,6 +16,7 @@ */ package org.apache.camel.model; +import java.io.InputStream; import java.io.StringReader; import java.io.StringWriter; import javax.xml.bind.JAXBContext; @@ -43,9 +44,7 @@ public final class ModelHelper { * @throws JAXBException is throw if error marshalling to XML */ public static String dumpModelAsXml(NamedNode definition) throws JAXBException { -// create a new jaxb context -// must use classloader from CamelContext to have JAXB working -JAXBContext jaxbContext = JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES, CamelContext.class.getClassLoader()); +JAXBContext jaxbContext = createJaxbContext(); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); @@ -64,10 +63,7 @@ public final class ModelHelper { * @throws javax.xml.bind.JAXBException is thrown if error unmarshalling from xml to model */ public static T extends NamedNode T createModelFromXml(String xml, ClassT type) throws JAXBException { -// create a new jaxb context -// must use classloader from CamelContext to have JAXB working -JAXBContext jaxbContext = JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES, CamelContext.class.getClassLoader()); - +JAXBContext jaxbContext = createJaxbContext(); StringReader reader = new StringReader(xml); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); Object result = unmarshaller.unmarshal(reader); @@ -76,7 +72,26 @@ public final class ModelHelper { if (result == null) { throw new JAXBException(Cannot unmarshal to + type + using JAXB from XML: + xml); } +return type.cast(result); +} +/** + * Marshal the xml to the model definition + * + * @param stream the xml stream + * @param type the definition type to return, will throw a {@link ClassCastException} if not the expected type + * @return the model definition + * @throws javax.xml.bind.JAXBException is thrown if error unmarshalling from xml to model + */ +public static T extends NamedNode T createModelFromXml(InputStream stream, ClassT type) throws JAXBException { +JAXBContext jaxbContext = createJaxbContext(); +Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); +Object result = unmarshaller.unmarshal(stream); return type.cast(result); } + +public static JAXBContext createJaxbContext() throws JAXBException { +// must use classloader from CamelContext to have JAXB working +return JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES, CamelContext.class.getClassLoader()); +} } Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java?rev=1381278r1=1381277r2=1381278view=diff
svn commit: r1380504 - in /camel/trunk/examples: ./ camel-example-cdi/ camel-example-cdi/src/ camel-example-cdi/src/data/ camel-example-cdi/src/main/ camel-example-cdi/src/main/java/ camel-example-cdi
Author: jstrachan Date: Tue Sep 4 09:40:19 2012 New Revision: 1380504 URL: http://svn.apache.org/viewvc?rev=1380504view=rev Log: added an example of using CDI and camel together and testing routes with CDI and arquillian integration tests for CAMEL-5553 Added: camel/trunk/examples/camel-example-cdi/ camel/trunk/examples/camel-example-cdi/README.txt (with props) camel/trunk/examples/camel-example-cdi/pom.xml (with props) camel/trunk/examples/camel-example-cdi/src/ camel/trunk/examples/camel-example-cdi/src/data/ camel/trunk/examples/camel-example-cdi/src/data/message1.xml (with props) camel/trunk/examples/camel-example-cdi/src/data/message2.xml (with props) camel/trunk/examples/camel-example-cdi/src/main/ camel/trunk/examples/camel-example-cdi/src/main/java/ camel/trunk/examples/camel-example-cdi/src/main/java/org/ camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/ camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/ camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/ camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/cdi/ camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/cdi/MyRouteConfig.java (with props) camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/cdi/SomeBean.java (with props) camel/trunk/examples/camel-example-cdi/src/main/resources/ camel/trunk/examples/camel-example-cdi/src/main/resources/META-INF/ camel/trunk/examples/camel-example-cdi/src/main/resources/META-INF/LICENSE.txt (with props) camel/trunk/examples/camel-example-cdi/src/main/resources/META-INF/NOTICE.txt (with props) camel/trunk/examples/camel-example-cdi/src/main/resources/META-INF/beans.xml (with props) camel/trunk/examples/camel-example-cdi/src/main/resources/log4j.properties (with props) camel/trunk/examples/camel-example-cdi/src/test/ camel/trunk/examples/camel-example-cdi/src/test/java/ camel/trunk/examples/camel-example-cdi/src/test/java/org/ camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/ camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/ camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/ camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/ camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java (with props) Modified: camel/trunk/examples/pom.xml Added: camel/trunk/examples/camel-example-cdi/README.txt URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cdi/README.txt?rev=1380504view=auto == --- camel/trunk/examples/camel-example-cdi/README.txt (added) +++ camel/trunk/examples/camel-example-cdi/README.txt Tue Sep 4 09:40:19 2012 @@ -0,0 +1,34 @@ +CDI Example +=== + +This example shows how to work with Camel using CDI to configure components, +endpoints and beans. + +The example consumes messages from a queue and writes them to the file +system. + +You will need to compile this example first: + mvn compile + +To run the example type + mvn camel:run + +You can see the routing rules by looking at the java code in the +src/main/java directory + +To stop the example hit ctrl + c + +This example is documented at + http://camel.apache.org/cdi-example.html + +If you hit any problems please talk to us on the Camel Forums + http://camel.apache.org/discussion-forums.html + +Please help us make Apache Camel better - we appreciate any feedback you +may have. Enjoy! + + +The Camel riders! + + + Propchange: camel/trunk/examples/camel-example-cdi/README.txt -- svn:eol-style = native Added: camel/trunk/examples/camel-example-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-cdi/pom.xml?rev=1380504view=auto == --- camel/trunk/examples/camel-example-cdi/pom.xml (added) +++ camel/trunk/examples/camel-example-cdi/pom.xml Tue Sep 4 09:40:19 2012 @@ -0,0 +1,131 @@ +?xml version=1.0 encoding=UTF-8? + +!-- +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
svn commit: r1380570 - in /camel/trunk: components/camel-cdi/ components/camel-cdi/src/main/java/org/apache/camel/cdi/ examples/camel-example-cdi/ examples/camel-example-cdi/src/main/java/org/apache/c
Author: jstrachan Date: Tue Sep 4 11:36:36 2012 New Revision: 1380570 URL: http://svn.apache.org/viewvc?rev=1380570view=rev Log: initial spike of CAMEL-5560 to add CDI support to camel:run Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java (with props) Modified: camel/trunk/components/camel-cdi/pom.xml camel/trunk/examples/camel-example-cdi/pom.xml camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/cdi/MyRouteConfig.java camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java camel/trunk/parent/pom.xml camel/trunk/tooling/maven/camel-maven-plugin/pom.xml camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java Modified: camel/trunk/components/camel-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/pom.xml?rev=1380570r1=1380569r2=1380570view=diff == --- camel/trunk/components/camel-cdi/pom.xml (original) +++ camel/trunk/components/camel-cdi/pom.xml Tue Sep 4 11:36:36 2012 @@ -34,10 +34,6 @@ properties camel.osgi.export.pkgorg.apache.camel.component.cdi.*/camel.osgi.export.pkg -deltaspike-version0.3-incubating/deltaspike-version -!-- these properties should be in-sync with deltaspike -- -owb-version1.1.5/owb-version -weld-version1.1.5.Final/weld-version camel.osgi.import !org.apache.camel.component.cdi.*, org.apache.deltaspike.core.api.*;resolution:=optional, @@ -69,6 +65,13 @@ version${deltaspike-version}/version /dependency +!-- only required for the Main -- +dependency +groupIdorg.apache.deltaspike.cdictrl/groupId +artifactIddeltaspike-cdictrl-api/artifactId +version${deltaspike-version}/version +/dependency + dependency groupIdorg.apache.geronimo.specs/groupId artifactIdgeronimo-atinject_1.0_spec/artifactId @@ -97,12 +100,6 @@ scopetest/scope /dependency dependency -groupIdorg.apache.deltaspike.cdictrl/groupId -artifactIddeltaspike-cdictrl-api/artifactId -version${deltaspike-version}/version -scopetest/scope -/dependency -dependency groupIdorg.slf4j/groupId artifactIdjul-to-slf4j/artifactId version${slf4j-version}/version @@ -139,13 +136,13 @@ dependency groupIdorg.apache.openwebbeans/groupId artifactIdopenwebbeans-impl/artifactId -version${owb-version}/version +version${openwebbeans-version}/version scopetest/scope /dependency dependency groupIdorg.apache.openwebbeans/groupId artifactIdopenwebbeans-spi/artifactId -version${owb-version}/version +version${openwebbeans-version}/version scopetest/scope /dependency /dependencies Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java?rev=1380570view=auto == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java (added) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java Tue Sep 4 11:36:36 2012 @@ -0,0 +1,137 @@ +/** + * + * 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.cdi; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; + +import org.apache.camel.CamelContext; +import org.apache.camel.ProducerTemplate; +import org.apache.camel.main.MainSupport; +import
svn commit: r1380649 - in /camel/trunk: components/camel-cdi/ components/camel-cdi/src/main/java/org/apache/camel/cdi/ components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/ examp
Author: jstrachan Date: Tue Sep 4 13:50:42 2012 New Revision: 1380649 URL: http://svn.apache.org/viewvc?rev=1380649view=rev Log: fixes CAMEL-5560; adds a workaround for @Startup on @ApplicationScoped / @Singleton beans to the CamelExtension to ensure they are eagly started; so that we know that camel routes will startup eagerly Modified: camel/trunk/components/camel-cdi/pom.xml camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/cdi/MyRouteConfig.java camel/trunk/parent/pom.xml Modified: camel/trunk/components/camel-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/pom.xml?rev=1380649r1=1380648r2=1380649view=diff == --- camel/trunk/components/camel-cdi/pom.xml (original) +++ camel/trunk/components/camel-cdi/pom.xml Tue Sep 4 13:50:42 2012 @@ -79,6 +79,11 @@ /dependency dependency groupIdorg.apache.geronimo.specs/groupId +artifactIdgeronimo-ejb_3.1_spec/artifactId +version${geronimo-ejb_3.1_spec.version}/version +/dependency +dependency +groupIdorg.apache.geronimo.specs/groupId artifactIdgeronimo-jcdi_1.0_spec/artifactId version${geronimo-jcdi-1.0-spec.version}/version /dependency Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java?rev=1380649r1=1380648r2=1380649view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Main.java Tue Sep 4 13:50:42 2012 @@ -41,6 +41,7 @@ public class Main extends MainSupport { private JAXBContext jaxbContext; private CdiContainer cdiContainer; + public static void main(String... args) throws Exception { Main main = new Main(); instance = main; @@ -126,6 +127,8 @@ public class Main extends MainSupport { protected void doStart() throws Exception { cdiContainer = CdiContainerLoader.getCdiContainer(); cdiContainer.boot(); +cdiContainer.getContextControl().startContexts(); + super.doStart(); } Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java?rev=1380649r1=1380648r2=1380649view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java Tue Sep 4 13:50:42 2012 @@ -21,6 +21,8 @@ import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import java.util.Set; +import javax.ejb.Startup; +import javax.enterprise.context.ApplicationScoped; import javax.enterprise.context.spi.CreationalContext; import javax.enterprise.event.Observes; import javax.enterprise.inject.spi.AfterBeanDiscovery; @@ -35,6 +37,7 @@ import javax.enterprise.inject.spi.Proce import javax.enterprise.inject.spi.ProcessBean; import javax.enterprise.inject.spi.ProcessInjectionTarget; import javax.inject.Inject; +import javax.inject.Singleton; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; @@ -59,7 +62,10 @@ public class CamelExtension implements E private CamelContext camelContext; private DefaultCamelBeanPostProcessor postProcessor; -private MapBean?, BeanAdapter beanAdapters = new HashMapBean?, BeanAdapter(); +private MapBean?, BeanAdapter eagerBeans = new HashMapBean?, BeanAdapter(); + +public CamelExtension() { +} /** * Process camel context aware bean definitions. @@ -128,30 +134,48 @@ public class CamelExtension implements E */ public void detectConsumeBeans(@Observes ProcessBean? event) { final Bean? bean = event.getBean(); -ReflectionHelper.doWithMethods(bean.getBeanClass(), new ReflectionHelper.MethodCallback() { +Class? beanClass = bean.getBeanClass(); +ReflectionHelper.doWithMethods(beanClass, new ReflectionHelper.MethodCallback() { @Override public void doWith(Method method) throws IllegalArgumentException, IllegalAccessException { Consume consume
svn commit: r1380671 - in /camel/trunk/camel-core/src/main/java/org/apache/camel/model: FromDefinition.java SendDefinition.java
Author: jstrachan Date: Tue Sep 4 14:48:31 2012 New Revision: 1380671 URL: http://svn.apache.org/viewvc?rev=1380671view=rev Log: fixes CAMEL-5565 so that routes created using Endpoints with the JavaDSL have their endpoint URIs visible to JMX and tooling rather than being an anonymous endpoint Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java?rev=1380671r1=1380670r2=1380671view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java Tue Sep 4 14:48:31 2012 @@ -50,7 +50,7 @@ public class FromDefinition extends Opti } public FromDefinition(Endpoint endpoint) { -this.endpoint = endpoint; +setEndpoint(endpoint); } @Override @@ -128,6 +128,10 @@ public class FromDefinition extends Opti public void setEndpoint(Endpoint endpoint) { this.endpoint = endpoint; +this.uri = null; +if (endpoint != null) { +this.uri = endpoint.getEndpointUri(); +} } /** Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java?rev=1380671r1=1380670r2=1380671view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java Tue Sep 4 14:48:31 2012 @@ -97,6 +97,10 @@ public abstract class SendDefinitionTyp public void setEndpoint(Endpoint endpoint) { this.endpoint = endpoint; +this.uri = null; +if (endpoint != null) { +this.uri = endpoint.getEndpointUri(); +} } public ExchangePattern getPattern() {
svn commit: r1380676 - /camel/trunk/components/camel-cdi/pom.xml
Author: jstrachan Date: Tue Sep 4 14:57:43 2012 New Revision: 1380676 URL: http://svn.apache.org/viewvc?rev=1380676view=rev Log: removed pertest forking for CAMEL-5447 in the hope we can close the issue now Modified: camel/trunk/components/camel-cdi/pom.xml Modified: camel/trunk/components/camel-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/pom.xml?rev=1380676r1=1380675r2=1380676view=diff == --- camel/trunk/components/camel-cdi/pom.xml (original) +++ camel/trunk/components/camel-cdi/pom.xml Tue Sep 4 14:57:43 2012 @@ -112,16 +112,6 @@ /dependency /dependencies -build -plugins -plugin -artifactIdmaven-surefire-plugin/artifactId -configuration -forkModepertest/forkMode -/configuration -/plugin -/plugins -/build profiles profile
svn commit: r1380791 - in /camel/trunk: components/camel-cdi/ components/camel-cdi/src/main/java/org/apache/camel/cdi/ components/camel-cdi/src/main/java/org/apache/camel/component/cdi/ components/cam
Author: jstrachan Date: Tue Sep 4 18:28:27 2012 New Revision: 1380791 URL: http://svn.apache.org/viewvc?rev=1380791view=rev Log: added a fix for CAMEL-5566 along the lines of Romain's use of @CamelContextId though preferred the name @CamelStartup which makes it really easy to startup a RouteBuilder on a CamelContext. Also patched the injection code to support @Inject @Uri, @EndpointInject, @Produce, @Consume to support multiple CamelContext instances too (needs testing though ;) Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/CamelStartup.java (with props) camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/cdi/MyRoutes.java (contents, props changed) - copied, changed from r1380669, camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/cdi/MyRouteConfig.java Removed: camel/trunk/examples/camel-example-cdi/src/main/java/org/apache/camel/example/cdi/MyRouteConfig.java Modified: camel/trunk/components/camel-cdi/pom.xml camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiCamelContext.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelContextBean.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java camel/trunk/examples/camel-example-cdi/src/test/java/org/apache/camel/example/cdi/IntegrationTest.java Modified: camel/trunk/components/camel-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/pom.xml?rev=1380791r1=1380790r2=1380791view=diff == --- camel/trunk/components/camel-cdi/pom.xml (original) +++ camel/trunk/components/camel-cdi/pom.xml Tue Sep 4 18:28:27 2012 @@ -79,11 +79,6 @@ /dependency dependency groupIdorg.apache.geronimo.specs/groupId -artifactIdgeronimo-ejb_3.1_spec/artifactId -version${geronimo-ejb_3.1_spec.version}/version -/dependency -dependency -groupIdorg.apache.geronimo.specs/groupId artifactIdgeronimo-jcdi_1.0_spec/artifactId version${geronimo-jcdi-1.0-spec.version}/version /dependency Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/CamelStartup.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/CamelStartup.java?rev=1380791view=auto == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/CamelStartup.java (added) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/CamelStartup.java Tue Sep 4 18:28:27 2012 @@ -0,0 +1,39 @@ +/** + * 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.cdi; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import javax.enterprise.util.Nonbinding; +import javax.inject.Qualifier; + +/** + * Used to annotate a {@link RouteBuilder} class to bind it to a + * {@link CamelContext} instance on startup so that it can startup automatically + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) +public @interface CamelStartup { + +/** + * Returns the name of the CamelContext to add the routes to. + * If no value is specified then the default CamelContext is used. + */ +String contextName() default ; +} Propchange: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/CamelStartup.java -- svn:eol-style = native Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiCamelContext.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org
svn commit: r1380796 - /camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java
Author: jstrachan Date: Tue Sep 4 18:34:58 2012 New Revision: 1380796 URL: http://svn.apache.org/viewvc?rev=1380796view=rev Log: removed some old cruft Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java?rev=1380796r1=1380795r2=1380796view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java Tue Sep 4 18:34:58 2012 @@ -23,7 +23,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; -import javax.enterprise.context.ApplicationScoped; import javax.enterprise.context.spi.CreationalContext; import javax.enterprise.event.Observes; import javax.enterprise.inject.spi.AfterBeanDiscovery; @@ -37,7 +36,6 @@ import javax.enterprise.inject.spi.Proce import javax.enterprise.inject.spi.ProcessBean; import javax.enterprise.inject.spi.ProcessInjectionTarget; import javax.inject.Inject; -import javax.inject.Singleton; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; @@ -274,10 +272,4 @@ public class CamelExtension implements E return field.getAnnotation(Inject.class) != null; } -/** - * Returns true for singletons or application scoped beans - */ -protected boolean isApplicationScopeOrSingleton(Class? aClass) { -return aClass.getAnnotation(Singleton.class) != null || aClass.getAnnotation(ApplicationScoped.class) != null; -} }
svn commit: r1380183 - in /camel/trunk/components/camel-cdi/src: main/java/org/apache/camel/component/cdi/internal/ test/java/org/apache/camel/cdi/
Author: jstrachan Date: Mon Sep 3 09:30:51 2012 New Revision: 1380183 URL: http://svn.apache.org/viewvc?rev=1380183view=rev Log: added support for @Consume for CAMEL-5553 along with supporting @Inject of ProducerTemplate Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java (with props) camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelFactory.java (contents, props changed) - copied, changed from r1380149, camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeTest.java (with props) Removed: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java?rev=1380183view=auto == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java (added) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java Mon Sep 3 09:30:51 2012 @@ -0,0 +1,47 @@ +/** + * + * 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.cdi.internal; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import javax.enterprise.inject.spi.Bean; + +/** + * Contains the bean and the consume methods + */ +public class BeanAdapter { +private final Bean? bean; +private final ListMethod consumeMethods = new ArrayListMethod(); + +public BeanAdapter(Bean? bean) { +this.bean = bean; +} + +public Bean? getBean() { +return bean; +} + +public ListMethod getConsumeMethods() { +return consumeMethods; +} + +public void addConsumeMethod(Method method) { +consumeMethods.add(method); +} +} Propchange: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java -- svn:eol-style = native Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java?rev=1380183r1=1380182r2=1380183view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java Mon Sep 3 09:30:51 2012 @@ -17,19 +17,29 @@ package org.apache.camel.component.cdi.internal; import java.lang.reflect.Method; - +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.enterprise.context.spi.CreationalContext; import javax.enterprise.event.Observes; import javax.enterprise.inject.spi.AfterBeanDiscovery; import javax.enterprise.inject.spi.AfterDeploymentValidation; import javax.enterprise.inject.spi.AnnotatedType; +import javax.enterprise.inject.spi.Bean; import javax.enterprise.inject.spi.BeanManager; import javax.enterprise.inject.spi.BeforeShutdown; import javax.enterprise.inject.spi.Extension; import javax.enterprise.inject.spi.ProcessAnnotatedType; +import javax.enterprise.inject.spi.ProcessBean; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; +import org.apache.camel.Consume; import org.apache.camel.component.cdi.CdiCamelContext; +import org.apache.camel.impl.CamelPostProcessorHelper
svn commit: r1380192 - /camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
Author: jstrachan Date: Mon Sep 3 10:37:31 2012 New Revision: 1380192 URL: http://svn.apache.org/viewvc?rev=1380192view=rev Log: allow derived classes to override the use of the default postprocessor (e.g. we'll want to do this in CDI eventually when its all working nicely to avoid double injection) Modified: camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java Modified: camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java?rev=1380192r1=1380191r2=1380192view=diff == --- camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java (original) +++ camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java Mon Sep 3 10:37:31 2012 @@ -398,7 +398,16 @@ public abstract class CamelTestSupport e template = threadTemplate.get(); consumer = threadConsumer.get(); camelContextService = threadService.get(); +applyCamelPostProcessor(); +} +/** + * Applies the {@link DefaultCamelBeanPostProcessor} to this instance. + * + * Derived classes using IoC / DI frameworks may wish to turn this into a NoOp such as for CDI + * we would just use CDI to inject this + */ +protected void applyCamelPostProcessor() throws Exception { // use the default bean post processor from camel-core DefaultCamelBeanPostProcessor processor = new DefaultCamelBeanPostProcessor(context); processor.postProcessBeforeInitialization(this, getClass().getName());
svn commit: r1380193 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/impl/ components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/ components/camel-cdi/src/test/java/o
Author: jstrachan Date: Mon Sep 3 10:39:21 2012 New Revision: 1380193 URL: http://svn.apache.org/viewvc?rev=1380193view=rev Log: initial spike of supporting naked @Produce annotations on CDI for CAMEL-5553 Added: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ProduceInjectTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/ProduceInjectedBean.java (with props) Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CdiContextTestSupport.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java?rev=1380193r1=1380192r2=1380193view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java Mon Sep 3 10:39:21 2012 @@ -131,7 +131,7 @@ public class DefaultCamelBeanPostProcess /** * Strategy to get the {@link CamelPostProcessorHelper} */ -protected CamelPostProcessorHelper getPostProcessorHelper() { +public CamelPostProcessorHelper getPostProcessorHelper() { if (camelPostProcessorHelper == null) { camelPostProcessorHelper = new CamelPostProcessorHelper(getOrLookupCamelContext()); } @@ -178,7 +178,7 @@ public class DefaultCamelBeanPostProcess }); } -protected void injectField(Field field, String endpointUri, String endpointRef, String endpointProperty, +public void injectField(Field field, String endpointUri, String endpointRef, String endpointProperty, Object bean, String beanName) { ReflectionHelper.setField(field, bean, getPostProcessorHelper().getInjectionValue(field.getType(), endpointUri, endpointRef, endpointProperty, @@ -206,7 +206,7 @@ public class DefaultCamelBeanPostProcess } } -protected void setterInjection(Method method, Object bean, String beanName, String endpointUri, String endpointRef, String endpointProperty) { +public void setterInjection(Method method, Object bean, String beanName, String endpointUri, String endpointRef, String endpointProperty) { Class?[] parameterTypes = method.getParameterTypes(); if (parameterTypes != null) { if (parameterTypes.length != 1) { Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java?rev=1380193r1=1380192r2=1380193view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java Mon Sep 3 10:39:21 2012 @@ -17,17 +17,24 @@ */ package org.apache.camel.component.cdi.internal; +import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import javax.enterprise.inject.spi.Bean; +import org.apache.camel.Produce; +import org.apache.camel.impl.CamelPostProcessorHelper; +import org.apache.camel.impl.DefaultCamelBeanPostProcessor; + /** * Contains the bean and the consume methods */ public class BeanAdapter { private final Bean? bean; private final ListMethod consumeMethods = new ArrayListMethod(); +private final ListMethod produceMethods = new ArrayListMethod(); +private final ListField produceFields = new ArrayListField(); public BeanAdapter(Bean? bean) { this.bean = bean; @@ -41,7 +48,50 @@ public class BeanAdapter { return consumeMethods; } +public ListMethod getProduceMethods() { +return produceMethods; +} + +public ListField getProduceFields() { +return produceFields; +} + public void addConsumeMethod(Method method) { consumeMethods.add(method); } + +public void addProduceMethod(Method method) { +produceMethods.add(method); +} + +public void addProduceField(Field field) { +produceFields.add(field); +} + +/** + * Perform processing of the various @Consume, @Produce methods
svn commit: r1380220 - in /camel/trunk/components/camel-cdi: ./ src/main/java/org/apache/camel/component/cdi/internal/ src/test/java/org/apache/camel/cdi/ src/test/java/org/apache/camel/cdi/support/
Author: jstrachan Date: Mon Sep 3 12:39:51 2012 New Revision: 1380220 URL: http://svn.apache.org/viewvc?rev=1380220view=rev Log: fix for CAMEL-5553 so that we can support injection via @EndpointInject and @Produce without any need for @Inject (though we use more usual CDI methods for injecting via @Inject) along with processing of @Consume Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/DelegateInjectionTarget.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CamelEndpointInjectTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/CamelEndpointInjectedBean.java (with props) Modified: camel/trunk/components/camel-cdi/pom.xml camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelExtension.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/CdiContextTestSupport.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/InjectCamelAnnotationsTest.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ProduceInjectTest.java Modified: camel/trunk/components/camel-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/pom.xml?rev=1380220r1=1380219r2=1380220view=diff == --- camel/trunk/components/camel-cdi/pom.xml (original) +++ camel/trunk/components/camel-cdi/pom.xml Mon Sep 3 12:39:51 2012 @@ -117,9 +117,6 @@ profiles profile idowb/id - activation -activeByDefaulttrue/activeByDefault - /activation dependencies dependency groupIdorg.apache.geronimo.specs/groupId @@ -149,6 +146,10 @@ profile idweld/id +!-- active by default as the overriding of InvocationTarget is currently broken in owb which breaks ProduceInjectTest -- +activation + activeByDefaulttrue/activeByDefault +/activation dependencies dependency groupIdorg.apache.deltaspike.cdictrl/groupId Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java?rev=1380220r1=1380219r2=1380220view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/BeanAdapter.java Mon Sep 3 12:39:51 2012 @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.List; import javax.enterprise.inject.spi.Bean; +import org.apache.camel.EndpointInject; import org.apache.camel.Produce; import org.apache.camel.impl.CamelPostProcessorHelper; import org.apache.camel.impl.DefaultCamelBeanPostProcessor; @@ -31,29 +32,18 @@ import org.apache.camel.impl.DefaultCame * Contains the bean and the consume methods */ public class BeanAdapter { -private final Bean? bean; private final ListMethod consumeMethods = new ArrayListMethod(); private final ListMethod produceMethods = new ArrayListMethod(); +private final ListMethod endpointMethods = new ArrayListMethod(); private final ListField produceFields = new ArrayListField(); +private final ListField endpointFields = new ArrayListField(); -public BeanAdapter(Bean? bean) { -this.bean = bean; -} - -public Bean? getBean() { -return bean; -} - -public ListMethod getConsumeMethods() { -return consumeMethods; -} - -public ListMethod getProduceMethods() { -return produceMethods; -} - -public ListField getProduceFields() { -return produceFields; +/** + * Returns true if this adapter is empty (i.e. has no custom adapter code) + */ +public boolean isEmpty() { +return consumeMethods.isEmpty() produceMethods.isEmpty() produceFields.isEmpty() +endpointMethods.isEmpty() endpointFields.isEmpty(); } public void addConsumeMethod(Method method) { @@ -68,30 +58,52 @@ public class BeanAdapter { produceFields.add(field); } +public void addEndpointField(Field field) { +endpointFields.add(field); +} + +public void addEndpointMethod(Method method) { +endpointMethods.add(method); +} + /** - * Perform processing of the various @Consume, @Produce methods on the given bean reference + * Perform injections */ -public void initialiseBean(DefaultCamelBeanPostProcessor postProcessor, Object
svn commit: r1380222 - /camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/InjectCamelAnnotationsTest.java
Author: jstrachan Date: Mon Sep 3 12:48:00 2012 New Revision: 1380222 URL: http://svn.apache.org/viewvc?rev=1380222view=rev Log: minor improvement to also test that the ProducerTemplate injection uses the correct uri Modified: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/InjectCamelAnnotationsTest.java Modified: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/InjectCamelAnnotationsTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/InjectCamelAnnotationsTest.java?rev=1380222r1=1380221r2=1380222view=diff == --- camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/InjectCamelAnnotationsTest.java (original) +++ camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/InjectCamelAnnotationsTest.java Mon Sep 3 12:48:00 2012 @@ -37,13 +37,13 @@ public class InjectCamelAnnotationsTest @EndpointInject(uri=mock:result) MockEndpoint mockResultEndpoint; -@Produce(uri = mock:result) +@Produce(uri = direct:inject) ProducerTemplate myProducer; @Test public void beanShouldBeInjected() throws InterruptedException { mockResultEndpoint.expectedMessageCount(1); -myProducer.sendBody(direct:inject, hello); +myProducer.sendBody(hello); assertMockEndpointsSatisfied();
svn commit: r1380252 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/impl/ components/camel-cdi/ components/camel-cdi/src/main/java/org/apache/camel/cdi/ components/camel-cdi/src/main/jav
Author: jstrachan Date: Mon Sep 3 14:39:42 2012 New Revision: 1380252 URL: http://svn.apache.org/viewvc?rev=1380252view=rev Log: simplified the code to reuse more existing camel code ensure more consistent error messages and allowed injection via @Inject @Uri(someURI) on Endpoint / ProducerTemplate injections for more CDI-like injection. also moved the Uri and Mock annotations into org.apache.camel.cdi as they are the (optional) public programming API for working with CDI Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java (with props) camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointPropertyInjectTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointUriInjectTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/EndpointUriInjectedBean.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/EndpointUriPropertyInjectedBean.java (with props) Removed: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/Mock.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/util/ Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java camel/trunk/components/camel-cdi/pom.xml camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelFactory.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeTest.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ProduceInjectTest.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/MockEndpointInjectedBean.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/ProduceInjectedBean.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java?rev=1380252r1=1380251r2=1380252view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java Mon Sep 3 14:39:42 2012 @@ -132,7 +132,7 @@ public class CamelPostProcessorHelper im return new UnitOfWorkProcessor(answer); } -protected Endpoint getEndpointInjection(Object bean, String uri, String name, String propertyName, +public Endpoint getEndpointInjection(Object bean, String uri, String name, String propertyName, String injectionPointName, boolean mandatory) { if (ObjectHelper.isEmpty(uri) ObjectHelper.isEmpty(name)) { // if no uri or ref, then fallback and try the endpoint property Modified: camel/trunk/components/camel-cdi/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/pom.xml?rev=1380252r1=1380251r2=1380252view=diff == --- camel/trunk/components/camel-cdi/pom.xml (original) +++ camel/trunk/components/camel-cdi/pom.xml Mon Sep 3 14:39:42 2012 @@ -43,6 +43,7 @@ * /camel.osgi.import camel.osgi.export.pkg + org.apache.camel.cdi.*;${camel.osgi.version}, org.apache.camel.component.cdi.*;${camel.osgi.version} /camel.osgi.export.pkg /properties Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java?rev=1380252view=auto == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java (added) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java Mon Sep 3 14:39:42 2012 @@ -0,0 +1,32 @@ +/** + * 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
svn commit: r1380255 - /camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java
Author: jstrachan Date: Mon Sep 3 14:43:48 2012 New Revision: 1380255 URL: http://svn.apache.org/viewvc?rev=1380255view=rev Log: added better javadoc Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java?rev=1380255r1=1380254r2=1380255view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java Mon Sep 3 14:43:48 2012 @@ -23,7 +23,19 @@ import java.lang.annotation.Target; /** * An injection annotation to define the a href=http://camel.apache.org/uris.html;Camel URI/a used - * to reference the underlying a href=http://camel.apache.org/endpoint.html;Camel Endpoint/a + * to reference the underlying a href=http://camel.apache.org/endpoint.html;Camel Endpoint/a. + * + * This annotation can be used to annotate an @Inject injection point for values of type + * {@link org.apache.camel.Endpoint} or {@link org.apache.camel.ProducerTemplate} with a String URI. + * + * For example: + * code + * public class Foo { + * @Inject @Uri(mock:foo) Endpoint endpoint; + * + * @Inject @Uri(seda:bar) ProducerTemplate producer; + * } + * /code */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER})
svn commit: r1380275 - in /camel/trunk/components/camel-cdi/src: main/java/org/apache/camel/cdi/ main/java/org/apache/camel/component/cdi/internal/ test/java/org/apache/camel/cdi/ test/java/org/apache
Author: jstrachan Date: Mon Sep 3 15:45:30 2012 New Revision: 1380275 URL: http://svn.apache.org/viewvc?rev=1380275view=rev Log: @Mock and @Uri are now qualifiers. Added an example of Endpoint injection via @Named. Also simplified the use of @Inject with camel injection; it now requires a qualifier if using @Inject to inject Endpoint/ProducerTemplate of either @Mock, @Uri, @Named - otherwise don't use @Inject and just use the vanilla Camel injection annotations (@Produce or @EndpointInject). The use of qualifiers avoids all kinds of CDI issues when trying to mix and match @Inject @EndpointInject and @Inject @Named in the same application; for Endpoint/ProducerTemplate injection there must be a unique qualifier used now. Note @Consume doesn't do injection per se so @Inject is never used directly with it. Finally @Mock() now takes an optional URI for the MockEndpoint Added: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointNamedInjectTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/NamedEndpointBean.java (with props) Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelFactory.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeTest.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointInjectTest.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointPropertyInjectTest.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointUriInjectTest.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/EndpointInjectedBean.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/EndpointUriInjectedBean.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/EndpointUriPropertyInjectedBean.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/MockEndpointInjectedBean.java Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java?rev=1380275r1=1380274r2=1380275view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Mock.java Mon Sep 3 15:45:30 2012 @@ -20,6 +20,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import javax.enterprise.util.Nonbinding; import javax.inject.Qualifier; /** @@ -29,4 +30,10 @@ import javax.inject.Qualifier; @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) public @interface Mock { + +/** + * Returns an optional URI used to create the MockEndpoint + */ +@Nonbinding +String value() default ; } Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java?rev=1380275r1=1380274r2=1380275view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/cdi/Uri.java Mon Sep 3 15:45:30 2012 @@ -20,6 +20,8 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import javax.enterprise.util.Nonbinding; +import javax.inject.Qualifier; /** * An injection annotation to define the a href=http://camel.apache.org/uris.html;Camel URI/a used @@ -37,6 +39,7 @@ import java.lang.annotation.Target; * } * /code */ +@Qualifier @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) public @interface Uri { @@ -44,5 +47,6 @@ public @interface Uri { /** * Returns the a href=http://camel.apache.org/uris.html;Camel URI/a of the endpoint */ +@Nonbinding String value(); } Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelFactory.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/CamelFactory.java?rev=1380275r1=1380274r2=1380275view=diff
svn commit: r1380279 - in /camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi: ConsumeStubbedEndpointTest.java support/CheeseComponentFactory.java
Author: jstrachan Date: Mon Sep 3 16:00:24 2012 New Revision: 1380279 URL: http://svn.apache.org/viewvc?rev=1380279view=rev Log: added a CDI sample using CDI to define a new component configuration Added: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeStubbedEndpointTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/CheeseComponentFactory.java (with props) Added: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeStubbedEndpointTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeStubbedEndpointTest.java?rev=1380279view=auto == --- camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeStubbedEndpointTest.java (added) +++ camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeStubbedEndpointTest.java Mon Sep 3 16:00:24 2012 @@ -0,0 +1,59 @@ +/** + * 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.cdi; + +import javax.enterprise.inject.Produces; +import javax.inject.Inject; +import javax.inject.Named; + +import org.apache.camel.Component; +import org.apache.camel.Consume; +import org.apache.camel.ProducerTemplate; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.component.stub.StubComponent; +import org.junit.Test; + +/** + * Tests sending consuming to a stubbed out component called 'cheese' which is created + * via the {@link org.apache.camel.cdi.support.CheeseComponentFactory} class + */ +public class ConsumeStubbedEndpointTest extends CdiTestSupport { + +@Inject @Mock +private MockEndpoint result; + +@Inject @Uri(cheese:start) +private ProducerTemplate producer; + +@Consume(uri = cheese:start) +public void onStart(String body) { +producer.sendBody(mock:result, Hello + body + !); +} + +@Test +public void consumeAnnotation() throws Exception { +assertNotNull(Could not inject producer, producer); +assertNotNull(Could not inject mock endpoint, result); + +result.expectedBodiesReceived(Hello world!); + +producer.sendBody(world); + +result.assertIsSatisfied(); +} + +} Propchange: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/ConsumeStubbedEndpointTest.java -- svn:eol-style = native Added: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/CheeseComponentFactory.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/CheeseComponentFactory.java?rev=1380279view=auto == --- camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/CheeseComponentFactory.java (added) +++ camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/CheeseComponentFactory.java Mon Sep 3 16:00:24 2012 @@ -0,0 +1,36 @@ +/** + * + * 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.cdi.support; + +import javax.enterprise.inject.Produces; +import javax.inject.Named; + +import org.apache.camel.Component; +import org.apache.camel.component.stub.StubComponent; + +/** + * Stubs out
svn commit: r1379437 - in /camel/trunk/components/camel-cdi/src: main/java/org/apache/camel/component/cdi/internal/ test/java/org/apache/camel/cdi/ test/java/org/apache/camel/cdi/support/
Author: jstrachan Date: Fri Aug 31 13:02:01 2012 New Revision: 1379437 URL: http://svn.apache.org/viewvc?rev=1379437view=rev Log: initial spike of CAMEL-5553 support for injecting Endpoint instances using @EndpointInject annotation; though there are issues (e.g. no way to inject both Endpoint and MockEndpoint types explicitly without some kind of explicit qualifier for MockEndpoint injection points or something Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointInjectTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/MockEndpointInjectTest.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/EndpointInjectedBean.java (with props) camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/MockEndpointInjectedBean.java (with props) Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java?rev=1379437view=auto == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java (added) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java Fri Aug 31 13:02:01 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.cdi.internal; + +import org.apache.camel.CamelContext; +import org.apache.camel.Endpoint; +import org.apache.camel.EndpointInject; +import org.apache.camel.util.ObjectHelper; + +import javax.enterprise.inject.Produces; +import javax.enterprise.inject.spi.InjectionPoint; +import javax.inject.Inject; +import java.lang.reflect.Type; + +/** + * Injects endpoints into beans + */ +public class EndpointInjector { +@Inject +private CamelContext camelContext; + + +/* +@Produces +public Endpoint createEndpoint(InjectionPoint point) { +return createEndpoint(point, Endpoint.class); +} + +// Note that there does not appear to be a way in CDI to say we can inject +// all types from Endpoint onwards so lets make it easy to also inject mock endpoints too +@Produces +protected MockEndpoint createMockEndpoint(InjectionPoint point) { +return createEndpoint(point, MockEndpoint.class); +} +*/ + +@Produces +public Endpoint createEndpoint(InjectionPoint point) { +Class? extends Endpoint endpointType = Endpoint.class; +Type pointType = point.getType(); +if (pointType instanceof Class?) { +endpointType = (Class? extends Endpoint) pointType; +} + +EndpointInject annotation = point.getAnnotated().getAnnotation(EndpointInject.class); +if (annotation != null) { +if (annotation != null) { +String uri = annotation.uri(); +if (ObjectHelper.isNotEmpty(uri)) { +return camelContext.getEndpoint(uri, endpointType); +} +String ref = annotation.ref(); +if (ObjectHelper.isNotEmpty(ref)) { +return camelContext.getEndpoint(ref: + ref, endpointType); +} +} +} +return null; +} +} Propchange: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java -- svn:eol-style = native Added: camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointInjectTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/EndpointInjectTest.java?rev=1379437view=auto == --- camel/trunk/components/camel-cdi/src
svn commit: r1379449 - in /camel/trunk/components/camel-cdi/src: main/java/org/apache/camel/component/cdi/ main/java/org/apache/camel/component/cdi/internal/ test/java/org/apache/camel/cdi/ test/java/
Author: jstrachan Date: Fri Aug 31 13:51:50 2012 New Revision: 1379449 URL: http://svn.apache.org/viewvc?rev=1379449view=rev Log: improved CAMEL-5553 so we can also inject MockEndpoint instances; though we require @Mock as a qualifier unfortunately unless anyone figures out any neater way to differentiate Endpoint and MockEndpoint injection Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/Mock.java (with props) Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/MockEndpointInjectTest.java camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/support/MockEndpointInjectedBean.java Added: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/Mock.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/Mock.java?rev=1379449view=auto == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/Mock.java (added) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/Mock.java Fri Aug 31 13:51:50 2012 @@ -0,0 +1,34 @@ +/** + * + * 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.cdi; + +import javax.inject.Qualifier; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.*; + +/** + * A qualifier for injecting instances of {@link org.apache.camel.component.mock.MockEndpoint} into a bean. + */ +@Qualifier +@Retention(RUNTIME) +@Target({TYPE, METHOD, FIELD, PARAMETER}) +public @interface Mock { +} Propchange: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/Mock.java -- svn:eol-style = native Modified: camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java?rev=1379449r1=1379448r2=1379449view=diff == --- camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java (original) +++ camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/internal/EndpointInjector.java Fri Aug 31 13:51:50 2012 @@ -20,6 +20,8 @@ package org.apache.camel.component.cdi.i import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.EndpointInject; +import org.apache.camel.component.cdi.Mock; +import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.util.ObjectHelper; import javax.enterprise.inject.Produces; @@ -35,19 +37,24 @@ public class EndpointInjector { private CamelContext camelContext; -/* -@Produces -public Endpoint createEndpoint(InjectionPoint point) { -return createEndpoint(point, Endpoint.class); -} - -// Note that there does not appear to be a way in CDI to say we can inject -// all types from Endpoint onwards so lets make it easy to also inject mock endpoints too @Produces +@Mock protected MockEndpoint createMockEndpoint(InjectionPoint point) { -return createEndpoint(point, MockEndpoint.class); +String url = ; +String name = ; +EndpointInject annotation = point.getAnnotated().getAnnotation(EndpointInject.class); +if (annotation != null) { +url = annotation.uri(); +name = annotation.ref(); +} +if (ObjectHelper.isEmpty(name)) { +name = point.getMember().getName(); +} +if (ObjectHelper.isEmpty(url)) { +url = mock: + name; +} +return camelContext.getEndpoint(url
svn commit: r1375936 - /camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java
Author: jstrachan Date: Wed Aug 22 08:11:31 2012 New Revision: 1375936 URL: http://svn.apache.org/viewvc?rev=1375936view=rev Log: allow eventNotifiers to be added asynchronously to a CamelContext while a context is starting up to avoid the dreaded ConcurrentModificationException being thrown, fixes CAMEL-5531 Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java?rev=1375936r1=1375935r2=1375936view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java Wed Aug 22 08:11:31 2012 @@ -16,9 +16,9 @@ */ package org.apache.camel.management; -import java.util.ArrayList; import java.util.EventObject; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; @@ -50,7 +50,7 @@ import org.apache.camel.util.ServiceHelp */ public class DefaultManagementStrategy implements ManagementStrategy, CamelContextAware { -private ListEventNotifier eventNotifiers = new ArrayListEventNotifier(); +private ListEventNotifier eventNotifiers = new CopyOnWriteArrayListEventNotifier(); private EventFactory eventFactory = new DefaultEventFactory(); private ManagementNamingStrategy managementNamingStrategy; private ManagementObjectStrategy managementObjectStrategy;
svn commit: r1296215 - in /camel/trunk/camel-core/src: main/java/org/apache/camel/component/stub/ main/resources/META-INF/services/org/apache/camel/component/ test/java/org/apache/camel/component/stub
Author: jstrachan Date: Fri Mar 2 14:10:03 2012 New Revision: 1296215 URL: http://svn.apache.org/viewvc?rev=1296215view=rev Log: added a first spike of a stub component for CAMEL-5057 Added: camel/trunk/camel-core/src/main/java/org/apache/camel/component/stub/ camel/trunk/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java (with props) camel/trunk/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub camel/trunk/camel-core/src/test/java/org/apache/camel/component/stub/ camel/trunk/camel-core/src/test/java/org/apache/camel/component/stub/StubInOnlyTest.java (with props) Added: camel/trunk/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java?rev=1296215view=auto == --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java (added) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java Fri Mar 2 14:10:03 2012 @@ -0,0 +1,46 @@ +/** + * 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.stub; + +import java.util.Map; + +import org.apache.camel.component.vm.VmComponent; + +/** + * Allows you to easily stub out a middleware transport by prefixing the URI with stub: which is + * handy for testing out routes, or isolating bits of middleware. + * + */ +public class StubComponent extends VmComponent { + + public StubComponent() { + } + + @Override + protected void validateURI(String uri, String path, + MapString, Object parameters) { +// Don't validate so we can stub any URI + } + + @Override + protected void validateParameters(String uri, + MapString, Object parameters, String optionPrefix) { +// Don't validate so we can stub any URI + } + + +} Propchange: camel/trunk/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java -- svn:eol-style = native Added: camel/trunk/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub?rev=1296215view=auto == --- camel/trunk/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub (added) +++ camel/trunk/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub Fri Mar 2 14:10:03 2012 @@ -0,0 +1,18 @@ +# +# 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. +# + +class=org.apache.camel.component.stub.StubComponent \ No newline at end of file Added: camel/trunk/camel-core/src/test/java/org/apache/camel/component/stub/StubInOnlyTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/stub/StubInOnlyTest.java?rev=1296215view=auto == --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/stub/StubInOnlyTest.java (added) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component
svn commit: r1207097 - in /camel/trunk/components/camel-web/src/main/webapp/WEB-INF: scalate/error.scaml scalate/layouts/default.scaml web.xml
Author: jstrachan Date: Mon Nov 28 12:12:10 2011 New Revision: 1207097 URL: http://svn.apache.org/viewvc?rev=1207097view=rev Log: Fixes CAMEL-4719 so camel-web works better inside WebLogic; avoiding the use of the scalate console unless its present and in debig mode and having a precompiled error page to avoid unnecessary runtime compilation of scalate templates. Also used the simpler scalate filter which adds support for jade, markdown, confluence etc easier with less boilerplate XML in web.xml Added: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/scalate/error.scaml Modified: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/scalate/layouts/default.scaml camel/trunk/components/camel-web/src/main/webapp/WEB-INF/web.xml Added: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/scalate/error.scaml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/WEB-INF/scalate/error.scaml?rev=1207097view=auto == --- camel/trunk/components/camel-web/src/main/webapp/WEB-INF/scalate/error.scaml (added) +++ camel/trunk/components/camel-web/src/main/webapp/WEB-INF/scalate/error.scaml Mon Nov 28 12:12:10 2011 @@ -0,0 +1,212 @@ +-# +-# Copyright (C) 2009-2011 the original author or authors. +-# See the notice.md file distributed with this work for additional +-# information regarding copyright ownership. +-# +-# Licensed 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. +-# +- if ( !engine.isDevelopmentMode ) + .scalate-error-500 +%h1 Server Error: We're sorry, but something went wrong. +%p We've been notified about this issue and we'll take a look at it shortly. + +- else + - import util.parsing.input.Position + - import org.fusesource.scalate._ + - import org.fusesource.scalate.console._ + - val consoleHelper = new ConsoleHelper(context) + - import consoleHelper._ + - response.setContentType(text/html) + - attributes(layout) = + !!! Basic + %html(lang=en) +%head + %meta(http-equiv=Content-Type content=text/html; charset=utf-8) + %meta(name=keywords content=error) + %title Unexpected Failure + %style(type=text/css) +:plain + html, body { + margin: 0; + padding: 0; + font-family: Helvetica, Arial, Sans; + background: #EE; + } + .block { + padding: 20px; + border-bottom: 1px solid #aaa; + } + #scalate-error .header h1 { + font-weight: normal; + font-size: 28px; + margin: 0; + } + #scalate-error .more { + color: #666; + font-size: 80%; + border: none; + } + #scalate-error .header { + background: #fcd2da; + } + #scalate-error .header p { + color: #333; + } + #scalate-error .details { + background: #f6f6f6; + } + #scalate-error .details h2 { + font-weight: normal; + font-size: 18px; + margin: 0 0 10px 0; + } + #scalate-error .details .lineNumber { + float: left; + display: block; + width: 40px; + text-align: right; + margin-right: 10px; + font-size: 14px; + font-family: monospace; + background: #333; + color: #fff; + } + #scalate-error .details .line { + clear: both; + color: #333; + margin-bottom: 1px; + } + #scalate-error .details pre { + font-size: 14px; + margin: 0; + overflow-x: hidden; + } + #scalate-error .details .error { + color: #c00 !important; + } + #scalate-error .details .error .lineNumber { + background: #c00; + } + #scalate-error .details .errorCol { + background: #c00; + color:#fff; + } + #scalate-error .details a { + text-decoration: none; + } + #scalate-error .details a:hover * { + cursor: pointer !important; + } + #scalate-error .details a:hover pre { + background: #FAFFCF !important
svn commit: r1076683 - in /camel/trunk/components/camel-web: pom.xml src/main/webapp/WEB-INF/com/
Author: jstrachan Date: Thu Mar 3 17:03:06 2011 New Revision: 1076683 URL: http://svn.apache.org/viewvc?rev=1076683view=rev Log: upgraded camel-web to the latest greatest scalate release and removed old templates Removed: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/com/ Modified: camel/trunk/components/camel-web/pom.xml Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=1076683r1=1076682r2=1076683view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Thu Mar 3 17:03:06 2011 @@ -30,7 +30,7 @@ properties camel.osgi.export.pkgorg.apache.camel.web.*/camel.osgi.export.pkg -scalate-version1.3.1/scalate-version +scalate-version1.4.1/scalate-version jersey-version1.5/jersey-version logback-version0.9.24/logback-version jetty-port8080/jetty-port @@ -135,6 +135,13 @@ artifactIdscalate-core/artifactId version${scalate-version}/version /dependency + +!-- even when pre-compiling the tempaltes this still seems to be a requirement - maybe can remove it later? -- +dependency +groupIdorg.scala-lang/groupId +artifactIdscala-compiler/artifactId +version${scala-version}/version +/dependency !-- dependency groupIdch.qos.logback/groupId @@ -233,6 +240,20 @@ /plugin plugin +groupIdorg.fusesource.scalate/groupId +artifactIdmaven-scalate-plugin/artifactId +version${scalate-version}/version +executions +execution +goals +goalprecompile/goal +/goals +phaseprocess-classes/phase +/execution +/executions +/plugin + +plugin groupIdorg.mortbay.jetty/groupId artifactIdjetty-maven-plugin/artifactId version${jetty-version}/version
svn commit: r1075495 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/impl/ components/camel-context/ components/camel-context/src/main/java/org/apache/camel/component/context/ components/
Author: jstrachan Date: Mon Feb 28 19:20:56 2011 New Revision: 1075495 URL: http://svn.apache.org/viewvc?rev=1075495view=rev Log: fix for CAMEL-3726 to show camel-context working using Spring IoC along with solving a dependency issue with CamelPostProcessorHelper causing eager loading of CamelContext objects which breaks the depends-on attribute usage Added: camel/trunk/components/camel-context/src/test/java/org/apache/camel/component/context/SpringDslContextComponentTest.java camel/trunk/components/camel-context/src/test/resources/org/ camel/trunk/components/camel-context/src/test/resources/org/apache/ camel/trunk/components/camel-context/src/test/resources/org/apache/camel/ camel/trunk/components/camel-context/src/test/resources/org/apache/camel/component/ camel/trunk/components/camel-context/src/test/resources/org/apache/camel/component/context/ camel/trunk/components/camel-context/src/test/resources/org/apache/camel/component/context/SpringDslContextComponentTest-context.xml Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java camel/trunk/components/camel-context/pom.xml camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java camel/trunk/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxTest.java camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelBeanPostProcessor.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java?rev=1075495r1=1075494r2=1075495view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java Mon Feb 28 19:20:56 2011 @@ -75,7 +75,7 @@ public class CamelPostProcessorHelper im */ public boolean matchContext(String context) { if (ObjectHelper.isNotEmpty(context)) { -if (!camelContext.getName().equals(context)) { +if (!getCamelContext().getName().equals(context)) { return false; } } Modified: camel/trunk/components/camel-context/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-context/pom.xml?rev=1075495r1=1075494r2=1075495view=diff == --- camel/trunk/components/camel-context/pom.xml (original) +++ camel/trunk/components/camel-context/pom.xml Mon Feb 28 19:20:56 2011 @@ -51,6 +51,11 @@ /dependency dependency groupIdorg.apache.camel/groupId +artifactIdcamel-core-xml/artifactId +scopetest/scope +/dependency +dependency +groupIdorg.apache.camel/groupId artifactIdcamel-test/artifactId scopetest/scope /dependency Modified: camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java?rev=1075495r1=1075494r2=1075495view=diff == --- camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java (original) +++ camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java Mon Feb 28 19:20:56 2011 @@ -35,7 +35,7 @@ public class LocalContextComponent exten private static final transient Logger LOG = LoggerFactory.getLogger(LocalContextComponent.class); private CamelContext localCamelContext; -private ListString localProtocolSchemes = new ArrayListString(Arrays.asList(direct, seda)); +private ListString localProtocolSchemes = new ArrayListString(Arrays.asList(direct, seda, mock)); public LocalContextComponent(CamelContext localCamelContext) { ObjectHelper.notNull(localCamelContext, localCamelContext); @@ -65,8 +65,14 @@ public class LocalContextComponent exten protected Endpoint createEndpoint(String uri, String remaining, MapString, Object parameters) throws Exception { + + // lets first check if we are using a fully qualified name: [context:]contextId:endpointUri MapString, Endpoint map = getLocalCamelContext().getEndpointMap(); + +if (LOG.isDebugEnabled()) { +LOG.debug(Trying to lookup + remaining + in local map + map.keySet()); +} Endpoint endpoint = map.get(remaining); if (endpoint
svn commit: r1073303 - /camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
Author: jstrachan Date: Tue Feb 22 11:55:49 2011 New Revision: 1073303 URL: http://svn.apache.org/viewvc?rev=1073303view=rev Log: allow CAMEL-3651 and CAMEL-3563 to work in OSGi blueprint too Modified: camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java Modified: camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java?rev=1073303r1=1073302r2=1073303view=diff == --- camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java (original) +++ camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java Tue Feb 22 11:55:49 2011 @@ -20,6 +20,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.Component; import org.apache.camel.core.osgi.OsgiComponentResolver; import org.apache.camel.spi.ComponentResolver; +import org.apache.camel.util.CamelContextHelper; import org.osgi.framework.BundleContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,6 +42,13 @@ public class BlueprintComponentResolver LOG.debug(Found component: + name + in registry: + bean); } return (Component) bean; +} else { +// lets use Camel's type conversion mechanism to convert things like CamelContext +// and other types into a valid Component +Component component = CamelContextHelper.convertTo(context, Component.class, bean); +if (component != null) { +return component; +} } } catch (Exception e) { LOG.debug(Ignored error looking up bean: + name + . Error: + e);
svn commit: r1073304 - /camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java
Author: jstrachan Date: Tue Feb 22 11:56:24 2011 New Revision: 1073304 URL: http://svn.apache.org/viewvc?rev=1073304view=rev Log: allow CAMEL-3651 and CAMEL-3563 to work in OSGi blueprint too Modified: camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java Modified: camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java?rev=1073304r1=1073303r2=1073304view=diff == --- camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java (original) +++ camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java Tue Feb 22 11:56:24 2011 @@ -19,6 +19,7 @@ package org.apache.camel.core.osgi; import org.apache.camel.CamelContext; import org.apache.camel.Component; import org.apache.camel.spi.ComponentResolver; +import org.apache.camel.util.CamelContextHelper; import org.apache.camel.util.ObjectHelper; import org.osgi.framework.BundleContext; import org.osgi.framework.InvalidSyntaxException; @@ -47,6 +48,13 @@ public class OsgiComponentResolver imple } if (bean instanceof Component) { return (Component)bean; +} else { +// lets use Camel's type conversion mechanism to convert things like CamelContext +// and other types into a valid Component +Component component = CamelContextHelper.convertTo(context, Component.class, bean); +if (component != null) { +return component; +} } // Check in OSGi bundles
svn commit: r1069440 - /camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java
Author: jstrachan Date: Thu Feb 10 16:00:30 2011 New Revision: 1069440 URL: http://svn.apache.org/viewvc?rev=1069440view=rev Log: allow the same Camel Type Conversion we support for Endpoints to also work for Components when resolving a component in the registry for CAMEL-3651 and CAMEL-3563 Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java?rev=1069440r1=1069439r2=1069440view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java Thu Feb 10 16:00:30 2011 @@ -23,6 +23,7 @@ import org.apache.camel.Component; import org.apache.camel.NoFactoryAvailableException; import org.apache.camel.spi.ComponentResolver; import org.apache.camel.spi.FactoryFinder; +import org.apache.camel.util.CamelContextHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -55,6 +56,13 @@ public class DefaultComponentResolver im if (bean != null) { if (bean instanceof Component) { return (Component) bean; +} else { +// lets use Camel's type conversion mechanism to convert things like CamelContext +// and other types into a valid Component +Component component = CamelContextHelper.convertTo(context, Component.class, bean); +if (component != null) { +return component; +} } // we do not throw the exception here and try to auto create a component }
svn commit: r1068904 - /camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java
Author: jstrachan Date: Wed Feb 9 14:33:12 2011 New Revision: 1068904 URL: http://svn.apache.org/viewvc?rev=1068904view=rev Log: ensured that the deprecated attribute is optional, not mandatory for the endpoint element Modified: camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java Modified: camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java?rev=1068904r1=1068903r2=1068904view=diff == --- camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java (original) +++ camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java Wed Feb 9 14:33:12 2011 @@ -33,7 +33,7 @@ import static org.apache.camel.util.Obje @XmlAccessorType(XmlAccessType.FIELD) public abstract class AbstractCamelEndpointFactoryBean extends AbstractCamelFactoryBeanEndpoint { -@XmlAttribute +@XmlAttribute(required = false) @Deprecated private Boolean singleton = Boolean.FALSE; @XmlAttribute
svn commit: r1068918 - /camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java
Author: jstrachan Date: Wed Feb 9 14:47:37 2011 New Revision: 1068918 URL: http://svn.apache.org/viewvc?rev=1068918view=rev Log: avoid outputting a deprecated attribute when marshalling the XML Modified: camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java Modified: camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java?rev=1068918r1=1068917r2=1068918view=diff == --- camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java (original) +++ camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelEndpointFactoryBean.java Wed Feb 9 14:47:37 2011 @@ -35,7 +35,7 @@ import static org.apache.camel.util.Obje public abstract class AbstractCamelEndpointFactoryBean extends AbstractCamelFactoryBeanEndpoint { @XmlAttribute(required = false) @Deprecated -private Boolean singleton = Boolean.FALSE; +private Boolean singleton; @XmlAttribute private String uri; @XmlTransient
svn commit: r1068971 - in /camel/trunk/camel-core/src/main/java/org/apache/camel/model: ./ config/ dataformat/ loadbalancer/
Author: jstrachan Date: Wed Feb 9 16:55:34 2011 New Revision: 1068971 URL: http://svn.apache.org/viewvc?rev=1068971view=rev Log: removed a bunch more default JAXB default values so that by default we only marshal attributes which are actually configured by hand. this avoids the XML representation of the model being unnecessarily verbose Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/ResequenceDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/config/BatchResequencerConfig.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/FailoverLoadBalancerDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/WeightedLoadBalancerDefinition.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java?rev=1068971r1=1068970r2=1068971view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java Wed Feb 9 16:55:34 2011 @@ -46,9 +46,9 @@ import org.apache.camel.util.concurrent. public class OnCompletionDefinition extends ProcessorDefinitionOnCompletionDefinition implements ExecutorServiceAwareDefinitionOnCompletionDefinition { @XmlAttribute(required = false) -private Boolean onCompleteOnly = Boolean.FALSE; +private Boolean onCompleteOnly; @XmlAttribute(required = false) -private Boolean onFailureOnly = Boolean.FALSE; +private Boolean onFailureOnly; @XmlElement(name = onWhen, required = false) private WhenDefinition onWhen; @XmlElementRef @@ -85,7 +85,7 @@ public class OnCompletionDefinition exte @Override public Processor createProcessor(RouteContext routeContext) throws Exception { -if (onCompleteOnly onFailureOnly) { +if (isOnCompleteOnly() isOnFailureOnly()) { throw new IllegalArgumentException(Both onCompleteOnly and onFailureOnly cannot be true. Only one of them can be true. On node: + this); } @@ -106,7 +106,7 @@ public class OnCompletionDefinition exte // should be false by default boolean original = getUseOriginalMessagePolicy() != null ? getUseOriginalMessagePolicy() : false; OnCompletionProcessor answer = new OnCompletionProcessor(routeContext.getCamelContext(), childProcessor, -executorService, onCompleteOnly, onFailureOnly, when, original); +executorService, isOnCompleteOnly(), isOnFailureOnly(), when, original); return answer; } @@ -141,7 +141,7 @@ public class OnCompletionDefinition exte * @return the builder */ public OnCompletionDefinition onCompleteOnly() { -if (onFailureOnly) { +if (isOnFailureOnly()) { throw new IllegalArgumentException(Both onCompleteOnly and onFailureOnly cannot be true. Only one of them can be true. On node: + this); } // must define return type as OutputDefinition and not this type to avoid end user being able @@ -157,7 +157,7 @@ public class OnCompletionDefinition exte * @return the builder */ public OnCompletionDefinition onFailureOnly() { -if (onCompleteOnly) { +if (isOnCompleteOnly()) { throw new IllegalArgumentException(Both onCompleteOnly and onFailureOnly cannot be true. Only one of them can be true. On node: + this); } // must define return type as OutputDefinition and not this type to avoid end user being able @@ -225,6 +225,10 @@ public class OnCompletionDefinition exte this.outputs = outputs; } +public boolean isOnCompleteOnly() { +return onCompleteOnly != null onCompleteOnly.booleanValue(); +} + public Boolean getOnCompleteOnly() { return onCompleteOnly; } @@ -233,6 +237,10 @@ public class OnCompletionDefinition exte this.onCompleteOnly = onCompleteOnly; } +public boolean isOnFailureOnly() { +return onFailureOnly != null onFailureOnly.booleanValue(); +} + public Boolean getOnFailureOnly() { return onFailureOnly; } Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ResequenceDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main
svn commit: r1033410 - in /camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources: EndpointResource.index.ssp ExchangeResource.index.ssp
Author: jstrachan Date: Wed Nov 10 10:35:14 2010 New Revision: 1033410 URL: http://svn.apache.org/viewvc?rev=1033410view=rev Log: fixed up some bad markup, fixing the title of links Modified: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/EndpointResource.index.ssp camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/ExchangeResource.index.ssp Modified: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/EndpointResource.index.ssp URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/EndpointResource.index.ssp?rev=1033410r1=1033409r2=1033410view=diff == --- camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/EndpointResource.index.ssp (original) +++ camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/EndpointResource.index.ssp Wed Nov 10 10:35:14 2010 @@ -13,7 +13,7 @@ /tr #for(exchange - it.getBrowsableEndpoint.getExchanges) tr - tda class='message' href='${uri(it.getHref + /messages/ + exchange.getExchangeId)}' attributes(title) = View this message${exchange.getExchangeId}/a/td + tda class='message' href='${uri(it.getHref + /messages/ + exchange.getExchangeId)}' title=View this message${exchange.getExchangeId}/a/td /tr #end /table Modified: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/ExchangeResource.index.ssp URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/ExchangeResource.index.ssp?rev=1033410r1=1033409r2=1033410view=diff == --- camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/ExchangeResource.index.ssp (original) +++ camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/ExchangeResource.index.ssp Wed Nov 10 10:35:14 2010 @@ -20,7 +20,7 @@ #for(entry - it.getProperties) tr td${entry.getKey}/td -tda class=type attributes(title) = ${entry.getValue.getClass.getCanonicalName}${entry.getValue}/a/td +tda class=type title=${entry.getValue.getClass.getCanonicalName}${entry.getValue}/a/td /tr #end /table @@ -37,7 +37,7 @@ #for(entry - it.getHeaders) tr td${entry.getKey}/td -tda class=type attributes(title) = ${entry.getValue.getClass.getCanonicalName}${entry.getValue}/a/td +tda class=type title=${entry.getValue.getClass.getCanonicalName}${entry.getValue}/a/td /tr #end /table
svn commit: r1000757 - /camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolver.java
Author: jstrachan Date: Fri Sep 24 08:38:42 2010 New Revision: 1000757 URL: http://svn.apache.org/viewvc?rev=1000757view=rev Log: Added a helper constructor in case folks want to reuse the jaxb resolver with a different set of packages Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolver.java Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolver.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolver.java?rev=1000757r1=1000756r2=1000757view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolver.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolver.java Fri Sep 24 08:38:42 2010 @@ -19,6 +19,7 @@ package org.apache.camel.web.util; import javax.ws.rs.ext.ContextResolver; import javax.ws.rs.ext.Provider; import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; /** * A resolver of the JAXB context primed for the Camel XML languages @@ -27,12 +28,16 @@ import javax.xml.bind.JAXBContext; * @version $Revision$ */ @Provider -public final class JAXBContextResolver implements ContextResolverJAXBContext { +public class JAXBContextResolver implements ContextResolverJAXBContext { private final JAXBContext context; private String packages; public JAXBContextResolver() throws Exception { -this.packages = org.apache.camel.web.resources.Constants.JAXB_PACKAGES; +this(org.apache.camel.web.resources.Constants.JAXB_PACKAGES); +} + +public JAXBContextResolver(String packages) throws JAXBException { +this.packages = packages; this.context = JAXBContext.newInstance(packages); }
svn commit: r984381 - in /camel/trunk/components/camel-web/src: main/webapp/WEB-INF/com/ main/webapp/WEB-INF/org/ main/webapp/WEB-INF/org/apache/camel/web/resources/ main/webapp/WEB-INF/snippets/ main
Author: jstrachan Date: Wed Aug 11 11:41:14 2010 New Revision: 984381 URL: http://svn.apache.org/viewvc?rev=984381view=rev Log: moved the templates inside WEB-INF so they are not visible outside of the web application; fixed up some bad HTML links in a template and fixed a failing test that ningjiang seems to have reverted a previous fix on :) Added: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/com/ - copied from r984346, camel/trunk/components/camel-web/src/main/webapp/com/ camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/ - copied from r984346, camel/trunk/components/camel-web/src/main/webapp/org/ camel/trunk/components/camel-web/src/main/webapp/WEB-INF/snippets/ camel/trunk/components/camel-web/src/main/webapp/WEB-INF/snippets/camelContextLinks.ssp Removed: camel/trunk/components/camel-web/src/main/webapp/com/ camel/trunk/components/camel-web/src/main/webapp/org/ Modified: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/CamelContextResource.index.ssp camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java Modified: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/CamelContextResource.index.ssp URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/CamelContextResource.index.ssp?rev=984381r1=984346r2=984381view=diff == --- camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/CamelContextResource.index.ssp (original) +++ camel/trunk/components/camel-web/src/main/webapp/WEB-INF/org/apache/camel/web/resources/CamelContextResource.index.ssp Wed Aug 11 11:41:14 2010 @@ -8,34 +8,6 @@ pWelcome to the Web Console for instance b${it.getName}/b./p pWe hope you find the following links helpful/p -ul - li -a href=${uri(/endpoints)} attributes(title) = View current endpoints or create new onesEndpoints/a - /li - li -a href=${uri(/routes)} attributes(title) = View current routesRoutes/a - /li - li -a href=${uri(/api)} attributes(title) = Documentation on the REST API to CamelAPI/a - /li -/ul - -pThe following diagnostic links might be useful too... -/p - -ul - li -a href=${uri(/components)} attributes(title) = View the available components you can use with CamelComponents/a - /li - li -a href=${uri(/languages)} attributes(title) = View the available languages you can use with CamelLanguages/a - /li - li -a href=${uri(/converters)} attributes(title) = View the available type converters currently registered with CamelType Converters/a - /li - li -a href=${uri(/systemProperties)} attributes(title) = View the System Properties used to create this serviceSystem Properties/a - /li -/ul +#{ include(/WEB-INF/snippets/camelContextLinks.ssp) }# pLets take it for a ride!/p \ No newline at end of file Added: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/snippets/camelContextLinks.ssp URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/WEB-INF/snippets/camelContextLinks.ssp?rev=984381view=auto == --- camel/trunk/components/camel-web/src/main/webapp/WEB-INF/snippets/camelContextLinks.ssp (added) +++ camel/trunk/components/camel-web/src/main/webapp/WEB-INF/snippets/camelContextLinks.ssp Wed Aug 11 11:41:14 2010 @@ -0,0 +1,30 @@ + +ul + li +a href='${uri(/endpoints)}' title=View current endpoints or create new onesEndpoints/a + /li + li +a href='${uri(/routes)}' title=View current routesRoutes/a + /li + li +a href='${uri(/api)}' title=Documentation on the REST API to CamelAPI/a + /li +/ul + +pThe following diagnostic links might be useful too... +/p + +ul + li +a href='${uri(/components)}' title=View the available components you can use with CamelComponents/a + /li + li +a href='${uri(/languages)}' title=View the available languages you can use with CamelLanguages/a + /li + li +a href='${uri(/converters)}' title=View the available type converters currently registered with CamelType Converters/a + /li + li +a href='${uri(/systemProperties)}' title=View the System Properties used to create this serviceSystem Properties/a + /li +/ul \ No newline at end of file Modified: camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java?rev=984381r1=984380r2=984381view=diff == --- camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java (original) +++ camel/trunk
svn commit: r984461 - /camel/trunk/parent/pom.xml
Author: jstrachan Date: Wed Aug 11 16:20:36 2010 New Revision: 984461 URL: http://svn.apache.org/viewvc?rev=984461view=rev Log: upgraded to the latest/greatest scala release Modified: camel/trunk/parent/pom.xml Modified: camel/trunk/parent/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=984461r1=984460r2=984461view=diff == --- camel/trunk/parent/pom.xml (original) +++ camel/trunk/parent/pom.xml Wed Aug 11 16:20:36 2010 @@ -106,8 +106,8 @@ quartz-version1.8.3/quartz-version restlet-version1.1.10/restlet-version saxon-version9.1.0.8/saxon-version -scala-version2.8.0.RC7/scala-version -scala-plugin-version2.9.1/scala-plugin-version +scala-version2.8.0/scala-version +scala-plugin-version2.14.1/scala-plugin-version shiro-version1.0.0-incubating/shiro-version slf4j-version1.6.0/slf4j-version smack-version3.1.0/smack-version
svn commit: r983574 - in /camel/trunk/camel-core/src/main/java/org/apache/camel: impl/DefaultEndpoint.java spi/HasId.java util/EndpointHelper.java
Author: jstrachan Date: Mon Aug 9 10:24:15 2010 New Revision: 983574 URL: http://svn.apache.org/viewvc?rev=983574view=rev Log: fix for CAMEL-3035 Added: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasId.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java camel/trunk/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java?rev=983574r1=983573r2=983574view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java Mon Aug 9 10:24:15 2010 @@ -27,6 +27,8 @@ import org.apache.camel.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; import org.apache.camel.PollingConsumer; +import org.apache.camel.spi.HasId; +import org.apache.camel.util.EndpointHelper; import org.apache.camel.util.ObjectHelper; /** @@ -39,13 +41,15 @@ import org.apache.camel.util.ObjectHelpe * * @version $Revision$ */ -public abstract class DefaultEndpoint implements Endpoint, CamelContextAware { +public abstract class DefaultEndpoint implements Endpoint, HasId, CamelContextAware { + private String endpointUri; private CamelContext camelContext; private Component component; private ExchangePattern exchangePattern = ExchangePattern.InOnly; // option to allow end user to dictate whether async processing should be used or not (if possible) private boolean synchronous; +private final String id = EndpointHelper.createEndpointId(); protected DefaultEndpoint(String endpointUri, Component component) { this(endpointUri, component.getCamelContext()); @@ -83,6 +87,14 @@ public abstract class DefaultEndpoint im return Endpoint[ + getEndpointUri() + ]; } +/** + * Returns a unique String ID which can be used for aliasing without having to use the whole URI which + * is not unique + */ +public String getId() { +return id; +} + public String getEndpointUri() { if (endpointUri == null) { endpointUri = createEndpointUri(); Added: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasId.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasId.java?rev=983574view=auto == --- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasId.java (added) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/HasId.java Mon Aug 9 10:24:15 2010 @@ -0,0 +1,26 @@ +/** + * + * 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.spi; + +/** + * A simple marker interface for an object which has a unique ID which is useful for referring to objects + * in REST or JMX style APIs + */ +public interface HasId { +String getId(); +} Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java?rev=983574r1=983573r2=983574view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/util/EndpointHelper.java Mon Aug 9 10:24:15 2010 @@ -22,6 +22,7 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; import java.util.regex.PatternSyntaxException; import org.apache.camel.CamelContext; @@ -42,6 +43,7 @@ import org.apache.commons.logging.LogFac public final class EndpointHelper { private static final transient Log LOG = LogFactory.getLog(EndpointHelper.class); +private static final
svn commit: r983575 - in /camel/trunk/components/camel-web: ./ src/main/java/org/apache/camel/web/model/ src/main/java/org/apache/camel/web/resources/ src/main/resources/ src/main/webapp/org/apache/ca
Author: jstrachan Date: Mon Aug 9 10:25:10 2010 New Revision: 983575 URL: http://svn.apache.org/viewvc?rev=983575view=rev Log: fix for CAMEL-3036 using CAMEL-3035 as a way to make easier endpoint links Modified: camel/trunk/components/camel-web/pom.xml camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/EndpointLink.java camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java camel/trunk/components/camel-web/src/main/resources/logback.xml camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/CamelContextResource.index.ssp Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=983575r1=983574r2=983575view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Mon Aug 9 10:25:10 2010 @@ -334,6 +334,16 @@ plugin groupIdorg.codehaus.mojo/groupId +artifactIdtomcat-maven-plugin/artifactId +version1.0/version +configuration + path/rider/path +/configuration + /plugin + + + plugin +groupIdorg.codehaus.mojo/groupId artifactIdexec-maven-plugin/artifactId version1.1.1/version executions Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/EndpointLink.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/EndpointLink.java?rev=983575r1=983574r2=983575view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/EndpointLink.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/EndpointLink.java Mon Aug 9 10:25:10 2010 @@ -22,6 +22,7 @@ import javax.xml.bind.annotation.XmlAttr import javax.xml.bind.annotation.XmlRootElement; import org.apache.camel.Endpoint; +import org.apache.camel.spi.HasId; import org.apache.camel.web.util.UriCharactersEncoder; /** @@ -55,12 +56,12 @@ public class EndpointLink { public void load(Endpoint endpoint) { this.uri = endpoint.getEndpointUri(); -this.href = createHref(uri); +this.href = createHref(uri, endpoint); } public void load(String key, Endpoint endpoint) { this.uri = endpoint.getEndpointUri(); -this.href = createHref(key); +this.href = createHref(key, endpoint); } public String getHref() { @@ -79,10 +80,16 @@ public class EndpointLink { this.uri = uri; } -protected String createHref(String uri) { -// must not include :// in endpoint link -// TODO: might need to use org.apache.camel.util.UnsafeUriCharactersEncoder to safely encode URI for the web -return /endpoints/ + UriCharactersEncoder.encode(uri); +protected String createHref(String uri, Endpoint endpoint) { +if (endpoint instanceof HasId) { +HasId hasId = (HasId) endpoint; +String id = hasId.getId(); +return /endpoints/ + id; +} else { +// must not include :// in endpoint link +// TODO: might need to use org.apache.camel.util.UnsafeUriCharactersEncoder to safely encode URI for the web +return /endpoints/ + UriCharactersEncoder.encode(uri); +} } } Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java?rev=983575r1=983574r2=983575view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java Mon Aug 9 10:25:10 2010 @@ -33,8 +33,11 @@ import javax.ws.rs.core.UriInfo; import com.sun.jersey.api.representation.Form; import com.sun.jersey.api.view.Viewable; import org.apache.camel.Endpoint; +import org.apache.camel.spi.HasId; import org.apache.camel.web.model.EndpointLink; import org.apache.camel.web.model.Endpoints; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** * The active endpoints in Camel @@ -42,6 +45,8 @@ import org.apache.camel.web.model.Endpoi * @version $Revision$ */ public class EndpointsResource extends CamelChildResourceSupport { +private static final transient Log LOG = LogFactory.getLog(EndpointsResource.class); + private String error = ; private String newUri = mock:someName; @@ -75,9 +80,22 @@ public
svn commit: r983580 - /camel/trunk/components/camel-web/pom.xml
Author: jstrachan Date: Mon Aug 9 10:54:31 2010 New Revision: 983580 URL: http://svn.apache.org/viewvc?rev=983580view=rev Log: use http://localhost:8080/ for default context when running with mvn tomcat:run Modified: camel/trunk/components/camel-web/pom.xml Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=983580r1=983579r2=983580view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Mon Aug 9 10:54:31 2010 @@ -337,7 +337,7 @@ artifactIdtomcat-maven-plugin/artifactId version1.0/version configuration - path/rider/path + path//path /configuration /plugin
svn commit: r983585 - in /camel/trunk/components/camel-web: pom.xml src/main/webapp/favicon.ico src/test/java/org/apache/camel/web/spring/CamelRouteTest.java
Author: jstrachan Date: Mon Aug 9 11:07:21 2010 New Revision: 983585 URL: http://svn.apache.org/viewvc?rev=983585view=rev Log: upgraded Jersey to get nicer stack traces with 404s, fixed up failing test case and added a better favicon.ico Modified: camel/trunk/components/camel-web/pom.xml camel/trunk/components/camel-web/src/main/webapp/favicon.ico camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=983585r1=983584r2=983585view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Mon Aug 9 11:07:21 2010 @@ -31,15 +31,9 @@ properties camel.osgi.export.pkgorg.apache.camel.web.*/camel.osgi.export.pkg scalate-version1.3-SNAPSHOT/scalate-version -jersey-version1.4-ea04/jersey-version -!-- -jersey-version1.4-SNAPSHOT/jersey-version --- +jersey-version1.4-ea05/jersey-version logback-version0.9.24/logback-version jetty-port8080/jetty-port -!-- - webdriver-version0.6.1039/webdriver-version --- webdriver-version0.9.7376/webdriver-version /properties Modified: camel/trunk/components/camel-web/src/main/webapp/favicon.ico URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/favicon.ico?rev=983585r1=983584r2=983585view=diff == Binary files - no diff available. Modified: camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java?rev=983585r1=983584r2=983585view=diff == --- camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java (original) +++ camel/trunk/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java Mon Aug 9 11:07:21 2010 @@ -58,7 +58,8 @@ public class CamelRouteTest extends Asse public void setUp() throws Exception { applicationContext = new FileSystemXmlApplicationContext(src/main/webapp/WEB-INF/applicationContext.xml); applicationContext.start(); -camelContext = (CamelContext) applicationContext.getBean(camelContext, CamelContext.class); +camelContext = applicationContext.getBean(CamelContext.class); +//applicationContext.getBean(camelContext, CamelContext.class); assertNotNull(camelContext, camelContext); }
svn commit: r983721 - in /camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources: CamelContextResource/ ComponentResource/ ComponentsResource/ ConvertersFromResource/ Converte
Author: jstrachan Date: Mon Aug 9 16:38:55 2010 New Revision: 983721 URL: http://svn.apache.org/viewvc?rev=983721view=rev Log: zapped some old JSP cruft Removed: camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/CamelContextResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/ComponentResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/ComponentsResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/ConvertersFromResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/ConvertersResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/EndpointResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/EndpointsResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/ExchangeResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguageResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguagesResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RouteResource/ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RoutesResource/
svn commit: r983723 - in /camel/trunk/components/camel-web/src/main/webapp: WEB-INF/jspf/ com/sun/jersey/server/impl/wadl/WadlResource/ com/sun/jersey/server/impl/wadl/WadlResourceResource/
Author: jstrachan Date: Mon Aug 9 16:39:28 2010 New Revision: 983723 URL: http://svn.apache.org/viewvc?rev=983723view=rev Log: zapped some old JSP cruft Removed: camel/trunk/components/camel-web/src/main/webapp/WEB-INF/jspf/ camel/trunk/components/camel-web/src/main/webapp/com/sun/jersey/server/impl/wadl/WadlResource/ camel/trunk/components/camel-web/src/main/webapp/com/sun/jersey/server/impl/wadl/WadlResourceResource/
svn commit: r982898 - /camel/trunk/components/pom.xml
Author: jstrachan Date: Fri Aug 6 07:35:50 2010 New Revision: 982898 URL: http://svn.apache.org/viewvc?rev=982898view=rev Log: moved camel-web to be jdk6 only Modified: camel/trunk/components/pom.xml Modified: camel/trunk/components/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/pom.xml?rev=982898r1=982897r2=982898view=diff == --- camel/trunk/components/pom.xml (original) +++ camel/trunk/components/pom.xml Fri Aug 6 07:35:50 2010 @@ -115,7 +115,20 @@ modulecamel-xmlsecurity/module modulecamel-xmpp/module modulecamel-xstream/module -modulecamel-web/module -modulecamel-web-standalone/module /modules + + profiles +profile + idjdk1.6-modules/id + activation +!-- for maven 2.0.x syntax -- +jdk1.6/jdk + /activation + modules +modulecamel-web/module +modulecamel-web-standalone/module + /modules +/profile + /profiles + /project
svn commit: r982947 - /camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java
Author: jstrachan Date: Fri Aug 6 13:16:30 2010 New Revision: 982947 URL: http://svn.apache.org/viewvc?rev=982947view=rev Log: added helper method Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java?rev=982947r1=982946r2=982947view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java Fri Aug 6 13:16:30 2010 @@ -42,6 +42,10 @@ public class Route { return route.getId(); } +public String idOrCreate() { +return route.idOrCreate(camelContext.getNodeIdFactory()); +} + public DescriptionDefinition getDescription() { return route.getDescription(); }
svn commit: r982979 - /camel/trunk/components/camel-web/pom.xml
Author: jstrachan Date: Fri Aug 6 14:18:25 2010 New Revision: 982979 URL: http://svn.apache.org/viewvc?rev=982979view=rev Log: fix old versions of jersey in pom for CAMEL-3028 Modified: camel/trunk/components/camel-web/pom.xml Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=982979r1=982978r2=982979view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Fri Aug 6 14:18:25 2010 @@ -357,10 +357,10 @@ goals goaljavadoc/goal /goals +phasepackage/phase !-- - phasecompile/phase +phasecompile/phase -- - phasepackage/phase /execution /executions @@ -376,12 +376,12 @@ docletArtifact groupIdcom.sun.jersey.contribs/groupId artifactIdmaven-wadl-plugin/artifactId - version1.1.4.1/version + version${jersey-version}/version /docletArtifact docletArtifact groupIdcom.sun.jersey.contribs/groupId artifactIdwadl-resourcedoc-doclet/artifactId - version1.1.4.1/version + version${jersey-version}/version /docletArtifact !-- Also specify jersey and xerces as doclet artifacts as the @@ -408,11 +408,13 @@ artifactIdjaxb-impl/artifactId version${jaxb-version}/version /docletArtifact +!-- docletArtifact groupIdjavax.activation/groupId artifactIdactivation/artifactId version1.1/version /docletArtifact +-- docletArtifact groupIdstax/groupId artifactIdstax-api/artifactId @@ -428,7 +430,7 @@ plugin groupIdcom.sun.jersey.contribs/groupId artifactIdmaven-wadl-plugin/artifactId - version1.1.4.1/version +version${jersey-version}/version executions execution idgenerate/id @@ -436,9 +438,11 @@ goalgenerate/goal /goals !-- - phasecompile/phase +TODO - for some reason using a compile phase with maven 2.2.1 and jetty:run causes an odd classloader bug + +phasecompile/phase -- - phasepackage/phase +phasepackage/phase /execution /executions configuration
svn commit: r982994 - /camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
Author: jstrachan Date: Fri Aug 6 14:39:24 2010 New Revision: 982994 URL: http://svn.apache.org/viewvc?rev=982994view=rev Log: added a little helper method for using in camel web Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java?rev=982994r1=982993r2=982994view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java Fri Aug 6 14:39:24 2010 @@ -137,6 +137,13 @@ public abstract class OptionalIdentified return customId; } +/** + * Returns the description text or null if there is no description text associated with this node + */ +public String getDescriptionText() { +return (description != null) ? description.getText() : null; +} + // Implementation methods // -
svn commit: r982998 - /camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java
Author: jstrachan Date: Fri Aug 6 14:48:55 2010 New Revision: 982998 URL: http://svn.apache.org/viewvc?rev=982998view=rev Log: major commit - not :) Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java?rev=982998r1=982997r2=982998view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/model/Route.java Fri Aug 6 14:48:55 2010 @@ -54,6 +54,7 @@ public class Route { DescriptionDefinition definition = getDescription(); return (definition != null) ? definition.getText() : ; } + public ServiceStatus getStatus() { return route.getStatus(camelContext); }
svn commit: r982599 - /camel/trunk/components/camel-web/pom.xml
Author: jstrachan Date: Thu Aug 5 13:06:16 2010 New Revision: 982599 URL: http://svn.apache.org/viewvc?rev=982599view=rev Log: added a temporary snapshot repo for CAMEL-3028 Modified: camel/trunk/components/camel-web/pom.xml Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=982599r1=982598r2=982599view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Thu Aug 5 13:06:16 2010 @@ -77,6 +77,19 @@ enabledfalse/enabled /snapshots /repository + + !-- temporary repo until scalate-1.3 is out -- +repository + idfusesource.m2-snapshot/id + nameFuseSource Community Snapshot Repository/name + urlhttp://repo.fusesource.com/maven2-snapshot/url + snapshots +enabledtrue/enabled + /snapshots + releases +enabledfalse/enabled + /releases +/repository /repositories pluginRepositories
svn commit: r982602 - /camel/trunk/components/camel-web/pom.xml
Author: jstrachan Date: Thu Aug 5 13:12:04 2010 New Revision: 982602 URL: http://svn.apache.org/viewvc?rev=982602view=rev Log: added the correct temporary snapshot repo for CAMEL-3028 Modified: camel/trunk/components/camel-web/pom.xml Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=982602r1=982601r2=982602view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Thu Aug 5 13:12:04 2010 @@ -80,9 +80,9 @@ !-- temporary repo until scalate-1.3 is out -- repository - idfusesource.m2-snapshot/id - nameFuseSource Community Snapshot Repository/name - urlhttp://repo.fusesource.com/maven2-snapshot/url + idfusesource.snapshots/id + nameFuseSource Snapshot Repository/name + urlhttp://repo.fusesource.com/nexus/content/repositories/snapshots/url snapshots enabledtrue/enabled /snapshots @@ -90,7 +90,7 @@ enabledfalse/enabled /releases /repository - /repositories + /repositories pluginRepositories pluginRepository
svn commit: r982612 - /camel/trunk/components/camel-web/pom.xml
Author: jstrachan Date: Thu Aug 5 13:30:06 2010 New Revision: 982612 URL: http://svn.apache.org/viewvc?rev=982612view=rev Log: work around for odd classloader bug in mvn 2.2.1 when executing javadoc/wadl plugins when trying to run mvn jetty:run CAMEL-3028 Modified: camel/trunk/components/camel-web/pom.xml Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=982612r1=982611r2=982612view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Thu Aug 5 13:30:06 2010 @@ -357,8 +357,10 @@ goals goaljavadoc/goal /goals +!-- phasecompile/phase - !--phasepackage/phase-- +-- + phasepackage/phase /execution /executions @@ -433,7 +435,10 @@ goals goalgenerate/goal /goals +!-- phasecompile/phase +-- + phasepackage/phase /execution /executions configuration
svn commit: r962488 - /camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java
Author: jstrachan Date: Fri Jul 9 11:50:24 2010 New Revision: 962488 URL: http://svn.apache.org/viewvc?rev=962488view=rev Log: expose the application context, so from a CamelContext you can find the ApplicationContext if you need it Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java?rev=962488r1=962487r2=962488view=diff == --- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java (original) +++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringInjector.java Fri Jul 9 11:50:24 2010 @@ -65,4 +65,9 @@ public class SpringInjector implements I public void setDependencyCheck(boolean dependencyCheck) { this.dependencyCheck = dependencyCheck; } + + +public ConfigurableApplicationContext getApplicationContext() { +return applicationContext; +} }
svn commit: r961759 - /camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java
Author: jstrachan Date: Thu Jul 8 13:16:54 2010 New Revision: 961759 URL: http://svn.apache.org/viewvc?rev=961759view=rev Log: made it easier to reuse the CamelResourceConfig class, letting you pass in the packages as a constructor Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java?rev=961759r1=961758r2=961759view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java Thu Jul 8 13:16:54 2010 @@ -34,13 +34,17 @@ import org.apache.camel.web.resources.Co public class CamelResourceConfig extends PackagesResourceConfig { public CamelResourceConfig() { -super(createProperties()); +this(org.apache.camel.web); } -protected static MapString, Object createProperties() { +public CamelResourceConfig(String packages) { +super(createProperties(packages)); +} + +protected static MapString, Object createProperties(String packages) { MapString, Object properties = new HashMapString, Object(); -properties.put(PackagesResourceConfig.PROPERTY_PACKAGES, getResourcePackages()); +properties.put(PackagesResourceConfig.PROPERTY_PACKAGES, packages); WadlGeneratorConfig config = WadlGeneratorConfig .generator(WadlGeneratorApplicationDoc.class) @@ -63,8 +67,4 @@ public class CamelResourceConfig extends m.put(dot, MediaType.valueOf(Constants.DOT_MIMETYPE)); return m; } - -protected static String getResourcePackages() { -return org.apache.camel.web; -} } \ No newline at end of file
svn commit: r960883 - /camel/trunk/camel-core/src/main/java/org/apache/camel/model/DescriptionDefinition.java
Author: jstrachan Date: Tue Jul 6 12:06:11 2010 New Revision: 960883 URL: http://svn.apache.org/viewvc?rev=960883view=rev Log: fix for CAMEL-2910 so we can store x,y and width,height locations of nodes in diagrams when visualising or editing routes Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/DescriptionDefinition.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/DescriptionDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/DescriptionDefinition.java?rev=960883r1=960882r2=960883view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/DescriptionDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/DescriptionDefinition.java Tue Jul 6 12:06:11 2010 @@ -32,6 +32,14 @@ import javax.xml.bind.annotation.XmlValu public class DescriptionDefinition { @XmlAttribute(required = false) private String lang; +@XmlAttribute(required = false) +private Double layoutX; +@XmlAttribute(required = false) +private Double layoutY; +@XmlAttribute(required = false) +private Double layoutWidth; +@XmlAttribute(required = false) +private Double layoutHeight; @XmlValue private String text; @@ -51,4 +59,36 @@ public class DescriptionDefinition { public void setText(String text) { this.text = text; } + +public Double getLayoutHeight() { +return layoutHeight; +} + +public void setLayoutHeight(Double layoutHeight) { +this.layoutHeight = layoutHeight; +} + +public Double getLayoutWidth() { +return layoutWidth; +} + +public void setLayoutWidth(Double layoutWidth) { +this.layoutWidth = layoutWidth; +} + +public Double getLayoutX() { +return layoutX; +} + +public void setLayoutX(Double layoutX) { +this.layoutX = layoutX; +} + +public Double getLayoutY() { +return layoutY; +} + +public void setLayoutY(Double layoutY) { +this.layoutY = layoutY; +} }
svn commit: r960907 - in /camel/trunk/camel-core/src/main/java/org/apache/camel: model/BeanDefinition.java model/ExpressionNode.java model/FromDefinition.java model/OptionalIdentifiedDefinition.java m
Author: jstrachan Date: Tue Jul 6 14:47:12 2010 New Revision: 960907 URL: http://svn.apache.org/viewvc?rev=960907view=rev Log: fix for CAMEL-2913 so we can mark some common properties as being required to help tooling Added: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/Required.java (contents, props changed) - copied, changed from r960836, camel/trunk/camel-core/src/main/java/org/apache/camel/Consume.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java?rev=960907r1=960906r2=960907view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java Tue Jul 6 14:47:12 2010 @@ -25,6 +25,7 @@ import javax.xml.bind.annotation.XmlTran import org.apache.camel.Processor; import org.apache.camel.component.bean.BeanProcessor; import org.apache.camel.component.bean.RegistryBean; +import org.apache.camel.spi.Required; import org.apache.camel.spi.RouteContext; import org.apache.camel.util.CamelContextHelper; import org.apache.camel.util.ObjectHelper; @@ -72,6 +73,7 @@ public class BeanDefinition extends Outp return ref; } +@Required public void setRef(String ref) { this.ref = ref; } Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java?rev=960907r1=960906r2=960907view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java Tue Jul 6 14:47:12 2010 @@ -28,6 +28,7 @@ import org.apache.camel.Predicate; import org.apache.camel.Processor; import org.apache.camel.model.language.ExpressionDefinition; import org.apache.camel.processor.FilterProcessor; +import org.apache.camel.spi.Required; import org.apache.camel.spi.RouteContext; /** @@ -70,6 +71,7 @@ public class ExpressionNode extends Proc return expression; } +@Required public void setExpression(ExpressionDefinition expression) { this.expression = expression; } Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java?rev=960907r1=960906r2=960907view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java Tue Jul 6 14:47:12 2010 @@ -23,6 +23,7 @@ import javax.xml.bind.annotation.XmlRoot import javax.xml.bind.annotation.XmlTransient; import org.apache.camel.Endpoint; +import org.apache.camel.spi.Required; import org.apache.camel.spi.RouteContext; import org.apache.camel.util.ObjectHelper; @@ -87,6 +88,7 @@ public class FromDefinition extends Opti * * @param uri the endpoint URI to use */ +@Required public void setUri(String uri) { this.uri = uri; clear(); Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java?rev=960907r1=960906r2=960907view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java Tue Jul 6 14:47:12 2010 @@ -35,7 +35,7 @@ import org.apache.camel.spi.NodeIdFactor */ @XmlType(name = optionalIdentifiedDefinition) @XmlAccessorType(XmlAccessType.FIELD) -public abstract class OptionalIdentifiedDefinitionT extends OptionalIdentifiedDefinition { +public abstract class OptionalIdentifiedDefinitionT extends OptionalIdentifiedDefinitionT { @XmlAttribute(required
svn commit: r959563 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/model/ components/camel-bam/src/main/java/org/apache/camel/bam/rules/ components/camel-scala/src/test/scala/org/apache/
Author: jstrachan Date: Thu Jul 1 09:14:59 2010 New Revision: 959563 URL: http://svn.apache.org/viewvc?rev=959563view=rev Log: fix for CAMEL-2883 along with a test case in camel-scala so that we can use the ProcessorDefintion typed methods in the model from Scala without getting compile errors due to bad use of generics Added: camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/UsingModelTest.scala - copied, changed from r959354, camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/ScalaTypeConverterTest.scala Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/ConvertBodyDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/FinallyDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/MulticastDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/OtherwiseDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/OutputDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/PipelineDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/PolicyDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/RemoveHeaderDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/RemoveHeadersDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/RemovePropertyDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/ResequenceDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/SamplingDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/SetExchangePatternDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/StopDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThrottleDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/TransactedDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/rules/TemporalRule.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java?rev=959563r1=959562r2=959563view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/AOPDefinition.java Thu Jul 1 09:14:59 2010 @@ -36,7 +36,7 @@ import org.apache.camel.spi.RouteContext @XmlRootElement(name = aop) @XmlAccessorType(XmlAccessType.FIELD) @Deprecated -public class AOPDefinition extends OutputDefinitionProcessorDefinition { +public class AOPDefinition extends OutputDefinitionAOPDefinition { @XmlAttribute(required = false) private String beforeUri; Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java?rev=959563r1=959562r2=959563view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/BeanDefinition.java Thu Jul 1 09:14:59 2010 @@ -36,7 +36,7 @@ import org.apache.camel.util.ObjectHelpe */ @XmlRootElement(name = bean) @XmlAccessorType(XmlAccessType.FIELD) -public class BeanDefinition extends OutputDefinitionProcessorDefinition { +public class BeanDefinition extends OutputDefinitionBeanDefinition { @XmlAttribute(required = false) private String ref; @XmlAttribute(required = false) Modified
svn commit: r959624 - /camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RouteResource.java
Author: jstrachan Date: Thu Jul 1 11:43:20 2010 New Revision: 959624 URL: http://svn.apache.org/viewvc?rev=959624view=rev Log: exposed the id property Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RouteResource.java Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RouteResource.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RouteResource.java?rev=959624r1=959623r2=959624view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RouteResource.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RouteResource.java Thu Jul 1 11:43:20 2010 @@ -376,4 +376,7 @@ public class RouteResource extends Camel return error; } +public String getId() { +return id; +} }
svn commit: r959694 - in /camel/trunk/components/camel-web/src/main: java/org/apache/camel/web/resources/RoutesResource.java webapp/org/apache/camel/web/resources/RouteResource/index.jsp
Author: jstrachan Date: Thu Jul 1 15:27:48 2010 New Revision: 959694 URL: http://svn.apache.org/viewvc?rev=959694view=rev Log: fix for CAMEL-2891 to use a URI template for languages which doesn't clash and preserves extensibility to other representations Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RouteResource/index.jsp Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java?rev=959694r1=959693r2=959694view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java Thu Jul 1 15:27:48 2010 @@ -111,7 +111,7 @@ public class RoutesResource extends Came /** * Looks up an individual route with specified language */ -@Path({id}/{language}) +@Path({id}/lang/{language}) public RouteResource getRoute(@PathParam(id) String id, @PathParam(language) String language) { RouteResource routeResource = getRoute(id); if (routeResource != null) { Modified: camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RouteResource/index.jsp URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RouteResource/index.jsp?rev=959694r1=959693r2=959694view=diff == --- camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RouteResource/index.jsp (original) +++ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RouteResource/index.jsp Thu Jul 1 15:27:48 2010 @@ -18,8 +18,8 @@ /div ul -lia href='c:url value=/routes/${it.route.id}/xml/edit/'Edit Route in Xml/a -lia href='c:url value=/routes/${it.route.id}/groovy/edit/'Edit Route in Groovy/a +lia href='c:url value=/routes/${it.route.id}/lang/xml/edit/'Edit Route in Xml/a +lia href='c:url value=/routes/${it.route.id}/lang/groovy/edit/'Edit Route in Groovy/a liEdit Route in Ruby liEdit Route in Scala /ul
svn commit: r959731 - in /camel/trunk/camel-core/src/main/java/org/apache/camel: model/FromDefinition.java model/SendDefinition.java view/GraphSupport.java
Author: jstrachan Date: Thu Jul 1 17:26:41 2010 New Revision: 959731 URL: http://svn.apache.org/viewvc?rev=959731view=rev Log: fix for CAMEL-2893 so that getUriOrRef will return non-null when there is a URI defined Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java?rev=959731r1=959730r2=959731view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java Thu Jul 1 17:26:41 2010 @@ -119,7 +119,7 @@ public class FromDefinition extends Opti * Returns the endpoint URI or the name of the reference to it */ public Object getUriOrRef() { -if (ObjectHelper.isEmpty(uri)) { +if (ObjectHelper.isNotEmpty(uri)) { return uri; } else if (endpoint != null) { return endpoint.getEndpointUri(); Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java?rev=959731r1=959730r2=959731view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java Thu Jul 1 17:26:41 2010 @@ -105,7 +105,7 @@ public abstract class SendDefinitionTyp */ public Object getUriOrRef() { String uri = getUri(); -if (ObjectHelper.isEmpty(uri)) { +if (ObjectHelper.isNotEmpty(uri)) { return uri; } else if (endpoint != null) { return endpoint.getEndpointUri(); Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java?rev=959731r1=959730r2=959731view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java Thu Jul 1 17:26:41 2010 @@ -67,7 +67,10 @@ public class GraphSupport { ToDefinition toType = (ToDefinition) node; key = toType.getUriOrRef(); } -NodeData answer = nodeMap.get(key); +NodeData answer = null; +if (key != null) { +answer = nodeMap.get(key); +} if (answer == null) { String id = node + (nodeMap.size() + 1); answer = new NodeData(id, node, imagePrefix);
svn commit: r954908 - /camel/trunk/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java
Author: jstrachan Date: Tue Jun 15 14:29:40 2010 New Revision: 954908 URL: http://svn.apache.org/viewvc?rev=954908view=rev Log: added type converter so its easy to set the description on a ProcessorDefinition using reflection with a String Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java?rev=954908r1=954907r2=954908view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/converter/CamelConverter.java Tue Jun 15 14:29:40 2010 @@ -22,6 +22,7 @@ import org.apache.camel.Expression; import org.apache.camel.Message; import org.apache.camel.Predicate; import org.apache.camel.Processor; +import org.apache.camel.model.DescriptionDefinition; /** * Some useful converters for Camel APIs such as to convert a {...@link Predicate} or {...@link Expression} @@ -56,4 +57,11 @@ public class CamelConverter { } }; } + +@Converter +public DescriptionDefinition toDefinition(String descriptionText) { +DescriptionDefinition answer = new DescriptionDefinition(); +answer.setText(descriptionText); +return answer; +} }
svn commit: r921447 - in /camel/trunk/camel-core/src/main/java/org/apache/camel/view: GraphGeneratorSupport.java GraphSupport.java RouteDotGenerator.java
Author: jstrachan Date: Wed Mar 10 16:50:51 2010 New Revision: 921447 URL: http://svn.apache.org/viewvc?rev=921447view=rev Log: minor refactor of the Graph visualisation code making it easier to reuse the code without necessarily creating a text output file from the EIP model Added: camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java (with props) Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java camel/trunk/camel-core/src/main/java/org/apache/camel/view/RouteDotGenerator.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java?rev=921447r1=921446r2=921447view=diff == --- camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java Wed Mar 10 16:50:51 2010 @@ -42,14 +42,11 @@ import org.apache.commons.logging.LogFac /** * @version $Revision$ */ -public abstract class GraphGeneratorSupport { -protected final transient Log log = LogFactory.getLog(getClass()); +public abstract class GraphGeneratorSupport extends GraphSupport { protected String dir; protected int clusterCounter; protected String extension; -private final String imagePrefix = http://camel.apache.org/images/eip/;; -private final MapObject, NodeData nodeMap = new HashMapObject, NodeData(); private final boolean makeParentDirs = true; private MapString, ListRouteDefinition routeGroupMap; @@ -112,61 +109,4 @@ public abstract class GraphGeneratorSupp protected abstract void generateFile(PrintWriter writer, MapString, ListRouteDefinition map); -protected boolean isMulticastNode(ProcessorDefinition node) { -return node instanceof MulticastDefinition || node instanceof ChoiceDefinition; -} - -protected String getLabel(ListExpressionDefinition expressions) { -CollectionStringBuffer buffer = new CollectionStringBuffer(); -for (ExpressionDefinition expression : expressions) { -buffer.append(getLabel(expression)); -} -return buffer.toString(); -} - -protected String getLabel(ExpressionDefinition expression) { -if (expression != null) { -return expression.getLabel(); -} -return ; -} - -protected NodeData getNodeData(Object node) { -Object key = node; -if (node instanceof FromDefinition) { -FromDefinition fromType = (FromDefinition) node; -key = fromType.getUriOrRef(); -} else if (node instanceof ToDefinition) { -ToDefinition toType = (ToDefinition) node; -key = toType.getUriOrRef(); -} -NodeData answer = nodeMap.get(key); -if (answer == null) { -String id = node + (nodeMap.size() + 1); -answer = new NodeData(id, node, imagePrefix); -nodeMap.put(key, answer); -} -return answer; -} - -protected MapString, ListRouteDefinition createRouteGroupMap(ListRouteDefinition routes) { -MapString, ListRouteDefinition map = new HashMapString, ListRouteDefinition(); -for (RouteDefinition route : routes) { -addRouteToMap(map, route); -} -return map; -} - -protected void addRouteToMap(MapString, ListRouteDefinition map, RouteDefinition route) { -String group = route.getGroup(); -if (group == null) { -group = Camel Routes; -} -ListRouteDefinition list = map.get(group); -if (list == null) { -list = new ArrayListRouteDefinition(); -map.put(group, list); -} -list.add(route); -} } Added: camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java?rev=921447view=auto == --- camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java (added) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphSupport.java Wed Mar 10 16:50:51 2010 @@ -0,0 +1,134 @@ +/** + * + * 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
svn commit: r905598 - in /camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala: RichExchange.scala RichMessage.scala
Author: jstrachan Date: Tue Feb 2 12:11:30 2010 New Revision: 905598 URL: http://svn.apache.org/viewvc?rev=905598view=rev Log: added a RichMessage plus made RichExchange an Exchange implementation so it can be used in the scalate endpoint Added: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala Modified: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala Modified: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala?rev=905598r1=905597r2=905598view=diff == --- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala (original) +++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichExchange.scala Tue Feb 2 12:11:30 2010 @@ -16,13 +16,15 @@ */ package org.apache.camel.scala -import org.apache.camel.Exchange import reflect.Manifest +import org.apache.camel.spi.{UnitOfWork, Synchronization} +import org.apache.camel.{ExchangePattern, Message, Endpoint, Exchange} +import java.lang.{Exception, String, Class} /** * Rich wrapper for Camel's Exchange implementations */ -class RichExchange(val exchange : Exchange) { +class RichExchange(val exchange : Exchange) extends Exchange { def in : Any = exchange.getIn().getBody() @@ -38,4 +40,71 @@ def out_=(message:Any) = exchange.getOut().setBody(message) + + // Delegation methods + //- + + def setUnitOfWork(unitOfWork: UnitOfWork) = exchange.setUnitOfWork(unitOfWork) + + def setProperty(name: String, value: Any) = exchange.setProperty(name, value) + + def setPattern(pattern: ExchangePattern) = exchange.setPattern(pattern) + + def setOut(out: Message) = exchange.setOut(out) + + def setIn(in: Message) = exchange.setIn(in) + + def setFromEndpoint(fromEndpoint: Endpoint) = exchange.setFromEndpoint(fromEndpoint) + + def setExchangeId(id: String) = exchange.setExchangeId(id) + + def setException(e: Exception) = exchange.setException(e) + + def removeProperty(name: String) = exchange.removeProperty(name) + + def isTransacted = exchange.isTransacted + + def isRollbackOnly = exchange.isRollbackOnly + + def isFailed = exchange.isFailed + + def hasProperties = exchange.hasProperties + + def hasOut = exchange.hasOut + + def getUnitOfWork = exchange.getUnitOfWork + + def getProperty[T](name: String, propertyType : Class[T]) = exchange.getProperty(name, propertyType) + + def getProperty[T](name: String, defaultValue: Any, propertyType : Class[T]) = exchange.getProperty(name, defaultValue, propertyType) + + def getProperty(name: String, defaultValue: Any) = exchange.getProperty(name, defaultValue) + + def getProperty(name: String) = exchange.getProperty(name) + + def getProperties = exchange.getProperties + + def getPattern = exchange.getPattern + + def getOut[T](outType : Class[T]) = exchange.getOut(outType) + + def getOut = exchange.getOut + + def getIn[T](inType : Class[T]) = exchange.getIn(inType) + + def getIn = exchange.getIn + + def getFromEndpoint = exchange.getFromEndpoint + + def getExchangeId = exchange.getExchangeId + + def getException[T](exceptionType : Class[T]) = exchange.getException(exceptionType) + + def getException = exchange.getException + + def getContext = exchange.getContext + + def copy = new RichExchange(exchange.copy) + + def addOnCompletion(onCompletion: Synchronization) = exchange.addOnCompletion(onCompletion) } Added: camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala?rev=905598view=auto == --- camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala (added) +++ camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/RichMessage.scala Tue Feb 2 12:11:30 2010 @@ -0,0 +1,76 @@ +package org.apache.camel.scala + +import org.apache.camel.Message +import java.util.Map +import java.lang.{Class, String} +import javax.activation.DataHandler + +/** + * @version $Revision: 1.1 $ + */ + +class RichMessage(val message: Message) extends Message { + + // Delegate methods + //- + + def setMessageId(messageId: String) = message.setMessageId(messageId) + + def setHeaders(headers: Map[String, Object]) = message.setHeaders(headers) + + def setHeader(name: String, value: Any) = message.setHeader(name, value) + + def setFault(fault: Boolean) = message.setFault(fault
svn commit: r891737 - in /camel/trunk/components/camel-web: ./ src/main/java/org/apache/camel/web/resources/ src/main/resources/META-INF/services/
Author: jstrachan Date: Thu Dec 17 14:50:48 2009 New Revision: 891737 URL: http://svn.apache.org/viewvc?rev=891737view=rev Log: fix for CAMEL-2301 to switch to jackson for JSON marshalling Added: camel/trunk/components/camel-web/src/main/resources/META-INF/services/ camel/trunk/components/camel-web/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader camel/trunk/components/camel-web/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter Modified: camel/trunk/components/camel-web/pom.xml camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RouteResource.java camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=891737r1=891736r2=891737view=diff == --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Thu Dec 17 14:50:48 2009 @@ -91,9 +91,9 @@ version${jersey-version}/version /dependency dependency - groupIdcom.sun.jersey/groupId - artifactIdjersey-json/artifactId - version${jersey-version}/version + groupIdorg.codehaus.jackson/groupId + artifactIdjackson-jaxrs/artifactId + version1.3.2/version /dependency dependency groupIdcom.sun.jersey/groupId Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java?rev=891737r1=891736r2=891737view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java Thu Dec 17 14:50:48 2009 @@ -95,7 +95,7 @@ @GET // TODO we can replace this long expression with a static constant // when Jersey supports JAX-RS 1.1 -@Produces({MediaType.TEXT_XML, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) +@Produces({MediaType.TEXT_XML, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, text/json}) public Camel getCamel() { return new Camel(camelContext, getVersion()); } Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java?rev=891737r1=891736r2=891737view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java Thu Dec 17 14:50:48 2009 @@ -23,7 +23,7 @@ public static final String HTML_MIME_TYPES = text/html;qs=5; -public static final String DATA_MIME_TYPES = text/xml,application/xml,application/json; +public static final String DATA_MIME_TYPES = text/xml,application/xml,application/json,text/json; public static final String DOT_MIMETYPE = text/vnd.graphviz; public static final String JAXB_PACKAGES = org.apache.camel.model.Constants.JAXB_CONTEXT_PACKAGES + :org.apache.camel.web.model; Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java?rev=891737r1=891736r2=891737view=diff == --- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java (original) +++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/EndpointsResource.java Thu Dec 17 14:50:48 2009 @@ -53,7 +53,7 @@ * Returns a list of endpoints available in this context */ @GET -@Produces({MediaType.TEXT_XML, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) +@Produces({MediaType.TEXT_XML, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, text/json}) public Endpoints getDTO() { return new Endpoints(getCamelContext()); } Modified: camel/trunk/components