You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2024/03/19 08:35:24 UTC

(camel-quarkus) branch camel-main updated: Partial fix of compilation issue caused by CAMEL-20548

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

jiriondrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/camel-main by this push:
     new 1092fd322f Partial fix of compilation issue caused by CAMEL-20548
1092fd322f is described below

commit 1092fd322f9b1fbf1200da05d91206e1f618a5d2
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Tue Mar 19 09:35:08 2024 +0100

    Partial fix of compilation issue caused by CAMEL-20548
---
 .../camel/quarkus/maven/CamelQuarkusExtension.java |  2 +-
 .../org/apache/camel/quarkus/maven/CqCatalog.java  | 32 +++++++++++++++++++---
 .../org/apache/camel/quarkus/maven/CqUtils.java    |  4 +--
 .../quarkus/maven/PrepareCatalogQuarkusMojo.java   |  2 +-
 .../quarkus/maven/UpdateExtensionDocPageMojo.java  |  6 ++--
 5 files changed, 35 insertions(+), 11 deletions(-)

diff --git a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CamelQuarkusExtension.java b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CamelQuarkusExtension.java
index 785c301677..923d3f8d6f 100644
--- a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CamelQuarkusExtension.java
+++ b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CamelQuarkusExtension.java
@@ -26,7 +26,7 @@ import java.util.List;
 import java.util.Optional;
 import java.util.Properties;
 
-import org.apache.camel.catalog.Kind;
+import org.apache.camel.tooling.model.Kind;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
diff --git a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java
index 906a2c11ba..2d7d7beafc 100644
--- a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java
+++ b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java
@@ -25,6 +25,9 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.TreeMap;
 import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
@@ -34,7 +37,6 @@ import org.apache.camel.catalog.CamelCatalog;
 import org.apache.camel.catalog.DefaultCamelCatalog;
 import org.apache.camel.catalog.DefaultRuntimeProvider;
 import org.apache.camel.catalog.DefaultVersionManager;
-import org.apache.camel.catalog.Kind;
 import org.apache.camel.catalog.RuntimeProvider;
 import org.apache.camel.catalog.impl.CatalogHelper;
 import org.apache.camel.tooling.model.ArtifactModel;
@@ -42,6 +44,7 @@ import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DataFormatModel;
 import org.apache.camel.tooling.model.DevConsoleModel;
 import org.apache.camel.tooling.model.JsonMapper;
+import org.apache.camel.tooling.model.Kind;
 import org.apache.camel.tooling.model.LanguageModel;
 import org.apache.camel.tooling.model.OtherModel;
 import org.apache.camel.tooling.model.TransformerModel;
@@ -168,7 +171,7 @@ public class CqCatalog {
         return kinds().flatMap(this::models);
     }
 
