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
commit 0a5baf524e8bbe7aa6938faf2defb195c2fbde25 Author: JiriOndrusek <ondrusek.j...@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());