[
https://issues.apache.org/jira/browse/CMIS-668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Hübel updated CMIS-668:
----------------------------
According to the CMIS spec the following rules are relevant for this case:
<from clause> ::= FROM <table reference>
<table reference> ::= <table name> [ [ AS ] <correlation name> ] | <joined
table>
<identifier> ::= !! As defined by queryName attribute.
queryName is defined in section 2.1.2.1.3
2.1.2.1.3 Query Names
...
The string MUST NOT contain:
• whitespace " "
• comma ","
• double quotes '"'
• single quotes "'"
• backslash "\"
• the period "."
• the open "(" or close ")" parenthesis characters
This means that the dot character is not allowed in a query name and given that
some of the built-in InMemory types are incorrect. I will fix this.
Thanks for pointing this out!
> '.' in Obect Type ID causes CmisInvalidArgumentException
> --------------------------------------------------------
>
> Key: CMIS-668
> URL: https://issues.apache.org/jira/browse/CMIS-668
> Project: Chemistry
> Issue Type: Bug
> Components: opencmis-server-inmemory
> Affects Versions: OpenCMIS 0.8.0, OpenCMIS 0.9.0, OpenCMIS 0.10.0
> Environment: amd64 Linux, Tomcat6
> Reporter: Michael Burwig
> Assignee: Jens Hübel
>
> The InMemory server cannot handle queries of object types whose IDs contain
> any '.' or '-' characters, like in "MyDocType1.1". Such queries result in an
> uncaught CmisInvalidArgumentException Exception.
> Example:
> [http://some.url/chemistry-opencmis-server-inmemory-0.10.0-SNAPSHOT/atom/A1/query?q=\{SELECT%20*%20FROM%20MyDocType1.1\}]
> {code}
> line 1:25 no viable alternative at input '.1'
> org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException:
> line 1:25 no viable alternative at input '.1'
> at
> org.apache.chemistry.opencmis.server.support.query.QueryUtilStrict.parseStatement(QueryUtilStrict.java:57)
> at
> org.apache.chemistry.opencmis.server.support.query.QueryUtilBase.processStatement(QueryUtilBase.java:78)
> at
> org.apache.chemistry.opencmis.server.support.query.QueryUtilBase.processStatementUsingCmisExceptions(QueryUtilBase.java:114)
> at
> org.apache.chemistry.opencmis.inmemory.query.InMemoryQueryProcessor.processQueryAndCatchExc(InMemoryQueryProcessor.java:114)
> at
> org.apache.chemistry.opencmis.inmemory.query.InMemoryQueryProcessor.query(InMemoryQueryProcessor.java:98)
> at
> org.apache.chemistry.opencmis.inmemory.storedobj.impl.StoreManagerImpl.query(StoreManagerImpl.java:590)
> at
> org.apache.chemistry.opencmis.inmemory.server.InMemoryDiscoveryServiceImpl.query(InMemoryDiscoveryServiceImpl.java:139)
> at
> org.apache.chemistry.opencmis.inmemory.server.InMemoryService.query(InMemoryService.java:405)
> at
> org.apache.chemistry.opencmis.server.impl.atompub.DiscoveryService$Query.serve(DiscoveryService.java:115)
> at
> org.apache.chemistry.opencmis.server.shared.Dispatcher.dispatch(Dispatcher.java:87)
> at
> org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet.dispatch(CmisAtomPubServlet.java:221)
> at
> org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet.service(CmisAtomPubServlet.java:171)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Thread.java:722)
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira