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.

Reply via email to