You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2021/11/25 17:06:02 UTC

[camel] branch main updated: CAMEL-17230: cleanup loading unpublished local Kamelets

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

orpiske 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 6e04e35  CAMEL-17230: cleanup loading unpublished local Kamelets
6e04e35 is described below

commit 6e04e3570a675f2bb7d412b692b39bebf3612f8d
Author: Otavio Rodolfo Piske <op...@redhat.com>
AuthorDate: Thu Nov 25 11:26:32 2021 +0100

    CAMEL-17230: cleanup loading unpublished local Kamelets
---
 .../org/apache/camel/dsl/jbang/core/commands/Run.java    | 13 ++++++++-----
 .../src/main/java/org/apache/camel/main/KameletMain.java | 16 +++++++++++++---
 2 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
index f6ec074..35ee8f8 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
@@ -109,7 +109,14 @@ class Run implements Callable<Integer> {
         // configure logging first
         RuntimeUtil.configureLog(loggingLevel);
 
-        KameletMain main = new KameletMain();
+        KameletMain main;
+
+        if (localKameletDir == null) {
+            main = new KameletMain();
+        } else {
+            main = new KameletMain("file://" + localKameletDir);
+        }
+
         main.addInitialProperty("camel.main.name", name);
         // shutdown quickly
         main.addInitialProperty("camel.main.shutdownTimeout", "5");
@@ -127,10 +134,6 @@ class Run implements Callable<Integer> {
             main.addInitialProperty("camel.main.durationMaxIdleSeconds", String.valueOf(maxIdleSeconds));
         }
 
-        if (localKameletDir != null && !localKameletDir.isEmpty()) {
-            main.addInitialProperty("camel.component.kamelet.location", "file://" + localKameletDir);
-        }
-
         if (fileLock) {
             lockFile = createLockFile();
             if (!lockFile.exists()) {
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
index bb655ff..356fad4 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
@@ -17,6 +17,7 @@
 package org.apache.camel.main;
 
 import java.util.Map;
+import java.util.Objects;
 
 import groovy.lang.GroovyClassLoader;
 import org.apache.camel.CamelContext;
@@ -29,13 +30,22 @@ import org.apache.camel.spi.Registry;
  * A Main class for booting up Camel with Kamelet in standalone mode.
  */
 public class KameletMain extends MainCommandLineSupport {
+    public static final String DEFAULT_KAMELETS_LOCATION = "classpath:/kamelets,github:apache:camel-kamelets/kamelets";
 
     private static ClassLoader kameletClassLoader;
     protected final MainRegistry registry = new MainRegistry();
     private boolean download = true;
 
     public KameletMain() {
-        configureInitialProperties();
+        configureInitialProperties(DEFAULT_KAMELETS_LOCATION);
+    }
+
+    public KameletMain(String overrides) {
+        Objects.requireNonNull(overrides);
+
+        String locations = overrides + "," + DEFAULT_KAMELETS_LOCATION;
+
+        configureInitialProperties(locations);
     }
 
     public static void main(String... args) throws Exception {
@@ -170,8 +180,8 @@ public class KameletMain extends MainCommandLineSupport {
     /**
      * Sets initial properties that are specific to camel-kamelet-main
      */
-    protected void configureInitialProperties() {
-        addInitialProperty("camel.component.kamelet.location", "classpath:/kamelets,github:apache:camel-kamelets/kamelets");
+    protected void configureInitialProperties(String location) {
+        addInitialProperty("camel.component.kamelet.location", location);
     }
 
 }