You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by oa...@apache.org on 2019/12/18 13:16:25 UTC

[camel] branch master updated: CAMEL-14312: Address some issues reported by lgtm

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

oalsafi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new d649956  CAMEL-14312: Address some issues reported by lgtm
     new 2abf46d  Merge pull request #3419 from omarsmak/CAMEL-14312
d649956 is described below

commit d649956604879a5b6f3a8e78d160799733de22c8
Author: Omar Al-Safi <om...@gmail.com>
AuthorDate: Wed Dec 18 13:05:41 2019 +0100

    CAMEL-14312: Address some issues reported by lgtm
---
 .../apache/camel/component/avro/AvroEndpoint.java  |  2 +-
 .../component/aws/kinesis/KinesisConsumer.java     | 20 ++++------------
 .../camel/component/box/api/BoxFilesManager.java   | 16 +++++++------
 .../consul/cluster/ConsulClusterView.java          |  4 ++--
 .../crypto/cms/sig/SignedDataVerifier.java         |  2 +-
 .../mail/stream/GoogleMailStreamConsumer.java      | 15 ++++--------
 .../mail/stream/GoogleMailStreamEndpoint.java      |  2 +-
 .../guava/eventbus/CamelEventHandler.java          |  2 +-
 .../idempotent/HBaseIdempotentRepository.java      | 16 ++++++-------
 .../camel/http/common/DefaultHttpBinding.java      |  4 ++--
 .../config_maps/KubernetesConfigMapsConsumer.java  |  4 ++++
 .../apache/camel/component/ldap/LdapProducer.java  |  2 +-
 .../milo/server/internal/CamelServerItem.java      |  2 +-
 .../apache/camel/component/mllp/MllpComponent.java |  8 +++----
 .../apache/camel/component/mllp/MllpEndpoint.java  |  2 +-
 .../component/mllp/MllpTcpClientProducer.java      |  2 +-
 .../camel/component/netty/NettyProducer.java       | 10 ++++----
 .../component/optaplanner/OptaPlannerEndpoint.java | 10 ++++----
 .../internal/client/DefaultCompositeApiClient.java |  8 ++-----
 .../camel/dataformat/soap/name/MethodInfo.java     |  2 +-
 .../soroushbot/component/SoroushBotEndpoint.java   | 27 ++++++++++++++--------
 .../undertow/DefaultUndertowHttpBinding.java       | 12 ++++------
 .../handlers/CamelPathTemplateHandler.java         |  2 +-
 .../apache/camel/component/xslt/XsltBuilder.java   |  2 +-
 .../camel/impl/engine/AbstractCamelContext.java    |  6 ++---
 .../org/apache/camel/reifier/InterceptReifier.java |  2 +-
 .../reifier/InterceptSendToEndpointReifier.java    |  2 +-
 27 files changed, 88 insertions(+), 98 deletions(-)

diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
index 828d8f1..9d4c048 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
@@ -49,7 +49,7 @@ public abstract class AvroEndpoint extends DefaultEndpoint implements AsyncEndpo
 
     public Exchange createExchange(Protocol.Message message, Object request) {
         ExchangePattern pattern = ExchangePattern.InOut;
-        if (message.getResponse().equals(Schema.Type.NULL)) {
+        if (message.getResponse().getType().equals(Schema.Type.NULL)) {
             pattern = ExchangePattern.InOnly;
         }
         Exchange exchange = createExchange(pattern);
diff --git a/components/camel-aws-kinesis/src/main/java/org/apache/camel/component/aws/kinesis/KinesisConsumer.java b/components/camel-aws-kinesis/src/main/java/org/apache/camel/component/aws/kinesis/KinesisConsumer.java
index f836056..2a500ff 100644
--- a/components/camel-aws-kinesis/src/main/java/org/apache/camel/component/aws/kinesis/KinesisConsumer.java
+++ b/components/camel-aws-kinesis/src/main/java/org/apache/camel/component/aws/kinesis/KinesisConsumer.java
@@ -64,12 +64,12 @@ public class KinesisConsumer extends ScheduledBatchPollingConsumer {
         if (isShardClosed) {
             switch (getEndpoint().getConfiguration().getShardClosed()) {
             case ignore:
-                log.warn("The shard {} is in closed state");
+                log.warn("The shard {} is in closed state", currentShardIterator);
                 break;
             case silent:
                 break;
             case fail:
-                log.info("Shard Iterator reaches CLOSE status:", getEndpoint().getConfiguration().getStreamName(), getEndpoint().getConfiguration().getShardId());
+                log.info("Shard Iterator reaches CLOSE status:{} {}", getEndpoint().getConfiguration().getStreamName(), getEndpoint().getConfiguration().getShardId());
                 throw new ReachedClosedStatusException(getEndpoint().getConfiguration().getStreamName(), getEndpoint().getConfiguration().getShardId());
             default:
                 throw new IllegalArgumentException("Unsupported shard closed strategy");
@@ -117,15 +117,9 @@ public class KinesisConsumer extends ScheduledBatchPollingConsumer {
                 shardId = getEndpoint().getConfiguration().getShardId();
                 DescribeStreamRequest req1 = new DescribeStreamRequest().withStreamName(getEndpoint().getConfiguration().getStreamName());
                 DescribeStreamResult res1 = getClient().describeStream(req1);
-                Iterator it = res1.getStreamDescription().getShards().iterator();
-                while (it.hasNext()) {
-                    Shard shard = (Shard)it.next();
+                for (Shard shard : res1.getStreamDescription().getShards()) {
                     if (shard.getShardId().equalsIgnoreCase(getEndpoint().getConfiguration().getShardId())) {
-                        if (shard.getSequenceNumberRange().getEndingSequenceNumber() == null) {
-                            isShardClosed = false;
-                        } else {
-                            isShardClosed = true;
-                        }
+                        isShardClosed = shard.getSequenceNumberRange().getEndingSequenceNumber() != null;
                     }
                 }
 
@@ -133,11 +127,7 @@ public class KinesisConsumer extends ScheduledBatchPollingConsumer {
                 DescribeStreamRequest req1 = new DescribeStreamRequest().withStreamName(getEndpoint().getConfiguration().getStreamName());
                 DescribeStreamResult res1 = getClient().describeStream(req1);
                 shardId = res1.getStreamDescription().getShards().get(0).getShardId();
-                if (res1.getStreamDescription().getShards().get(0).getSequenceNumberRange().getEndingSequenceNumber() == null) {
-                    isShardClosed = false;
-                } else {
-                    isShardClosed = true;
-                }
+                isShardClosed = res1.getStreamDescription().getShards().get(0).getSequenceNumberRange().getEndingSequenceNumber() != null;
             }
             log.debug("ShardId is: {}", shardId);
 
diff --git a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
index 9f6d95d..27c3609 100644
--- a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
+++ b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
@@ -188,13 +188,15 @@ public class BoxFilesManager {
                         boolean exists = false;
 
                         BoxItem.Info existingFile = null;
-                        // returns only the name and type fields of each folder item
-                        for (BoxItem.Info itemInfo : folder.getChildren("name", BoxFolder.SortDirection.ASC, "name", "type")) {
-                            // check if the filename exists
-                            exists = "file".equals(itemInfo.getType()) && fileName.equals(itemInfo.getName());
-                            if (exists) {
-                                existingFile = itemInfo;
-                                break;
+                        if (folder != null) {
+                            // returns only the name and type fields of each folder item
+                            for (BoxItem.Info itemInfo : folder.getChildren("name", BoxFolder.SortDirection.ASC, "name", "type")) {
+                                // check if the filename exists
+                                exists = "file".equals(itemInfo.getType()) && fileName.equals(itemInfo.getName());
+                                if (exists) {
+                                    existingFile = itemInfo;
+                                    break;
+                                }
                             }
                         }
                         long end = System.currentTimeMillis();
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/cluster/ConsulClusterView.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/cluster/ConsulClusterView.java
index d74f629..d781deb 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/cluster/ConsulClusterView.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/cluster/ConsulClusterView.java
@@ -82,7 +82,7 @@ final class ConsulClusterView extends AbstractCamelClusterView {
             return Collections.emptyList();
         }
 
-        return sessionClient.listSessions().stream().filter(i -> i.getName().equals(getNamespace())).map(ConsulClusterMember::new).collect(Collectors.toList());
+        return sessionClient.listSessions().stream().filter(i -> i.getName().orElse("").equals(getNamespace())).map(ConsulClusterMember::new).collect(Collectors.toList());
     }
 
     @Override
@@ -196,7 +196,7 @@ final class ConsulClusterView extends AbstractCamelClusterView {
                 return false;
             }
 
-            return id.equals(keyValueClient.getSession(path));
+            return id.equals(keyValueClient.getSession(path).orElse(""));
         }
 
         @Override
diff --git a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/SignedDataVerifier.java b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/SignedDataVerifier.java
index 06972d2..35de904 100644
--- a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/SignedDataVerifier.java
+++ b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/sig/SignedDataVerifier.java
@@ -272,7 +272,7 @@ public class SignedDataVerifier extends CryptoCmsUnmarshaller {
         for (Attribute attr : attributes.values()) {
             sb.append(attr.getAttrType());
             if (CMSAttributes.signingTime.equals(attr.getAttrType()) || CMSAttributes.messageDigest.equals(attr.getAttrType())
-                || CMSAttributes.cmsAlgorithmProtect.equals(attr.getAttrType()) || CMSAttributeTableGenerator.CONTENT_TYPE.equals(attr.getAttrType())) {
+                || CMSAttributes.cmsAlgorithmProtect.equals(attr.getAttrType())) {
                 // for these attributes we can print the value because we know
                 // they do not contain confidential or personal data
                 sb.append("=");
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
index 2b85f17..953ca13 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
@@ -44,9 +44,9 @@ public class GoogleMailStreamConsumer extends ScheduledBatchPollingConsumer {
 
     private static final Logger LOG = LoggerFactory.getLogger(GoogleMailStreamConsumer.class);
     private String unreadLabelId;
-    private List labelsIds;
+    private List<String> labelsIds;
 
-    public GoogleMailStreamConsumer(Endpoint endpoint, Processor processor, String unreadLabelId, List labelsIds) {
+    public GoogleMailStreamConsumer(Endpoint endpoint, Processor processor, String unreadLabelId, List<String> labelsIds) {
         super(endpoint, processor);
         this.unreadLabelId = unreadLabelId;
         this.labelsIds = labelsIds;
@@ -93,7 +93,7 @@ public class GoogleMailStreamConsumer extends ScheduledBatchPollingConsumer {
     }
 
     @Override
-    public int processBatch(Queue<Object> exchanges) throws Exception {
+    public int processBatch(Queue<Object> exchanges) {
         int total = exchanges.size();
 
         for (int index = 0; index < total && isBatchAllowed(); index++) {
@@ -123,12 +123,7 @@ public class GoogleMailStreamConsumer extends ScheduledBatchPollingConsumer {
                 }
             });
 
-            getAsyncProcessor().process(exchange, new AsyncCallback() {
-                @Override
-                public void done(boolean doneSync) {
-                    LOG.trace("Processing exchange done");
-                }
-            });
+            getAsyncProcessor().process(exchange, doneSync -> LOG.trace("Processing exchange done"));
         }
 
         return total;
@@ -168,7 +163,7 @@ public class GoogleMailStreamConsumer extends ScheduledBatchPollingConsumer {
      */
     protected void processRollback(Exchange exchange, String unreadLabelId) {
         try {
-            LOG.warn("Exchange failed, so rolling back mail {} to un {}", exchange);
+            LOG.warn("Exchange failed, so rolling back mail {} to un {}", exchange, unreadLabelId);
 
             List<String> add = new ArrayList<>();
             add.add(unreadLabelId);
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
index fc84e3b..15bfc90 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
@@ -66,7 +66,7 @@ public class GoogleMailStreamEndpoint extends ScheduledPollEndpoint {
     @Override
     public Consumer createConsumer(Processor processor) throws Exception {
         String unreadLabelId = null;
-        List labelsIds = new ArrayList<>();
+        List<String> labelsIds = new ArrayList<>();
         ListLabelsResponse listResponse = getClient().users().labels().list("me").execute();
         for (Label label : listResponse.getLabels()) {
             Label countLabel = getClient().users().labels().get("me", label.getId()).execute();
diff --git a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/CamelEventHandler.java b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/CamelEventHandler.java
index f2b7c1d..b5d8bcc 100644
--- a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/CamelEventHandler.java
+++ b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/CamelEventHandler.java
@@ -48,7 +48,7 @@ public class CamelEventHandler {
      * @param event the event received by Guava EventBus.
      */
     public void doEventReceived(Object event) {
-        log.trace("Received event: {}");
+        log.trace("Received event: {}", event);
         final Exchange exchange = eventBusEndpoint.createExchange(event);
         log.debug("Processing event: {}", event);
         // use async processor to support async routing engine
diff --git a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java
index 2d9f3a5..e90dfee 100644
--- a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java
+++ b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java
@@ -54,16 +54,14 @@ public class HBaseIdempotentRepository extends ServiceSupport implements Idempot
     @Override
     public boolean add(String o) {
         try {
-            synchronized (tableName.intern()) {
-                if (contains(o)) {
-                    return false;
-                }
-                byte[] b = HBaseHelper.toBytes(o);
-                Put put = new Put(b);
-                put.addColumn(HBaseHelper.getHBaseFieldAsBytes(family), HBaseHelper.getHBaseFieldAsBytes(qualifier), b);
-                table.put(put);
-                return true;
+            if (contains(o)) {
+                return false;
             }
+            byte[] b = HBaseHelper.toBytes(o);
+            Put put = new Put(b);
+            put.addColumn(HBaseHelper.getHBaseFieldAsBytes(family), HBaseHelper.getHBaseFieldAsBytes(qualifier), b);
+            table.put(put);
+            return true;
         } catch (Exception e) {
             log.warn("Error adding object {} to HBase repository.", o);
             return false;
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
index 751dbaa..9f95035 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
@@ -492,7 +492,7 @@ public class DefaultHttpBinding implements HttpBinding {
     protected void doWriteDirectResponse(Message message, HttpServletResponse response, Exchange exchange) throws IOException {
         // if content type is serialized Java object, then serialize and write it to the response
         String contentType = message.getHeader(Exchange.CONTENT_TYPE, String.class);
-        if (contentType != null && HttpConstants.CONTENT_TYPE_JAVA_SERIALIZED_OBJECT.equals(contentType)) {
+        if (HttpConstants.CONTENT_TYPE_JAVA_SERIALIZED_OBJECT.equals(contentType)) {
             if (allowJavaSerializedObject || isTransferException()) {
                 try {
                     Object object = message.getMandatoryBody(Serializable.class);
@@ -530,7 +530,7 @@ public class DefaultHttpBinding implements HttpBinding {
                     OutputStream current = stream.getCurrentStream();
                     if (current instanceof ByteArrayOutputStream) {
                         if (LOG.isDebugEnabled()) {
-                            LOG.debug("Streaming (direct) response in non-chunked mode with content-length {}");
+                            LOG.debug("Streaming (direct) response in non-chunked mode with content-length {}", len);
                         }
                         ByteArrayOutputStream bos = (ByteArrayOutputStream) current;
                         bos.writeTo(os);
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
index 553d59d..d519896 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsConsumer.java
@@ -26,6 +26,7 @@ import io.fabric8.kubernetes.client.Watcher;
 import io.fabric8.kubernetes.client.dsl.FilterWatchListDeletable;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
+import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.component.kubernetes.consumer.common.ConfigMapEvent;
@@ -94,6 +95,9 @@ public class KubernetesConfigMapsConsumer extends DefaultConsumer {
                 w = (FilterWatchListDeletable<ConfigMap, ConfigMapList, Boolean, Watch, Watcher<ConfigMap>>)getEndpoint().getKubernetesClient().configMaps()
                     .withName(getEndpoint().getKubernetesConfiguration().getResourceName());
             }
+            if (w == null) {
+                throw new RuntimeCamelException("Consumer label key or consumer resource name need to be set.");
+            }
             watch = w.watch(new Watcher<ConfigMap>() {
 
                 @Override
diff --git a/components/camel-ldap/src/main/java/org/apache/camel/component/ldap/LdapProducer.java b/components/camel-ldap/src/main/java/org/apache/camel/component/ldap/LdapProducer.java
index 3635931..c00e4b3 100644
--- a/components/camel-ldap/src/main/java/org/apache/camel/component/ldap/LdapProducer.java
+++ b/components/camel-ldap/src/main/java/org/apache/camel/component/ldap/LdapProducer.java
@@ -107,7 +107,7 @@ public class LdapProducer extends DefaultProducer {
         } else if (context instanceof DirContext) {
             answer = (DirContext) context;
         } else if (context != null) {
-            String msg = "Found bean: " + remaining + " in Registry of type: " + answer.getClass().getName() + " expected type was: " + DirContext.class.getName();
+            String msg = "Found bean: " + remaining + " in Registry of type: " + context.getClass().getName() + " expected type was: " + DirContext.class.getName();
             throw new NoSuchBeanException(msg);
         }
         return answer;
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/internal/CamelServerItem.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/internal/CamelServerItem.java
index ac62353..c1db1eb 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/internal/CamelServerItem.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/internal/CamelServerItem.java
@@ -63,7 +63,7 @@ public class CamelServerItem {
         this.item = new UaVariableNode(nodeManager, nodeId, qname, displayName) {
 
             @Override
-            public DataValue getValue() {
+            public synchronized DataValue getValue() {
                 return getDataValue();
             }
 
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpComponent.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpComponent.java
index 8b4a640..b8c468f 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpComponent.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpComponent.java
@@ -93,7 +93,7 @@ public class MllpComponent extends DefaultComponent {
         String logPhiProperty = System.getProperty(MllpComponent.MLLP_LOG_PHI_PROPERTY);
 
         if (logPhiProperty != null) {
-            answer = Boolean.valueOf(logPhiProperty);
+            answer = Boolean.parseBoolean(logPhiProperty);
         }
 
         return answer;
@@ -122,9 +122,9 @@ public class MllpComponent extends DefaultComponent {
 
         if (logPhiProperty != null && !logPhiProperty.isEmpty()) {
             try {
-                answer = Integer.valueOf(logPhiProperty);
+                answer = Integer.parseInt(logPhiProperty);
             } catch (NumberFormatException numberFormatException) {
-                log.warn("Invalid Interger value '{}' for system property {} - using default value of {}", logPhiProperty, MllpComponent.MLLP_LOG_PHI_MAX_BYTES_PROPERTY, answer);
+                log.warn("Invalid Integer value '{}' for system property {} - using default value of {}", logPhiProperty, MllpComponent.MLLP_LOG_PHI_MAX_BYTES_PROPERTY, answer);
                 // use DEFAULT_LOG_PHI_MAX_BYTES for a invalid entry
             }
         }
@@ -186,7 +186,7 @@ public class MllpComponent extends DefaultComponent {
                     MllpComponent.defaultCharset = Charset.forName(defaultCharacterSetName);
                 } else {
                     log.warn("Unsupported character set name '{}' in system property {} - continuing to use character set {} as default",
-                        defaultCharacterSetName, defaultCharset);
+                        defaultCharacterSetName, MllpComponent.MLLP_DEFAULT_CHARSET_PROPERTY, defaultCharset);
                 }
             } catch (Exception charsetEx) {
                 MllpComponent.defaultCharset = StandardCharsets.ISO_8859_1;
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
index 8a0c6d4..3045cf4 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
@@ -408,7 +408,7 @@ public class MllpEndpoint extends DefaultEndpoint {
                     final boolean on = true;
                     final int linger = 0;
                     if (log != null) {
-                        log.trace("Setting SO_LINGER to {} on Socket: localAddress={} remoteAddress={}", localSocketAddress, remoteSocketAddress);
+                        log.trace("Setting SO_LINGER to {} on Socket: localAddress={} remoteAddress={}", linger, localSocketAddress, remoteSocketAddress);
                     }
                     try {
                         socket.setSoLinger(on, linger);
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
index c931ffc..d5ed17b 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
@@ -218,7 +218,7 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                         }
 
                         if (exchange.getException() == null) {
-                            log.trace("process({}) [{}] - resend succeeded - reading acknowledgement from {}", exchange.getExchangeId(), socket);
+                            log.trace("process({}) [{}] - resend succeeded - reading acknowledgement from external system", exchange.getExchangeId(), socket);
                             try {
                                 mllpBuffer.reset();
                                 mllpBuffer.readFrom(socket);
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
index d377712..08887ce 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
@@ -469,7 +469,7 @@ public class NettyProducer extends DefaultAsyncProducer {
 
             if (log.isDebugEnabled()) {
                 log.debug("Created new UDP client bootstrap connecting to {}:{} with options: {}",
-                       new Object[]{configuration.getHost(), configuration.getPort(), connectionlessClientBootstrap});
+                        configuration.getHost(), configuration.getPort(), connectionlessClientBootstrap);
             }
             return answer;
         }
@@ -597,15 +597,15 @@ public class NettyProducer extends DefaultAsyncProducer {
         }
 
         @Override
-        public void activateObject(ChannelFuture channelFuture) throws Exception {
+        public void activateObject(ChannelFuture channelFuture) {
             // noop
-            log.trace("activateObject channel request: {} -> {}", channelFuture);
+            log.trace("activateObject channel request: {}", channelFuture);
         }
 
         @Override
-        public void passivateObject(ChannelFuture channelFuture) throws Exception {
+        public void passivateObject(ChannelFuture channelFuture) {
             // noop
-            log.trace("passivateObject channel request: {} -> {}", channelFuture);
+            log.trace("passivateObject channel request: {}", channelFuture);
         }
     }
 
diff --git a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
index 5fcd173..894898f 100644
--- a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
+++ b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
@@ -50,7 +50,7 @@ public class OptaPlannerEndpoint extends DefaultEndpoint {
         return configuration;
     }
 
-    protected Solver<Object> getOrCreateSolver(String solverId) throws Exception {
+    protected Solver<Object> getOrCreateSolver(String solverId) {
         synchronized (SOLVERS) {
             Solver<Object> solver = SOLVERS.get(solverId);
             if (solver == null) {
@@ -72,7 +72,7 @@ public class OptaPlannerEndpoint extends DefaultEndpoint {
     }
 
     @Override
-    public Producer createProducer() throws Exception {
+    public Producer createProducer() {
         return new OptaPlannerProducer(this, configuration);
     }
 
@@ -94,9 +94,9 @@ public class OptaPlannerEndpoint extends DefaultEndpoint {
     @Override
     protected void doStop() throws Exception {
         synchronized (SOLVERS) {
-            for (Solver<Object> solver : SOLVERS.values()) {
-                solver.terminateEarly();
-                SOLVERS.remove(solver);
+            for (Map.Entry<String, Solver<Object>> solver: SOLVERS.entrySet()) {
+                solver.getValue().terminateEarly();
+                SOLVERS.remove(solver.getKey());
             }
         }
         super.doStop();
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java
index fe42f49..a399b9a 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java
@@ -67,10 +67,6 @@ public class DefaultCompositeApiClient extends AbstractClientBase implements Com
 
     private ObjectMapper mapper;
 
-    private final Map<Class<?>, ObjectReader> readers = new HashMap<>();
-
-    private final Map<Class<?>, ObjectWriter> writers = new HashMap<>();
-
     private final XStream xStreamCompositeBatch;
 
     private final XStream xStreamCompositeTree;
@@ -168,13 +164,13 @@ public class DefaultCompositeApiClient extends AbstractClientBase implements Com
     }
 
     ObjectReader jsonReaderFor(final Class<?> type) {
-        return Optional.ofNullable(readers.get(type)).orElseGet(() -> mapper.readerFor(type));
+        return mapper.readerFor(type);
     }
 
     ObjectWriter jsonWriterFor(final Object obj) {
         final Class<?> type = obj.getClass();
 
-        return Optional.ofNullable(writers.get(type)).orElseGet(() -> mapper.writerFor(type));
+        return mapper.writerFor(type);
     }
 
     ContentProvider serialize(final XStream xstream, final Object body, final Class<?>... additionalTypes) throws SalesforceException {
diff --git a/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/name/MethodInfo.java b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/name/MethodInfo.java
index f4ce4ff..56ed69f 100644
--- a/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/name/MethodInfo.java
+++ b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/name/MethodInfo.java
@@ -52,7 +52,7 @@ public final class MethodInfo {
         for (TypeInfo typeInfo : in) {
             if (inTypeMap.containsKey(typeInfo.getTypeName())
                 && (!(typeInfo.getTypeName().equals("javax.xml.ws.Holder")))
-                && (!(inTypeMap.get(typeInfo.getTypeName()).equals(typeInfo.getElName())))) {
+                && (!(inTypeMap.get(typeInfo.getTypeName()).getElName().equals(typeInfo.getElName())))) {
                 throw new RuntimeCamelException("Ambiguous QName mapping. The type [ "
                                                   + typeInfo.getTypeName()
                                                   + " ] is already mapped to a QName in this method."
diff --git a/components/camel-soroush/src/main/java/org/apache/camel/component/soroushbot/component/SoroushBotEndpoint.java b/components/camel-soroush/src/main/java/org/apache/camel/component/soroushbot/component/SoroushBotEndpoint.java
index af66c4f..5ae6bfa 100644
--- a/components/camel-soroush/src/main/java/org/apache/camel/component/soroushbot/component/SoroushBotEndpoint.java
+++ b/components/camel-soroush/src/main/java/org/apache/camel/component/soroushbot/component/SoroushBotEndpoint.java
@@ -124,11 +124,12 @@ public class SoroushBotEndpoint extends DefaultEndpoint {
     /**
      * lazy instance of {@link WebTarget} to used for uploading file to soroush Server, since the url is always the same, we reuse this WebTarget for all requests
      */
-    private WebTarget uploadFileTarget;
+    private volatile WebTarget uploadFileTarget;
     /**
      * lazy instance of webTarget to used for send message to soroush Server, since the url is always the same, we reuse this WebTarget for all requests
      */
-    private WebTarget sendMessageTarget;
+    private volatile WebTarget sendMessageTarget;
+
     private BackOffStrategy backOffStrategyHelper;
 
     public SoroushBotEndpoint(String endpointUri, SoroushBotComponent component) {
@@ -284,28 +285,34 @@ public class SoroushBotEndpoint extends DefaultEndpoint {
      * return the lazily created instance of {@link SoroushBotEndpoint#uploadFileTarget} to used for uploading file to soroush.
      */
     private WebTarget getUploadFileTarget() {
-        if (uploadFileTarget == null) {
+        WebTarget result = uploadFileTarget;
+        if (result == null) {
             synchronized (this) {
-                if (uploadFileTarget == null) {
-                    uploadFileTarget = SoroushService.get().createUploadFileTarget(authorizationToken, connectionTimeout);
+                result = uploadFileTarget;
+                if (result == null) {
+                    result = SoroushService.get().createUploadFileTarget(authorizationToken, connectionTimeout);
+                    uploadFileTarget = result;
                 }
             }
         }
-        return uploadFileTarget;
+        return result;
     }
 
     /**
      * return the lazily created instance of {@link SoroushBotEndpoint#sendMessageTarget} to used for sending message to soroush.
      */
     WebTarget getSendMessageTarget() {
-        if (sendMessageTarget == null) {
+        WebTarget result = sendMessageTarget;
+        if (result == null) {
             synchronized (this) {
-                if (sendMessageTarget == null) {
-                    sendMessageTarget = SoroushService.get().createSendMessageTarget(authorizationToken, connectionTimeout);
+                result = sendMessageTarget;
+                if (result == null) {
+                    result = SoroushService.get().createSendMessageTarget(authorizationToken, connectionTimeout);
+                    sendMessageTarget = result;
                 }
             }
         }
-        return sendMessageTarget;
+        return result;
     }
 
     public SoroushAction getAction() {
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
index c79559f..9488f27 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
@@ -191,7 +191,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
 
     @Override
     public void populateCamelHeaders(HttpServerExchange httpExchange, Map<String, Object> headersMap, Exchange exchange) throws Exception {
-        LOG.trace("populateCamelHeaders: {}");
+        LOG.trace("populateCamelHeaders: {}", exchange.getMessage().getHeaders());
 
         String path = httpExchange.getRequestPath();
         UndertowEndpoint endpoint = (UndertowEndpoint) exchange.getFromEndpoint();
@@ -284,8 +284,8 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
     }
 
     @Override
-    public void populateCamelHeaders(ClientResponse response, Map<String, Object> headersMap, Exchange exchange) throws Exception {
-        LOG.trace("populateCamelHeaders: {}");
+    public void populateCamelHeaders(ClientResponse response, Map<String, Object> headersMap, Exchange exchange) {
+        LOG.trace("populateCamelHeaders: {}", exchange.getMessage().getHeaders());
 
         headersMap.put(Exchange.HTTP_RESPONSE_CODE, response.getResponseCode());
 
@@ -308,9 +308,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
             }
 
             // add the headers one by one, and use the header filter strategy
-            Iterator<?> it = response.getResponseHeaders().get(name).iterator();
-            while (it.hasNext()) {
-                Object value = it.next();
+            for (Object value : response.getResponseHeaders().get(name)) {
                 LOG.trace("HTTP-header: {}", value);
                 if (headerFilterStrategy != null
                         && !headerFilterStrategy.applyFilterToExternalHeaders(name.toString(), value, exchange)) {
@@ -466,7 +464,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
         }
     }
 
-    class FilePartDataSource extends FileDataSource {
+    static class FilePartDataSource extends FileDataSource {
         private String name;
         private String contentType;
 
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
index b3e02b7..c2ef171 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/handlers/CamelPathTemplateHandler.java
@@ -64,7 +64,7 @@ public class CamelPathTemplateHandler implements HttpHandler {
         return handlers.isEmpty();
     }
 
-    public CamelMethodHandler getDefault() {
+    public synchronized CamelMethodHandler getDefault() {
         return this.defaultHandlerWrapper.get();
     }
 
diff --git a/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltBuilder.java b/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltBuilder.java
index b852776..48454d3 100644
--- a/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltBuilder.java
+++ b/components/camel-xslt/src/main/java/org/apache/camel/component/xslt/XsltBuilder.java
@@ -74,7 +74,7 @@ public class XsltBuilder implements Processor {
     private ErrorListener errorListener;
     private EntityResolver entityResolver;
 
-    private volatile Object sourceHandlerFactoryLock = new Object();
+    private final Object sourceHandlerFactoryLock = new Object();
 
     public XsltBuilder() {
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 8deabb4..d309ada 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -168,7 +168,6 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         Eager, Default, Lazy
     }
 
-    private String version;
     private final AtomicBoolean vetoStarted = new AtomicBoolean();
     private String managementName;
     private ClassLoader applicationContextClassLoader;
@@ -213,12 +212,13 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
     private Long delay;
     private ErrorHandlerFactory errorHandlerFactory;
     private Map<String, String> globalOptions = new HashMap<>();
-    private PropertiesComponent propertiesComponent;
     private final Map<String, FactoryFinder> factories = new ConcurrentHashMap<>();
     private final Map<String, BaseRouteService> routeServices = new LinkedHashMap<>();
     private final Map<String, BaseRouteService> suspendedRouteServices = new LinkedHashMap<>();
 
     private final Object lock = new Object();
+    private volatile String version;
+    private volatile PropertiesComponent propertiesComponent;
     private volatile CamelContextNameStrategy nameStrategy;
     private volatile ReactiveExecutor reactiveExecutor;
     private volatile ManagementNameStrategy managementNameStrategy;
@@ -258,6 +258,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
     private volatile RouteController routeController;
     private volatile ScheduledExecutorService errorHandlerExecutorService;
     private volatile BeanIntrospection beanIntrospection;
+    private volatile Tracer tracer;
     private final DeferServiceFactory deferServiceFactory = new DefaultDeferServiceFactory();
     private final AnnotationBasedProcessorFactory annotationBasedProcessorFactory = new DefaultAnnotationBasedProcessorFactory();
 
@@ -272,7 +273,6 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
     private ShutdownRoute shutdownRoute = ShutdownRoute.Default;
     private ShutdownRunningTask shutdownRunningTask = ShutdownRunningTask.CompleteCurrentTaskOnly;
     private Debugger debugger;
-    private Tracer tracer;
     private final StopWatch stopWatch = new StopWatch(false);
     private Date startDate;
 
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptReifier.java
index 82d71f9..93c0e11 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptReifier.java
@@ -64,7 +64,7 @@ public class InterceptReifier<T extends InterceptDefinition> extends ProcessorRe
         });
 
         // remove me from the route so I am not invoked in a regular route path
-        ((RouteDefinition)routeContext.getRoute()).getOutputs().remove(this);
+        ((RouteDefinition)routeContext.getRoute()).getOutputs().remove(definition);
         // and return no processor to invoke next from me
         return null;
     }
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
index 1e75e69..847890f 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
@@ -89,7 +89,7 @@ public class InterceptSendToEndpointReifier extends ProcessorReifier<InterceptSe
         // an exchange to the endpoint, see InterceptSendToEndpoint for details.
         RouteDefinition route = (RouteDefinition)routeContext.getRoute();
         List<ProcessorDefinition<?>> outputs = route.getOutputs();
-        outputs.remove(this);
+        outputs.remove(definition);
 
         return new InterceptEndpointProcessor(matchURI, before);
     }