You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2024/03/12 13:02:05 UTC

(camel) branch main updated: chore: minor camel-catalog cleanup

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

lburgazzoli 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 7fd42b6a3a9 chore: minor camel-catalog cleanup
7fd42b6a3a9 is described below

commit 7fd42b6a3a9aef3eea8e6a14606662b86b220be2
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Tue Mar 12 10:05:22 2024 +0100

    chore: minor camel-catalog cleanup
---
 .../apache/camel/catalog/DefaultCamelCatalog.java  | 61 ++++++++++-------
 .../camel/catalog/DefaultRuntimeProvider.java      | 76 +++-------------------
 2 files changed, 49 insertions(+), 88 deletions(-)

diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index adc5e84aa8e..aca19fb66e7 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -59,17 +59,35 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
     private static final String SCHEMAS_XML = "org/apache/camel/catalog/schemas";
     private static final String MAIN_DIR = "org/apache/camel/catalog/main";
     private static final String BASE_RESOURCE_DIR = "org/apache/camel/catalog";
+
     public static final String FIND_COMPONENT_NAMES = "findComponentNames";
+    public static final String FIND_COMPONENT_LABELS = "findComponentLabels";
     public static final String LIST_COMPONENTS_AS_JSON = "listComponentsAsJson";
+
     public static final String FIND_DATA_FORMAT_NAMES = "findDataFormatNames";
+    public static final String FIND_DATA_FORMAT_LABELS = "findDataFormatLabels";
     public static final String LIST_DATA_FORMATS_AS_JSON = "listDataFormatsAsJson";
+
     public static final String FIND_LANGUAGE_NAMES = "findLanguageNames";
-    public static final String FIND_TRANSFORMER_NAMES = "findTransformerNames";
-    public static final String FIND_CONSOLE_NAMES = "findConsoleNames";
+    public static final String FIND_LANGUAGE_LABELS = "findLanguageLabels";
     public static final String LIST_LANGUAGES_AS_JSON = "listLanguagesAsJson";
+
+    public static final String FIND_TRANSFORMER_NAMES = "findTransformerNames";
     public static final String LIST_TRANSFORMERS_AS_JSON = "listTransformersAsJson";
+
+    public static final String FIND_CONSOLE_NAMES = "findConsoleNames";
     public static final String LIST_CONSOLES_AS_JSON = "listConsolesAsJson";
 
+    public static final String FIND_MODEL_NAMES = "findModelNames";
+    public static final String FIND_MODEL_LABELS = "findModelLabels";
+    public static final String LIST_MODELS_AS_JSON = "listModelsAsJson";
+
+    public static final String FIND_OTHER_NAMES = "findOtherNames";
+    public static final String FIND_OTHER_LABELS = "findOtherLabels";
+    public static final String LIST_OTHERS_AS_JSON = "listOthersAsJson";
+
+    public static final String SUMMARY_AS_JSON = "summaryAsJson";
+
     private final VersionHelper version = new VersionHelper();
 
     // 3rd party components/data-formats
@@ -113,13 +131,9 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
         this.runtimeProvider = runtimeProvider;
         // inject CamelCatalog to the provider
         this.runtimeProvider.setCamelCatalog(this);
+
         // invalidate the cache
-        cache.remove(FIND_COMPONENT_NAMES);
-        cache.remove(LIST_COMPONENTS_AS_JSON);
-        cache.remove(FIND_DATA_FORMAT_NAMES);
-        cache.remove(LIST_DATA_FORMATS_AS_JSON);
-        cache.remove(FIND_LANGUAGE_NAMES);
-        cache.remove(LIST_LANGUAGES_AS_JSON);
+        cache.clear();
     }
 
     @Override
@@ -147,8 +161,10 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
         extraComponents.put(name, className);
         // invalidate the cache
         cache.remove(FIND_COMPONENT_NAMES);
-        cache.remove("findComponentLabels");
+        cache.remove(FIND_COMPONENT_LABELS);
         cache.remove(LIST_COMPONENTS_AS_JSON);
+
+        cache.remove(SUMMARY_AS_JSON);
     }
 
     @Override
@@ -164,8 +180,10 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
         extraDataFormats.put(name, className);
         // invalidate the cache
         cache.remove(FIND_DATA_FORMAT_NAMES);
-        cache.remove("findDataFormatLabels");
+        cache.remove(FIND_DATA_FORMAT_LABELS);
         cache.remove(LIST_DATA_FORMATS_AS_JSON);
+
+        cache.remove(SUMMARY_AS_JSON);
     }
 
     @Override
