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);