[ https://issues.apache.org/jira/browse/ODE-648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Carver updated ODE-648: ----------------------------- Attachment: ode-641v1.txt This implements schema validation against the BPELs before they go into the final compilation step. It first parses them, then uses the created DOM to validate against the grammar pool. This looks like what was originally intended by use of the EntityResolver mechanism but this was not working correctly. EntityResolvers only come into play if there is a DOCTYPE or schemaLocation included in the XML file. So no validation was occurring. With this change, a hand full of the GoodTestCompile BPEL files do not pass validation and are not valid according to any of the provided schemas from the bpel-schemas project. The patch also corrects two schemas that themselves were not compiling correctly due to a wrong prefix being used. There are some additional performance enhancements that can be done, like caching the GrammarPool so that compilation of the schemas only occurs once instead of multiple times. The biggest drain on performance with XML Schema is in the initial compilation, validation itself happens fairly quickly. This is provided as a proof of concept and can head off many possible errors before they get to the compilation stage and execution stage of the BPEL processes. I suspect we need to do a few iterations over this patch, and possibly if accepted make a similar patch in the trunk stream. > Compiler should throw a meaningful error if <from>/<to> expression is empty > --------------------------------------------------------------------------- > > Key: ODE-648 > URL: https://issues.apache.org/jira/browse/ODE-648 > Project: ODE > Issue Type: Bug > Components: BPEL Compilation/Parsing > Affects Versions: 1.2, 1.3.2, 1.3.3, 2.0 > Reporter: Tammo van Lessen > Assignee: Tammo van Lessen > Fix For: 1.3.5, 2.0-beta3 > > Attachments: ode-641v1.txt > > > If the expression is empty, the only error message is from the expression > compiler and is quite confusing: > java.lang.IllegalStateException: XPath string and xpath node are both null > at > org.apache.ode.bpel.elang.xpath20.compiler.XPath20ExpressionCompilerImpl.doJaxpCompile. > Fixing this issue will also help if a copy and paste engineer added a BPEL > 1.1 <from expression="someexp"/> to a BPEL 2.0 process ;) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.