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

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


The following commit(s) were added to refs/heads/main by this push:
     new 44cf73355a7 Replace j.u.Stack with j.u.ArrayDequeue (#14963)
44cf73355a7 is described below

commit 44cf73355a7043e18c02d2b86628db6ec1c42f4e
Author: Guillaume Nodet <[email protected]>
AuthorDate: Mon Jul 29 18:00:17 2024 +0200

    Replace j.u.Stack with j.u.ArrayDequeue (#14963)
---
 .../org/apache/camel/parser/helper/XmlLineNumberParser.java    |  6 +++---
 .../org/apache/camel/component/aws/xray/json/JsonParser.java   |  9 ++++-----
 .../apache/camel/component/aws/xray/json/JsonStructure.java    |  2 +-
 .../org/apache/camel/component/file/azure/FilesOperations.java |  9 ++++-----
 .../apache/camel/component/github/consumer/CommitConsumer.java |  6 +++---
 .../apache/camel/component/github/consumer/EventsConsumer.java |  4 +++-
 .../component/github/consumer/PullRequestCommentConsumer.java  | 10 ++++++----
 .../camel/component/github/consumer/PullRequestConsumer.java   | 10 ++++++----
 .../apache/camel/component/github/consumer/TagConsumer.java    | 10 ++++++----
 .../camel/component/salesforce/codegen/GenerateExecution.java  |  6 +++---
 .../apache/camel/management/mbean/RouteCoverageXmlParser.java  |  4 ++--
 .../java/org/apache/camel/util/xml/XmlLineNumberParser.java    |  4 ++--
 .../src/main/java/org/apache/camel/yaml/io/YamlWriter.java     |  4 ++--
 13 files changed, 45 insertions(+), 39 deletions(-)

diff --git 
a/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
 
b/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
index 0fe10c734fe..537c6d6f710 100644
--- 
a/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
+++ 
b/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/XmlLineNumberParser.java
@@ -18,12 +18,12 @@ package org.apache.camel.parser.helper;
 
 import java.io.InputStream;
 import java.io.StringReader;
+import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Stack;
 
 import javax.xml.XMLConstants;
 import javax.xml.parsers.DocumentBuilder;
@@ -121,7 +121,7 @@ public final class XmlLineNumberParser {
             final DocumentBuilder docBuilder = dbf.newDocumentBuilder();
             doc = docBuilder.newDocument();
 
-            final Stack<Element> elementStack = new Stack<>();
+            final ArrayDeque<Element> elementStack = new ArrayDeque<>();
             final StringBuilder textBuffer = new StringBuilder();
             final DefaultHandler handler = getDefaultHandler(rootNames, 
forceNamespace, doc, elementStack, textBuffer);
             parser.parse(is, handler);
@@ -133,7 +133,7 @@ public final class XmlLineNumberParser {
     }
 
     private static DefaultHandler getDefaultHandler(
-            String rootNames, String forceNamespace, Document doc, 
Stack<Element> elementStack, StringBuilder textBuffer) {
+            String rootNames, String forceNamespace, Document doc, 
ArrayDeque<Element> elementStack, StringBuilder textBuffer) {
         return new DefaultHandler() {
             private Locator locator;
             private boolean found;
diff --git 
a/components/camel-aws/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonParser.java
 
b/components/camel-aws/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonParser.java
index 363b21d5e80..8ef25156592 100644
--- 
a/components/camel-aws/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonParser.java
+++ 
b/components/camel-aws/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonParser.java
@@ -16,9 +16,9 @@
  */
 package org.apache.camel.component.aws.xray.json;
 
+import java.util.ArrayDeque;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Stack;
 
 import org.apache.camel.util.ObjectHelper;
 import org.apache.commons.lang3.StringUtils;
@@ -32,7 +32,7 @@ public final class JsonParser {
     public static JsonStructure parse(final String jsonString) {
         String json = jsonString.replace("\n", "");
 
-        Stack<JsonStructure> stack = new Stack<>();
+        ArrayDeque<JsonStructure> stack = new ArrayDeque<>();
 
         JsonStructure ret = null;
         List<String> doNotIncludeSymbols = Arrays.asList(",", ":", "\"");
@@ -105,8 +105,7 @@ public final class JsonParser {
                         break;
                     }
                 default:
-                    if (('"' == c && curToken.isEmpty())
-                            || ('"' == c && !curToken.isEmpty() && 
curToken.charAt(curToken.length() - 1) != '\\')) {
+                    if ('"' == c && (curToken.isEmpty() || 
curToken.charAt(curToken.length() - 1) != '\\')) {
                         inWord = !inWord;
                     }
                     if (!inWord && 
!doNotIncludeSymbols.contains(String.valueOf(c))) {
@@ -119,7 +118,7 @@ public final class JsonParser {
         return ret;
     }
 
-    private static void addJson(JsonStructure element, String key, 
Stack<JsonStructure> stack) {
+    private static void addJson(JsonStructure element, String key, 
ArrayDeque<JsonStructure> stack) {
         if (!stack.isEmpty()) {
             JsonStructure json = stack.peek();
             if (json instanceof JsonObject && key != null) {
diff --git 
a/components/camel-aws/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonStructure.java
 
b/components/camel-aws/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonStructure.java
index 7a3af82e0c6..57c61a1b564 100644
--- 
a/components/camel-aws/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonStructure.java
+++ 
b/components/camel-aws/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonStructure.java
@@ -16,6 +16,6 @@
  */
 package org.apache.camel.component.aws.xray.json;
 
-interface JsonStructure {
+public interface JsonStructure {
 
 }
diff --git 
a/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
 
b/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
index 44123e74248..ad4aeb5d437 100644
--- 
a/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
+++ 
b/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesOperations.java
@@ -24,8 +24,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.time.Duration;
+import java.util.ArrayDeque;
 import java.util.EmptyStackException;
-import java.util.Stack;
 
 import com.azure.core.util.Context;
 import com.azure.identity.DefaultAzureCredentialBuilder;
@@ -79,7 +79,7 @@ public class FilesOperations extends NormalizedOperations {
     private final FilesToken token;
     private ShareServiceClient client;
     private ShareDirectoryClient root;
-    private Stack<ShareDirectoryClient> dirStack = new Stack<>();
+    private ArrayDeque<ShareDirectoryClient> dirStack = new ArrayDeque<>();
 
     FilesOperations(FilesEndpoint endpoint) {
         super(endpoint.getConfiguration());
@@ -129,7 +129,7 @@ public class FilesOperations extends NormalizedOperations {
         var ms = configuration.getConnectTimeout();
         root.forceCloseAllHandles(true, Duration.ofMillis(ms), Context.NONE);
         root = null;
-        dirStack = new Stack<>();
+        dirStack = new ArrayDeque<>();
     }
 
     @Override
@@ -157,7 +157,7 @@ public class FilesOperations extends NormalizedOperations {
 
     @SuppressWarnings("unchecked")
     void restore(Object backup) {
-        dirStack = (Stack<ShareDirectoryClient>) backup;
+        dirStack = (ArrayDeque<ShareDirectoryClient>) backup;
     }
 
     Object backup() {
@@ -641,7 +641,6 @@ public class FilesOperations extends NormalizedOperations {
         if (!isConnected()) {
             throw new GenericFileOperationFailedException("Cannot cd to the 
share root: not connected");
         }
-        dirStack.empty();
         dirStack.push(root);
     }
 
diff --git 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
index f13cb58e36c..0aa19ffe099 100644
--- 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
+++ 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/CommitConsumer.java
@@ -16,9 +16,9 @@
  */
 package org.apache.camel.component.github.consumer;
 
+import java.util.ArrayDeque;
 import java.util.List;
 import java.util.Queue;
-import java.util.Stack;
 import java.util.concurrent.LinkedBlockingQueue;
 
 import org.apache.camel.Exchange;
@@ -134,7 +134,7 @@ public class CommitConsumer extends AbstractGitHubConsumer {
         }
 
         // In the end, we want tags oldest to newest.
-        Stack<RepositoryCommit> newCommits = new Stack<>();
+        ArrayDeque<RepositoryCommit> newCommits = new ArrayDeque<>();
         for (RepositoryCommit commit : commits) {
             String sha = commit.getSha();
             if (!commitHashes.contains(sha)) {
@@ -148,7 +148,7 @@ public class CommitConsumer extends AbstractGitHubConsumer {
         }
 
         int counter = 0;
-        while (!newCommits.empty()) {
+        while (!newCommits.isEmpty()) {
             RepositoryCommit newCommit = newCommits.pop();
             lastSha = newCommit.getSha();
             Exchange e = createExchange(true);
diff --git 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/EventsConsumer.java
 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/EventsConsumer.java
index a47e763a860..e1b77776626 100644
--- 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/EventsConsumer.java
+++ 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/EventsConsumer.java
@@ -72,6 +72,7 @@ public class EventsConsumer extends AbstractGitHubConsumer {
             }
         }
 
+        int counter = 0;
         if (!newEvents.isEmpty()) {
             newEvents.sort((e1, e2) -> 
Long.valueOf(e1.getId()).compareTo(Long.parseLong(e2.getId())));
             Event latestEvent = newEvents.get(newEvents.size() - 1);
@@ -82,10 +83,11 @@ public class EventsConsumer extends AbstractGitHubConsumer {
                 exchange.getMessage().setBody(event.getType());
                 
exchange.getMessage().setHeader(GitHubConstants.GITHUB_EVENT_PAYLOAD, 
event.getPayload());
                 getProcessor().process(exchange);
+                counter++;
             }
         }
 
-        return newEvents.size();
+        return counter;
     }
 
     /**
diff --git 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/PullRequestCommentConsumer.java
 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/PullRequestCommentConsumer.java
index fc4fa035bb5..e6a4f16f24e 100644
--- 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/PullRequestCommentConsumer.java
+++ 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/PullRequestCommentConsumer.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.component.github.consumer;
 
+import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Stack;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
@@ -88,7 +88,7 @@ public class PullRequestCommentConsumer extends 
AbstractGitHubConsumer {
 
         List<PullRequest> pullRequests = 
pullRequestService.getPullRequests(getRepository(), "open");
         // In the end, we want comments oldest to newest.
-        Stack<Comment> newComments = new Stack<>();
+        ArrayDeque<Comment> newComments = new ArrayDeque<>();
         for (PullRequest pullRequest : pullRequests) {
             List<CommitComment> commitComments = 
pullRequestService.getComments(getRepository(), pullRequest.getNumber());
             for (Comment comment : commitComments) {
@@ -108,7 +108,8 @@ public class PullRequestCommentConsumer extends 
AbstractGitHubConsumer {
             }
         }
 
-        while (!newComments.empty()) {
+        int counter = 0;
+        while (!newComments.isEmpty()) {
             Comment newComment = newComments.pop();
             Exchange e = createExchange(true);
             e.getIn().setBody(newComment);
@@ -117,7 +118,8 @@ public class PullRequestCommentConsumer extends 
AbstractGitHubConsumer {
             e.getIn().setHeader(GitHubConstants.GITHUB_PULLREQUEST, 
commentIdToPullRequest.get(newComment.getId()));
 
             getProcessor().process(e);
+            counter++;
         }
-        return newComments.size();
+        return counter;
     }
 }
diff --git 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/PullRequestConsumer.java
 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/PullRequestConsumer.java
index 61d839c5f5f..a78aaf221c7 100644
--- 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/PullRequestConsumer.java
+++ 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/PullRequestConsumer.java
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.component.github.consumer;
 
+import java.util.ArrayDeque;
 import java.util.List;
-import java.util.Stack;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
@@ -61,7 +61,7 @@ public class PullRequestConsumer extends 
AbstractGitHubConsumer {
     protected int poll() throws Exception {
         List<PullRequest> openPullRequests = 
pullRequestService.getPullRequests(getRepository(), "open");
         // In the end, we want PRs oldest to newest.
-        Stack<PullRequest> newPullRequests = new Stack<>();
+        ArrayDeque<PullRequest> newPullRequests = new ArrayDeque<>();
         for (PullRequest pullRequest : openPullRequests) {
             if (pullRequest.getNumber() > lastOpenPullRequest) {
                 newPullRequests.push(pullRequest);
@@ -74,7 +74,8 @@ public class PullRequestConsumer extends 
AbstractGitHubConsumer {
             lastOpenPullRequest = openPullRequests.get(0).getNumber();
         }
 
-        while (!newPullRequests.empty()) {
+        int counter = 0;
+        while (!newPullRequests.isEmpty()) {
             PullRequest newPullRequest = newPullRequests.pop();
             Exchange e = createExchange(true);
 
@@ -87,7 +88,8 @@ public class PullRequestConsumer extends 
AbstractGitHubConsumer {
             }
 
             getProcessor().process(e);
+            counter++;
         }
-        return newPullRequests.size();
+        return counter;
     }
 }
diff --git 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/TagConsumer.java
 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/TagConsumer.java
index 91a7107f75f..0d57505696c 100644
--- 
a/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/TagConsumer.java
+++ 
b/components/camel-github/src/main/java/org/apache/camel/component/github/consumer/TagConsumer.java
@@ -16,9 +16,9 @@
  */
 package org.apache.camel.component.github.consumer;
 
+import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Stack;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
@@ -46,7 +46,7 @@ public class TagConsumer extends AbstractGitHubConsumer {
     protected int poll() throws Exception {
         List<RepositoryTag> tags = 
getRepositoryService().getTags(getRepository());
         // In the end, we want tags oldest to newest.
-        Stack<RepositoryTag> newTags = new Stack<>();
+        ArrayDeque<RepositoryTag> newTags = new ArrayDeque<>();
         for (RepositoryTag tag : tags) {
             if (!tagNames.contains(tag.getName())) {
                 newTags.push(tag);
@@ -54,12 +54,14 @@ public class TagConsumer extends AbstractGitHubConsumer {
             }
         }
 
-        while (!newTags.empty()) {
+        int counter = 0;
+        while (!newTags.isEmpty()) {
             RepositoryTag newTag = newTags.pop();
             Exchange e = createExchange(true);
             e.getIn().setBody(newTag);
             getProcessor().process(e);
+            counter++;
         }
-        return newTags.size();
+        return counter;
     }
 }
diff --git 
a/components/camel-salesforce/camel-salesforce-codegen/src/main/java/org/apache/camel/component/salesforce/codegen/GenerateExecution.java
 
b/components/camel-salesforce/camel-salesforce-codegen/src/main/java/org/apache/camel/component/salesforce/codegen/GenerateExecution.java
index 394fc420665..2939407eed0 100644
--- 
a/components/camel-salesforce/camel-salesforce-codegen/src/main/java/org/apache/camel/component/salesforce/codegen/GenerateExecution.java
+++ 
b/components/camel-salesforce/camel-salesforce-codegen/src/main/java/org/apache/camel/component/salesforce/codegen/GenerateExecution.java
@@ -23,6 +23,7 @@ import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.lang.reflect.Field;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -33,7 +34,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
-import java.util.Stack;
 import java.util.TreeMap;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.BinaryOperator;
@@ -67,7 +67,7 @@ public class GenerateExecution extends 
AbstractSalesforceExecution {
 
     public class GeneratorUtility {
 
-        private Stack<String> stack;
+        private ArrayDeque<String> stack;
         private final Map<String, AtomicInteger> varNames = new HashMap<>();
         private final BeanIntrospection bi = new DefaultBeanIntrospection();
 
@@ -277,7 +277,7 @@ public class GenerateExecution extends 
AbstractSalesforceExecution {
         }
 
         public void start(final String initial) {
-            stack = new Stack<>();
+            stack = new ArrayDeque<>();
             stack.push(initial);
             varNames.clear();
         }
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
index f13d4992871..4b3a3c2dbc8 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
@@ -17,7 +17,7 @@
 package org.apache.camel.management.mbean;
 
 import java.io.InputStream;
-import java.util.Stack;
+import java.util.ArrayDeque;
 
 import javax.xml.XMLConstants;
 import javax.xml.parsers.DocumentBuilder;
@@ -89,7 +89,7 @@ public final class RouteCoverageXmlParser {
         final DocumentBuilder docBuilder = dbf.newDocumentBuilder();
         final Document doc = docBuilder.newDocument();
 
-        final Stack<Element> elementStack = new Stack<>();
+        final ArrayDeque<Element> elementStack = new ArrayDeque<>();
         final StringBuilder textBuffer = new StringBuilder();
         final DefaultHandler handler = new DefaultHandler() {
 
diff --git 
a/core/camel-xml-jaxp/src/main/java/org/apache/camel/util/xml/XmlLineNumberParser.java
 
b/core/camel-xml-jaxp/src/main/java/org/apache/camel/util/xml/XmlLineNumberParser.java
index 3336c1066e2..47b45381965 100644
--- 
a/core/camel-xml-jaxp/src/main/java/org/apache/camel/util/xml/XmlLineNumberParser.java
+++ 
b/core/camel-xml-jaxp/src/main/java/org/apache/camel/util/xml/XmlLineNumberParser.java
@@ -19,7 +19,7 @@ package org.apache.camel.util.xml;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringReader;
-import java.util.Stack;
+import java.util.ArrayDeque;
 
 import javax.xml.XMLConstants;
 import javax.xml.parsers.DocumentBuilder;
@@ -141,7 +141,7 @@ public final class XmlLineNumberParser {
         final DocumentBuilder docBuilder = dbf.newDocumentBuilder();
         doc = docBuilder.newDocument();
 
-        final Stack<Element> elementStack = new Stack<>();
+        final ArrayDeque<Element> elementStack = new ArrayDeque<>();
         final StringBuilder textBuffer = new StringBuilder();
         final DefaultHandler handler = new DefaultHandler() {
             private Locator locator;
diff --git 
a/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/YamlWriter.java 
b/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/YamlWriter.java
index c1eed71eeb2..7b35bfc17bb 100644
--- a/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/YamlWriter.java
+++ b/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/YamlWriter.java
@@ -18,11 +18,11 @@ package org.apache.camel.yaml.io;
 
 import java.io.IOException;
 import java.io.Writer;
+import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Stack;
 import java.util.StringJoiner;
 
 import com.fasterxml.jackson.databind.JsonNode;
@@ -61,7 +61,7 @@ public class YamlWriter extends ServiceSupport implements 
CamelContextAware {
     private final DefaultRuntimeCamelCatalog catalog;
     private final List<EipModel> roots = new ArrayList<>();
     private boolean routesIsRoot;
-    private final Stack<EipModel> models = new Stack<>();
+    private final ArrayDeque<EipModel> models = new ArrayDeque<>();
     private String expression;
     private boolean uriAsParameters;
 

Reply via email to