-
Bug
-
Resolution: Won't Do
-
Major
-
jboss-fuse-6.3
-
None
-
%
-
When I want to use sql script language and query with some attributes (eg. select name from org.jboss.qa.Person) I'll get an error:
Caused by: org.apache.camel.RuntimeExpressionException: org.josql.QueryExecutionException: Unable to get value for column: 0 for: name[detail: Accessor: name from class: org.jboss.qe.camel.architecture.scriptinglanguage.sql.Person] from result: 0 (Person(name=James, surname=London)) at org.apache.camel.builder.sql.SqlBuilder.evaluateQuery(SqlBuilder.java:118) at org.apache.camel.builder.sql.SqlBuilder.evaluate(SqlBuilder.java:52) at org.apache.camel.processor.SetBodyProcessor.process(SetBodyProcessor.java:49) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:117) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.processor.Pipeline.process(Pipeline.java:121) at org.apache.camel.processor.Pipeline.process(Pipeline.java:83) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:62) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:68) at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:412) at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:380) at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:270) at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:380) at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:221) at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:124) at org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeader(DefaultProducerTemplate.java:163) ... 161 more Caused by: org.josql.QueryExecutionException: Unable to get value for column: 0 for: name[detail: Accessor: name from class: org.jboss.qe.camel.architecture.scriptinglanguage.sql.Person] from result: 0 (Person(name=James, surname=London)) at org.josql.Query.getColumnValues(Query.java:1409) at org.josql.Query.execute(Query.java:1258) at org.apache.camel.builder.sql.SqlBuilder.evaluateQuery(SqlBuilder.java:116) ... 184 more Caused by: org.josql.QueryExecutionException: Unable to get value from: name[detail: Accessor: name from class: org.jboss.qe.camel.architecture.scriptinglanguage.sql.Person] passed in object type: org.jboss.qe.camel.architecture.scriptinglanguage.sql.Person expecting: java.lang.String at org.josql.expressions.Accessor.evaluate(Accessor.java:154) at org.josql.expressions.ValueExpression.getValue(ValueExpression.java:28) at org.josql.expressions.SelectItemExpression.getValue(SelectItemExpression.java:191) at org.josql.Query.getColumnValues(Query.java:1389) ... 186 more Caused by: java.lang.RuntimeException: Unable to get value from instance of: org.jboss.qe.camel.architecture.scriptinglanguage.sql.Person, using accessor: name expected type to be: org.jboss.qe.camel.architecture.scriptinglanguage.sql.Person at com.gentlyweb.utils.Getter.throwException(Getter.java:337) at com.gentlyweb.utils.Getter.getValue(Getter.java:292) at org.josql.expressions.Accessor.evaluate(Accessor.java:150) ... 189 more Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.gentlyweb.utils.Getter.getValue(Getter.java:287) ... 190 more
When I use asterisk instead of attribute name (select * from org.jboss.qe.camel.architecture.scriptinglanguage.sql.Person) all works fine.
I tried to create standalone maven project which uses josql library with exactly same query and Person.class as I use in my test case and this project works without failures.