You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2021/08/26 10:10:10 UTC

[camel] branch main updated (9c42834 -> 91bf535)

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

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


    from 9c42834  Regen
     new d563fec  Fix method ordering
     new 91bf535  Provide a lock to support concurrent generation

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:
 .../converter/jaxp/CamelXmlJaxpBulkConverterLoader.java  | 16 ++++++++--------
 .../apache/camel/maven/packaging/ComponentDslMojo.java   | 13 ++++++++++++-
 .../packaging/TypeConverterLoaderGeneratorMojo.java      | 10 ++++++++--
 3 files changed, 28 insertions(+), 11 deletions(-)

[camel] 01/02: Fix method ordering

Posted by gn...@apache.org.
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

commit d563fec49ce64661a8e6879719686407a7c3b993
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Aug 24 23:04:05 2021 +0200

    Fix method ordering
---
 .../converter/jaxp/CamelXmlJaxpBulkConverterLoader.java  | 16 ++++++++--------
 .../packaging/TypeConverterLoaderGeneratorMojo.java      | 10 ++++++++--
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java b/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
index 5ba950d..ed9d0cb 100644
--- a/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
+++ b/core/camel-xml-jaxp/src/generated/java/org/apache/camel/converter/jaxp/CamelXmlJaxpBulkConverterLoader.java
@@ -698,14 +698,6 @@ public final class CamelXmlJaxpBulkConverterLoader implements TypeConverterLoade
         }
         return domConverter;
     }
-    private volatile org.apache.camel.converter.jaxp.XmlConverter xmlConverter;
-    private org.apache.camel.converter.jaxp.XmlConverter getXmlConverter() {
-        if (xmlConverter == null) {
-            xmlConverter = new org.apache.camel.converter.jaxp.XmlConverter();
-            CamelContextAware.trySetCamelContext(xmlConverter, camelContext);
-        }
-        return xmlConverter;
-    }
     private volatile org.apache.camel.converter.jaxp.StaxConverter staxConverter;
     private org.apache.camel.converter.jaxp.StaxConverter getStaxConverter() {
         if (staxConverter == null) {
@@ -714,4 +706,12 @@ public final class CamelXmlJaxpBulkConverterLoader implements TypeConverterLoade
         }
         return staxConverter;
     }
+    private volatile org.apache.camel.converter.jaxp.XmlConverter xmlConverter;
+    private org.apache.camel.converter.jaxp.XmlConverter getXmlConverter() {
+        if (xmlConverter == null) {
+            xmlConverter = new org.apache.camel.converter.jaxp.XmlConverter();
+            CamelContextAware.trySetCamelContext(xmlConverter, camelContext);
+        }
+        return xmlConverter;
+    }
 }
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/TypeConverterLoaderGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/TypeConverterLoaderGeneratorMojo.java
index f79f314..4701d3f 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/TypeConverterLoaderGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/TypeConverterLoaderGeneratorMojo.java
@@ -30,6 +30,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
+import java.util.TreeSet;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.maven.plugin.MojoExecutionException;
@@ -169,12 +170,17 @@ public class TypeConverterLoaderGeneratorMojo extends AbstractGeneratorMojo {
                 // same group then sort by order
                 Integer order1 = asInteger(o1.annotation(CONVERTER_ANNOTATION), "order");
                 Integer order2 = asInteger(o2.annotation(CONVERTER_ANNOTATION), "order");
-                return order1.compareTo(order2);
+                sort = order1.compareTo(order2);
+                if (sort == 0) {
+                    String str1 = o1.parameters().stream().findFirst().map(Type::toString).orElse("");
+                    String str2 = o2.parameters().stream().findFirst().map(Type::toString).orElse("");
+                    return str1.compareTo(str2);
+                }
             }
             return sort;
         });
 
-        Set<String> converterClasses = new LinkedHashSet<>();
+        Set<String> converterClasses = new TreeSet<>();
 
         int pos = fqn.lastIndexOf('.');
         String p = fqn.substring(0, pos);

[camel] 02/02: Provide a lock to support concurrent generation

Posted by gn...@apache.org.
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

commit 91bf5351b0e293b18a610db4f904c957bd16a2f7
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Aug 26 12:09:36 2021 +0200

    Provide a lock to support concurrent generation
---
 .../org/apache/camel/maven/packaging/ComponentDslMojo.java  | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
index d6cab7e..28491c7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
@@ -28,6 +28,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
@@ -100,6 +103,8 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
 
     DynamicClassLoader projectClassLoader;
 
+    private static final Map<Path, Lock> locks = new ConcurrentHashMap<>();
+
     @Override
     public void execute(MavenProject project, MavenProjectHelper projectHelper, BuildContext buildContext)
             throws MojoFailureException, MojoExecutionException {
@@ -145,7 +150,13 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
             throw new RuntimeException(e.getMessage(), e);
         }
 
-        executeComponent(files);
+        Lock lock = locks.computeIfAbsent(root, d -> new ReentrantLock());
+        lock.lock();
+        try {
+            executeComponent(files);
+        } finally {
+            lock.unlock();
+        }
     }
 
     private void executeComponent(Map<File, Supplier<String>> jsonFiles) throws MojoExecutionException, MojoFailureException {