You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (Jira)" <ji...@apache.org> on 2022/12/12 12:23:00 UTC

[jira] [Commented] (CAMEL-18802) camel-base64 - Optional properties: if encoded the optional doesn't have any effect

    [ https://issues.apache.org/jira/browse/CAMEL-18802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17646063#comment-17646063 ] 

Andrea Cosentino commented on CAMEL-18802:
------------------------------------------

In Kamelets through camel-jbang it doesn't seem to work.


{code:java}
org.apache.camel.FailedToStartRouteException: Failed to start route google-storage-source-1 because of null
	at org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:123)
	at org.apache.camel.impl.engine.InternalRouteStartupManager.doWarmUpRoutes(InternalRouteStartupManager.java:306)
	at org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:189)
	at org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:147)
	at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:3425)
	at org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:3094)
	at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:3049)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2698)
	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262)
	at org.apache.camel.main.KameletMain.doStart(KameletMain.java:274)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:560)
	at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:208)
	at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:75)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
	at picocli.CommandLine.execute(CommandLine.java:2170)
	at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:129)
	at main.CamelJBang.main(CamelJBang.java:36)
Caused by: org.apache.camel.RuntimeCamelException: java.io.FileNotFoundException: Cannot find resource: ?serviceAccountKey for URI: ?serviceAccountKey
	at org.apache.camel.RuntimeCamelException.wrapRuntimeException(RuntimeCamelException.java:66)
	at org.apache.camel.support.service.BaseService.doFail(BaseService.java:413)
	at org.apache.camel.support.service.BaseService.fail(BaseService.java:342)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:132)
	at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113)
	at org.apache.camel.impl.engine.RouteService.doWarmUp(RouteService.java:184)
	at org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:121)
	... 24 more
Caused by: java.io.FileNotFoundException: Cannot find resource: ?serviceAccountKey for URI: ?serviceAccountKey
	at org.apache.camel.support.ResourceHelper.resolveMandatoryResourceAsInputStream(ResourceHelper.java:115)
	at org.apache.camel.component.google.storage.GoogleCloudStorageConnectionFactory.create(GoogleCloudStorageConnectionFactory.java:39)
	at org.apache.camel.component.google.storage.GoogleCloudStorageEndpoint.doStart(GoogleCloudStorageEndpoint.java:75)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
	... 27 more
{code}



> camel-base64 - Optional properties: if encoded the optional doesn't have any effect
> -----------------------------------------------------------------------------------
>
>                 Key: CAMEL-18802
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18802
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-base64, camel-core
>            Reporter: Andrea Cosentino
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 3.20.0
>
>
> Suppose you have something like:
> {code:java}
>   template:
>     from:
>       uri: "google-storage://{{bucketNameOrArn}}"
>       parameters:
>         autoCreateBucket: "{{autoCreateBucket}}"
>         serviceAccountKey: "base64:{{serviceAccountKey}}"
>         deleteAfterRead: "{{deleteAfterRead}}"
> {code}
> and you want to have serviceAccountKey as optional parameter. If you prefix the parameter with '?', like
> {code:java}
>   template:
>     from:
>       uri: "google-storage://{{bucketNameOrArn}}"
>       parameters:
>         autoCreateBucket: "{{autoCreateBucket}}"
>         serviceAccountKey: "base64:{{?serviceAccountKey}}"
>         deleteAfterRead: "{{deleteAfterRead}}"
> {code}
> We'll try to encode the value anyway, even if not specified.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)