Example:
Set the filter for test instances linked to a series of test sets and get the resulting test instance collection:
The REST API documentation says:
The elements of a query are: •Comparison operators:<,>,<>,>=,<=
•Logical operators: and, or, not
•Literals: String that represent the value of an expression. If a value contains spaces, it must be contained within single or double quotes. Literals can contain the '*' wild card.
•Pairs of parenthesis
The GET Request below works fine with 1 value for cycle-id.
Using a list of cycle-id (separated by or) for the query fails:
GET-Request:
[truncated] GET /qcbin/rest/domains/DEFAULT/projects/Demo/test-instances/?query={cycle-id[182%20OR%20181%20OR%205%20OR%206%20OR%208%20OR%2063%20OR%2091%20OR%2062%20OR%20121%20OR%20122%20OR%2032%20OR%2064%20OR%2033%20OR%20123%20OR%2034%20OR
Reply:
Failed to get list of entities keys and/or fill the GroupHeaders list for request: [Filter]{
\x0aTABLENAME:TESTCYCL,
\x0aCOLUMNNAME:TC_CYCLE_ID,
\x0aLOGICALFILTER:\\00000065\\182 OR 181 OR 5 OR 6 OR 8 OR 63 OR 91 OR 62 OR 121 OR 122 OR 32 OR 64 OR 33 OR 123 OR 34 OR 31 OR 211,
\x0aVISUALFILTER:\\00000065\\182 OR 181 OR 5 OR 6 OR 8 OR 63 OR 91 OR 62 OR 121 OR 122 OR 32 OR 64 OR 33 OR 123 OR 34 OR 31 OR 211,
\x0aNO_CASE:
\x0a}
java.lang.NumberFormatException: For input string: "182 OR 181 OR 5 OR 6 OR 8 OR 63 OR 91 OR 62 OR 121 OR 122 OR 32 OR 64 OR 33 OR 123 OR 34 OR 31 OR 211"
\x0aat
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
\x0aat java.lang.Integer.parseInt(Integer.java:458)
\x0aat java.lang.Integer.parseInt(Integer.java:499)
\x0aat com.mercury.optane.core.db.CTdPreparedStatement.privateSetParam(CTdPreparedStatement.java:696)
\x0aat com.mercury.optane.core.db.CTdPreparedStatement.setParams(CTdPreparedStatement.java:860)
\x0a wrapped in com.mercury.optane.core.CTdException: Failed to set params in the parametrized query
\x0aat com.mercury.optane.core.db.CTdPreparedStatement.setParams(CTdPreparedStatement.java:868)
\x0aat com.mercury.optane.core.db.spring.JDBCTemplate$ParamsPreparedStatementCreator.setValues(JDBCTemplate.java:1231)
\x0aat com.mercury.optane.core.db.spring.JDBCTemplate$AbstractPreparedStatementCreator.create(JDBCTemplate.java:1179)
\x0aat com.mercury.optane.core.db.spring.JDBCTemplate.executeQuery(JDBCTemplate.java:1005)
\x0aat com.mercury.optane.core.db.spring.JDBCTemplate.executeQuery(JDBCTemplate.java:892)
\x0aat com.mercury.optane.core.db.spring.JDBCTemplate.executeQuery(JDBCTemplate.java:802)
\x0aat com.mercury.td.appbase.getvalue.KeysRequestParser.getKeysFromSqlStruct(KeysRequestParser.java:512)
\x0aat com.mercury.td.appbase.getvalue.KeysRequestParser.retrieveKeysAndGroupsFromRequest(KeysRequestParser.java:322)
\x0a wrapped in com.mercury.optane.core.CTdException: Failed to get list of entities keys and/or fill the GroupHeaders list for request: [Filter]{
\x0aTABLENAME:TESTCYCL,
\x0aCOLUMNNAME:TC_CYCLE_ID,
\x0aLOGICALFILTER:\\00000065\\182 OR 181 OR 5 OR 6 OR 8 OR 63 OR 91 OR 62 OR 121 OR 122 OR 32 OR 64 OR 33 OR 123 OR 34 OR 31 OR 211,
\x0aVISUALFILTER:\\00000065\\182 OR 181 OR 5 OR 6 OR 8 OR 63 OR 91 OR 62 OR 121 OR 122 OR 32 OR 64 OR 33 OR 123 OR 34 OR 31 OR 211,
\x0aNO_CASE:
\x0a}
\x0aat com.mercury.td.appbase.getvalue.KeysRequestParser.retrieveKeysAndGroupsFromRequest(KeysRequestParser.java:336)
\x0aat com.mercury.td.appbase.getvalue.KeysRequestParser.retrieveKeysFromRequest(KeysRequestParser.java:228)
\x0aat com.mercury.td.appbase.getvalue.GetValueService.getValue(GetValueService.java:169)
\x0aat com.mercury.td.appbase.getvalue.GetValueService.getValue(GetValueService.java:89)
\x0aat com.mercury.td.tdserver.infra.AbstractLogic.internalGetValue(AbstractLogic.java:2566)
\x0aat com.mercury.td.tdserver.infra.AbstractLogic.getValue(AbstractLogic.java:2534)
\x0aat com.mercury.td.tdserver.infra.AbstractLogic.getValue(AbstractLogic.java:2508)
\x0aat org.hp.qc.impl.adapters.LegacyLogicAdapterBase.performActualGetOperation(LegacyLogicAdapterBase.java:312)
\x0aat org.hp.qc.impl.adapters.LegacyLogicAdapterBase.get(LegacyLogicAdapterBase.java:88)
\x0aat sun.reflect.GeneratedMethodAccessor277.invoke(Unknown Source)
\x0aat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
\x0aat java.lang.reflect.Method.invoke(Method.java:597)
\x0aat org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
\x0aat org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
\x0aat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
\x0aat org.springframework.aop.aspectj.AspectJAfterAdvice.invoke(AspectJAfterAdvice.java:42)
\x0aat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
\x0aat org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
\x0aat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
\x0aat org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
\x0aat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
\x0aat org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
\x0aat $Proxy185.get(Unknown Source)
\x0aat org.hp.qc.impl.services.ReadServiceImpl.readPage(ReadServiceImpl.java:84)
\x0aat org.hp.qc.web.restapi.entities.AbstractBaseResource.readEntities(AbstractBaseResource.java:227)
\x0aat org.hp.qc.web.restapi.entities.AbstractBaseResource.performGETEntities(AbstractBaseResource.java:136)
\x0aat org.hp.qc.web.restapi.entities.FirstLevelResource.readEntities(FirstLevelResource.java:60)
\x0aat sun.reflect.GeneratedMethodAccessor273.invoke(Unknown Source)
\x0aat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
\x0aat java.lang.reflect.Method.invoke(Method.java:597)
\x0aat org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:51)
\x0aat org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
\x0aat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
\x0aat org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:48)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
\x0aat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
\x0aat org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:146)
\x0aat org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:66)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
\x0aat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
\x0aat org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:93)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
\x0aat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
\x0aat org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
\x0aat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
\x0aat org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:46)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
\x0aat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
\x0aat org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
\x0aat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
\x0aat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
\x0aat org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:48)
\x0aat org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:157)
\x0aat org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:133)
\x0aat org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:111)
\x0aat javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
\x0aat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
\x0aat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
\x0aat org.hp.qc.web.restapi.RESTApiFilter.doFilter(RESTApiFilter.java:65)
\x0aat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
\x0aat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
\x0aat org.hp.qc.web.restapi.performance.PerformanceMonitorRESTFilter.doFilter(PerformanceMonitorRESTFilter.java:45)
\x0aat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
\x0aat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
\x0aat org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
\x0aat com.hp.sw.bto.ast.security.lwsso.authenticator.springSecurity.SpringSecurity2LWSSOIntegrationFilter.doFilter(SpringSecurity2LWSSOIntegrationFilter.java:182)
\x0aat org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
\x0aat org.hp.qc.web.restapi.sessionmanagement.ImplicitSessionFilter.doFilter(ImplicitSessionFilter.java:53)
\x0aat org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
\x0aat org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
\x0aat org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
\x0aat org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
\x0aat com.hp.sw.bto.ast.security.lwsso.authenticator.springSecurity.LWSSO2SpringSecurityIntegrationFilter.doFilter(LWSSO2SpringSecurityIntegrationFilter.java:299)
\x0aat org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
\x0aat org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
\x0aat org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
\x0aat org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
\x0aat org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
\x0aat org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
\x0aat org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
\x0aat org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
\x0aat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
\x0aat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
\x0aat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
\x0aat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
\x0aat com.mercury.optane.core.state.ServerStatusFilter.doFilter(ServerStatusFilter.java:33)
\x0aat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
\x0aat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
\x0aat org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
\x0aat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
\x0aat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
\x0aat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
\x0aat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
\x0aat org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
\x0aat org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
\x0aat org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
\x0aat org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
\x0aat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
\x0aat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
\x0aat org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
\x0aat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
\x0aat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
\x0aat org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
\x0aat org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
\x0aat org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
\x0aat java.lang.Thread.run(Thread.java:619)
\x0a