[ 
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.

Reply via email to