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 2018/03/17 09:55:57 UTC

[camel] branch camel-2.21.x updated (a6b7c38 -> 73c5046)

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

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


    from a6b7c38  CAMEL-12356: Fixed ClaimCheck EIP mbean issue.
     new 1fd2d33  Polished
     new 73c5046  CAMEL-12357: Allow to turn off using default object mapper in camel-jackson

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 camel-core/src/main/docs/eips/saga-eip.adoc        | 16 ++---
 .../camel/impl/{cluster => cloud}/package.html     |  2 +-
 .../org/apache/camel/impl/cluster/package.html     |  2 +-
 .../camel/impl/{cluster => saga}/package.html      |  2 +-
 .../camel/{spi => impl/transformer}/package.html   |  2 +-
 .../camel/{spi => impl/validator}/package.html     |  2 +-
 .../camel/model/dataformat/JsonDataFormat.java     | 22 ++++--
 .../camel/{spi => processor/saga}/package.html     |  2 +-
 .../apache/camel/processor/validation/package.html |  3 +-
 .../apache/camel/saga/CamelSagaCoordinator.java    |  4 +-
 .../java/org/apache/camel/saga/CamelSagaStep.java  |  3 +-
 .../org/apache/camel/{spi => saga}/package.html    |  2 +-
 .../main/java/org/apache/camel/spi/package.html    |  2 +-
 .../camel/{spi => util/function}/package.html      |  2 +-
 .../src/main/docs/json-jackson-dataformat.adoc     |  3 +-
 .../camel/component/jackson/JacksonDataFormat.java | 11 ++-
 .../JacksonNotUseDefaultObjectMapperTest.java      | 79 ++++++++++++++++++++++
 .../springboot/JacksonDataFormatConfiguration.java | 12 ++++
 18 files changed, 143 insertions(+), 28 deletions(-)
 copy camel-core/src/main/java/org/apache/camel/impl/{cluster => cloud}/package.html (94%)
 copy camel-core/src/main/java/org/apache/camel/impl/{cluster => saga}/package.html (94%)
 copy camel-core/src/main/java/org/apache/camel/{spi => impl/transformer}/package.html (90%)
 copy camel-core/src/main/java/org/apache/camel/{spi => impl/validator}/package.html (90%)
 copy camel-core/src/main/java/org/apache/camel/{spi => processor/saga}/package.html (90%)
 copy camel-core/src/main/java/org/apache/camel/{spi => saga}/package.html (90%)
 copy camel-core/src/main/java/org/apache/camel/{spi => util/function}/package.html (90%)
 create mode 100644 components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonNotUseDefaultObjectMapperTest.java

-- 
To stop receiving notification emails like this one, please contact
davsclaus@apache.org.

[camel] 02/02: CAMEL-12357: Allow to turn off using default object mapper in camel-jackson

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 73c50462ee3f1904220ce4ef0897cb8f20c375c5
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Mar 17 10:54:02 2018 +0100

    CAMEL-12357: Allow to turn off using default object mapper in camel-jackson
---
 .../camel/model/dataformat/JsonDataFormat.java     | 22 ++++--
 .../src/main/docs/json-jackson-dataformat.adoc     |  3 +-
 .../camel/component/jackson/JacksonDataFormat.java | 11 ++-
 .../JacksonNotUseDefaultObjectMapperTest.java      | 79 ++++++++++++++++++++++
 .../springboot/JacksonDataFormatConfiguration.java | 12 ++++
 5 files changed, 121 insertions(+), 6 deletions(-)

diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
index cc92c90..997319a 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/JsonDataFormat.java
@@ -16,9 +16,6 @@
  */
 package org.apache.camel.model.dataformat;
 