@@ -241,7 +259,7 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
 
     @Override
     public List<String> findModelNames() {
-        return cache("findModelNames", () -> {
+        return cache(FIND_MODEL_NAMES, () -> {
             try (InputStream is = versionManager.getResourceAsStream(MODELS_CATALOG)) {
                 return CatalogHelper.loadLines(is);
             } catch (IOException e) {
@@ -252,7 +270,7 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
 
     @Override
     public List<String> findOtherNames() {
-        return cache("findOtherNames", runtimeProvider::findOtherNames);
+        return cache(FIND_OTHER_NAMES, runtimeProvider::findOtherNames);
     }
 
     @Override
@@ -391,27 +409,27 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
 
     @Override
     public Set<String> findModelLabels() {
-        return cache("findModelLabels", () -> findLabels(this::findModelNames, this::eipModel));
+        return cache(FIND_MODEL_LABELS, () -> findLabels(this::findModelNames, this::eipModel));
     }
 
     @Override
     public Set<String> findComponentLabels() {
-        return cache("findComponentLabels", () -> findLabels(this::findComponentNames, this::componentModel));
+        return cache(FIND_COMPONENT_LABELS, () -> findLabels(this::findComponentNames, this::componentModel));
     }
 
     @Override
     public Set<String> findDataFormatLabels() {
-        return cache("findDataFormatLabels", () -> findLabels(this::findDataFormatNames, this::dataFormatModel));
+        return cache(FIND_DATA_FORMAT_LABELS, () -> findLabels(this::findDataFormatNames, this::dataFormatModel));
     }
 
     @Override
     public Set<String> findLanguageLabels() {
-        return cache("findLanguageLabels", () -> findLabels(this::findLanguageNames, this::languageModel));
+        return cache(FIND_LANGUAGE_LABELS, () -> findLabels(this::findLanguageNames, this::languageModel));
     }
 
     @Override
     public Set<String> findOtherLabels() {
-        return cache("findOtherLabels", () -> findLabels(this::findOtherNames, this::otherModel));
+        return cache(FIND_OTHER_LABELS, () -> findLabels(this::findOtherNames, this::otherModel));
     }
 
     private SortedSet<String> findLabels(Supplier<List<String>> findNames, Function<String, ? extends BaseModel<?>> loadModel) {
@@ -485,7 +503,7 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
 
     @Override
     public String listModelsAsJson() {
-        return cache("listModelsAsJson", () -> JsonMapper.serialize(findModelNames().stream()
+        return cache(LIST_MODELS_AS_JSON, () -> JsonMapper.serialize(findModelNames().stream()
                 .map(this::modelJSonSchema)
                 .map(JsonMapper::deserialize)
                 .map(o -> o.get("model"))
@@ -494,7 +512,7 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
 
     @Override
     public String listOthersAsJson() {
-        return cache("listOthersAsJson", () -> JsonMapper.serialize(findOtherNames().stream()
+        return cache(LIST_OTHERS_AS_JSON, () -> JsonMapper.serialize(findOtherNames().stream()
                 .map(this::otherJSonSchema)
                 .map(JsonMapper::deserialize)
                 .map(o -> o.get("other"))
@@ -503,7 +521,7 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
 
     @Override
     public String summaryAsJson() {
-        return cache("summaryAsJson", () -> {
+        return cache(SUMMARY_AS_JSON, () -> {
             Map<String, Object> obj = new JsonObject();
             obj.put("version", getCatalogVersion());
             obj.put("models", findModelNames().size());
@@ -613,11 +631,11 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
         }
     }
 
-    @SuppressWarnings("unchecked")
     private <T> T cache(String key, String name, Function<String, T> loader) {
         return doGetCache(key, name, loader);
     }
 
+    @SuppressWarnings("unchecked")
     private <T> T doGetCache(String key, String name, Function<String, T> loader) {
         if (caching) {
             T t = (T) cache.get(key);
@@ -633,7 +651,6 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
         }
     }
 
-    @SuppressWarnings("unchecked")
     private <T> T cache(String name, Function<String, T> loader) {
         return doGetCache(name, name, loader);
     }
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultRuntimeProvider.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultRuntimeProvider.java
index caebf7098ea..e2cc049a4da 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultRuntimeProvider.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultRuntimeProvider.java
@@ -128,93 +128,37 @@ public class DefaultRuntimeProvider implements RuntimeProvider {
 
     @Override
     public List<String> findComponentNames() {
-        List<String> names = new ArrayList<>();
-        try (InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(getComponentsCatalog())) {
-            if (is != null) {
-                try {
-                    CatalogHelper.loadLines(is, names);
-                } catch (IOException e) {
-                    // ignore
-                }
-            }
-        } catch (IOException e1) {
-            // ignore
-        }
-        return names;
+        return find(getComponentsCatalog());
     }
 
     @Override
     public List<String> findDataFormatNames() {
-        List<String> names = new ArrayList<>();
-        try (InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(getDataFormatsCatalog())) {
-            if (is != null) {
-                try {
-                    CatalogHelper.loadLines(is, names);
-                } catch (IOException e) {
-                    // ignore
-                }
-            }
-        } catch (IOException e1) {
-            // ignore
-        }
-        return names;
+        return find(getDataFormatsCatalog());
     }
 
     @Override
     public List<String> findLanguageNames() {
-        List<String> names = new ArrayList<>();
-        try (InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(getLanguageCatalog())) {
-            if (is != null) {
-                try {
-                    CatalogHelper.loadLines(is, names);
-                } catch (IOException e) {
-                    // ignore
-                }
-            }
-        } catch (IOException e1) {
-            // ignore
-        }
-        return names;
+        return find(getLanguageCatalog());
     }
 
     @Override
     public List<String> findTransformerNames() {
-        List<String> names = new ArrayList<>();
-        try (InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(getTransformerCatalog())) {
-            if (is != null) {
-                try {
-                    CatalogHelper.loadLines(is, names);
-                } catch (IOException e) {
-                    // ignore
-                }
-            }
-        } catch (IOException e1) {
-            // ignore
-        }
-        return names;
+        return find(getTransformerCatalog());
     }
 
     @Override
     public List<String> findDevConsoleNames() {
-        List<String> names = new ArrayList<>();
-        try (InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(getDevConsoleCatalog())) {
-            if (is != null) {
-                try {
-                    CatalogHelper.loadLines(is, names);
-                } catch (IOException e) {
-                    // ignore
-                }
-            }
-        } catch (IOException e1) {
-            // ignore
-        }
-        return names;
+        return find(getDevConsoleCatalog());
     }
 
     @Override
     public List<String> findOtherNames() {
+        return find(getOtherCatalog());
+    }
+
+    protected List<String> find(String resourceName) {
         List<String> names = new ArrayList<>();
-        try (InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(getOtherCatalog())) {
+        try (InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(resourceName)) {
             if (is != null) {
                 try {
                     CatalogHelper.loadLines(is, names);