This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-3.20.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit e9f0cb583fd5a284916600c7a701f8a525f61c85 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Mar 16 14:25:22 2023 +0100 CAMEL-19144: camel-catalog - Include information about existing Camel releases --- .../catalog/releases/camel-quarkus-releases.json | 54 +++++++++++----------- .../org/apache/camel/catalog/CamelCatalog.java | 7 ++- .../apache/camel/catalog/DefaultCamelCatalog.java | 13 +++++- .../org/apache/camel/catalog/CamelCatalogTest.java | 14 ++++++ 4 files changed, 58 insertions(+), 30 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-quarkus-releases.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-quarkus-releases.json index 03e1bb282ed..75f84f145a3 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-quarkus-releases.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-quarkus-releases.json @@ -1,148 +1,148 @@ [ { - "version": "\"1.4.0\"", + "version": "1.4.0", "date": "2020-12-01", "jdk": "11" }, { - "version": "\"1.5.0\"", + "version": "1.5.0", "date": "2020-12-01", "jdk": "11" }, { - "version": "\"1.6.0\"", + "version": "1.6.0", "date": "2021-02-14", "jdk": "11" }, { - "version": "\"1.7.0\"", + "version": "1.7.0", "date": "2021-02-19", "jdk": "11" }, { - "version": "\"1.8.0\"", + "version": "1.8.0", "date": "2021-03-29", "jdk": "11" }, { - "version": "\"1.8.1\"", + "version": "1.8.1", "date": "2021-04-07", "jdk": "11" }, { - "version": "\"2.0.0\"", + "version": "2.0.0", "date": "2021-06-28", "jdk": "11" }, { - "version": "\"2.1.0\"", + "version": "2.1.0", "date": "2021-07-30", "jdk": "11" }, { - "version": "\"2.10.0\"", + "version": "2.10.0", "date": "2022-06-23", "jdk": "11" }, { - "version": "\"2.11.0\"", + "version": "2.11.0", "date": "2022-07-27", "jdk": "11" }, { - "version": "\"2.12.0\"", + "version": "2.12.0", "date": "2022-09-01", "jdk": "11" }, { - "version": "\"2.13.0\"", + "version": "2.13.0", "date": "2022-09-26", "eol": "2023-03-26", "kind": "lts", "jdk": "11" }, { - "version": "\"2.13.1\"", + "version": "2.13.1", "date": "2022-11-07", "eol": "2022-03-26", "kind": "lts", "jdk": "11" }, { - "version": "\"2.13.2\"", + "version": "2.13.2", "date": "2022-12-16", "eol": "2022-03-26", "kind": "lts", "jdk": "11" }, { - "version": "\"2.14.0\"", + "version": "2.14.0", "date": "2022-11-07", "jdk": "11" }, { - "version": "\"2.15.0\"", + "version": "2.15.0", "date": "2022-12-12", "jdk": "11" }, { - "version": "\"2.16.0\"", + "version": "2.16.0", "date": "2023-01-25", "jdk": "11" }, { - "version": "\"2.2.0\"", + "version": "2.2.0", "date": "2021-09-01", "jdk": "11" }, { - "version": "\"2.3.0\"", + "version": "2.3.0", "date": "2021-10-08", "jdk": "11" }, { - "version": "\"2.4.0\"", + "version": "2.4.0", "date": "2021-11-12", "jdk": "11" }, { - "version": "\"2.5.0\"", + "version": "2.5.0", "date": "2021-11-26", "jdk": "11" }, { - "version": "\"2.6.0\"", + "version": "2.6.0", "date": "2021-12-23", "jdk": "11" }, { - "version": "\"2.7.0\"", + "version": "2.7.0", "date": "2022-02-02", "eol": "2022-08-02", "kind": "lts", "jdk": "11" }, { - "version": "\"2.7.1\"", + "version": "2.7.1", "date": "2022-04-04", "eol": "2022-08-02", "kind": "lts", "jdk": "11" }, { - "version": "\"2.7.2\"", + "version": "2.7.2", "date": "2022-07-04", "eol": "2022-08-02", "kind": "lts", "jdk": "11" }, { - "version": "\"2.8.0\"", + "version": "2.8.0", "date": "2022-04-12", "jdk": "11" }, { - "version": "\"2.9.0\"", + "version": "2.9.0", "date": "2022-05-11", "jdk": "11" } diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java index 8af2b8d1b2f..e006385d0fb 100644 --- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java +++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java @@ -582,8 +582,13 @@ public interface CamelCatalog { InputStream loadResource(String kind, String name); /** - * Load all Camel releases from catalog + * Load all Camel releases (core and spring-boot) from catalog */ List<ReleaseModel> camelReleases(); + /** + * Load all Camel Quarkus releases from catalog + */ + List<ReleaseModel> camelQuarkusReleases(); + } 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 03d8f3bbc7d..2b00ab629e9 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 @@ -506,10 +506,19 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa @Override public List<ReleaseModel> camelReleases() { - return cache("camelReleases", () -> { + return camelReleases("camel-releases.json"); + } + + @Override + public List<ReleaseModel> camelQuarkusReleases() { + return camelReleases("camel-quarkus-releases.json"); + } + + private List<ReleaseModel> camelReleases(String file) { + return cache(file, () -> { try { List<ReleaseModel> answer = new ArrayList<>(); - InputStream is = loadResource("releases", "camel-releases.json"); + InputStream is = loadResource("releases", file); String json = CatalogHelper.loadText(is); JsonArray arr = (JsonArray) Jsoner.deserialize(json); for (Object o : arr) { diff --git a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java index 9c40956b0c5..124beaa47f8 100644 --- a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java +++ b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java @@ -1609,4 +1609,18 @@ public class CamelCatalogTest { Assertions.assertEquals("lts", rel.getKind()); } + @Test + public void camelQuarkusReleases() { + List<ReleaseModel> list = catalog.camelQuarkusReleases(); + Assertions.assertTrue(list.size() > 20); + + ReleaseModel rel = list.stream().filter(r -> r.getVersion().equals("2.13.2")).findFirst().orElse(null); + Assertions.assertNotNull(rel); + Assertions.assertEquals("2.13.2", rel.getVersion()); + Assertions.assertEquals("2022-12-16", rel.getDate()); + Assertions.assertEquals("2022-03-26", rel.getEol()); + Assertions.assertEquals("lts", rel.getKind()); + Assertions.assertEquals("11", rel.getJdk()); + } + }