-import java.text.DateFormat;
-import java.util.TimeZone;
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
@@ -46,6 +43,9 @@ public class JsonDataFormat extends DataFormatDefinition {
     @XmlAttribute
     private String objectMapper;
     @XmlAttribute
+    @Metadata(defaultValue = "true")
+    private Boolean useDefaultObjectMapper;
+    @XmlAttribute
     private Boolean prettyPrint;
     @XmlAttribute
     @Metadata(defaultValue = "XStream")
@@ -82,7 +82,7 @@ public class JsonDataFormat extends DataFormatDefinition {
     private Boolean allowUnmarshallType;
     @XmlAttribute
     private String timezone;
-    
+
     public JsonDataFormat() {
         super("json");
     }
@@ -103,6 +103,17 @@ public class JsonDataFormat extends DataFormatDefinition {
         this.objectMapper = objectMapper;
     }
 
+    public Boolean getUseDefaultObjectMapper() {
+        return useDefaultObjectMapper;
+    }
+
+    /**
+     * Whether to lookup and use default Jackson ObjectMapper from the registry.
+     */
+    public void setUseDefaultObjectMapper(Boolean useDefaultObjectMapper) {
+        this.useDefaultObjectMapper = useDefaultObjectMapper;
+    }
+
     public Boolean getPrettyPrint() {
         return prettyPrint;
     }
@@ -398,6 +409,9 @@ public class JsonDataFormat extends DataFormatDefinition {
             String ref = objectMapper.startsWith("#") ? objectMapper : "#" + objectMapper;
             setProperty(camelContext, dataFormat, "objectMapper", ref);
         }
+        if (useDefaultObjectMapper != null) {
+            setProperty(camelContext, dataFormat, "useDefaultObjectMapper", useDefaultObjectMapper);
+        }
         if (unmarshalType != null) {
             setProperty(camelContext, dataFormat, "unmarshalType", unmarshalType);
         }
diff --git a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
index fd17aa8..4b7cd27 100644
--- a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
+++ b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
@@ -18,7 +18,7 @@ from("activemq:My.Queue").
 
 
 // dataformat options: START
-The JSon Jackson dataformat supports 18 options which are listed below.
+The JSon Jackson dataformat supports 19 options which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The JSon Jackson dataformat supports 18 options which are listed below.
 |===
 | Name | Default | Java Type | Description
 | objectMapper |  | String | Lookup and use the existing ObjectMapper with the given id when using Jackson.
+| useDefaultObjectMapper | true | Boolean | Whether to lookup and use default Jackson ObjectMapper from the registry.
 | prettyPrint | false | Boolean | To enable pretty printing output nicely formatted. Is by default false.
 | library | XStream | JsonLibrary | Which json library to use.
 | unmarshalTypeName |  | String | Class name of the java type to use when unarmshalling
diff --git a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
index dd86f70..c01418e 100644
--- a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
+++ b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
@@ -58,6 +58,7 @@ public class JacksonDataFormat extends ServiceSupport implements DataFormat, Dat
 
     private CamelContext camelContext;
     private ObjectMapper objectMapper;
+    private boolean useDefaultObjectMapper = true;
     private Class<? extends Collection> collectionType;
     private List<Module> modules;
     private String moduleClassNames;
@@ -206,6 +207,14 @@ public class JacksonDataFormat extends ServiceSupport implements DataFormat, Dat
         this.objectMapper = objectMapper;
     }
 
+    public boolean isUseDefaultObjectMapper() {
+        return useDefaultObjectMapper;
+    }
+
+    public void setUseDefaultObjectMapper(boolean useDefaultObjectMapper) {
+        this.useDefaultObjectMapper = useDefaultObjectMapper;
+    }
+
     public Class<?> getUnmarshalType() {
         return this.unmarshalType;
     }
@@ -469,7 +478,7 @@ public class JacksonDataFormat extends ServiceSupport implements DataFormat, Dat
     protected void doStart() throws Exception {
         if (objectMapper == null) {
             // lookup if there is a single default mapper we can use
-            if (camelContext != null) {
+            if (useDefaultObjectMapper && camelContext != null) {
                 Set<ObjectMapper> set = camelContext.getRegistry().findByType(ObjectMapper.class);
                 if (set.size() == 1) {
                     objectMapper = set.iterator().next();
diff --git a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonNotUseDefaultObjectMapperTest.java b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonNotUseDefaultObjectMapperTest.java
new file mode 100644
index 0000000..9eee816
--- /dev/null
+++ b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonNotUseDefaultObjectMapperTest.java
@@ -0,0 +1,79 @@
+/**
+ * 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.jackson;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Test;
+
+public class JacksonNotUseDefaultObjectMapperTest extends CamelTestSupport {
+
+    private JacksonDataFormat df = new JacksonDataFormat();
+    private ObjectMapper objectMapper = new ObjectMapper();
+
+    @Override
+    protected JndiRegistry createRegistry() throws Exception {
+        JndiRegistry jndi = super.createRegistry();
+        jndi.bind("myMapper", objectMapper);
+        return jndi;
+    }
+
+    @Override
+    public void setUp() throws Exception {
+        df.setUseDefaultObjectMapper(false);
+        super.setUp();
+    }
+
+    @Test
+    public void testMarshalAndUnmarshalMap() throws Exception {
+        Map<String, Object> in = new HashMap<String, Object>();
+        in.put("name", "Camel");
+
+        MockEndpoint mock = getMockEndpoint("mock:reverse");
+        mock.expectedMessageCount(1);
+        mock.message(0).body().isInstanceOf(Map.class);
+        mock.message(0).body().isEqualTo(in);
+
+        Object marshalled = template.requestBody("direct:in", in);
+        String marshalledAsString = context.getTypeConverter().convertTo(String.class, marshalled);
+        assertEquals("{\"name\":\"Camel\"}", marshalledAsString);
+
+        template.sendBody("direct:back", marshalled);
+
+        mock.assertIsSatisfied();
+
+        assertNotSame(objectMapper, df.getObjectMapper());
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:in").marshal(df);
+                from("direct:back").unmarshal(df).to("mock:reverse");
+            }
+        };
+    }
+
+}
diff --git a/platforms/spring-boot/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java b/platforms/spring-boot/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
index 089a57e..fab4911 100644
--- a/platforms/spring-boot/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
+++ b/platforms/spring-boot/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
@@ -40,6 +40,10 @@ public class JacksonDataFormatConfiguration
      */
     private String objectMapper;
     /**
+     * Whether to lookup and use default Jackson ObjectMapper from the registry.
+     */
+    private Boolean useDefaultObjectMapper = true;
+    /**
      * To enable pretty printing output nicely formatted. Is by default false.
      */
     private Boolean prettyPrint = false;
@@ -156,6 +160,14 @@ public class JacksonDataFormatConfiguration
         this.objectMapper = objectMapper;
     }
 
+    public Boolean getUseDefaultObjectMapper() {
+        return useDefaultObjectMapper;
+    }
+
+    public void setUseDefaultObjectMapper(Boolean useDefaultObjectMapper) {
+        this.useDefaultObjectMapper = useDefaultObjectMapper;
+    }
+
     public Boolean getPrettyPrint() {
         return prettyPrint;
     }

-- 
To stop receiving notification emails like this one, please contact
davsclaus@apache.org.

[camel] 01/02: Polished

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1fd2d3328e141ef76d1e02ae4e9f5620134498d0
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Mar 17 10:37:19 2018 +0100

    Polished
---
 camel-core/src/main/docs/eips/saga-eip.adoc              | 16 ++++++++--------
 .../apache/camel/impl/{cluster => cloud}/package.html    |  2 +-
 .../main/java/org/apache/camel/impl/cluster/package.html |  2 +-
 .../org/apache/camel/impl/{cluster => saga}/package.html |  2 +-
 .../apache/camel/{spi => impl/transformer}/package.html  |  2 +-
 .../apache/camel/{spi => impl/validator}/package.html    |  2 +-
 .../apache/camel/{spi => processor/saga}/package.html    |  2 +-
 .../org/apache/camel/processor/validation/package.html   |  3 +--
 .../java/org/apache/camel/saga/CamelSagaCoordinator.java |  4 ++--
 .../main/java/org/apache/camel/saga/CamelSagaStep.java   |  3 ++-
 .../java/org/apache/camel/{spi => saga}/package.html     |  2 +-
 .../src/main/java/org/apache/camel/spi/package.html      |  2 +-
 .../org/apache/camel/{spi => util/function}/package.html |  2 +-
 13 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/camel-core/src/main/docs/eips/saga-eip.adoc b/camel-core/src/main/docs/eips/saga-eip.adoc
index 2529c6d..1dbb0d1 100644
--- a/camel-core/src/main/docs/eips/saga-eip.adoc
+++ b/camel-core/src/main/docs/eips/saga-eip.adoc
@@ -41,10 +41,10 @@ The Saga EIP supports 6 options which are listed below:
 The following properties are set on each Exchange that is participating to a Saga (normal actions, compensating actions and completions):
 
 [width="100%",cols="4m,2m,5",options="header"]
-|=======================================================================
+|===
 | Property | Type | Description
 | `Long-Running-Action` | `String` | A globally unique identifier for the Saga that can be propagated to remote systems using transport-level headers (e.g. HTTP).
-|=======================================================================
+|===
 
 === Saga Service Configuration
 The Saga EIP requires that a service implementing the interface `org.apache.camel.saga.CamelSagaService` is added to the Camel context.
@@ -120,9 +120,9 @@ sagaService.setLocalParticipantUrl("http://my-host-as-seen-by-lra-service:8080/c
 context.addService(sagaService);
 ----
 
-===== Using the LRA Saga Service in Spring-Boot
+===== Using the LRA Saga Service in Spring Boot
 
-Spring-Boot users can use a simplified configuration model for the LRA Saga Service. Maven users can
+Spring Boot users can use a simplified configuration model for the LRA Saga Service. Maven users can
 include the *camel-lra-starter* module in their project:
 
 [source,xml]
@@ -142,7 +142,7 @@ include the *camel-lra-starter* module in their project:
 </dependency>
 ----
 
-Configuration can be done in the Spring-Boot `application.yaml` file:
+Configuration can be done in the Spring Boot `application.yaml` file:
 
 .application.yaml
 [source,yaml]
@@ -333,7 +333,7 @@ Since the _direct:creditReservation_ endpoint can be now called also from outsid
 Sagas are long running actions, but this does not mean that they should not have a bounded timeframe to execute.
 *Setting timeouts on Sagas is always a good practice* as it guarantees that a Saga does not remain stuck forever in the case of machine failure.
 
-NOTE: the Saga EIP implementation may have a default timeout set on all Sagas that don't specify it explicitly
+NOTE: The Saga EIP implementation may have a default timeout set on all Sagas that don't specify it explicitly
 
 When the timeout expires, the Saga EIP will decide to *cancel the Saga* (and compensate all participants), unless a different decision has been taken before.
 
@@ -371,7 +371,7 @@ that is the default propagation used when nothing else is specified.
 These propagation modes map 1:1 the equivalent modes used in transactional contexts. Here's a summary of their meaning:
 
 [width="100%",cols="2m,8",options="header"]
-|=======================================================================
+|===
 | Propagation | Description
 | `REQUIRED` | Join the existing saga or create a new one if it does not exist.
 | `REQUIRES_NEW` | Always create a new saga. Suspend the old saga and resume it when the new one terminates.
@@ -379,7 +379,7 @@ These propagation modes map 1:1 the equivalent modes used in transactional conte
 | `SUPPORTS` | If a saga already exists, then join it.
 | `NOT_SUPPORTED` | If a saga already exists, it is suspended and resumed when the current block completes.
 | `NEVER` | The current block must never be invoked within a saga.
-|=======================================================================
+|===
 
 ==== Using Manual Completion (Advanced)
 When a Saga cannot be all executed in a synchronous way, but it requires e.g. communication with external services using asynchronous communication channels,
diff --git a/camel-core/src/main/java/org/apache/camel/impl/cluster/package.html b/camel-core/src/main/java/org/apache/camel/impl/cloud/package.html
similarity index 94%
copy from camel-core/src/main/java/org/apache/camel/impl/cluster/package.html
copy to camel-core/src/main/java/org/apache/camel/impl/cloud/package.html
index a5e4586..0cb155c 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/cluster/package.html
+++ b/camel-core/src/main/java/org/apache/camel/impl/cloud/package.html
@@ -19,7 +19,7 @@
 </head>
 <body>
 
-Base classes and Implementation for Camel Cluster
+Base classes and implementation for Camel Cloud
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/impl/cluster/package.html b/camel-core/src/main/java/org/apache/camel/impl/cluster/package.html
index a5e4586..f7317f9 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/cluster/package.html
+++ b/camel-core/src/main/java/org/apache/camel/impl/cluster/package.html
@@ -19,7 +19,7 @@
 </head>
 <body>
 
-Base classes and Implementation for Camel Cluster
+Base classes and implementation for Camel Cluster
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/impl/cluster/package.html b/camel-core/src/main/java/org/apache/camel/impl/saga/package.html
similarity index 94%
copy from camel-core/src/main/java/org/apache/camel/impl/cluster/package.html
copy to camel-core/src/main/java/org/apache/camel/impl/saga/package.html
index a5e4586..755a855 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/cluster/package.html
+++ b/camel-core/src/main/java/org/apache/camel/impl/saga/package.html
@@ -19,7 +19,7 @@
 </head>
 <body>
 
-Base classes and Implementation for Camel Cluster
+In-memory Saga coordinator.
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/spi/package.html b/camel-core/src/main/java/org/apache/camel/impl/transformer/package.html
similarity index 90%
copy from camel-core/src/main/java/org/apache/camel/spi/package.html
copy to camel-core/src/main/java/org/apache/camel/impl/transformer/package.html
index 5a7d0f5..8c7f9bf 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/package.html
+++ b/camel-core/src/main/java/org/apache/camel/impl/transformer/package.html
@@ -21,7 +21,7 @@
 </head>
 <body>
 
-Service Provider Interfaces used internally by the Camel runtime which are plugin strategies.
+Transformer implementation classes.
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/spi/package.html b/camel-core/src/main/java/org/apache/camel/impl/validator/package.html
similarity index 90%
copy from camel-core/src/main/java/org/apache/camel/spi/package.html
copy to camel-core/src/main/java/org/apache/camel/impl/validator/package.html
index 5a7d0f5..b1e7f1a 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/package.html
+++ b/camel-core/src/main/java/org/apache/camel/impl/validator/package.html
@@ -21,7 +21,7 @@
 </head>
 <body>
 
-Service Provider Interfaces used internally by the Camel runtime which are plugin strategies.
+Validator implementation classes.
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/spi/package.html b/camel-core/src/main/java/org/apache/camel/processor/saga/package.html
similarity index 90%
copy from camel-core/src/main/java/org/apache/camel/spi/package.html
copy to camel-core/src/main/java/org/apache/camel/processor/saga/package.html
index 5a7d0f5..69393d4 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/package.html
+++ b/camel-core/src/main/java/org/apache/camel/processor/saga/package.html
@@ -21,7 +21,7 @@
 </head>
 <body>
 
-Service Provider Interfaces used internally by the Camel runtime which are plugin strategies.
+Saga EIP implementation.
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/processor/validation/package.html b/camel-core/src/main/java/org/apache/camel/processor/validation/package.html
index 1339cdc..8721b1d 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/validation/package.html
+++ b/camel-core/src/main/java/org/apache/camel/processor/validation/package.html
@@ -21,8 +21,7 @@
 </head>
 <body>
 
-Performs XML validation using <a href="http://java.sun.com/xml/jaxp/index.jsp">JAXP</a> for validating against XSD or
-RelaxNG
+Performs XML validation using JAXP for validating against XSD
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/saga/CamelSagaCoordinator.java b/camel-core/src/main/java/org/apache/camel/saga/CamelSagaCoordinator.java
index c71a1a8..f6f1534 100644
--- a/camel-core/src/main/java/org/apache/camel/saga/CamelSagaCoordinator.java
+++ b/camel-core/src/main/java/org/apache/camel/saga/CamelSagaCoordinator.java
@@ -21,9 +21,9 @@ import java.util.concurrent.CompletableFuture;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.HasId;
 
-
 /**
- * A saga coordinator can be used to register compensators and take the final decision on the saga: compensate or complete (successfully).
+ * A saga coordinator can be used to register compensator's and
+ * take the final decision on the saga: compensate or complete (successfully).
  */
 public interface CamelSagaCoordinator extends HasId {
 
diff --git a/camel-core/src/main/java/org/apache/camel/saga/CamelSagaStep.java b/camel-core/src/main/java/org/apache/camel/saga/CamelSagaStep.java
index 715d3a8..b912153 100644
--- a/camel-core/src/main/java/org/apache/camel/saga/CamelSagaStep.java
+++ b/camel-core/src/main/java/org/apache/camel/saga/CamelSagaStep.java
@@ -36,7 +36,8 @@ public class CamelSagaStep {
 
     private Optional<Long> timeoutInMilliseconds;
 
-    public CamelSagaStep(Optional<Endpoint> compensation, Optional<Endpoint> completion, Map<String, Expression> options, Optional<Long> timeoutInMilliseconds) {
+    public CamelSagaStep(Optional<Endpoint> compensation, Optional<Endpoint> completion,
+                         Map<String, Expression> options, Optional<Long> timeoutInMilliseconds) {
         this.compensation = ObjectHelper.notNull(compensation, "compensation");
         this.completion = ObjectHelper.notNull(completion, "completionCallbacks");
         this.options = ObjectHelper.notNull(options, "options");
diff --git a/camel-core/src/main/java/org/apache/camel/spi/package.html b/camel-core/src/main/java/org/apache/camel/saga/package.html
similarity index 90%
copy from camel-core/src/main/java/org/apache/camel/spi/package.html
copy to camel-core/src/main/java/org/apache/camel/saga/package.html
index 5a7d0f5..d848955 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/package.html
+++ b/camel-core/src/main/java/org/apache/camel/saga/package.html
@@ -21,7 +21,7 @@
 </head>
 <body>
 
-Service Provider Interfaces used internally by the Camel runtime which are plugin strategies.
+Camel Saga EIP
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/spi/package.html b/camel-core/src/main/java/org/apache/camel/spi/package.html
index 5a7d0f5..cf63ae7 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/package.html
+++ b/camel-core/src/main/java/org/apache/camel/spi/package.html
@@ -21,7 +21,7 @@
 </head>
 <body>
 
-Service Provider Interfaces used internally by the Camel runtime which are plugin strategies.
+Service Provider Interfaces used by the Camel runtime which are plugin strategies.
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/spi/package.html b/camel-core/src/main/java/org/apache/camel/util/function/package.html
similarity index 90%
copy from camel-core/src/main/java/org/apache/camel/spi/package.html
copy to camel-core/src/main/java/org/apache/camel/util/function/package.html
index 5a7d0f5..01cc2c2 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/package.html
+++ b/camel-core/src/main/java/org/apache/camel/util/function/package.html
@@ -21,7 +21,7 @@
 </head>
 <body>
 
-Service Provider Interfaces used internally by the Camel runtime which are plugin strategies.
+Function utility classes
 
 </body>
 </html>

-- 
To stop receiving notification emails like this one, please contact
davsclaus@apache.org.