Not too many changes so far, pretty close to 0.7.0. But you may need to
update TelluriumConfig.groovy file. More details here:

http://code.google.com/p/aost/wiki/WhatsNewInTellurium080

Thanks,

Jian

On Mon, Aug 23, 2010 at 2:27 PM, Rudy Bonefas <[email protected]> wrote:

> Alright I'll give that a try, how stable is 0.8 overall?
>
>
> On Mon, Aug 23, 2010 at 2:26 PM, Jian Fang <[email protected]>wrote:
>
>> Sorry, the code I showed was on trunk/core, i.e., 0.8.0, where the locator
>> has been fixed already. You can simply use 0.8.0 snapshot jar instead of
>> 0.7.0.
>>
>> Thanks,
>>
>> Jian
>>
>>
>> On Mon, Aug 23, 2010 at 2:17 PM, Rudy Bonefas <[email protected]> wrote:
>>
>>> I just pulled down the 0.7 source at work.  WidgetDSLContext does NOT
>>> have a locator member, and the Widget Class does NOT set it.  I'll try
>>> making these changes to my local copy and rebuilding the jar. I'm going to
>>> override the UIObject locator setter in Widget so that when the
>>> UIObjectBuilder internBuild sets the objects locator I can then set the
>>> WidgetDSLContexts locator
>>>
>>> On Mon, Aug 23, 2010 at 9:48 AM, Jian Fang <[email protected]>wrote:
>>>
>>>> Hi Rudy,
>>>>
>>>> You are right about the delegate annotation. But I defined a locator
>>>> attribute in the WidgetDslContent class
>>>> and set its locator as the parent locator.
>>>>
>>>>   public Widget(){
>>>>           i18nBundle = Environment.instance.myResourceBundle();
>>>>       dsl = new WidgetDslContext();
>>>>       dsl.locator = this.locator;
>>>>       ui = dsl.ui;
>>>>   }
>>>>
>>>> As far as I understand, Groovy comes with default setters and getters,
>>>> shouldn't
>>>> dsl.locator = this.locator
>>>>
>>>> is actually a setter?
>>>>
>>>> dsl.setLocator(this.locator)
>>>>
>>>> I will double check the jQuery example from the release package and let
>>>> you know about the result soon.
>>>>
>>>> But something was wrong there since you got the error.
>>>>
>>>> Thanks,
>>>>
>>>> Jian
>>>>
>>>> On Sun, Aug 22, 2010 at 11:53 PM, Rudy Bonefas <[email protected]>wrote:
>>>>
>>>>> Jian,
>>>>>
>>>>> Heres my problem.
>>>>>
>>>>> I build my ExtJS Widget following your jquery example.  However when I
>>>>> run my app using tellurium 0.7
>>>>> i get the following stack trace
>>>>> groovy.lang.MissingPropertyException: No such property: locator for
>>>>> class: org.telluriumsource.ui.widget.WidgetDslContext
>>>>>        at
>>>>>
>>>>> org.telluriumsource.ui.widget.WidgetDslContext.locatorMappingWithOption(WidgetDslContext.groovy:
>>>>> 31)
>>>>>        at
>>>>>
>>>>> org.telluriumsource.ui.widget.WidgetDslContext.locatorMapping(WidgetDslContext.groovy:
>>>>> 23)
>>>>> ...     at org.telluriumsource.dsl.BaseDslContext
>>>>> $_type_closure9.doCall(BaseDslContext.groovy:208)
>>>>> ...     at
>>>>> org.telluriumsource.ui.object.InputBox.type(InputBox.groovy:22)
>>>>>        at org.telluriumsource.ui.object.InputBox$type.call(Unknown
>>>>> Source)
>>>>>        at
>>>>> org.telluriumsource.dsl.BaseDslContext.type(BaseDslContext.groovy:
>>>>> 207)
>>>>>        at org.telluriumsource.dsl.BaseDslContext$type.call(Unknown
>>>>> Source)
>>>>>        at org.telluriumsource.ui.widget.Widget.type(Widget.groovy)
>>>>>        at org.telluriumsource.ui.widget.Widget$type.callCurrent(Unknown
>>>>> Source)
>>>>>        at
>>>>>
>>>>> org.telluriumsource.ui.widget.extjs.object.ComboBox.setType(ComboBox.groovy:
>>>>> 32)
>>>>>        at
>>>>> org.telluriumsource.ui.object.UiObject.invokeMethod(UiObject.groovy)
>>>>>        at
>>>>> org.telluriumsource.dsl.DslContext.onWidget(DslContext.groovy:56)
>>>>>        at
>>>>> uimodule.ListingFormModule.setType(ListingFormModule.groovy:24)
>>>>>        at uimodule.ListingFormModule$setType.call(Unknown Source)
>>>>>        at test.TestCase1.testAddListing(TestCase1.groovy:39)
>>>>>
>>>>> I believe the problem is your use of the @Delagate annotation in the
>>>>> Widget class in respect to WidgetDSLContext
>>>>>
>>>>> The WidgetDSLContext method locationMappingWithOption references
>>>>> this.locator under the mistaken belief that the delegate class has
>>>>> access to the members of its
>>>>> outer containing class (in this case Widgets parent UIObject which
>>>>> does indeed have its locator member set).  This is not how delegates
>>>>> work. Designating a member as a delegate allows
>>>>> you to invoke all of the delegates methods on the container class but
>>>>> these invocations are merely DELEGATED to the delegate member, they do
>>>>> not occur in the context of the outer class. Therefore the this in
>>>>> this.locator
>>>>> in locationMappingWithOption is the WidgetDSLContext member 'dsl' in
>>>>> the Widget class and it has no locator.  If you don't believe me try
>>>>> running the following 2 small classes:
>>>>>
>>>>> class B {
>>>>>
>>>>>        public showMeTheLocator()
>>>>>        {
>>>>>                println locator;
>>>>>        }
>>>>> }
>>>>> class A {
>>>>>
>>>>>        @Delegate
>>>>>          B b = new B();
>>>>>
>>>>>        def locator = "I AM THIS CLASSES LOCATOR"
>>>>>
>>>>>        public static void main(String[] args)
>>>>>        {
>>>>>                A a = new A();
>>>>>                a.showMeTheLocator()
>>>>>        }
>>>>> }
>>>>>
>>>>> B simply cannot access A's locator member.  we're delegating not
>>>>> inheriting.
>>>>>
>>>>>
>>>>> I believe the  jquery example was built under 0.6; in the
>>>>> DateTimePickerBuilder it calls  datepicker.dsl.locator =
>>>>> datepicker.locator,  This does not work in 0.7 for 2 reasons, 1) the
>>>>> dsl member is private and 2) even if it were'nt, it has no locator
>>>>> member.
>>>>>
>>>>> Rudy
>>>>>
>>>>>
>>>>> On Aug 21, 10:31 pm, Jian Fang <[email protected]> wrote:
>>>>> > Widget object extends UiObject and thus, it has a locator attribute.
>>>>> Please
>>>>> > see the jquery-ui project
>>>>> > as a reference.
>>>>> >
>>>>> > But I want to remove the locator in the widget object in the future
>>>>> because
>>>>> > a widget should be an encapsulation of
>>>>> > a set of UIs and it only needs options to define itself. To further
>>>>> define
>>>>> > the location of a widget, you can specify the
>>>>> > locator of the UI object that references the widget.
>>>>> >
>>>>> > Could you tell me your use case that you need a locator for the
>>>>> widget?
>>>>> >
>>>>> > Thanks,
>>>>> >
>>>>> > Jian
>>>>> >
>>>>> >
>>>>> >
>>>>> > On Sat, Aug 21, 2010 at 8:05 PM, Rudy Bonefas <[email protected]>
>>>>> wrote:
>>>>> > > Is it possible to use a clocator in a widget class definition?  I
>>>>> > > tried this but at run time I get
>>>>> >
>>>>> > > groovy.lang.MissingPropertyException: No such property: locator for
>>>>> > > class: org.telluriumsource.ui.widget.WidgetDslContext
>>>>> > >        at
>>>>> >
>>>>> > >
>>>>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdap
>>>>> ter.java:
>>>>> > > 49)
>>>>> >
>>>>> > > Seems a shame if this  is true since the composite locator allows
>>>>> me
>>>>> > > to not have to write a full XPath query.
>>>>> >
>>>>> > > --
>>>>> > > 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%2Bunsubscribe@ googlegroups.com>
>>>>> > > .
>>>>> > > 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