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

Karen Lease commented on CAMEL-19864:
-------------------------------------

Gave up on this approach because it causes issues for the generated Spring 
schema file and also the documentation pages. In fact this default value, and 
others for the UniVocity parsers, are not defaults on the Camel dataformat but 
on the underlying Univocity parser configuration. However, the Camel Spring 
Boot auto configuration attempts to set them as properties when it instantiates 
the Camel dataformat.

Based on the suggestion from [~davsclaus], decided the path of least resistance 
is to remove the default value from the Metadata annotation for 
UniVocityAbstractDataFormat.

> spring-boot - Fix integration test CamelUnivocityParsersTest
> ------------------------------------------------------------
>
>                 Key: CAMEL-19864
>                 URL: https://issues.apache.org/jira/browse/CAMEL-19864
>             Project: Camel
>          Issue Type: Task
>          Components: camel-univocity-parsers
>            Reporter: Nicolas Filotto
>            Assignee: Karen Lease
>            Priority: Major
>
> The spring boot integration test of the component {{camel-univocity-parsers}} 
> is failing on the CI, so it needs to be investigated and fixed
> {code:java}
> [ERROR] Errors: 
> [ERROR] 
> org.apache.camel.itest.springboot.CamelUnivocityParsersTest.componentTests
> [ERROR]   Run 1: 
> CamelUnivocityParsersTest.componentTests:43->AbstractSpringBootTestSupport.runDataformatTest:80
>  »  Error while executing tests. Wrapped exception is: 
> java.util.concurrent.ExecutionException: 
> org.apache.camel.PropertyBindingException: Error binding property 
> (normalizedLineSeparator=#bean:\n) with name: normalizedLineSeparator on 
> bean: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat@13dd383c 
> with value: #bean:\n
>     at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
>     at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
>     at 
> org.apache.camel.itest.springboot.CommandRouter.execute(CommandRouter.java:48)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>     at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>     at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>     at 
> org.apache.camel.itest.springboot.util.SpringBootContainerFacade.execute(SpringBootContainerFacade.java:50)
>     at 
> org.apache.camel.itest.springboot.util.SpringBootContainerFacade.executeTest(SpringBootContainerFacade.java:39)
>     at 
> org.apache.camel.itest.springboot.AbstractSpringBootTestSupport.runDataformatTest(AbstractSpringBootTestSupport.java:80)
>     at 
> org.apache.camel.itest.springboot.CamelUnivocityParsersTest.componentTests(CamelUnivocityParsersTest.java:43)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>     at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>     at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>     at 
> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
>     at 
> org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
>     at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
>     at 
> org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:88)
>     at 
> org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
>     at 
> org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
>     at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
>     at 
> org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
>     at 
> org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
>     at 
> org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
>     at 
> org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
>     at 
> org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
>     at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
>     at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
>     at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
>     at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
>     at 
> org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
>     at 
> org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
>     at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218)
>     at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>     at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214)
>     at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139)
>     at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
>     at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>     at 
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>     at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>     at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>     at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
>     at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>     at 
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>     at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>     at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>     at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
>     at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>     at 
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>     at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>     at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>     at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
>     at 
> org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
>     at 
> org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
>     at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:198)
>     at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)
>     at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)
>     at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)
>     at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)
>     at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)
>     at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
>     at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
>     at 
> org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
>     at 
> org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:63)
>     at 
> org.jboss.arquillian.junit5.container.JUnitJupiterTestRunner.execute(JUnitJupiterTestRunner.java:57)
>     at 
> org.jboss.arquillian.protocol.jmx.JMXTestRunner.doRunTestMethod(JMXTestRunner.java:153)
>     at 
> org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethodInternal(JMXTestRunner.java:137)
>     at 
> org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethod(JMXTestRunner.java:119)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>     at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>     at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>     at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:72)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>     at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>     at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>     at java.base/sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:262)
>     at 
> java.management/com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
>     at 
> java.management/com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
>     at 
> java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
>     at 
> java.management/com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
>     at 
> java.management/com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
>     at 
> java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:814)
>     at 
> java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
>     at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1472)
>     at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1310)
>     at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1405)
>     at 
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>     at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>     at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>     at 
> java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
>     at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
>     at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
>     at 
> java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
>     at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
>     at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
>     at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
>     at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)
>     at 
> java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
>     at 
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>     at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: org.apache.camel.PropertyBindingException: Error binding property 
> (normalizedLineSeparator=#bean:\n) with name: normalizedLineSeparator on 
> bean: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat@13dd383c 
> with value: #bean:\n
>     at 
> org.apache.camel.support.PropertyBindingSupport.doSetPropertyValue(PropertyBindingSupport.java:541)
>     at 
> org.apache.camel.support.PropertyBindingSupport.doBuildPropertyOgnlPath(PropertyBindingSupport.java:417)
>     at 
> org.apache.camel.support.PropertyBindingSupport.doBindProperties(PropertyBindingSupport.java:297)
>     at 
> org.apache.camel.support.PropertyBindingSupport$Builder.bind(PropertyBindingSupport.java:1920)
>     at 
> org.apache.camel.spring.boot.util.CamelPropertiesHelper.setCamelProperties(CamelPropertiesHelper.java:117)
>     at 
> org.apache.camel.spring.boot.util.CamelPropertiesHelper.copyProperties(CamelPropertiesHelper.java:47)
>     at 
> org.apache.camel.dataformat.univocity.springboot.UniVocityCsvDataFormatAutoConfiguration$1.configure(UniVocityCsvDataFormatAutoConfiguration.java:66)
>     at 
> org.apache.camel.impl.engine.CustomizersLifecycleStrategy.lambda$onDataFormatCreated$5(CustomizersLifecycleStrategy.java:68)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>     at 
> java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
>     at 
> java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
>     at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
>     at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>     at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>     at 
> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
>     at 
> org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onDataFormatCreated(CustomizersLifecycleStrategy.java:68)
>     at 
> org.apache.camel.impl.engine.AbstractCamelContext.doResolveDataFormat(AbstractCamelContext.java:3512)
>     at 
> org.apache.camel.impl.engine.AbstractCamelContext.lambda$resolveDataFormat$7(AbstractCamelContext.java:3525)
>     at 
> java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
>     at 
> org.apache.camel.impl.engine.AbstractCamelContext.resolveDataFormat(AbstractCamelContext.java:3525)
>     at 
> org.apache.camel.itest.springboot.command.DataFormatTestCommand.executeTest(DataFormatTestCommand.java:46)
>     at 
> org.apache.camel.itest.springboot.command.DataFormatTestCommand.executeTest(DataFormatTestCommand.java:33)
>     at 
> org.apache.camel.itest.springboot.command.AbstractTestCommand.execute(AbstractTestCommand.java:50)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>     at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>     at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>     at 
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
>     at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
>     at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
>     at 
> org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     ... 3 more
> Caused by: org.apache.camel.NoSuchBeanException: No bean could be found in 
> the registry for: \n
>     at 
> org.apache.camel.support.CamelContextHelper.mandatoryLookup(CamelContextHelper.java:223)
>     at 
> org.apache.camel.support.PropertyBindingSupport.resolveBean(PropertyBindingSupport.java:1597)
>     at 
> org.apache.camel.support.PropertyBindingSupport.resolveValue(PropertyBindingSupport.java:895)
>     at 
> org.apache.camel.support.PropertyBindingSupport.doSetPropertyValue(PropertyBindingSupport.java:527)
>     ... 36 more{code}



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

Reply via email to