On Tue, Sep 22, 2009 at 12:23 PM, <j...@google.com> wrote:

> On 2009/09/22 18:59:16, Ray Ryan wrote:
>
>> I'm still reviewing, but I thought I should get this AttributeParser
>>
> issue in
>
>> front of you early.
>>
>
>  http://gwt-code-reviews.appspot.com/68805/diff/1/24
>> File
>>
> user/src/com/google/gwt/uibinder/parsers/DockLayoutPanelParser.java
>
>> (right):
>>
>
>  http://gwt-code-reviews.appspot.com/68805/diff/1/24#newcode68
>> Line 68: UiBinderWriter writer) throws UnableToCompleteException {
>> By parsing the custom attributes directly, you're breaking
>>
> {field.references}.
>
>> And we don't have a great story on how to deal with it.
>>
>
>  This is a real issue here: you can imagine someone wanting to do
>> size='{preferences.bannerHeight}'.
>>
>
>  If you look in BeanParser, you'll see the general mechanism is to find
>>
> the
>
>> appropriate parser via UiBinderWriter#getAttributeParser(XMLAttribute,
>>
> JParam...
>
>> ) and let it do the interpretation. And that's actually a
>>
> semi-deprecated
>
>> wrapper around getAttributeParser(JParam... )
>>
>
>  Perhaps for this CL, it's enough for your parsers to remember to call
>> getAttributeParser(JParam... ) to get their hands on an instance of
>> StringAttributeParser? Or we could add
>> UiBinderWrier#getAttributeParser(JClassType... ). (You could just
>>
> instantiate a
>
>> StringAttributeParser yourself, but that seems like a step in the
>>
> wrong
>
>> direction.)
>>
>
>  The parser will give you a Java literal, either a  "quotedValue" or ""
>>
> +
>
>> field.ref() + "", so validation will be tricky. You can see why having
>>
> an
>
>> EnumAttributeParser will be a godsend.
>>
>
>  That'll be good enough for field references, but it won't bring in
>>
> i18n--a sign,
>
>> maybe, that we should rethink the i18n syntax as well, not sure. Is
>>
> that an
>
>> issue in any of these new parsers? Do they take any user visible text?
>>
>
>  We need to find an approach that keeps custom parser authors out of
>>
> this
>
>> business of explicitly choosing which attributes might or might not
>>
> need special
>
>> treatment, but I haven't thought of one yet. One possibility is to
>>
> make
>
>> XMLAttribute aware of the parsers, and replace consumeAttribute(),
>> consumeDoubleAttribute(), et. al. with consumeAttribute(JParam...) and
>> consumeAttribute(JClassType...).
>>
>
> Is there any reason *not* to just force XMLElement to deal with it in
> consumeStringAttribute(), et al? I guess you'd have to pass the writer
> in, but that doesn't sound too bad.
>

XMLElement already has it. :-)

>
> This also begs the question of whether there's a simpler "context"
> struggling to get out of the "writer" class, but that's a question for
> another time.


Oh, there certainly is.

>
>
> http://gwt-code-reviews.appspot.com/68805
>

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to