Revision: 6548
Author: [email protected]
Date: Thu Oct 29 15:26:24 2009
Log: Merges tr...@6547 into releases/2.0
   Fix various error reporting issues
   svn merge --ignore-ancestry -c 6547  
https://google-web-toolkit.googlecode.com/svn/trunk .


http://code.google.com/p/google-web-toolkit/source/detail?r=6548

Modified:
  /releases/2.0/branch-info.txt
  /releases/2.0/user/src/com/google/gwt/uibinder/parsers/CellPanelParser.java
  /releases/2.0/user/src/com/google/gwt/uibinder/rebind/UiBinderParser.java
  /releases/2.0/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
  /releases/2.0/user/src/com/google/gwt/uibinder/rebind/XMLElement.java
   
/releases/2.0/user/src/com/google/gwt/uibinder/sample/client/HandlerDemo.ui.xml

=======================================
--- /releases/2.0/branch-info.txt       Thu Oct 29 12:29:31 2009
+++ /releases/2.0/branch-info.txt       Thu Oct 29 15:26:24 2009
@@ -118,3 +118,7 @@
  tr...@6543 was merged into this branch
    Fixes an NPE when a logged exception has a null stack trace as string.
    svn merge --ignore-ancestry -c 6543  
http://google-web-toolkit.googlecode.com/svn/trunk/ .
+
+tr...@6547 was merged into this branch
+  Fix various error reporting issues
+  svn merge --ignore-ancestry -c 6547  
https://google-web-toolkit.googlecode.com/svn/trunk .
=======================================
---  
/releases/2.0/user/src/com/google/gwt/uibinder/parsers/CellPanelParser.java     
 
Wed Oct 28 14:57:48 2009
+++  
/releases/2.0/user/src/com/google/gwt/uibinder/parsers/CellPanelParser.java     
 
Thu Oct 29 15:26:24 2009
@@ -84,7 +84,8 @@
        String ns = child.getNamespaceUri();
        String tagName = child.getLocalName();

-      if (ns.equals(elem.getNamespaceUri()) &&  
localTagNameIsCell(tagName)) {
+      if (ns != null && ns.equals(elem.getNamespaceUri())
+          && localTagNameIsCell(tagName)) {
          // It's a cell element, so parse its single child as a widget.
          XMLElement widget = child.consumeSingleChildElement();
          String childFieldName = writer.parseElementToField(widget);
@@ -93,6 +94,10 @@
          // Parse the cell tag's alignment & size attributes.
          parseCellAttributes(child, fieldName, childFieldName, writer);
        } else {
+        if (!writer.isWidgetElement(child)) {
+          writer.die("In %s, expected a widget or <%s:%s>, found %s", elem,
+              elem.getPrefix(), CELL_TAG.toLowerCase(), child);
+        }
          // It's just a normal child, so parse it as a widget.
          String childFieldName = writer.parseElementToField(child);
          writer.addStatement("%1$s.add(%2$s);", fieldName, childFieldName);
=======================================
---  
/releases/2.0/user/src/com/google/gwt/uibinder/rebind/UiBinderParser.java       
 
Tue Oct 27 00:00:07 2009
+++  
/releases/2.0/user/src/com/google/gwt/uibinder/rebind/UiBinderParser.java       
 
Thu Oct 29 15:26:24 2009
@@ -77,6 +77,7 @@
    // guice!!!

    private static final String IMPORT_ATTRIBUTE = "import";
+  private static final String TAG = "UiBinder";
    private final UiBinderWriter writer;
    private final TypeOracle oracle;
    private final MessagesWriter messagesWriter;
@@ -105,6 +106,18 @@
     * the document.
     */
    public String parse(XMLElement elem) throws UnableToCompleteException {
+    if (!writer.isBinderElement(elem)) {
+      writer.die("Bad prefix on <%s:%s>? The root element must be in "
+          + "xml namespace \"%s\" (usually with prefix \"ui:\"), "
+          + "but this has prefix \"%s\"", elem.getPrefix(),
+          elem.getLocalName(), UiBinderWriter.BINDER_URI,  
elem.getPrefix());
+    }
+
+    if (!TAG.equals(elem.getLocalName())) {
+      writer.die("Root element must be %s:%s, but found %s",  
elem.getPrefix(),
+          TAG, elem);
+    }
+
      findResources(elem);
      messagesWriter.findMessagesConfig(elem);
      XMLElement uiRoot = elem.consumeSingleChildElement();
=======================================
---  
/releases/2.0/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java       
 
Tue Oct 27 16:44:52 2009
+++  
/releases/2.0/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java       
 
Thu Oct 29 15:26:24 2009
@@ -69,7 +69,7 @@
   */
  @SuppressWarnings("deprecation")
  public class UiBinderWriter {
-  private static final String BINDER_URI  
= "urn:ui:com.google.gwt.uibinder";
+  static final String BINDER_URI = "urn:ui:com.google.gwt.uibinder";
    private static final String BUNDLE_URI_SCHEME = "urn:with:";
    private static final String PACKAGE_URI_SCHEME = "urn:import:";

@@ -646,7 +646,7 @@
    public String getUiFieldAttributeName() {
      return gwtPrefix + ":field";
    }
-
+
    public boolean isBinderElement(XMLElement elem) {
      String uri = elem.getNamespaceUri();
      return uri != null && BINDER_URI.equals(uri);
=======================================
--- /releases/2.0/user/src/com/google/gwt/uibinder/rebind/XMLElement.java       
 
Tue Oct 27 00:00:07 2009
+++ /releases/2.0/user/src/com/google/gwt/uibinder/rebind/XMLElement.java       
 
Thu Oct 29 15:26:24 2009
@@ -391,8 +391,8 @@
      XMLElement ret = null;
      for (XMLElement child : consumeChildElements()) {
        if (ret != null) {
-        writer.die("%s may only contain a single child element, but found"
-            + "%s and %s.", getLocalName(), ret, child);
+        writer.die("%s may only contain a single child element, but found "
+            + "%s and %s.", this, ret, child);
        }

        ret = child;
=======================================
---  
/releases/2.0/user/src/com/google/gwt/uibinder/sample/client/HandlerDemo.ui.xml 
 
Wed Aug  5 20:27:52 2009
+++  
/releases/2.0/user/src/com/google/gwt/uibinder/sample/client/HandlerDemo.ui.xml 
 
Thu Oct 29 15:26:24 2009
@@ -1,4 +1,4 @@
-<gwt:UiBinder
+<ui:UiBinder
    xmlns:ui='urn:ui:com.google.gwt.uibinder'
    xmlns:gwt='urn:import:com.google.gwt.user.client.ui'>

@@ -16,4 +16,4 @@
      <gwt:TextBox ui:field="textBoxValueChange"/>
    </gwt:FlowPanel>

-</gwt:UiBinder>
+</ui:UiBinder>

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

Reply via email to