Renat Zubairov
Tue, 20 Mar 2007 14:50:23 -0800
Thanks! On 20/03/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
Ok it's been filed - you can monitor progress via http://jira.opensymphony.com/browse/OGNL-17 On 3/20/07, Renat Zubairov <[EMAIL PROTECTED]> wrote: > Sorry for the wording, > > Under artificial property I ment a property that is not appearing in > the component/page class as normal or abstract getter/setter. > Artificial property - property declared in the .jwc or .page files. > For example you might have a component called Basket > You will have a Basket.java - > > public abstract class BasketComponent extends BaseComponent { > > public abstract boolean isProperty(); > > } > > Then you will have a component descriptor > > Basket.jwc > > <component .... ... ... class="... ... BasketComponent"> > > <property name="property"/> > > <property name="artificialProperty" initial-value="false"/> > > </component> > > As you can see component has two properties "property" and > "artificial". One of them appears in the java class as abstract > getter, another one do not appear anywhere except component > specification, however component specification may contain a OGNL > expression with all it's properties: > In this case "property || artificialProperty" which brings the error. > > Links to the source code: > > Java class: http://bookie.googlecode.com/svn/trunk/bookie-web/src/main/java/org/bookie/web/components/TabPanel.java > JWC descriptor: > http://bookie.googlecode.com/svn/trunk/bookie-web/src/main/webapp/WEB-INF/TabPanel.jwc > > Error appearing in: > > <component id="link" type="DirectLink"> > <binding name="listener" value="listener:doClick"/> > <binding name="parameters" value="blockId"/> > <binding name="disabled" value="ognl: tabSelected || readonly"/> > <binding name="async" value="ognl: !(tabSelected || readonly)"/> > </component> > > When evaluating > > "ognl: tabSelected || readonly" > > Renat > > On 20/03/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > What does "artificial" mean in this instance? > > > > I'd love to help, but if you aren't willing to give me the information > > I need then I guess you're on your own...Sorry. > > > > On 3/20/07, Renat Zubairov <[EMAIL PROTECTED]> wrote: > > > Hi Jesse, > > > > > > Sorry, I can't do that. We've already spent about 13 hours analyzing > > > this problem because it is quite critical for our project, however we > > > can't create a component with artificial parameters (Tapestry testing > > > package creating only those which abstract methods - which is quite ok > > > for normal testing). > > > > > > Evaluation expression is quite simple " valueOne || valueTwo" where > > > valueTwo is artificial one. > > > Another possibility would be offcourse for you to checkout our project > > > from the repository on > > > > > > http://code.google.com/p/bookie > > > > > > And launch bookie-jetty project (which will launch tweaked jetty 6.0). > > > > > > Renat > > > > > > On 20/03/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > > > Hi Renat, > > > > > > > > Do you think you could provide me with a sample expression string and > > > > corresponding description of what objects are involved in the > > > > expression and file the issue here? : > > > > > > > > http://jira.opensymphony.com/browse/OGNL > > > > > > > > On 3/20/07, Renat Zubairov <[EMAIL PROTECTED]> wrote: > > > > > Hello > > > > > > > > > > We have a problem with latest 2.7 OGNL snapshot. > > > > > It seems that OGNL is not capable to read properties that are purely > > > > > artificial - only declared in the *.page or *.jwc files and has no > > > > > abstract accessors in the java classes. > > > > > The exceptions are very wired, sometimes it's simply > > > > > > > > > > javassist.compiler.CompileError: ; is missing > > > > > > > > > > Sometimes different: > > > > > > > > > > Unable to parse OGNL expression 'menuItems': Error compiling > > > > > expression on object [EMAIL PROTECTED]/border.menu] with > > > > > expression node menuItems getter body: null setter body: null > > > > > > > > > > In all cases class HiveMindExpressionCompiler is participating in the > > > > > stacktrace. > > > > > > > > > > -- > > > > > Best regards, > > > > > Renat Zubairov > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > -- > > > > Jesse Kuhnert > > > > Tapestry/Dojo team member/developer > > > > > > > > Open source based consulting work centered around > > > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > -- > > > Best regards, > > > Renat Zubairov > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > -- > > Jesse Kuhnert > > Tapestry/Dojo team member/developer > > > > Open source based consulting work centered around > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > Best regards, > Renat Zubairov > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Best regards, Renat Zubairov --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]