You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2023/04/19 07:58:46 UTC
[camel-quarkus] 21/30: camel-java-joor-dsl - Ease the way to get all the compiled classes
This is an automated email from the ASF dual-hosted git repository.
jiriondrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 6af160f26b83d93d4ed47c71de177e75d7a9c589
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Wed Apr 5 20:47:27 2023 +0200
camel-java-joor-dsl - Ease the way to get all the compiled classes
---
.../java/joor/deployment/JavaJoorDslProcessor.java | 27 +++++-----------------
.../component/joor/deployment/JoorProcessor.java | 2 +-
2 files changed, 7 insertions(+), 22 deletions(-)
diff --git a/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java b/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
index a34f0d8e87..ff3bf2c335 100644
--- a/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
+++ b/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
@@ -99,29 +99,14 @@ public class JavaJoorDslProcessor {
.map(Objects::toString)
.collect(Collectors.joining(System.getProperty("path.separator")))));
for (String className : result.getClassNames()) {
+ registerForReflection(reflectiveClass, lambdaCapturingTypeProducer, result.getClass(className));
+ }
+ for (String className : result.getCompiledClassNames()) {
+ int index = className.indexOf("$");
+ String outerClassName = index == -1 ? className : className.substring(0, index);
generatedClass
- .produce(new JavaJoorGeneratedClassBuildItem(className, nameToResource.get(className).getLocation(),
+ .produce(new JavaJoorGeneratedClassBuildItem(className, nameToResource.get(outerClassName).getLocation(),
result.getByteCode(className)));
- Class<?> aClass = result.getClass(className);
- // Inner classes
- for (Class<?> clazz : aClass.getDeclaredClasses()) {
- String name = clazz.getName();
- generatedClass
- .produce(new JavaJoorGeneratedClassBuildItem(name, nameToResource.get(className).getLocation(),
- result.getByteCode(name)));
- }
- // Anonymous classes
- for (int i = 1;; i++) {
- String name = String.format("%s$%d", className, i);
- byte[] content = result.getByteCode(name);
- if (content == null) {
- break;
- }
- generatedClass
- .produce(new JavaJoorGeneratedClassBuildItem(name, nameToResource.get(className).getLocation(),
- content));
- }
- registerForReflection(reflectiveClass, lambdaCapturingTypeProducer, aClass);
}
}
diff --git a/extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java b/extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java
index cb8c10df23..49a3e9c674 100644
--- a/extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java
+++ b/extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java
@@ -144,7 +144,7 @@ class JoorProcessor {
.flatMap(PathCollection::stream)
.map(Objects::toString)
.collect(Collectors.joining(System.getProperty("path.separator")))));
- for (String className : compilationResult.getClassNames()) {
+ for (String className : compilationResult.getCompiledClassNames()) {
generatedClass
.produce(
new GeneratedClassBuildItem(true, className, compilationResult.getByteCode(className)));