Revision: 6632 Author: rj...@google.com Date: Tue Nov 3 20:41:24 2009 Log: Make the alignment parsers field ref friendly
Review by jgw http://code.google.com/p/google-web-toolkit/source/detail?r=6632 Modified: /trunk/user/src/com/google/gwt/uibinder/parsers/HorizontalAlignmentConstantParser.java /trunk/user/src/com/google/gwt/uibinder/parsers/StrictAttributeParser.java /trunk/user/src/com/google/gwt/uibinder/parsers/VerticalAlignmentConstantParser.java /trunk/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml ======================================= --- /trunk/user/src/com/google/gwt/uibinder/parsers/HorizontalAlignmentConstantParser.java Mon Nov 2 12:47:15 2009 +++ /trunk/user/src/com/google/gwt/uibinder/parsers/HorizontalAlignmentConstantParser.java Tue Nov 3 20:41:24 2009 @@ -24,7 +24,7 @@ * Parses a * {...@link com.google.gwt.user.client.ui.HasHorizontalAlignment.HorizontalAlignmentConstant}. */ -public class HorizontalAlignmentConstantParser implements AttributeParser { +public class HorizontalAlignmentConstantParser extends StrictAttributeParser { private static final HashMap<String, String> values = new HashMap<String, String>(); @@ -41,9 +41,9 @@ public String parse(String value, MortalLogger logger) throws UnableToCompleteException { String translated = values.get(value); - if (translated == null) { - logger.die("Invalid value: horizontalAlignment='" + value + "'"); - } - return translated; + if (translated != null) { + return translated; + } + return super.parse(value, logger); } } ======================================= --- /trunk/user/src/com/google/gwt/uibinder/parsers/StrictAttributeParser.java Mon Nov 2 12:47:15 2009 +++ /trunk/user/src/com/google/gwt/uibinder/parsers/StrictAttributeParser.java Tue Nov 3 20:41:24 2009 @@ -66,7 +66,7 @@ try { return new FieldReferenceConverter(new FieldReferenceDelegate()).convert(value); } catch (IllegalFieldReferenceException e) { - logger.die("Bad field reference: \"%s\"", value); + logger.die("Cannot parse value: \"%s\"", value); return null; // Unreachable } } ======================================= --- /trunk/user/src/com/google/gwt/uibinder/parsers/VerticalAlignmentConstantParser.java Mon Nov 2 12:47:15 2009 +++ /trunk/user/src/com/google/gwt/uibinder/parsers/VerticalAlignmentConstantParser.java Tue Nov 3 20:41:24 2009 @@ -24,7 +24,7 @@ * Parses a * {...@link com.google.gwt.user.client.ui.HasVerticalAlignment.VerticalAlignmentConstant}. */ -public class VerticalAlignmentConstantParser implements AttributeParser { +public class VerticalAlignmentConstantParser extends StrictAttributeParser { private static final HashMap<String, String> values = new HashMap<String, String>(); @@ -41,9 +41,9 @@ public String parse(String value, MortalLogger logger) throws UnableToCompleteException { String translated = values.get(value); - if (translated == null) { - logger.die("Invalid value: vorizontalAlignment='%s'", value); - } - return translated; + if (translated != null) { + return translated; + } + return super.parse(value, logger); } } ======================================= --- /trunk/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml Mon Nov 2 21:35:39 2009 +++ /trunk/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml Tue Nov 3 20:41:24 2009 @@ -278,7 +278,7 @@ <ui:attribute name="text" description="radio button name"/> </demo:PointlessRadioButtonSubclass> - <gwt:HorizontalPanel> + <gwt:HorizontalPanel horizontalAlignment="ALIGN_LEFT"> <gwt:Cell><gwt:HTMLPanel> <p> ... a StackPanel ... </p> --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---