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

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


The following commit(s) were added to refs/heads/camel-4.0.x by this push:
     new ab596ee71b6 CAMEL-19888 Preserve openapi tags order while generating 
api-doc (#11493)
ab596ee71b6 is described below

commit ab596ee71b62637c4c86cc3bfd7d70c3988bf5cf
Author: Jakub BieÅ„kowski <[email protected]>
AuthorDate: Wed Sep 20 16:08:07 2023 +0200

    CAMEL-19888 Preserve openapi tags order while generating api-doc (#11493)
    
    Co-authored-by: Jakub Bienkowski <[email protected]>
---
 .../apache/camel/openapi/RestOpenApiReader.java    | 22 ++++++----------------
 .../camel/openapi/RestOpenApiReaderTest.java       |  5 ++---
 2 files changed, 8 insertions(+), 19 deletions(-)

diff --git 
a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
 
b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
index 6c298f46b6b..db1a177bd3b 100644
--- 
a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
+++ 
b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
@@ -18,21 +18,7 @@ package org.apache.camel.openapi;
 
 import java.lang.invoke.MethodHandle;
 import java.lang.invoke.MethodType;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
+import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -170,7 +156,11 @@ public class RestOpenApiReader {
             openApi.setTags(new ArrayList<>(
                     openApi.getTags()
                             .stream()
-                            .collect(Collectors.toMap(Tag::getName, 
Function.identity(), (prev, current) -> prev))
+                            .collect(Collectors.toMap(
+                                    Tag::getName,
+                                    Function.identity(),
+                                    (prev, current) -> prev,
+                                    LinkedHashMap::new))
                             .values()));
         }
 
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
index 26da6cc97c7..224286c4baa 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
@@ -182,7 +182,7 @@ public class RestOpenApiReaderTest extends CamelTestSupport 
{
         assertTrue(flatJson.contains(
                 "\"/tag/multiple/b\" : { \"get\" : { \"tags\" : [ 
\"Organisation\", \"Group B\" ], \"consumes\" : [ \"application/json\" ], 
\"produces\" : [ \"application/json\" ], "));
         assertTrue(flatJson.contains(
-                "\"tags\" : [ { \"name\" : \"Group B\" }, { \"name\" : 
\"Organisation\" }, { \"name\" : \"Group A\" }, { \"name\" : \"/hello\" } ]"));
+                "\"tags\" : [ { \"name\" : \"/hello\" }, { \"name\" : 
\"Organisation\" }, { \"name\" : \"Group A\" }, { \"name\" : \"Group B\" } ]"));
 
         context.stop();
     }
@@ -226,8 +226,7 @@ public class RestOpenApiReaderTest extends CamelTestSupport 
{
         assertTrue(
                 json.matches(".*\"/tag/multiple/b\" : \\{ \"get\" : .*\"tags\" 
: \\[ \"Organisation\", \"Group B\" ],.*"));
         assertTrue(json.contains(
-                "\"tags\" : [ { \"name\" : \"Group B\" }, { \"name\" : 
\"Organisation\" }, { \"name\" : \"Group A\" }, { \"name\" : \"/hello\" } ]"));
-
+                "\"tags\" : [ { \"name\" : \"/hello\" }, { \"name\" : 
\"Organisation\" }, { \"name\" : \"Group A\" }, { \"name\" : \"Group B\" } ]"));
         context.stop();
     }
 

Reply via email to