You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/07/05 16:17:22 UTC
[camel] branch main updated: CAMEL-19580: camel-catalog-maven - Add getClassLoader API
This is an automated email from the ASF dual-hosted git repository.
davsclaus 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 8fb4ae56e88 CAMEL-19580: camel-catalog-maven - Add getClassLoader API
8fb4ae56e88 is described below
commit 8fb4ae56e889c13ba34aa0f84e931c1f0ac9cd40
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Jul 5 18:17:08 2023 +0200
CAMEL-19580: camel-catalog-maven - Add getClassLoader API
---
.../org/apache/camel/catalog/maven/MavenVersionManager.java | 8 ++++++++
.../org/apache/camel/catalog/maven/MavenVersionManager.java | 12 ++++++++----
.../java/org/apache/camel/catalog/DefaultVersionManager.java | 5 +++++
.../main/java/org/apache/camel/catalog/VersionManager.java | 5 +++++
.../apache/camel/dsl/jbang/core/common/CatalogLoader.java | 5 +++++
5 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/catalog/camel-catalog-maven-grape/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java b/catalog/camel-catalog-maven-grape/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
index e41858f5ff9..382e86ded90 100644
--- a/catalog/camel-catalog-maven-grape/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
+++ b/catalog/camel-catalog-maven-grape/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
@@ -54,6 +54,14 @@ public class MavenVersionManager implements VersionManager, Closeable {
this.classLoader = classLoader;
}
+ @Override
+ public ClassLoader getClassLoader() {
+ if (classLoader != null) {
+ return classLoader;
+ }
+ return groovyClassLoader;
+ }
+
/**
* Configures the directory for the download cache.
* <p/>
diff --git a/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java b/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
index fb41f62f809..d32fc1b2e92 100644
--- a/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
+++ b/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java
@@ -75,6 +75,14 @@ public class MavenVersionManager implements VersionManager, Closeable {
this.classLoader = classLoader;
}
+ @Override
+ public ClassLoader getClassLoader() {
+ if (classLoader != null) {
+ return classLoader;
+ }
+ return helperClassLoader;
+ }
+
/**
* Configures the directory for the download cache.
* <p/>
@@ -179,10 +187,6 @@ public class MavenVersionManager implements VersionManager, Closeable {
/**
* Resolves Maven artifact using passed coordinates and use downloaded artifact as one of the URLs in the
* helperClassLoader, so further Catalog access may load resources from it.
- *
- * @param mavenDownloader
- * @param gav
- * @param useSnapshots
*/
private void resolve(MavenDownloader mavenDownloader, String gav, boolean useSnapshots)
throws MavenResolutionException, MalformedURLException {
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java
index e2a20e68cc1..e92392a1fed 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultVersionManager.java
@@ -32,6 +32,11 @@ public class DefaultVersionManager implements VersionManager {
this.classLoader = classLoader;
}
+ @Override
+ public ClassLoader getClassLoader() {
+ return classLoader;
+ }
+
@Override
public String getLoadedVersion() {
return camelCatalog.getCatalogVersion();
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/VersionManager.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/VersionManager.java
index e9ac2f30d77..da311b03ecd 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/VersionManager.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/VersionManager.java
@@ -28,6 +28,11 @@ public interface VersionManager {
*/
void setClassLoader(ClassLoader classLoader);
+ /**
+ * Gets the class loader that is able to load classes and resources from the catalog.
+ */
+ ClassLoader getClassLoader();
+
/**
* Gets the current loaded Camel version used by the catalog.
*/
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
index 43407795509..f3cf0e9b41d 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
@@ -235,6 +235,11 @@ public final class CatalogLoader {
this.classLoader = classLoader;
}
+ @Override
+ public ClassLoader getClassLoader() {
+ return classLoader;
+ }
+
@Override
public String getLoadedVersion() {
return version;