[jira] Commented: (ODE-296) Support XSLT's document() function
[ https://issues.apache.org/jira/browse/ODE-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600602#action_12600602 ] Ciaran Jessup commented on ODE-296: --- Ok, thanks for applying the patch, I hit the file resources an awful lot, in fact for every web service invoke, one of my concerns was around being able to delete the deployment folder at runtime, on a loaded system unless the resources are cached I believe that if the file is continuously being 'read' then the file will be locked and I won't be able to get rid of that folder if I needed to, also, is there definately no con-current contention on the file-io ? > Support XSLT's document() function > -- > > Key: ODE-296 > URL: https://issues.apache.org/jira/browse/ODE-296 > Project: ODE > Issue Type: New Feature > Components: BPEL Runtime >Reporter: Ciaran Jessup > Fix For: 1.2 > > Attachments: AddDocumentSupport.patch, AddDocumentSupportv2.patch, > HelloWorld2.zip > > > Currently the BPEL runtime does not support executing XSL stylesheets that > use the XSLT document() function to retrieve resources local to the process > directory. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-296) Support XSLT's document() function
[ https://issues.apache.org/jira/browse/ODE-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600546#action_12600546 ] Matthieu Riou commented on ODE-296: --- Patch applied, thanks! I've actually removed the set of resources on OProcess. Really the OModel should be considered immutable after compilation, we shouldn't cache stuff in there. And I'm not sure the caching here is not a micro-optimization. Your OS will cache the file in memory after it's first read so subsequent reading should be really fast. Caching it again in the VM shouldn't make it much faster. I know, the XSL sheet itself is stored in the OProcess. But this was done when we didn't have the process store or a better way to access a filesystem resource at runtime, so that should actually be refactored at some point. Anyway, let me know if your experience is different and we'll find another way to cache those resources. And thanks again for your patch, it's most welcome! > Support XSLT's document() function > -- > > Key: ODE-296 > URL: https://issues.apache.org/jira/browse/ODE-296 > Project: ODE > Issue Type: New Feature > Components: BPEL Runtime >Reporter: Ciaran Jessup > Fix For: 1.2 > > Attachments: AddDocumentSupport.patch, AddDocumentSupportv2.patch, > HelloWorld2.zip > > > Currently the BPEL runtime does not support executing XSL stylesheets that > use the XSLT document() function to retrieve resources local to the process > directory. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-296) Support XSLT's document() function
[ https://issues.apache.org/jira/browse/ODE-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600393#action_12600393 ] Ciaran Jessup commented on ODE-296: --- Ok, this makes sense, I was unhappy with where I had put my changes anyway, as what you're describing pretty much matches what I understood the code to do. Do you have an issue with the 'resources' hashMap being on oProcess, I can't see it being any worse/better than the existing xslSheet property, and from a serialisation point of view it should just be initialised empty, although imho as perhaps with the xslSheets perhaps it should be marked as transient ? > Support XSLT's document() function > -- > > Key: ODE-296 > URL: https://issues.apache.org/jira/browse/ODE-296 > Project: ODE > Issue Type: New Feature > Components: BPEL Runtime >Reporter: Ciaran Jessup > Fix For: 1.2 > > Attachments: AddDocumentSupport.patch, HelloWorld2.zip > > > Currently the BPEL runtime does not support executing XSL stylesheets that > use the XSLT document() function to retrieve resources local to the process > directory. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-296) Support XSLT's document() function
[ https://issues.apache.org/jira/browse/ODE-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600318#action_12600318 ] Matthieu Riou commented on ODE-296: --- I'm kind of reluctant to modify the OProcess. There are several reasons. First the OProcess is part of our serialized process model and we have to be careful about modifying it as it can make older versions incompatible with the new format. Second I'd like to avoid binding it to a specific location in the filesystem. The compiled representation of a process can be moved around and reused (think clustering for example). We actually have that location information even if it's not really immediate right now so you'll have to bear with me a little :) XslRuntimeUriResolver is created by the JaxpFunctionResolver and therefore could get information from the EvaluationContext that's already referenced by the function resolver. The EvaluationContext is implemented by ExprEvaluationContextImpl which references BpelRuntimeContext. BpelRuntimeContextImpl has a reference to BpelProcess that has a reference to ProcessConf. And ProcessConf has the getBaseUri() method you're looking for. A long way to follow :) So if you don't mind doing a bit of refactoring on your patch, it would be nice if you used what I just described to get the base URI instand of storing it on OProcess. You'll need to: * add a method on BpelRuntimeContextImpl and BpelRuntimeContext (like getBaseResourceURI() for example) * add the same method on EvaluationContext and ExprEvaluationContextImpl * pass the base URI to XslRuntimeUriResolver. Does that make sense? Thanks a lot for looking through this and for your patch!! > Support XSLT's document() function > -- > > Key: ODE-296 > URL: https://issues.apache.org/jira/browse/ODE-296 > Project: ODE > Issue Type: New Feature > Components: BPEL Runtime >Reporter: Ciaran Jessup > Fix For: 1.2 > > Attachments: AddDocumentSupport.patch, HelloWorld2.zip > > > Currently the BPEL runtime does not support executing XSL stylesheets that > use the XSLT document() function to retrieve resources local to the process > directory. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.