-    public Stream<ArtifactModel<?>> models(org.apache.camel.catalog.Kind kind) {
+    public Stream<ArtifactModel<?>> models(Kind kind) {
         return catalog.findNames(kind).stream().map(name -> (ArtifactModel<?>) catalog.model(kind, name));
     }
 
@@ -189,7 +192,7 @@ public class CqCatalog {
             throw new RuntimeException("Could not create " + out.getParent(), e);
         }
         String rawJson;
-        switch (Kind.valueOf(model.getKind())) {
+        switch (model.getKind()) {
         case component:
             rawJson = JsonMapper.createParameterJsonSchema((ComponentModel) model);
             break;
@@ -221,7 +224,7 @@ public class CqCatalog {
 
     public static Stream<Kind> kinds() {
         return Stream.of(Kind.values())
-                .filter(kind -> kind != org.apache.camel.catalog.Kind.eip);
+                .filter(kind -> kind != Kind.eip);
     }
 
     public static boolean isFirstScheme(ArtifactModel<?> model) {
@@ -337,6 +340,7 @@ public class CqCatalog {
         private static final String LANGUAGE_CATALOG = CQ_CATALOG_DIR + "/languages.properties";
         private static final String TRANSFORMER_CATALOG = CQ_CATALOG_DIR + "/transformers.properties";
         private static final String OTHER_CATALOG = CQ_CATALOG_DIR + "/others.properties";
+        private static final String CAPABILITIES_CATALOG = "org/apache/camel/catalog/capabilities.properties";
 
         private CamelCatalog camelCatalog;
 
@@ -423,6 +427,10 @@ public class CqCatalog {
             return OTHER_CATALOG;
         }
 
+        protected String getCapabilitiesCatalog() {
+            return CAPABILITIES_CATALOG;
+        }
+
         @Override
         public List<String> findComponentNames() {
             List<String> names = new ArrayList<>();
@@ -506,6 +514,22 @@ public class CqCatalog {
             }
             return names;
         }
+
+        @Override
+        public Map<String, String> findCapabilities() {
+            final Properties properties = new Properties();
+
+            InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(getCapabilitiesCatalog());
+            if (is != null) {
+                try {
+                    properties.load(is);
+                } catch (IOException e) {
+                    // ignore
+                }
+            }
+
+            return new TreeMap<>((Map<String, String>) (Map) properties);
+        }
     }
 
     public static class GavCqCatalog extends CqCatalog implements AutoCloseable {
diff --git a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqUtils.java b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqUtils.java
index 28aa748c29..6e4dbbcbb3 100644
--- a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqUtils.java
+++ b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqUtils.java
@@ -38,11 +38,11 @@ import freemarker.cache.MultiTemplateLoader;
 import freemarker.cache.TemplateLoader;
 import freemarker.template.Configuration;
 import freemarker.template.TemplateExceptionHandler;
-import org.apache.camel.catalog.Kind;
 import org.apache.camel.tooling.model.ArtifactModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DataFormatModel;
 import org.apache.camel.tooling.model.JsonMapper;
+import org.apache.camel.tooling.model.Kind;
 import org.apache.camel.tooling.model.LanguageModel;
 import org.apache.camel.tooling.model.OtherModel;
 import org.apache.maven.model.Model;
@@ -263,7 +263,7 @@ public class CqUtils {
     }
 
     public static ArtifactModel<?> cloneArtifactModel(ArtifactModel<?> model) {
-        final Kind kind = Kind.valueOf(model.getKind());
+        final Kind kind = model.getKind();
         switch (kind) {
         case component:
             return JsonMapper.generateComponentModel(JsonMapper.asJsonObject((ComponentModel) model));
diff --git a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java
index 625eafdacc..b536ba3390 100644
--- a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java
+++ b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java
@@ -28,11 +28,11 @@ import java.util.Set;
 import java.util.TreeSet;
 import java.util.stream.Collectors;
 
-import org.apache.camel.catalog.Kind;
 import org.apache.camel.tooling.model.ArtifactModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DataFormatModel;
 import org.apache.camel.tooling.model.DevConsoleModel;
+import org.apache.camel.tooling.model.Kind;
 import org.apache.camel.tooling.model.LanguageModel;
 import org.apache.camel.tooling.model.OtherModel;
 import org.apache.camel.tooling.model.SupportLevel;
diff --git a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
index af6ec15ac5..62f58e6be5 100644
--- a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
+++ b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
@@ -47,7 +47,6 @@ import io.quarkus.annotation.processor.generate_doc.ConfigDocItem;
 import io.quarkus.annotation.processor.generate_doc.ConfigDocKey;
 import io.quarkus.annotation.processor.generate_doc.DocGeneratorUtil;
 import io.quarkus.annotation.processor.generate_doc.FsMap;
-import org.apache.camel.catalog.Kind;
 import org.apache.camel.quarkus.maven.processor.AppendNewLinePostProcessor;
 import org.apache.camel.quarkus.maven.processor.AsciiDocFile;
 import org.apache.camel.quarkus.maven.processor.DocumentationPostProcessor;
@@ -56,6 +55,7 @@ import org.apache.camel.tooling.model.ArtifactModel;
 import org.apache.camel.tooling.model.BaseModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DevConsoleModel;
+import org.apache.camel.tooling.model.Kind;
 import org.apache.camel.tooling.model.TransformerModel;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -191,7 +191,7 @@ public class UpdateExtensionDocPageMojo extends AbstractDocGeneratorMojo {
 
             private String camelBitLink(ArtifactModel<?> model) {
                 model = CqCatalog.toCamelDocsModel(model);
-                final String kind = model.getKind();
+                final String kind = model.getKind().name();
                 String name = model.getName();
                 String xrefPrefix = "xref:{cq-camel-components}:" + (!"component".equals(kind) ? kind + "s:" : ":");
                 if (name.equals("xml-io-dsl")) {
@@ -296,7 +296,7 @@ public class UpdateExtensionDocPageMojo extends AbstractDocGeneratorMojo {
         models.stream()
                 .filter(CqCatalog::isFirstScheme)
                 .forEach(m -> {
-                    final Kind kind = Kind.valueOf(m.getKind());
+                    final Kind kind = m.getKind();
                     final HashMap<String, Object> modelClone = new HashMap<>(model);
                     modelClone.put("camelPartName", m.getName());
                     modelClone.put("camelPartTitle", m.getTitle());