Cool. Please do follow up with your experience with the new features in 0.7.0.
Thanks, Jian On Fri, May 14, 2010 at 12:54 PM, Rob Breidecker <[email protected]> wrote: > Your suggestion worked. I'm looking forward to trying some of the > advanced techniques you described in your last message. > > Thanks, > Rob > > On May 14, 10:12 am, Jian Fang <[email protected]> wrote: > > Hi Rob, > > > > You need "{}" for the "row:all, column:1" portion. The reason is that we > can > > use UDL > > to define id for the element in a UI template and we can the use id > instead > > of index to > > reference them. Another advantage is that the UI module can handle the > > challenge that > > someone changes the position of a column. > > > > For example, if we have the following UI module, > > > > ui.StandardTable(uid: "GT", clocator: [id: "xyz"], ht: "tbody"){ > > TextBox(uid: "{header: first} as One", clocator: [tag: "th", > > text: "one"], self: true) > > TextBox(uid: "{header: 2} as Two", clocator: [tag: "th", text: > > "two"], self: true) > > TextBox(uid: "{header: last} as Three", clocator: [tag: "th", > > text: "three"], self: true) > > TextBox(uid: "{row: 1, column -> One} as A", clocator: [tag: > > "div", class: "abc"]) > > Container(uid: "{row: 1, column -> Two} as B"){ > > InputBox(uid: "Input", clocator: [tag: "input", class: "123"]) > > Container(uid: "Some", clocator: [tag: "div", class: > "someclass"]){ > > Span(uid: "Span", clocator: [tag: "span", class: "x"]) > > UrlLink(uid: "Link", clocator: [:]) > > } > > } > > TextBox(uid: "{row: 1, column -> Three} as Hello", clocator: > > [tag: "td"], self: true) > > } > > > > We can use the IDs to reference the elements to be more expressive. > > > > getText "GT.A" > > keyType "GT.B.Input", input > > click "GT.B.Some.Link" > > > > Also, The TextBox A will be tied to the header "One". Even the header > "One" > > changes its position, the TextBox > > will still stay valid. This is a feature requested by a user and a very > cool > > feature. > > > > Thanks, > > > > Jian > > > > > > > > On Fri, May 14, 2010 at 11:02 AM, Rob Breidecker <[email protected]> > wrote: > > > Jian, > > > > > I changed the "*" to "all". > > > > > This is my new definition... > > > ui.Form(uid: "myForm", clocator: [id: "myForm"]) { > > > Container(uid: "myDetails", clocator: [tag: "div", id: > > > "myDetails"]) { > > > Table(uid: "myTable", clocator: [tag: "table", id: "myTable"]) { > > > CheckBox(uid: "row:all, column:1", clocator: [tag: > "td/input", > > > type: "checkbox"]) > > > } > > > } > > > } > > > > > The error related to "*" is now gone from my error message. However, > > > I'm still getting the following error... > > > > > line 1:0 no viable alternative at input 'row' > > > java.lang.NullPointerException: Cannot invoke method getId() on null > > > object > > > at > > > org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java: > > > 77) > > > at > > > > > > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java: > > > 45) > > > at > > > > > > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java: > > > 40) > > > at > > > > org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java: > > > 17) > > > at > > > > > > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java: > > > 40) > > > at > > > > > > org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java: > > > 54) > > > at > > > > > > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java: > > > 121) > > > at > > > > > > org.telluriumsource.ui.builder.UiObjectBuilder.internBuild(UiObjectBuilder.groovy: > > > 86) > > > > > From your reply, it sounds like I shouldn't be getting this error. Do > > > you agree? > > > > > Thanks, > > > Rob > > > > > On May 14, 9:53 am, Jian Fang <[email protected]> wrote: > > > > Hi Rob, > > > > > > The reason is that 0.7.0 included UDL implementation and the uid > should > > > use > > > > UDL syntax. > > > > For example, in your case, your UI module should be defined as > > > > > > ui.Form(uid: "myForm", clocator: [id: "myForm"]) { > > > > Container(uid: "myDetails", clocator: [tag: "div", id: > > > > "myDetails"]) { > > > > Table(uid: "myTable", clocator: [tag: "table", id: "myTable"]) > { > > > > CheckBox(uid: "{row:all, column:1}", clocator: [tag: > > > "td/input", > > > > type: "checkbox"]) > > > > } > > > > } > > > > > > } > > > > > > More details here: > > >http://code.google.com/p/aost/wiki/Tellurium070Update#Tellurium_UID_D. > .. > > > > > > Thanks, > > > > > > Jian > > > > > > On Fri, May 14, 2010 at 10:46 AM, Rob Breidecker <[email protected] > > > > > wrote: > > > > > I have just updated Tellurium from 0.7.0-rc2 to 0.7.0. I'm now > getting > > > > > a number of errors in my tests that are similar to this one. > > > > > > > This is my definition... > > > > > ui.Form(uid: "myForm", clocator: [id: "myForm"]) { > > > > > Container(uid: "myDetails", clocator: [tag: "div", id: > > > > > "myDetails"]) { > > > > > Table(uid: "myTable", clocator: [tag: "table", id: > "myTable"]) { > > > > > CheckBox(uid: "row:all, column:1}", clocator: [tag: > > > "td/input", > > > > > type: "checkbox"]) > > > > > } > > > > > } > > > > > } > > > > > > > When I run my test I get this error... > > > > > line 1:4 no viable alternative at character '*' > > > > > line 1:0 no viable alternative at input 'row' > > > > > java.lang.NullPointerException: Cannot invoke method getId() on > null > > > > > object > > > > > at > > > > > > org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java: > > > > > 77) > > > > > at > > > > > > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java: > > > > > 45) > > > > > at > > > > > > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java: > > > > > 40) > > > > > at > > > > > > org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java: > > > > > 17) > > > > > at > > > > > > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java: > > > > > 40) > > > > > at > > > > > > org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java: > > > > > 54) > > > > > at > > > > > > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java: > > > > > 121) > > > > > at > > > > > > org.telluriumsource.ui.builder.UiObjectBuilder.internBuild(UiObjectBuilder.groovy: > > > > > 86) > > > > > > > I also get similar errors when using the word "all" on a List > > > > > component. I read another post from about a month ago that said > there > > > > > are various words that are reserved and can't be used. If so, how > do I > > > > > specify Tables and Lists? > > > > > > > Best Regards, > > > > > Rob > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > > Groups > > > > > "tellurium-users" group. > > > > > To post to this group, send email to > [email protected]. > > > > > To unsubscribe from this group, send email to > > > > > [email protected]<tellurium-users%[email protected]> > <tellurium-users%[email protected]<tellurium-users%[email protected]> > > > > > <tellurium-users%[email protected]<tellurium-users%[email protected]> > <tellurium-users%[email protected]<tellurium-users%[email protected]> > > > > > > > > > . > > > > > For more options, visit this group at > > > > >http://groups.google.com/group/tellurium-users?hl=en. > > > > > > -- > > > > You received this message because you are subscribed to the Google > Groups > > > "tellurium-users" group. > > > > To post to this group, send email to > [email protected]. > > > > To unsubscribe from this group, send email to > > > [email protected]<tellurium-users%[email protected]> > <tellurium-users%[email protected]<tellurium-users%[email protected]> > > > > > . > > > > For more options, visit this group athttp:// > > > groups.google.com/group/tellurium-users?hl=en. > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "tellurium-users" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]<tellurium-users%[email protected]> > <tellurium-users%[email protected]<tellurium-users%[email protected]> > > > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/tellurium-users?hl=en. > > > > -- > > You received this message because you are subscribed to the Google Groups > "tellurium-users" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > [email protected]<tellurium-users%[email protected]> > . > > For more options, visit this group athttp:// > groups.google.com/group/tellurium-users?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "tellurium-users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<tellurium-users%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/tellurium-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "tellurium-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/tellurium-users?hl=en.
