You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/06/07 10:48:16 UTC
[1/5] camel git commit: CAMEL-11382 - Creating IgniteComponent from
Ignite Instance throws IllegalStateException
Repository: camel
Updated Branches:
refs/heads/camel-2.19.x 4634edc75 -> 739961c8d
refs/heads/master c3a28daf5 -> 8d4345465
CAMEL-11382 - Creating IgniteComponent from Ignite Instance throws IllegalStateException
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a340de4e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a340de4e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a340de4e
Branch: refs/heads/camel-2.19.x
Commit: a340de4e2eab7a12a6cd1ae526328580f774a030
Parents: 4634edc
Author: Gary Hodgson <co...@garyhodgson.com>
Authored: Tue Jun 6 22:43:47 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jun 7 10:34:08 2017 +0200
----------------------------------------------------------------------
.../ignite/AbstractIgniteComponent.java | 14 +-----
.../component/ignite/IgniteCreationTest.java | 47 ++++++++++++++++++++
2 files changed, 48 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/a340de4e/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteComponent.java
index eaf6583..e9efc79 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteComponent.java
@@ -17,22 +17,9 @@
package org.apache.camel.component.ignite;
import java.io.InputStream;
-import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
-import java.util.Map;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.component.ignite.cache.IgniteCacheEndpoint;
-import org.apache.camel.component.ignite.compute.IgniteComputeEndpoint;
-import org.apache.camel.component.ignite.events.IgniteEventsEndpoint;
-import org.apache.camel.component.ignite.idgen.IgniteIdGenEndpoint;
-import org.apache.camel.component.ignite.messaging.IgniteMessagingEndpoint;
-import org.apache.camel.component.ignite.queue.IgniteQueueEndpoint;
-import org.apache.camel.component.ignite.set.IgniteSetEndpoint;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
import org.apache.ignite.Ignite;
import org.apache.ignite.Ignition;
import org.apache.ignite.configuration.IgniteConfiguration;
@@ -121,6 +108,7 @@ public abstract class AbstractIgniteComponent extends DefaultComponent {
*/
public void setIgnite(Ignite ignite) {
this.ignite = ignite;
+ lifecycleMode = IgniteLifecycleMode.USER_MANAGED;
}
/**
http://git-wip-us.apache.org/repos/asf/camel/blob/a340de4e/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
new file mode 100644
index 0000000..1da4e1c
--- /dev/null
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
@@ -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.ignite;
+
+import org.apache.camel.component.ignite.cache.IgniteCacheComponent;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.Ignition;
+import org.junit.Test;
+
+public class IgniteCreationTest extends AbstractIgniteTest {
+
+ @Override
+ protected String getScheme() {
+ return "ignite-cache";
+ }
+
+ @Override
+ protected AbstractIgniteComponent createComponent() {
+ Ignite ignite = Ignition.start(createConfiguration());
+ return IgniteCacheComponent.fromIgnite(ignite);
+ }
+
+ @Test
+ public void testCAMEL_11382() {
+ assertNotNull(ignite());
+ }
+
+ @Override
+ public boolean isCreateCamelContextPerClass() {
+ return true;
+ }
+
+}
[5/5] camel git commit: Polished
Posted by da...@apache.org.
Polished
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8d434546
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8d434546
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8d434546
Branch: refs/heads/master
Commit: 8d434546520f2434d4278575a732a5632acca664
Parents: 9df6813
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Jun 7 12:39:56 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jun 7 12:39:56 2017 +0200
----------------------------------------------------------------------
README.md | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/8d434546/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index bf2e51b..bb3c50f 100755
--- a/README.md
+++ b/README.md
@@ -36,6 +36,12 @@ The up to date list is available online at:
<https://github.com/apache/camel/tree/master/components#components>
+## Examples
+
+Apache Camel comes with many examples.
+
+<https://github.com/apache/camel/tree/master/examples#examples>
+
## Getting Started
To help you get started, try the following links:
[2/5] camel git commit: Not closing the user managed ignite instance
caused side-effects on other tests.
Posted by da...@apache.org.
Not closing the user managed ignite instance caused side-effects on other tests.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3ae1b83b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3ae1b83b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3ae1b83b
Branch: refs/heads/camel-2.19.x
Commit: 3ae1b83bbb13ec7084d7b08cef949ea73b88e750
Parents: a340de4
Author: Gary Hodgson <ga...@tup.com>
Authored: Wed Jun 7 08:35:31 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jun 7 10:34:14 2017 +0200
----------------------------------------------------------------------
.../camel/component/ignite/IgniteCreationTest.java | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/3ae1b83b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
index 1da4e1c..52254a4 100644
--- a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
@@ -19,9 +19,12 @@ package org.apache.camel.component.ignite;
import org.apache.camel.component.ignite.cache.IgniteCacheComponent;
import org.apache.ignite.Ignite;
import org.apache.ignite.Ignition;
+import org.junit.After;
import org.junit.Test;
public class IgniteCreationTest extends AbstractIgniteTest {
+
+ private Ignite ignite;
@Override
protected String getScheme() {
@@ -30,7 +33,7 @@ public class IgniteCreationTest extends AbstractIgniteTest {
@Override
protected AbstractIgniteComponent createComponent() {
- Ignite ignite = Ignition.start(createConfiguration());
+ ignite = Ignition.start(createConfiguration());
return IgniteCacheComponent.fromIgnite(ignite);
}
@@ -43,5 +46,12 @@ public class IgniteCreationTest extends AbstractIgniteTest {
public boolean isCreateCamelContextPerClass() {
return true;
}
+
+ @After
+ public void stopUserManagedIgnite(){
+ if (ignite != null){
+ Ignition.stop(ignite.name(), true);
+ }
+ }
}
[4/5] camel git commit: CAMEL-11380: Optimise - Allow to turn
DataType on or off on Message
Posted by da...@apache.org.
CAMEL-11380: Optimise - Allow to turn DataType on or off on Message
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9df68139
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9df68139
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9df68139
Branch: refs/heads/master
Commit: 9df68139967f297c39d14424af6aac4b52e0a7a6
Parents: c3a28da
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Jun 7 12:29:52 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jun 7 12:37:17 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/camel/CamelContext.java | 20 ++++++++++++++++++++
.../mbean/ManagedCamelContextMBean.java | 3 +++
.../camel/builder/TransformerBuilder.java | 14 ++------------
.../apache/camel/impl/DefaultCamelContext.java | 15 +++++++++++++++
.../apache/camel/impl/DefaultRouteContext.java | 2 ++
.../org/apache/camel/impl/MessageSupport.java | 15 ++++++++++-----
.../management/mbean/ManagedCamelContext.java | 4 ++++
.../apache/camel/processor/ContractAdvice.java | 6 +++---
.../camel/processor/RestBindingAdvice.java | 7 +++++--
.../org/apache/camel/spi/DataTypeAware.java | 17 +++++++++++++++--
.../blueprint/CamelContextFactoryBean.java | 10 ++++++++++
.../camel/cdi/xml/CamelContextFactoryBean.java | 11 +++++++++++
.../xml/AbstractCamelContextFactoryBean.java | 5 +++++
.../AbstractCamelContextFactoryBeanTest.java | 2 +-
.../spring/boot/CamelAutoConfiguration.java | 2 +-
.../boot/CamelConfigurationProperties.java | 16 ++++++++++++++++
.../camel/spring/CamelContextFactoryBean.java | 20 ++++++++++++++++++++
17 files changed, 143 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/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 ff0eb9a..ed5081d 100644
--- a/camel-core/src/main/java/org/apache/camel/CamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/CamelContext.java
@@ -1752,6 +1752,26 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
void setUseMDCLogging(Boolean useMDCLogging);
/**
+ * Whether to enable using data type on Camel messages.
+ * <p/>
+ * Data type are automatic turned on if one ore more routes has been explicit configured with input and output types.
+ * Otherwise data type is default off.
+ *
+ * @return <tt>true</tt> if data type is enabled
+ */
+ Boolean isUseDataType();
+
+ /**
+ * Whether to enable using data type on Camel messages.
+ * <p/>
+ * Data type are automatic turned on if one ore more routes has been explicit configured with input and output types.
+ * Otherwise data type is default off.
+ *
+ * @param useDataType <tt>true</tt> to enable data type on Camel messages.
+ */
+ void setUseDataType(Boolean useDataType);
+
+ /**
* Whether or not breadcrumb is enabled.
*
* @return <tt>true</tt> if breadcrumb is enabled
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/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 fb931d0..7cf41f6 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
@@ -154,6 +154,9 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean
@ManagedAttribute(description = "Whether MDC logging is supported")
boolean isUseMDCLogging();
+ @ManagedAttribute(description = "Whether Message DataType is enabled")
+ boolean isUseDataType();
+
@ManagedOperation(description = "Start Camel")
void start() throws Exception;
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java
index 0f4b07e..4ce9243 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/TransformerBuilder.java
@@ -70,7 +70,7 @@ public class TransformerBuilder {
/**
* Set the 'from' data type using Java class.
*
- * @param clazz 'from' Java class
+ * @param from 'from' Java class
*/
public TransformerBuilder fromType(Class<?> from) {
this.from = new DataType(from).toString();
@@ -102,8 +102,7 @@ public class TransformerBuilder {
/**
* Set the URI to be used for the endpoint {@code Transformer}.
- * @see {@code EndpointTransformerDefinition}, {@code ProcessorTransformer}
- *
+ *
* @param uri endpoint URI
*/
public TransformerBuilder withUri(String uri) {
@@ -114,9 +113,6 @@ public class TransformerBuilder {
/**
* Set the {@code DataFormatDefinition} to be used for the {@code DataFormat} {@code Transformer}.
- * @see {@code DataFormatTransformerDefinition}, {@code DataFormatTransformer}
- *
- * @param dataFormatDefinition {@code DataFormatDefinition}
*/
public TransformerBuilder withDataFormat(DataFormatDefinition dataFormatDefinition) {
resetType();
@@ -126,9 +122,6 @@ public class TransformerBuilder {
/**
* Set the Java {@code Class} represents a custom {@code Transformer} implementation class.
- * @see {@code CustomTransformerDefinition}
- *
- * @param clazz {@code Class} object represents custom transformer implementation
*/
public TransformerBuilder withJava(Class<? extends Transformer> clazz) {
resetType();
@@ -138,9 +131,6 @@ public class TransformerBuilder {
/**
* Set the Java Bean name to be used for custom {@code Transformer}.
- * @see {@code CustomTransformerDefinition}
- *
- * @param ref bean name for the custom {@code Transformer}
*/
public TransformerBuilder withBean(String ref) {
resetType();
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/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 ea34a75..136c063 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
@@ -254,6 +254,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
private Boolean lazyLoadTypeConverters = Boolean.FALSE;
private Boolean typeConverterStatisticsEnabled = Boolean.FALSE;
private Boolean useMDCLogging = Boolean.FALSE;
+ private Boolean useDataType = Boolean.FALSE;
private Boolean useBreadcrumb = Boolean.TRUE;
private Boolean allowUseOriginalMessage = Boolean.FALSE;
private Long delay;
@@ -3308,6 +3309,11 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
}
}
+ if (isUseDataType()) {
+ // log if DataType has been enabled
+ log.info("Message DataType is enabled on CamelContext: {}", getName());
+ }
+
if (streamCachingInUse) {
// stream caching is in use so enable the strategy
getStreamCachingStrategy().setEnabled(true);
@@ -4246,6 +4252,15 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
this.useMDCLogging = useMDCLogging;
}
+ public Boolean isUseDataType() {
+ return useDataType;
+ }
+
+ @Override
+ public void setUseDataType(Boolean useDataType) {
+ this.useDataType = useDataType;
+ }
+
public Boolean isUseBreadcrumb() {
return useBreadcrumb != null && useBreadcrumb;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
index 2d15015..89342b8 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
@@ -215,6 +215,8 @@ public class DefaultRouteContext implements RouteContext {
contract.setValidateOutput(route.getOutputType().isValidate());
}
internal.addAdvice(new ContractAdvice(contract));
+ // make sure to enable data type as its in use when using input/output types on routes
+ camelContext.setUseDataType(true);
}
// and create the route that wraps the UoW
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java b/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
index 6b7c774..4c564b8 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
@@ -118,7 +118,10 @@ public abstract class MessageSupport implements Message, CamelContextAware, Data
public void setBody(Object body) {
this.body = body;
- this.dataType = body != null ? new DataType(body.getClass()) : null;
+ // set data type if in use
+ if (body != null && camelContext.isUseDataType()) {
+ this.dataType = new DataType(body.getClass());
+ }
}
public <T> void setBody(Object value, Class<T> type) {
@@ -140,9 +143,6 @@ public abstract class MessageSupport implements Message, CamelContextAware, Data
@Override
public DataType getDataType() {
- if (this.dataType == null) {
- this.dataType = body != null ? new DataType(body.getClass()) : null;
- }
return this.dataType;
}
@@ -151,6 +151,11 @@ public abstract class MessageSupport implements Message, CamelContextAware, Data
this.dataType = type;
}
+ @Override
+ public boolean hasDataType() {
+ return dataType != null;
+ }
+
public Message copy() {
Message answer = newInstance();
// must copy over CamelContext
@@ -171,7 +176,7 @@ public abstract class MessageSupport implements Message, CamelContextAware, Data
if (that instanceof CamelContextAware) {
setCamelContext(((CamelContextAware) that).getCamelContext());
}
- if (that instanceof DataTypeAware) {
+ if (that instanceof DataTypeAware && ((DataTypeAware) that).hasDataType()) {
setDataType(((DataTypeAware)that).getDataType());
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/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 3d5d419..b062202 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
@@ -276,6 +276,10 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
return context.isUseMDCLogging();
}
+ public boolean isUseDataType() {
+ return context.isUseDataType();
+ }
+
public void onTimer() {
load.update(getInflightExchanges());
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/camel-core/src/main/java/org/apache/camel/processor/ContractAdvice.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/ContractAdvice.java b/camel-core/src/main/java/org/apache/camel/processor/ContractAdvice.java
index 5ff0ff2..f2e792a 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/ContractAdvice.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/ContractAdvice.java
@@ -43,12 +43,12 @@ import org.slf4j.LoggerFactory;
* from current OUT message (or IN message if no OUT), camel look for a Transformer and apply.
*
* @see Transformer
- * @see Validator}
+ * @see Validator
* @see InputTypeDefinition
* @see OutputTypeDefinition
*/
public class ContractAdvice implements CamelInternalProcessorAdvice {
- private static final Logger LOG = LoggerFactory.getLogger(CamelInternalProcessor.class);
+ private static final Logger LOG = LoggerFactory.getLogger(ContractAdvice.class);
private Contract contract;
@@ -132,7 +132,7 @@ public class ContractAdvice implements CamelInternalProcessorAdvice {
}
private boolean convertIfRequired(Message message, DataType type) throws Exception {
- // TODO for better performance it may be better to add TypeConveterTransformer
+ // TODO for better performance it may be better to add TypeConverterTransformer
// into transformer registry automatically to avoid unnecessary scan in transformer registry
if (type != null && type.isJavaType() && type.getName() != null) {
CamelContext context = message.getExchange().getContext();
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/camel-core/src/main/java/org/apache/camel/processor/RestBindingAdvice.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/RestBindingAdvice.java b/camel-core/src/main/java/org/apache/camel/processor/RestBindingAdvice.java
index ee41ee4..61904e3 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/RestBindingAdvice.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/RestBindingAdvice.java
@@ -165,8 +165,11 @@ public class RestBindingAdvice implements CamelInternalProcessorAdvice<Map<Strin
isJson = consumes != null && consumes.toLowerCase(Locale.ENGLISH).contains("json");
}
- if (exchange.getIn() instanceof DataTypeAware && (isJson || isXml)) {
- ((DataTypeAware)exchange.getIn()).setDataType(new DataType(isJson ? "json" : "xml"));
+ // set data type if in use
+ if (exchange.getContext().isUseDataType()) {
+ if (exchange.getIn() instanceof DataTypeAware && (isJson || isXml)) {
+ ((DataTypeAware) exchange.getIn()).setDataType(new DataType(isJson ? "json" : "xml"));
+ }
}
// only allow xml/json if the binding mode allows that
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/camel-core/src/main/java/org/apache/camel/spi/DataTypeAware.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/DataTypeAware.java b/camel-core/src/main/java/org/apache/camel/spi/DataTypeAware.java
index f979f74..d2b9417 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/DataTypeAware.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/DataTypeAware.java
@@ -24,25 +24,38 @@ package org.apache.camel.spi;
* in a DataTypeAware message carries that missing data type information even if it's
* marshaled, and whatever the Java class of the body is. This type information is used
* to detect required {@link Transformer} and {@link Validator}.
- *
- * @see {@link DataType} {@link Transformer} {@link Validator}
+ * <p/>
+ * Data type are automatic turned on if one ore more routes has been explicit configured with input and output types.
+ * Otherwise data type is default off.
+ *
+ * @see DataType
+ * @see Transformer
+ * @see Validator
*/
public interface DataTypeAware {
/**
* Set the data type of the message.
+ *
* @param type data type
*/
void setDataType(DataType type);
/**
* Get the data type of the message.
+ *
* @return data type
*/
DataType getDataType();
/**
+ * Whether any data type has been configured
+ */
+ boolean hasDataType();
+
+ /**
* Set the message body with data type.
+ *
* @param body message body
* @param type data type
*/
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
----------------------------------------------------------------------
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
index 3378eb9..3b870c5 100644
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
+++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
@@ -109,6 +109,8 @@ public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<Blu
@XmlAttribute
private String useMDCLogging;
@XmlAttribute
+ private String useDataType;
+ @XmlAttribute
private String useBreadcrumb;
@XmlAttribute
private String allowUseOriginalMessage;
@@ -383,6 +385,14 @@ public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<Blu
this.useMDCLogging = useMDCLogging;
}
+ public String getUseDataType() {
+ return useDataType;
+ }
+
+ public void setUseDataType(String useDataType) {
+ this.useDataType = useDataType;
+ }
+
public String getUseBreadcrumb() {
return useBreadcrumb;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java
----------------------------------------------------------------------
diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java
index f62c463..edff3ef 100644
--- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java
+++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/xml/CamelContextFactoryBean.java
@@ -108,6 +108,9 @@ public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<Def
private String useMDCLogging;
@XmlAttribute
+ private String useDataType;
+
+ @XmlAttribute
private String useBreadcrumb;
@XmlAttribute
@@ -611,6 +614,14 @@ public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<Def
this.useMDCLogging = useMDCLogging;
}
+ public String getUseDataType() {
+ return useDataType;
+ }
+
+ public void setUseDataType(String useDataType) {
+ this.useDataType = useDataType;
+ }
+
public String getUseBreadcrumb() {
return useBreadcrumb;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
----------------------------------------------------------------------
diff --git a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index 32f53f8..fe24c55 100644
--- a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -747,6 +747,8 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
public abstract String getUseMDCLogging();
+ public abstract String getUseDataType();
+
public abstract String getUseBreadcrumb();
public abstract String getAllowUseOriginalMessage();
@@ -853,6 +855,9 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
if (getUseMDCLogging() != null) {
ctx.setUseMDCLogging(CamelContextHelper.parseBoolean(context, getUseMDCLogging()));
}
+ if (getUseDataType() != null) {
+ ctx.setUseDataType(CamelContextHelper.parseBoolean(context, getUseDataType()));
+ }
if (getUseBreadcrumb() != null) {
ctx.setUseBreadcrumb(CamelContextHelper.parseBoolean(context, getUseBreadcrumb()));
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/components/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
----------------------------------------------------------------------
diff --git a/components/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java b/components/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
index 98fe9a1..c374773 100644
--- a/components/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
+++ b/components/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
@@ -65,7 +65,7 @@ public class AbstractCamelContextFactoryBeanTest {
// properties that should return value that can be converted to boolean
Set<String> valuesThatReturnBoolean = new HashSet<>(asList("{{getStreamCache}}", "{{getTrace}}",
"{{getMessageHistory}}", "{{getLogMask}}", "{{getLogExhaustedMessageBody}}", "{{getHandleFault}}",
- "{{getAutoStartup}}", "{{getUseMDCLogging}}", "{{getUseBreadcrumb}}", "{{getAllowUseOriginalMessage}}"));
+ "{{getAutoStartup}}", "{{getUseMDCLogging}}", "{{getUseDataType}}", "{{getUseBreadcrumb}}", "{{getAllowUseOriginalMessage}}"));
// properties that should return value that can be converted to long
Set<String> valuesThatReturnLong = new HashSet<>(asList("{{getDelayer}}"));
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
index 6b8ab26..4da40b3 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
@@ -29,7 +29,6 @@ import org.apache.camel.ProducerTemplate;
import org.apache.camel.TypeConverters;
import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.component.properties.PropertiesParser;
-import org.apache.camel.impl.DefaultRuntimeEndpointRegistry;
import org.apache.camel.impl.FileWatcherReloadStrategy;
import org.apache.camel.processor.interceptor.BacklogTracer;
import org.apache.camel.processor.interceptor.DefaultTraceFormatter;
@@ -157,6 +156,7 @@ public class CamelAutoConfiguration {
camelContext.setAutoStartup(config.isAutoStartup());
camelContext.setAllowUseOriginalMessage(config.isAllowUseOriginalMessage());
camelContext.setUseBreadcrumb(config.isUseBreadcrumb());
+ camelContext.setUseDataType(config.isUseDataType());
if (camelContext.getManagementStrategy().getManagementAgent() != null) {
camelContext.getManagementStrategy().getManagementAgent().setEndpointRuntimeStatisticsEnabled(config.isEndpointRuntimeStatisticsEnabled());
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java
index 6393682..47417f3 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelConfigurationProperties.java
@@ -301,6 +301,14 @@ public class CamelConfigurationProperties {
private boolean endpointRuntimeStatisticsEnabled;
/**
+ * Whether to enable using data type on Camel messages.
+ * <p/>
+ * Data type are automatic turned on if one ore more routes has been explicit configured with input and output types.
+ * Otherwise data type is default off.
+ */
+ private boolean useDataType;
+
+ /**
* Set whether breadcrumb is enabled.
*/
private boolean useBreadcrumb = true;
@@ -697,6 +705,14 @@ public class CamelConfigurationProperties {
this.endpointRuntimeStatisticsEnabled = endpointRuntimeStatisticsEnabled;
}
+ public boolean isUseDataType() {
+ return useDataType;
+ }
+
+ public void setUseDataType(boolean useDataType) {
+ this.useDataType = useDataType;
+ }
+
public boolean isUseBreadcrumb() {
return useBreadcrumb;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9df68139/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
----------------------------------------------------------------------
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java b/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
index f0c115c..eb79196 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
@@ -123,6 +123,8 @@ public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<Spr
private String shutdownEager;
@XmlAttribute
private String useMDCLogging;
+ @XmlAttribute
+ private String useDataType;
@XmlAttribute @Metadata(defaultValue = "true")
private String useBreadcrumb;
@XmlAttribute
@@ -767,6 +769,24 @@ public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<Spr
this.useMDCLogging = useMDCLogging;
}
+ public String getUseDataType() {
+ return useDataType;
+ }
+
+ /**
+ * Whether to enable using data type on Camel messages.
+ * <p/>
+ * Data type are automatic turned on if:
+ * <ul>
+ * <li>one ore more routes has been explicit configured with input and output types</li>
+ * <li>when using rest-dsl with binding turned on</li>
+ * </ul>
+ * Otherwise data type is default off.
+ */
+ public void setUseDataType(String useDataType) {
+ this.useDataType = useDataType;
+ }
+
public String getUseBreadcrumb() {
return useBreadcrumb;
}
[3/5] camel git commit: checkstyle
Posted by da...@apache.org.
checkstyle
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/739961c8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/739961c8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/739961c8
Branch: refs/heads/camel-2.19.x
Commit: 739961c8d088c4d62d1142d914d6f7c5014c021f
Parents: 3ae1b83
Author: Gary Hodgson <ga...@tup.com>
Authored: Wed Jun 7 08:50:16 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jun 7 10:34:20 2017 +0200
----------------------------------------------------------------------
.../apache/camel/component/ignite/IgniteCreationTest.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/739961c8/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
index 52254a4..ac9da68 100644
--- a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteCreationTest.java
@@ -38,8 +38,8 @@ public class IgniteCreationTest extends AbstractIgniteTest {
}
@Test
- public void testCAMEL_11382() {
- assertNotNull(ignite());
+ public void testCAMEL11382() {
+ assertNotNull(ignite());
}
@Override
@@ -48,8 +48,8 @@ public class IgniteCreationTest extends AbstractIgniteTest {
}
@After
- public void stopUserManagedIgnite(){
- if (ignite != null){
+ public void stopUserManagedIgnite() {
+ if (ignite != null) {
Ignition.stop(ignite.name(), true);
}
}