This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 2a28eb0a97f7ce7425d1071a7fc82bef071fa557 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Fri Apr 26 11:06:43 2024 +0200 Various small code cleanup --- .../camel/catalog/console/CatalogConsole.java | 1 + .../catalog/lucene/LuceneSuggestionStrategy.java | 2 +- .../camel/catalog/maven/MavenArtifactProvider.java | 2 +- .../camel/catalog/maven/MavenVersionManager.java | 7 +- .../org/apache/camel/catalog/CamelCatalog.java | 67 ++++++------------ .../apache/camel/catalog/DefaultCamelCatalog.java | 48 +++---------- .../java/org/apache/camel/maven/GenerateMojo.java | 7 -- .../org/apache/camel/maven/RouteCoverageMojo.java | 79 +++++++++++----------- .../java/org/apache/camel/maven/ValidateMojo.java | 19 +++--- .../org/apache/camel/parser/java/MyNettyTest.java | 4 +- .../camel/parser/java/MyRouteDuplicateIdTest.java | 9 ++- .../camel/parser/java/MyRouteEmptyUriTest.java | 4 +- .../org/apache/camel/parser/java/MyRouteTest.java | 4 +- .../camel/component/as2/api/AS2ClientManager.java | 1 + .../component/asterisk/AsteriskConsumerTest.java | 3 + .../apache/camel/language/bean/BeanExpression.java | 14 ++-- .../apache/camel/catalog/SuggestionStrategy.java | 2 +- .../AbstractCamelRedeliveryPolicyFactoryBean.java | 1 + .../jbang/core/commands/catalog/CatalogDoc.java | 25 +++---- .../camel/main/util/SuggestSimilarHelper.java | 2 +- 20 files changed, 128 insertions(+), 173 deletions(-) diff --git a/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java b/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java index 97475eab8c6..828752ec0ad 100644 --- a/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java +++ b/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java @@ -30,6 +30,7 @@ import org.apache.camel.tooling.model.OtherModel; import org.apache.camel.util.json.JsonObject; @DevConsole(name = "catalog", description = "Information about used Camel artifacts") +@SuppressWarnings("java:S2160") public class CatalogConsole extends AbstractDevConsole { private static final String CP = System.getProperty("java.class.path"); diff --git a/catalog/camel-catalog-lucene/src/main/java/org/apache/camel/catalog/lucene/LuceneSuggestionStrategy.java b/catalog/camel-catalog-lucene/src/main/java/org/apache/camel/catalog/lucene/LuceneSuggestionStrategy.java index 55ffd816c1f..1f16a49db90 100644 --- a/catalog/camel-catalog-lucene/src/main/java/org/apache/camel/catalog/lucene/LuceneSuggestionStrategy.java +++ b/catalog/camel-catalog-lucene/src/main/java/org/apache/camel/catalog/lucene/LuceneSuggestionStrategy.java @@ -64,7 +64,7 @@ public class LuceneSuggestionStrategy implements SuggestionStrategy { // ignore } - return null; + return new String[0]; } } diff --git a/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java b/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java index 915395aba17..c4fb3674674 100644 --- a/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java +++ b/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java @@ -28,7 +28,7 @@ public interface MavenArtifactProvider { /** * Configures the directory for the download cache. * <p/> - * The default folder is <tt>USER_HOME/.groovy/grape</tt> + * The default directory is provider dependant. * * @param directory the directory. */ diff --git a/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java b/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java index d4c9657c707..b69ece33d9a 100644 --- a/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java +++ b/catalog/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenVersionManager.java @@ -16,7 +16,6 @@ */ package org.apache.camel.catalog.maven; -import java.io.Closeable; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; @@ -47,7 +46,7 @@ import org.slf4j.LoggerFactory; * <p/> * This implementation uses Maven Resolver to download the Maven JARs. */ -public class MavenVersionManager implements VersionManager, Closeable { +public class MavenVersionManager implements VersionManager { private static final Logger LOGGER = LoggerFactory.getLogger(MavenVersionManager.class); @@ -262,8 +261,4 @@ public class MavenVersionManager implements VersionManager, Closeable { return null; } - - @Override - public void close() { - } } 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 3ba6ee5263a..56542990fa5 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 @@ -25,6 +25,7 @@ import java.util.Set; import org.apache.camel.tooling.model.ArtifactModel; import org.apache.camel.tooling.model.BaseModel; +import org.apache.camel.tooling.model.BaseOptionModel; import org.apache.camel.tooling.model.ComponentModel; import org.apache.camel.tooling.model.DataFormatModel; import org.apache.camel.tooling.model.DevConsoleModel; @@ -233,28 +234,16 @@ public interface CamelCatalog { * @return the list of part names of the given {@link Kind} available in this {@link CamelCatalog} */ default List<String> findNames(Kind kind) { - switch (kind) { - case component: - return findComponentNames(); - case dataformat: - return findDataFormatNames(); - case language: - return findLanguageNames(); - case transformer: - return findTransformerNames(); - case console: - return findDevConsoleNames(); - case other: - return findOtherNames(); - case eip: - return findModelNames(); - case bean: - return findBeansNames(); - case model: - return findModelNames(); - default: - throw new IllegalArgumentException("Unexpected kind " + kind); - } + return switch (kind) { + case component -> findComponentNames(); + case dataformat -> findDataFormatNames(); + case language -> findLanguageNames(); + case transformer -> findTransformerNames(); + case console -> findDevConsoleNames(); + case other -> findOtherNames(); + case eip, model -> findModelNames(); + case bean -> findBeansNames(); + }; } /** @@ -614,29 +603,17 @@ public interface CamelCatalog { * @param name the name to look up * @return the requested model or {@code null} in case it is not available in this {@link CamelCatalog} */ - default BaseModel<?> model(Kind kind, String name) { - switch (kind) { - case component: - return componentModel(name); - case dataformat: - return dataFormatModel(name); - case language: - return languageModel(name); - case transformer: - return transformerModel(name); - case console: - return devConsoleModel(name); - case other: - return otherModel(name); - case eip: - return eipModel(name); - case bean: - return pojoBeanModel(name); - case model: - return eipModel(name); - default: - throw new IllegalArgumentException("Unexpected kind " + kind); - } + default BaseModel<? extends BaseOptionModel> model(Kind kind, String name) { + return switch (kind) { + case component -> componentModel(name); + case dataformat -> dataFormatModel(name); + case language -> languageModel(name); + case transformer -> transformerModel(name); + case console -> devConsoleModel(name); + case other -> otherModel(name); + case eip, model -> eipModel(name); + case bean -> pojoBeanModel(name); + }; } /** 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 0c7d873df41..4d7ce506b9a 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 @@ -554,43 +554,17 @@ public class DefaultCamelCatalog extends AbstractCachingCamelCatalog implements @Override public ArtifactModel<?> modelFromMavenGAV(String groupId, String artifactId, String version) { - for (String name : findComponentNames()) { - ArtifactModel<?> am = componentModel(name); - if (matchArtifact(am, groupId, artifactId, version)) { - return am; - } - } - for (String name : findDataFormatNames()) { - ArtifactModel<?> am = dataFormatModel(name); - if (matchArtifact(am, groupId, artifactId, version)) { - return am; - } - } - for (String name : findLanguageNames()) { - ArtifactModel<?> am = languageModel(name); - if (matchArtifact(am, groupId, artifactId, version)) { - return am; - } - } - for (String name : findOtherNames()) { - ArtifactModel<?> am = otherModel(name); - if (matchArtifact(am, groupId, artifactId, version)) { - return am; - } - } - for (String name : findTransformerNames()) { - ArtifactModel<?> am = transformerModel(name); - if (matchArtifact(am, groupId, artifactId, version)) { - return am; - } - } - for (String name : findDevConsoleNames()) { - ArtifactModel<?> am = devConsoleModel(name); - if (matchArtifact(am, groupId, artifactId, version)) { - return am; - } - } - return null; + return Stream.<Stream<ArtifactModel<?>>> of( + findComponentNames().stream().map(this::componentModel), + findDataFormatNames().stream().map(this::dataFormatModel), + findLanguageNames().stream().map(this::languageModel), + findOtherNames().stream().map(this::otherModel), + findTransformerNames().stream().map(this::transformerModel), + findDevConsoleNames().stream().map(this::devConsoleModel)) + .flatMap(s -> s) + .filter(am -> matchArtifact(am, groupId, artifactId, version)) + .findFirst() + .orElse(null); } @Override diff --git a/catalog/camel-csimple-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java b/catalog/camel-csimple-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java index 039557115b1..269f5fbe7d8 100644 --- a/catalog/camel-csimple-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java +++ b/catalog/camel-csimple-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java @@ -47,7 +47,6 @@ import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; -import org.apache.maven.project.MavenProject; import org.codehaus.mojo.exec.AbstractExecMojo; import org.jboss.forge.roaster.Roaster; import org.jboss.forge.roaster.model.JavaType; @@ -66,12 +65,6 @@ public class GenerateMojo extends AbstractExecMojo { public static final String GENERATED_MSG = "Generated by camel build tools - do NOT edit this file!"; public static final String RESOURCE_FILE = "META-INF/services/org/apache/camel/csimple.properties"; - /** - * The maven project. - */ - @Parameter(property = "project", required = true, readonly = true) - protected MavenProject project; - // Output directory /** diff --git a/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java b/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java index b227b3c90c9..276f60c5f33 100644 --- a/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java +++ b/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java @@ -77,6 +77,9 @@ import static org.apache.camel.catalog.common.CatalogHelper.stripRootPath; public class RouteCoverageMojo extends AbstractMojo { public static final String DESTINATION_DIR = "/target/camel-route-coverage"; + + private static final String MAIN_FORMAT_PATTERN = "%8s %8s %s%n"; + /** * The maven project. */ @@ -93,24 +96,18 @@ public class RouteCoverageMojo extends AbstractMojo { * Whether to fail if a route was not fully covered. * * Note the option coverageThreshold can be used to set a minimum coverage threshold in percentage. - * - * @parameter property="camel.failOnError" default-value="false" */ @Parameter(property = "camel.failOnError", defaultValue = "false") private boolean failOnError; /** * The minimum route coverage in percent when using failOnError. - * - * @parameter property="camel.coverageThreshold" default-value="100" */ @Parameter(property = "camel.coverageThreshold", defaultValue = "100") private byte coverageThreshold = 100; /** * The minimum coverage across all routes in percent when using failOnError. - * - * @parameter property="camel.overallCoverageThreshold" default-value="0" */ @Parameter(property = "camel.overallCoverageThreshold", defaultValue = "0") private byte overallCoverageThreshold; @@ -163,32 +160,7 @@ public class RouteCoverageMojo extends AbstractMojo { return; } - Set<File> javaFiles = new LinkedHashSet<>(); - Set<File> xmlFiles = new LinkedHashSet<>(); - - // find all java route builder classes - findJavaRouteBuilderClasses(javaFiles, true, includeTest, project); - // find all xml routes - findXmlRouters(xmlFiles, true, includeTest, project); - - List<CamelNodeDetails> routeTrees = new ArrayList<>(); - - for (File file : javaFiles) { - addJavaFiles(file, routeTrees); - } - for (File file : xmlFiles) { - addXmlFiles(file, routeTrees); - } - - getLog().info("Discovered " + routeTrees.size() + " routes"); - - // skip any routes which has no route id assigned - - long anonymous = routeTrees.stream().filter(t -> t.getRouteId() == null).count(); - if (!anonymousRoutes && anonymous > 0) { - getLog().warn( - "Discovered " + anonymous + " anonymous routes. Add route ids to these routes for route coverage support"); - } + List<CamelNodeDetails> routeTrees = discoverRoutes(); final AtomicInteger notCovered = new AtomicInteger(); final AtomicInteger coveredNodes = new AtomicInteger(); @@ -226,7 +198,7 @@ public class RouteCoverageMojo extends AbstractMojo { String packageName = new File(fileName).getParent(); Element pack = null; - if (generateJacocoXmlReport && report != null) { + if (report != null) { // package tag pack = document.createElement("package"); createAttrString(document, pack, "name", packageName); @@ -239,7 +211,7 @@ public class RouteCoverageMojo extends AbstractMojo { sourceFileName, pack); } - if (generateJacocoXmlReport && report != null) { + if (report != null) { doGenerateJacocoReport(file, document); } @@ -264,6 +236,37 @@ public class RouteCoverageMojo extends AbstractMojo { } } + private List<CamelNodeDetails> discoverRoutes() { + Set<File> javaFiles = new LinkedHashSet<>(); + Set<File> xmlFiles = new LinkedHashSet<>(); + + // find all java route builder classes + findJavaRouteBuilderClasses(javaFiles, true, includeTest, project); + // find all xml routes + findXmlRouters(xmlFiles, true, includeTest, project); + + List<CamelNodeDetails> routeTrees = new ArrayList<>(); + + for (File file : javaFiles) { + addJavaFiles(file, routeTrees); + } + for (File file : xmlFiles) { + addXmlFiles(file, routeTrees); + } + + getLog().info("Discovered " + routeTrees.size() + " routes"); + + // skip any routes which has no route id assigned + + long anonymous = routeTrees.stream().filter(t -> t.getRouteId() == null).count(); + if (!anonymousRoutes && anonymous > 0) { + getLog().warn( + "Discovered " + anonymous + " anonymous routes. Add route ids to these routes for route coverage support"); + } + + return routeTrees; + } + private int grabDumpData( CamelNodeDetails t, String routeId, int totalNumberOfNodes, String fileName, AtomicInteger notCovered, AtomicInteger coveredNodes, Element report, Document document, String sourceFileName, Element pack) @@ -281,7 +284,7 @@ public class RouteCoverageMojo extends AbstractMojo { getLog().info("Route coverage summary:\n\n" + out); getLog().info(""); - if (generateJacocoXmlReport && report != null) { + if (report != null) { appendSourcefileNode(document, sourceFileName, pack, coverage); } } @@ -476,8 +479,8 @@ public class RouteCoverageMojo extends AbstractMojo { sw.println("Route:\t" + routeId); } sw.println(); - sw.printf("%8s %8s %s%n", "Line #", "Count", "Route"); - sw.printf("%8s %8s %s%n", "------", "-----", "-----"); + sw.printf(MAIN_FORMAT_PATTERN, "Line #", "Count", "Route"); + sw.printf(MAIN_FORMAT_PATTERN, "------", "-----", "-----"); int covered = 0; for (RouteCoverageNode node : model) { @@ -485,7 +488,7 @@ public class RouteCoverageMojo extends AbstractMojo { covered++; } String pad = padString(node.getLevel()); - sw.printf("%8s %8s %s%n", node.getLineNumber(), node.getCount(), pad + node.getName()); + sw.printf(MAIN_FORMAT_PATTERN, node.getLineNumber(), node.getCount(), pad + node.getName()); } coveredNodes.addAndGet(covered); diff --git a/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java b/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java index 529573b5b89..c0202a166a7 100644 --- a/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java +++ b/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java @@ -44,7 +44,6 @@ import org.apache.camel.tooling.maven.MavenDownloaderImpl; import org.apache.camel.tooling.maven.MavenResolutionException; import org.apache.camel.util.OrderedProperties; import org.apache.camel.util.StringHelper; -import org.apache.commons.io.IOUtils; import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Dependency; import org.apache.maven.model.Resource; @@ -350,16 +349,18 @@ public class ValidateMojo extends AbstractMojo { private static void unzipArtifact(MavenArtifact artifact, Path target) throws IOException { try (ZipFile zipFile = new ZipFile(artifact.getFile().toPath().toFile())) { Enumeration<? extends ZipEntry> entries = zipFile.entries(); + target = target.normalize(); while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); - File entryDestination = new File(target.toString(), entry.getName()); - if (entry.isDirectory()) { - entryDestination.mkdirs(); - } else { - entryDestination.getParentFile().mkdirs(); - try (InputStream in = zipFile.getInputStream(entry); - OutputStream out = new FileOutputStream(entryDestination)) { - IOUtils.copy(in, out); + Path dest = target.resolve(entry.getName()).normalize(); + if (dest.startsWith(target)) { + if (entry.isDirectory()) { + Files.createDirectories(dest); + } else { + Files.createDirectories(dest.getParent()); + try (InputStream in = zipFile.getInputStream(entry)) { + Files.copy(in, dest); + } } } } diff --git a/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyNettyTest.java b/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyNettyTest.java index 4f1f9ce81dd..b0f0a7d9cd1 100644 --- a/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyNettyTest.java +++ b/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyNettyTest.java @@ -21,6 +21,8 @@ import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertTrue; + @Disabled // on purpose to ignore public class MyNettyTest extends CamelTestSupport { @@ -30,7 +32,7 @@ public class MyNettyTest extends CamelTestSupport { @Test void testFoo() { - // noop + assertTrue(context.isStarted()); } @Override diff --git a/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteDuplicateIdTest.java b/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteDuplicateIdTest.java index 1996112f7e9..bbc232fb196 100644 --- a/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteDuplicateIdTest.java +++ b/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteDuplicateIdTest.java @@ -16,20 +16,23 @@ */ package org.apache.camel.parser.java; +import org.apache.camel.FailedToStartRouteException; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertThrows; + public class MyRouteDuplicateIdTest extends CamelTestSupport { @Override - public boolean isUseRouteBuilder() { - return false; + protected void startCamelContext() throws Exception { + // do not start context automatically } @Test void testFoo() { - // noop + assertThrows(FailedToStartRouteException.class, () -> context.start()); } @Override diff --git a/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteEmptyUriTest.java b/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteEmptyUriTest.java index 16d07cb2233..4e48a8a6153 100644 --- a/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteEmptyUriTest.java +++ b/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteEmptyUriTest.java @@ -21,12 +21,14 @@ import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertTrue; + @Disabled // on purpose to ignore public class MyRouteEmptyUriTest extends CamelTestSupport { @Test void testFoo() { - // noop + assertTrue(context.isStarted()); } @Override diff --git a/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteTest.java b/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteTest.java index 8498b188046..be5681f6312 100644 --- a/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteTest.java +++ b/catalog/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyRouteTest.java @@ -20,11 +20,13 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class MyRouteTest extends CamelTestSupport { @Test void testFoo() { - // noop + assertTrue(context.isStarted()); } @Override diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ClientManager.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ClientManager.java index 9bc7b411e8e..eb8ec12e346 100644 --- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ClientManager.java +++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2ClientManager.java @@ -47,6 +47,7 @@ import org.bouncycastle.operator.OutputEncryptor; /** * Sends EDI Messages over HTTP */ +@SuppressWarnings("java:S2095") public class AS2ClientManager { // diff --git a/components/camel-asterisk/src/test/java/org/apache/camel/component/asterisk/AsteriskConsumerTest.java b/components/camel-asterisk/src/test/java/org/apache/camel/component/asterisk/AsteriskConsumerTest.java index 9aa03d66931..2b9ff164793 100644 --- a/components/camel-asterisk/src/test/java/org/apache/camel/component/asterisk/AsteriskConsumerTest.java +++ b/components/camel-asterisk/src/test/java/org/apache/camel/component/asterisk/AsteriskConsumerTest.java @@ -27,6 +27,8 @@ import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.junit.jupiter.api.Assertions.assertTrue; + @Disabled("CAMEL-10321: Set host, username and password test asterisk consumer.") public class AsteriskConsumerTest extends CamelTestSupport { private static final Logger LOG = LoggerFactory.getLogger(AsteriskConsumerTest.class); @@ -52,6 +54,7 @@ public class AsteriskConsumerTest extends CamelTestSupport { @Test void testStartRoute() { // do nothing here , just make sure the camel route can started. + assertTrue(context.isStarted()); } @Override diff --git a/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java b/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java index 572914f35bd..7bf0ccb98a3 100644 --- a/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java +++ b/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java @@ -347,13 +347,13 @@ public class BeanExpression implements Expression, Predicate { private static Object invokeBean(BeanHolder beanHolder, String beanName, String methodName, Exchange exchange) { Object result; - BeanExpressionProcessor processor = new BeanExpressionProcessor(beanHolder); - if (methodName != null) { - processor.setMethod(methodName); - // enable OGNL like invocation - processor.setShorthandMethod(true); - } - try { + try (BeanExpressionProcessor processor = new BeanExpressionProcessor(beanHolder)) { + + if (methodName != null) { + processor.setMethod(methodName); + // enable OGNL like invocation + processor.setShorthandMethod(true); + } // copy the original exchange to avoid side effects on it Exchange resultExchange = ExchangeHelper.createCopy(exchange, true); // remove any existing exception in case we do OGNL on the exception diff --git a/core/camel-api/src/main/java/org/apache/camel/catalog/SuggestionStrategy.java b/core/camel-api/src/main/java/org/apache/camel/catalog/SuggestionStrategy.java index e5b4e8e1b2a..b6d015cbc4b 100644 --- a/core/camel-api/src/main/java/org/apache/camel/catalog/SuggestionStrategy.java +++ b/core/camel-api/src/main/java/org/apache/camel/catalog/SuggestionStrategy.java @@ -28,7 +28,7 @@ public interface SuggestionStrategy { * * @param names valid names * @param unknownOption unknown option name - * @return a list of suggested names (did you mean) + * @return an array of suggested names (did you mean) */ String[] suggestEndpointOptions(Set<String> names, String unknownOption); } diff --git a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelRedeliveryPolicyFactoryBean.java b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelRedeliveryPolicyFactoryBean.java index af14fec1fd4..0d865c833b9 100644 --- a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelRedeliveryPolicyFactoryBean.java +++ b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelRedeliveryPolicyFactoryBean.java @@ -125,6 +125,7 @@ public abstract class AbstractCamelRedeliveryPolicyFactoryBean extends AbstractC private String exchangeFormatterRef; @Override + @SuppressWarnings("java:S3776") public RedeliveryPolicy getObject() throws Exception { RedeliveryPolicy answer = new RedeliveryPolicy(); CamelContext context = getCamelContext(); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java index 3c06f393c8c..56afd044dff 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java @@ -173,26 +173,23 @@ public class CatalogDoc extends CamelCommand { // assume its a component suggestions = SuggestSimilarHelper.didYouMean(findComponentNames(catalog), name); } - if (suggestions != null) { + if (!suggestions.isEmpty()) { String type = kamelet ? "kamelet" : "component"; printer().printf("Camel %s: %s not found. Did you mean? %s%n", type, name, String.join(", ", suggestions)); } else { printer().println("Camel resource: " + name + " not found"); } } else { - List<String> suggestions = null; - if ("kamelet".equals(prefix)) { - suggestions = SuggestSimilarHelper.didYouMean(KameletCatalogHelper.findKameletNames(kameletsVersion), name); - } else if ("component".equals(prefix)) { - suggestions = SuggestSimilarHelper.didYouMean(findComponentNames(catalog), name); - } else if ("dataformat".equals(prefix)) { - suggestions = SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name); - } else if ("language".equals(prefix)) { - suggestions = SuggestSimilarHelper.didYouMean(catalog.findLanguageNames(), name); - } else if ("other".equals(prefix)) { - suggestions = SuggestSimilarHelper.didYouMean(catalog.findOtherNames(), name); - } - if (suggestions != null) { + List<String> suggestions = switch (prefix) { + case "kamelet" -> + SuggestSimilarHelper.didYouMean(KameletCatalogHelper.findKameletNames(kameletsVersion), name); + case "component" -> SuggestSimilarHelper.didYouMean(findComponentNames(catalog), name); + case "dataformat" -> SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name); + case "language" -> SuggestSimilarHelper.didYouMean(catalog.findLanguageNames(), name); + case "other" -> SuggestSimilarHelper.didYouMean(catalog.findOtherNames(), name); + default -> List.of(); + }; + if (!suggestions.isEmpty()) { printer().printf("Camel %s: %s not found. Did you mean? %s%n", prefix, name, String.join(", ", suggestions)); } else { printer().printf("Camel %s: %s not found.%n", prefix, name); diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/SuggestSimilarHelper.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/SuggestSimilarHelper.java index f4f12d77fb2..7e8a4cbab2d 100644 --- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/SuggestSimilarHelper.java +++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/SuggestSimilarHelper.java @@ -34,7 +34,7 @@ public final class SuggestSimilarHelper { return Arrays.asList(suggestions); } - return null; + return List.of(); } }