This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-4.0.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.0.x by this push:
     new a221df48783 chore: Allow DataTypeProcessor used as processor 
definition (#11233)
a221df48783 is described below

commit a221df48783eb6045f45b710d5800e3c0e0bc2c2
Author: Christoph Deppisch <cdeppi...@redhat.com>
AuthorDate: Tue Aug 29 20:56:28 2023 +0200

    chore: Allow DataTypeProcessor used as processor definition (#11233)
    
    * chore: Allow DataTypeProcessor used as processor definition
    
    - Avoid ClassCastException when DataTypeProcessor is used as part of a 
ProcessorDefinition
    - Allows users to reference the DataTypeProcessor as a normal processor in 
a route as an addition to using it in TransformDefinition
    
    * chore: Avoid null value as from data type in data type processor
---
 .../java/org/apache/camel/processor/transformer/DataTypeProcessor.java  | 2 +-
 .../org/apache/camel/management/DefaultManagementObjectStrategy.java    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DataTypeProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DataTypeProcessor.java
index a7f9212bead..4c665a21393 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DataTypeProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DataTypeProcessor.java
@@ -72,7 +72,7 @@ public class DataTypeProcessor implements Processor {
         DataType fromDataType = DataType.ANY;
         if (fromType != null) {
             fromDataType = new DataType(fromType);
-        } else if (message instanceof DataTypeAware) {
+        } else if (message instanceof DataTypeAware && ((DataTypeAware) 
message).hasDataType()) {
             fromDataType = ((DataTypeAware) message).getDataType();
         }
 
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
index 773573228aa..7e6f4ab6463 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
@@ -439,7 +439,7 @@ public class DefaultManagementObjectStrategy implements 
ManagementObjectStrategy
                 answer = new ManagedThrowException(context, 
(ThrowExceptionProcessor) target, definition);
             } else if (target instanceof TransformProcessor) {
                 answer = new ManagedTransformer(context, target, 
(TransformDefinition) definition);
-            } else if (target instanceof DataTypeProcessor) {
+            } else if (target instanceof DataTypeProcessor && definition 
instanceof TransformDefinition) {
                 answer = new ManagedTransformer(context, target, 
(TransformDefinition) definition);
             } else if (target instanceof PredicateValidatingProcessor) {
                 answer = new ManagedValidate(context, 
(PredicateValidatingProcessor) target, (ValidateDefinition) definition);

Reply via email to