I was going to implement it using lower() + toLowerCaase() :)
On Wed, Feb 20, 2013 at 2:59 PM, seba.wag...@gmail.com < seba.wag...@gmail.com> wrote: > already done :) > However it is kind of strange again why OpenJPA does not support it. > > Sebastian > > > 2013/2/20 Maxim Solodovnik <solomax...@gmail.com> > >> I'll fix it ASAP >> >> >> On Wed, Feb 20, 2013 at 2:46 PM, Mahmut Teker <teker.mah...@gmail.com>wrote: >> >>> Hi, >>> >>> Any idea about that error? System gives this error only when a user >>> tries to login with LDAP (gives error but everything goes normal on the >>> user side). >>> >>> Thank you, >>> >>> >>> Error: >>> >>> ERROR 02-19 17:05:01.306 StateDao.java 1713829 127 >>> org.apache.openmeetings.data.user.dao.StateDao [NioProcessor-4] - >>> getStateById >>> org.apache.openjpa.persistence.ArgumentException: "Encountered "c . name >>> ILIKE" at character 32, but expected: ["(", "*", "+", "-", ".", "/", ":", >>> "<", "<=", "<>", "=", ">", ">=", "?", "ABS", "ALL", "AND", "ANY", "AS", >>> "ASC", "AVG", "BETWEEN", "BOTH", "BY", "CONCAT", "COUNT", "CURRENT_DATE", >>> "CURRENT_TIME", "CURRENT_TIMESTAMP", "DELETE", "DESC", "DISTINCT", "EMPTY", >>> "ESCAPE", "EXISTS", "FETCH", "FROM", "GROUP", "HAVING", "IN", "INNER", >>> "IS", "JOIN", "LEADING", "LEFT", "LENGTH", "LIKE", "LOCATE", "LOWER", >>> "MAX", "MEMBER", "MIN", "MOD", "NEW", "NOT", "NULL", "OBJECT", "OF", "OR", >>> "ORDER", "OUTER", "SELECT", "SET", "SIZE", "SOME", "SQRT", "SUBSTRING", >>> "SUM", "TRAILING", "TRIM", "TYPE", "UPDATE", "UPPER", "WHERE", >>> <DATE_LITERAL>, <DECIMAL_LITERAL>, <IDENTIFIER>, <INTEGER_LITERAL>, >>> <STRING_LITERAL2>, <STRING_LITERAL>, <TIMESTAMP_LITERAL>, <TIME_LITERAL>]." >>> while parsing JPQL "select c from State as c where c.nameILIKE :name >>> AND c.deleted <> :deleted". See nested stack trace for original parse error. >>> at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:51) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:154) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:672) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:654) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:620) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:682) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:589) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.persistence.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1038) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.persistence.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1017) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source) ~[na:na] >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> ~[na:1.6.0_26] >>> at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_26] >>> at >>> org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240) >>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE] >>> at $Proxy14.createNamedQuery(Unknown Source) ~[na:na] >>> at >>> org.apache.openmeetings.data.user.dao.StateDao.getStateByName(StateDao.java:118) >>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na] >>> at >>> org.apache.openmeetings.data.user.dao.StateDao$$FastClassByCGLIB$$2e65ce72.invoke(<generated>) >>> [com.springsource.net.sf.cglib-2.2.0.jar:na] >>> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) >>> [com.springsource.net.sf.cglib-2.2.0.jar:na] >>> at >>> org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) >>> [spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE] >>> at >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) >>> [spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE] >>> at >>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) >>> [org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE] >>> at >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) >>> [spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE] >>> at >>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) >>> [spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE] >>> at >>> org.apache.openmeetings.data.user.dao.StateDao$$EnhancerByCGLIB$$c7529867.getStateByName(<generated>) >>> [com.springsource.net.sf.cglib-2.2.0.jar:na] >>> at >>> org.apache.openmeetings.ldap.LdapLoginManagement.updateUserFromLdap(LdapLoginManagement.java:800) >>> [openmeetings-2.1.0-SNAPSHOT.jar:na] >>> at >>> org.apache.openmeetings.ldap.LdapLoginManagement.doLdapLogin(LdapLoginManagement.java:579) >>> [openmeetings-2.1.0-SNAPSHOT.jar:na] >>> at >>> org.apache.openmeetings.remote.MainService.loginUser(MainService.java:333) >>> [openmeetings-2.1.0-SNAPSHOT.jar:na] >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> ~[na:1.6.0_26] >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> ~[na:1.6.0_26] >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> ~[na:1.6.0_26] >>> at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_26] >>> at >>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:196) >>> [red5.jar:na] >>> at >>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:115) >>> [red5.jar:na] >>> at >>> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:157) >>> [red5.jar:na] >>> at org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:399) >>> [red5.jar:na] >>> at >>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:130) >>> [red5.jar:na] >>> at >>> org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:164) >>> [red5.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.red5.server.net.rtmpe.RTMPEIoFilter.messageReceived(RTMPEIoFilter.java:124) >>> [red5.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:715) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:68) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1141) >>> [mina-core-2.0.4.jar:na] >>> at >>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) >>> [mina-core-2.0.4.jar:na] >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>> [na:1.6.0_26] >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>> [na:1.6.0_26] >>> at java.lang.Thread.run(Thread.java:662) [na:1.6.0_26] >>> Caused by: org.apache.openjpa.persistence.ArgumentException: Encountered >>> "c . name ILIKE" at character 32, but expected: ["(", "*", "+", "-", ".", >>> "/", ":", "<", "<=", "<>", "=", ">", ">=", "?", "ABS", "ALL", "AND", "ANY", >>> "AS", "ASC", "AVG", "BETWEEN", "BOTH", "BY", "CONCAT", "COUNT", >>> "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DELETE", "DESC", >>> "DISTINCT", "EMPTY", "ESCAPE", "EXISTS", "FETCH", "FROM", "GROUP", >>> "HAVING", "IN", "INNER", "IS", "JOIN", "LEADING", "LEFT", "LENGTH", "LIKE", >>> "LOCATE", "LOWER", "MAX", "MEMBER", "MIN", "MOD", "NEW", "NOT", "NULL", >>> "OBJECT", "OF", "OR", "ORDER", "OUTER", "SELECT", "SET", "SIZE", "SOME", >>> "SQRT", "SUBSTRING", "SUM", "TRAILING", "TRIM", "TYPE", "UPDATE", "UPPER", >>> "WHERE", <DATE_LITERAL>, <DECIMAL_LITERAL>, <IDENTIFIER>, >>> <INTEGER_LITERAL>, <STRING_LITERAL2>, <STRING_LITERAL>, >>> <TIMESTAMP_LITERAL>, <TIME_LITERAL>]. >>> at >>> org.apache.openjpa.kernel.jpql.JPQL.generateParseException(JPQL.java:13162) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at org.apache.openjpa.kernel.jpql.JPQL.jj_consume_token(JPQL.java:13036) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.jpql.JPQL.conditional_primary(JPQL.java:1980) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.jpql.JPQL.conditional_factor(JPQL.java:1958) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.jpql.JPQL.conditional_term(JPQL.java:1807) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.jpql.JPQL.conditional_expression(JPQL.java:1769) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at org.apache.openjpa.kernel.jpql.JPQL.where_clause(JPQL.java:1587) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at org.apache.openjpa.kernel.jpql.JPQL.select_statement(JPQL.java:91) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at org.apache.openjpa.kernel.jpql.JPQL.parseQuery(JPQL.java:63) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:2401) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at >>> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.<init>(JPQLExpressionBuilder.java:2388) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:49) >>> ~[openjpa-bundle-2.2.1.jar:2.2.1] >>> ... 60 common frames omitted >>> >>> Best Regards, >>> >>> _Mahmut >>> >>> -- >>> "Bilgi, paylaştıkça artan bir hazinedir." Bhartrihari >> >> >> >> >> -- >> WBR >> Maxim aka solomax >> > > > > -- > Sebastian Wagner > https://twitter.com/#!/dead_lock > http://www.webbase-design.de > http://www.wagner-sebastian.com > seba.wag...@gmail.com > -- WBR Maxim aka solomax