Related to the current discussion about JDK1.5 compatibility and JAR upgrades, I'd like to raise the possibility of upgrading bsh to the current "stable" version, 2.0b4. This version is compatible with JDK1.5, and I have used it without hitches on another project for over a year, without problems.
I would specifically like to upgrade to it, to support the ZK rich client library (www.potix.com), which requires it. The main problem with the upgrade is that the API for parsing and holding onto scripts has changed substantially, which will require quite a few changes in BshUtil and associated classes. I'd be happy to do/help with the rewrite but I would first like to know: a. What are other opinions about this upgrade? b. Is there any documentation about the philosophy of BshUtil? c. Are there any regression tests for BshUtil, given that bsh is used pretty extensively throughout OFBiz? cameron Send instant messages to your online friends http://uk.messenger.yahoo.com |
I'm fine with upgrading bsh, but there's a bit more to it than you describe here. One of the other major bsh using classes in OFBiz is OfbizBshBsfEngine. It uses the Interpreter.ParsedScript which I implemented in order to support caching parsed scripts in the OFBiz central cache. If something like that is implemented in BSH now it would be fine, but I don't think that's the case because when I sent this over to contribute it back I don't think Pat understood what we were trying to do using BSH in OFBiz so he just responded that the current facilities for doing this is all that we would need (ie using a single interpreter and wrapping all scripts in methods... that just won't work for us). -David On Dec 5, 2006, at 5:09 PM, Cameron Smith wrote: > Related to the current discussion about JDK1.5 compatibility and > JAR upgrades, I'd like to raise the possibility of upgrading bsh to > the current "stable" version, 2.0b4. This version is compatible > with JDK1.5, and I have used it without hitches on another project > for over a year, without problems. > > I would specifically like to upgrade to it, to support the ZK rich > client library (www.potix.com), which requires it. > > The main problem with the upgrade is that the API for parsing and > holding onto scripts has changed substantially, which will require > quite a few changes in BshUtil and associated classes. I'd be > happy to do/help with the rewrite but I would first like to know: > a. What are other opinions about this upgrade? > b. Is there any documentation about the philosophy of BshUtil? > c. Are there any regression tests for BshUtil, given that bsh is > used pretty extensively throughout OFBiz? > > cameron > > > > > > Send instant messages to your online friends http:// > uk.messenger.yahoo.com |
In reply to this post by Cameron Smith-6
The upgrading problem is from the compatibility of JPubilsh. JPublish is
still using 1.X. ----- Original Message ----- From: "Cameron Smith" <[hidden email]> To: <[hidden email]> Sent: Wednesday, December 06, 2006 8:09 AM Subject: Upgrading bsh.jar Related to the current discussion about JDK1.5 compatibility and JAR upgrades, I'd like to raise the possibility of upgrading bsh to the current "stable" version, 2.0b4. This version is compatible with JDK1.5, and I have used it without hitches on another project for over a year, without problems. I would specifically like to upgrade to it, to support the ZK rich client library (www.potix.com), which requires it. The main problem with the upgrade is that the API for parsing and holding onto scripts has changed substantially, which will require quite a few changes in BshUtil and associated classes. I'd be happy to do/help with the rewrite but I would first like to know: a. What are other opinions about this upgrade? b. Is there any documentation about the philosophy of BshUtil? c. Are there any regression tests for BshUtil, given that bsh is used pretty extensively throughout OFBiz? cameron Send instant messages to your online friends http://uk.messenger.yahoo.com -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.432 / Virus Database: 268.15.9/573 - Release Date: 12/5/2006 4:07 PM |
In reply to this post by Cameron Smith-6
Dear David and Kane Lo, thanks for your feedback. Let me respond to your points separately.
1. David, your point about Interpreter.ParsedScript is what I was trying to get at when I asked about the "philosophy" of your BeanShell stuff. If it was you who implemented ParsedScript that makes a lot of sense, as I could not understand how someone (AKA Pat) who had already got this implememented in 1.0, would then go to the trouble of taking it out in a later version. As far as I can see, then, your design objectives for "Bsh in OFBiz", were: a. Allow caching of parsed scripts, against script name, for performance reasons b. Even when executing a parsed script, remember line and position information to assist with error-reporting when a script cannot be evaluated. If this is correct, then based on Pat's explanation here: http://beanshell.org/manual/parser.html#Parsing_and_Performance ...our only option for 2.0b4 would be to reimplement ParsedScript behaviour on top of the "SimpleNode" AST abstraction. It may be, David, that this is exactly how you implemented ParsedScript already, but I could not find the source for your altered version. Could you point me to it so I can have a look? 2. Kane Lo, I was not able to ascertain the version of JPublish used by OFBiz (from the MANIFEST.MF), but in any case after checking the JPublish project site, which appears to have been fairly inactive for the last 2 years, you are right, the latest available version of JPublish supports only up to bsh 1.3 (which appears to be the version upon which OFBiz' customized bsh is based). 3. In the long term, given that Bsh 2.0b4 was adopted as the basis for JSR-274 , and that OFBiz sooner or later will move to JDK1.5, I suggest politely that we'll have to deal with this issue at some point or other. Perhaps resubmitting David's ParsedScript contributions to the JSR-274 spec process? In the meantime, to solve my immediate problem a less turbulent approach might be to allow my OFBiz module (or even the webapp within it) to load its bsh from a different classloader. Is there a way to specify this via ofbiz-component.xml? cameron ----- Original Message ---- From: David E Jones <[hidden email]> To: [hidden email] Sent: Wednesday, 6 December, 2006 4:56:28 AM Subject: Re: Upgrading bsh.jar I'm fine with upgrading bsh, but there's a bit more to it than you describe here. One of the other major bsh using classes in OFBiz is OfbizBshBsfEngine. It uses the Interpreter.ParsedScript which I implemented in order to support caching parsed scripts in the OFBiz central cache. If something like that is implemented in BSH now it would be fine, but I don't think that's the case because when I sent this over to contribute it back I don't think Pat understood what we were trying to do using BSH in OFBiz so he just responded that the current facilities for doing this is all that we would need (ie using a single interpreter and wrapping all scripts in methods... that just won't work for us). -David On Dec 5, 2006, at 5:09 PM, Cameron Smith wrote: > Related to the current discussion about JDK1.5 compatibility and > JAR upgrades, I'd like to raise the possibility of upgrading bsh to > the current "stable" version, 2.0b4. This version is compatible > with JDK1.5, and I have used it without hitches on another project > for over a year, without problems. > > I would specifically like to upgrade to it, to support the ZK rich > client library (www.potix.com), which requires it. > > The main problem with the upgrade is that the API for parsing and > holding onto scripts has changed substantially, which will require > quite a few changes in BshUtil and associated classes. I'd be > happy to do/help with the rewrite but I would first like to know: > a. What are other opinions about this upgrade? > b. Is there any documentation about the philosophy of BshUtil? > c. Are there any regression tests for BshUtil, given that bsh is > used pretty extensively throughout OFBiz? > > cameron > > > > > > Send instant messages to your online friends http:// > uk.messenger.yahoo.com ___________________________________________________________ Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html |
Cameron Smith schrieb:
[..] > ...our only option for 2.0b4 would be to reimplement ParsedScript behaviour on top of the "SimpleNode" AST abstraction. It may be, David, that this is exactly how you implemented ParsedScript already, but I could not find the source for your altered version. Could you point me to it so I can have a look? The source seems to be here: https://issues.apache.org/jira/browse/OFBIZ-303 I found this accidentally while analyzing a problem with bsh on AS400/iSeries (not entirely solved yet). I think it would be good to have the changes against bsh somewhere as a patch in the the repository. Christian |
In reply to this post by Cameron Smith-6
On Dec 6, 2006, at 4:01 AM, Cameron Smith wrote: > Dear David and Kane Lo, thanks for your feedback. Let me respond > to your points separately. > > 1. David, your point about Interpreter.ParsedScript is what I was > trying to get at when I asked about the "philosophy" of your > BeanShell stuff. If it was you who implemented ParsedScript that > makes a lot of sense, as I could not understand how someone (AKA > Pat) who had already got this implememented in 1.0, would then go > to the trouble of taking it out in a later version. > > As far as I can see, then, your design objectives for "Bsh in > OFBiz", were: > a. Allow caching of parsed scripts, against script name, for > performance reasons > b. Even when executing a parsed script, remember line and position > information to assist with error-reporting when a script cannot be > evaluated. > > If this is correct, then based on Pat's explanation here: > http://beanshell.org/manual/parser.html#Parsing_and_Performance > > ...our only option for 2.0b4 would be to reimplement ParsedScript > behaviour on top of the "SimpleNode" AST abstraction. It may be, > David, that this is exactly how you implemented ParsedScript > already, but I could not find the source for your altered version. > Could you point me to it so I can have a look? Okay, this is now available on a docs.ofbiz.org page here: http://docs.ofbiz.org/x/5QI > 2. Kane Lo, I was not able to ascertain the version of JPublish > used by OFBiz (from the MANIFEST.MF), but in any case after > checking the JPublish project site, which appears to have been > fairly inactive for the last 2 years, you are right, the latest > available version of JPublish supports only up to bsh 1.3 (which > appears to be the version upon which OFBiz' customized bsh is based). I wouldn't worry too much about this as we are actually working toward totally removing JPublish from OFBiz as that project is not really being maintained any more and we have moved from it for the most part anyway. > 3. In the long term, given that Bsh 2.0b4 was adopted as the basis > for JSR-274 > , and that OFBiz sooner or later will move to JDK1.5, I suggest > politely that we'll have to deal with this issue at some point or > other. Perhaps resubmitting David's ParsedScript contributions to > the JSR-274 spec process? I have no problem with it being submitted back. Hopefully there will be more interest in this, or a recognition for this sort of need. > In the meantime, to solve my immediate problem a less turbulent > approach might be to allow my OFBiz module (or even the webapp > within it) to load its bsh from a different classloader. Is there > a way to specify this via ofbiz-component.xml? This is mostly a problem for containers that include BeanShell, like Weblogic for example that throws everything in the big weblogic.jar. The problem is that there are various classes that need to be shared among the different webapps, and those applications rely on bsh. So, in order to isolate from the server the app server needs to support at least three tiers: app server container, application group, webapp. -David > cameron > > ----- Original Message ---- > From: David E Jones <[hidden email]> > To: [hidden email] > Sent: Wednesday, 6 December, 2006 4:56:28 AM > Subject: Re: Upgrading bsh.jar > > > I'm fine with upgrading bsh, but there's a bit more to it than you > describe here. > > One of the other major bsh using classes in OFBiz is > OfbizBshBsfEngine. It uses the Interpreter.ParsedScript which I > implemented in order to support caching parsed scripts in the OFBiz > central cache. If something like that is implemented in BSH now it > would be fine, but I don't think that's the case because when I sent > this over to contribute it back I don't think Pat understood what we > were trying to do using BSH in OFBiz so he just responded that the > current facilities for doing this is all that we would need (ie using > a single interpreter and wrapping all scripts in methods... that just > won't work for us). > > -David > > > On Dec 5, 2006, at 5:09 PM, Cameron Smith wrote: > >> Related to the current discussion about JDK1.5 compatibility and >> JAR upgrades, I'd like to raise the possibility of upgrading bsh to >> the current "stable" version, 2.0b4. This version is compatible >> with JDK1.5, and I have used it without hitches on another project >> for over a year, without problems. >> >> I would specifically like to upgrade to it, to support the ZK rich >> client library (www.potix.com), which requires it. >> >> The main problem with the upgrade is that the API for parsing and >> holding onto scripts has changed substantially, which will require >> quite a few changes in BshUtil and associated classes. I'd be >> happy to do/help with the rewrite but I would first like to know: >> a. What are other opinions about this upgrade? >> b. Is there any documentation about the philosophy of BshUtil? >> c. Are there any regression tests for BshUtil, given that bsh is >> used pretty extensively throughout OFBiz? >> >> cameron >> >> >> >> >> >> Send instant messages to your online friends http:// >> uk.messenger.yahoo.com > > > > > > > > ___________________________________________________________ > Now you can scan emails quickly with a reading pane. Get the new > Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html |
In reply to this post by Cameron Smith-6
OK, based on these comments, I'll have a go at re-patching the current source based on David's original alterations. From an initial analysis, the core eval() method has hardly changed since bsh 1.3, so it does not look like too tough a job.
If I get anywhere I will post a JIRA issue in the next few days with the new source for consideration. cameron ----- Original Message ---- From: David E Jones <[hidden email]> To: [hidden email] Sent: Wednesday, 6 December, 2006 1:42:05 PM Subject: Re: Upgrading bsh.jar On Dec 6, 2006, at 4:01 AM, Cameron Smith wrote: > Dear David and Kane Lo, thanks for your feedback. Let me respond > to your points separately. > > 1. David, your point about Interpreter.ParsedScript is what I was > trying to get at when I asked about the "philosophy" of your > BeanShell stuff. If it was you who implemented ParsedScript that > makes a lot of sense, as I could not understand how someone (AKA > Pat) who had already got this implememented in 1.0, would then go > to the trouble of taking it out in a later version. > > As far as I can see, then, your design objectives for "Bsh in > OFBiz", were: > a. Allow caching of parsed scripts, against script name, for > performance reasons > b. Even when executing a parsed script, remember line and position > information to assist with error-reporting when a script cannot be > evaluated. > > If this is correct, then based on Pat's explanation here: > http://beanshell.org/manual/parser.html#Parsing_and_Performance > > ...our only option for 2.0b4 would be to reimplement ParsedScript > behaviour on top of the "SimpleNode" AST abstraction. It may be, > David, that this is exactly how you implemented ParsedScript > already, but I could not find the source for your altered version. > Could you point me to it so I can have a look? Okay, this is now available on a docs.ofbiz.org page here: http://docs.ofbiz.org/x/5QI > 2. Kane Lo, I was not able to ascertain the version of JPublish > used by OFBiz (from the MANIFEST.MF), but in any case after > checking the JPublish project site, which appears to have been > fairly inactive for the last 2 years, you are right, the latest > available version of JPublish supports only up to bsh 1.3 (which > appears to be the version upon which OFBiz' customized bsh is based). I wouldn't worry too much about this as we are actually working toward totally removing JPublish from OFBiz as that project is not really being maintained any more and we have moved from it for the most part anyway. > 3. In the long term, given that Bsh 2.0b4 was adopted as the basis > for JSR-274 > , and that OFBiz sooner or later will move to JDK1.5, I suggest > politely that we'll have to deal with this issue at some point or > other. Perhaps resubmitting David's ParsedScript contributions to > the JSR-274 spec process? I have no problem with it being submitted back. Hopefully there will be more interest in this, or a recognition for this sort of need. > In the meantime, to solve my immediate problem a less turbulent > approach might be to allow my OFBiz module (or even the webapp > within it) to load its bsh from a different classloader. Is there > a way to specify this via ofbiz-component.xml? This is mostly a problem for containers that include BeanShell, like Weblogic for example that throws everything in the big weblogic.jar. The problem is that there are various classes that need to be shared among the different webapps, and those applications rely on bsh. So, in order to isolate from the server the app server needs to support at least three tiers: app server container, application group, webapp. -David > cameron > > ----- Original Message ---- > From: David E Jones <[hidden email]> > To: [hidden email] > Sent: Wednesday, 6 December, 2006 4:56:28 AM > Subject: Re: Upgrading bsh.jar > > > I'm fine with upgrading bsh, but there's a bit more to it than you > describe here. > > One of the other major bsh using classes in OFBiz is > OfbizBshBsfEngine. It uses the Interpreter.ParsedScript which I > implemented in order to support caching parsed scripts in the OFBiz > central cache. If something like that is implemented in BSH now it > would be fine, but I don't think that's the case because when I sent > this over to contribute it back I don't think Pat understood what we > were trying to do using BSH in OFBiz so he just responded that the > current facilities for doing this is all that we would need (ie using > a single interpreter and wrapping all scripts in methods... that just > won't work for us). > > -David > > > On Dec 5, 2006, at 5:09 PM, Cameron Smith wrote: > >> Related to the current discussion about JDK1.5 compatibility and >> JAR upgrades, I'd like to raise the possibility of upgrading bsh to >> the current "stable" version, 2.0b4. This version is compatible >> with JDK1.5, and I have used it without hitches on another project >> for over a year, without problems. >> >> I would specifically like to upgrade to it, to support the ZK rich >> client library (www.potix.com), which requires it. >> >> The main problem with the upgrade is that the API for parsing and >> holding onto scripts has changed substantially, which will require >> quite a few changes in BshUtil and associated classes. I'd be >> happy to do/help with the rewrite but I would first like to know: >> a. What are other opinions about this upgrade? >> b. Is there any documentation about the philosophy of BshUtil? >> c. Are there any regression tests for BshUtil, given that bsh is >> used pretty extensively throughout OFBiz? >> >> cameron >> >> >> >> >> >> Send instant messages to your online friends http:// >> uk.messenger.yahoo.com > > > > > > > > ___________________________________________________________ > Now you can scan emails quickly with a reading pane. Get the new > Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html Send instant messages to your online friends http://uk.messenger.yahoo.com |
Administrator
|
In reply to this post by Kane Lo
I guess this is not a problem anymore since OFBiz is no more using JPublish (thanks to Jacopo's great work :
http://issues.apache.org/jira/browse/OFBIZ-401?page=comments#action_12453534) Jacques ----- Original Message ----- From: "Kane Lo" <[hidden email]> To: <[hidden email]>; "Cameron Smith" <[hidden email]> Sent: Wednesday, December 06, 2006 8:26 AM Subject: Re: Upgrading bsh.jar > The upgrading problem is from the compatibility of JPubilsh. JPublish is > still using 1.X. > ----- Original Message ----- > From: "Cameron Smith" <[hidden email]> > To: <[hidden email]> > Sent: Wednesday, December 06, 2006 8:09 AM > Subject: Upgrading bsh.jar > > > Related to the current discussion about JDK1.5 compatibility and JAR > upgrades, I'd like to raise the possibility of upgrading bsh to the current > "stable" version, 2.0b4. This version is compatible with JDK1.5, and I > have used it without hitches on another project for over a year, without > problems. > > I would specifically like to upgrade to it, to support the ZK rich client > library (www.potix.com), which requires it. > > The main problem with the upgrade is that the API for parsing and holding > onto scripts has changed substantially, which will require quite a few > changes in BshUtil and associated classes. I'd be happy to do/help with the > rewrite but I would first like to know: > a. What are other opinions about this upgrade? > b. Is there any documentation about the philosophy of BshUtil? > c. Are there any regression tests for BshUtil, given that bsh is used > pretty extensively throughout OFBiz? > > cameron > > > > > > Send instant messages to your online friends http://uk.messenger.yahoo.com > > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.432 / Virus Database: 268.15.9/573 - Release Date: 12/5/2006 > 4:07 PM > |
In reply to this post by Cameron Smith-6
OK, seems to be working. Anyone interested in this issue, please make your way to https://issues.apache.org/jira/browse/OFBIZ-528 and give your feedback.
cameron ----- Original Message ---- From: David E Jones <[hidden email]> To: [hidden email] Sent: Wednesday, 6 December, 2006 1:42:05 PM Subject: Re: Upgrading bsh.jar On Dec 6, 2006, at 4:01 AM, Cameron Smith wrote: > Dear David and Kane Lo, thanks for your feedback. Let me respond > to your points separately. > > 1. David, your point about Interpreter.ParsedScript is what I was > trying to get at when I asked about the "philosophy" of your > BeanShell stuff. If it was you who implemented ParsedScript that > makes a lot of sense, as I could not understand how someone (AKA > Pat) who had already got this implememented in 1.0, would then go > to the trouble of taking it out in a later version. > > As far as I can see, then, your design objectives for "Bsh in > OFBiz", were: > a. Allow caching of parsed scripts, against script name, for > performance reasons > b. Even when executing a parsed script, remember line and position > information to assist with error-reporting when a script cannot be > evaluated. > > If this is correct, then based on Pat's explanation here: > http://beanshell.org/manual/parser.html#Parsing_and_Performance > > ...our only option for 2.0b4 would be to reimplement ParsedScript > behaviour on top of the "SimpleNode" AST abstraction. It may be, > David, that this is exactly how you implemented ParsedScript > already, but I could not find the source for your altered version. > Could you point me to it so I can have a look? Okay, this is now available on a docs.ofbiz.org page here: http://docs.ofbiz.org/x/5QI > 2. Kane Lo, I was not able to ascertain the version of JPublish > used by OFBiz (from the MANIFEST.MF), but in any case after > checking the JPublish project site, which appears to have been > fairly inactive for the last 2 years, you are right, the latest > available version of JPublish supports only up to bsh 1.3 (which > appears to be the version upon which OFBiz' customized bsh is based). I wouldn't worry too much about this as we are actually working toward totally removing JPublish from OFBiz as that project is not really being maintained any more and we have moved from it for the most part anyway. > 3. In the long term, given that Bsh 2.0b4 was adopted as the basis > for JSR-274 > , and that OFBiz sooner or later will move to JDK1.5, I suggest > politely that we'll have to deal with this issue at some point or > other. Perhaps resubmitting David's ParsedScript contributions to > the JSR-274 spec process? I have no problem with it being submitted back. Hopefully there will be more interest in this, or a recognition for this sort of need. > In the meantime, to solve my immediate problem a less turbulent > approach might be to allow my OFBiz module (or even the webapp > within it) to load its bsh from a different classloader. Is there > a way to specify this via ofbiz-component.xml? This is mostly a problem for containers that include BeanShell, like Weblogic for example that throws everything in the big weblogic.jar. The problem is that there are various classes that need to be shared among the different webapps, and those applications rely on bsh. So, in order to isolate from the server the app server needs to support at least three tiers: app server container, application group, webapp. -David > cameron > > ----- Original Message ---- > From: David E Jones <[hidden email]> > To: [hidden email] > Sent: Wednesday, 6 December, 2006 4:56:28 AM > Subject: Re: Upgrading bsh.jar > > > I'm fine with upgrading bsh, but there's a bit more to it than you > describe here. > > One of the other major bsh using classes in OFBiz is > OfbizBshBsfEngine. It uses the Interpreter.ParsedScript which I > implemented in order to support caching parsed scripts in the OFBiz > central cache. If something like that is implemented in BSH now it > would be fine, but I don't think that's the case because when I sent > this over to contribute it back I don't think Pat understood what we > were trying to do using BSH in OFBiz so he just responded that the > current facilities for doing this is all that we would need (ie using > a single interpreter and wrapping all scripts in methods... that just > won't work for us). > > -David > > > On Dec 5, 2006, at 5:09 PM, Cameron Smith wrote: > >> Related to the current discussion about JDK1.5 compatibility and >> JAR upgrades, I'd like to raise the possibility of upgrading bsh to >> the current "stable" version, 2.0b4. This version is compatible >> with JDK1.5, and I have used it without hitches on another project >> for over a year, without problems. >> >> I would specifically like to upgrade to it, to support the ZK rich >> client library (www.potix.com), which requires it. >> >> The main problem with the upgrade is that the API for parsing and >> holding onto scripts has changed substantially, which will require >> quite a few changes in BshUtil and associated classes. I'd be >> happy to do/help with the rewrite but I would first like to know: >> a. What are other opinions about this upgrade? >> b. Is there any documentation about the philosophy of BshUtil? >> c. Are there any regression tests for BshUtil, given that bsh is >> used pretty extensively throughout OFBiz? >> >> cameron >> >> >> >> >> >> Send instant messages to your online friends http:// >> uk.messenger.yahoo.com > > > > > > > > ___________________________________________________________ > Now you can scan emails quickly with a reading pane. Get the new > Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html ___________________________________________________________ Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html |
Free forum by Nabble | Edit this page |