Fixes issue 4431, UiBinder with Generic Types fails compilation with error

http://code.google.com/p/google-web-toolkit/issues/detail?id=4431

Patch by Andrew Teirney http://code.google.com/u/andrew.teirney/
Reviewed by rjrjr

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7422 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java b/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
index 118b22d..d09f58b 100644
--- a/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
+++ b/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
@@ -978,7 +978,7 @@
 
     // createAndBindUi method
     w.write("public %s createAndBindUi(final %s owner) {",
-        uiRootType.getName(), uiOwnerType.getName());
+        uiRootType.getParameterizedQualifiedSourceName(), uiOwnerType.getParameterizedQualifiedSourceName());
     w.indent();
     w.newline();
 
@@ -1009,7 +1009,7 @@
 
   private void writeClassOpen(IndentedWriter w) {
     w.write("public class %s implements UiBinder<%s, %s>, %s {", implClassName,
-        uiRootType.getName(), uiOwnerType.getName(), baseClass.getName());
+        uiRootType.getParameterizedQualifiedSourceName(), uiOwnerType.getParameterizedQualifiedSourceName(), baseClass.getParameterizedQualifiedSourceName());
     w.indent();
   }
 
diff --git a/user/test/com/google/gwt/uibinder/test/client/Abstract.java b/user/test/com/google/gwt/uibinder/test/client/Abstract.java
index 1648e00..7884a17 100644
--- a/user/test/com/google/gwt/uibinder/test/client/Abstract.java
+++ b/user/test/com/google/gwt/uibinder/test/client/Abstract.java
@@ -19,7 +19,7 @@
 import com.google.gwt.user.client.ui.Widget;
 
 /**
- * Used by {@link ParameterizedWidgets}. 
+ * Used by {@link ParameterizedWidget}. 
  * @see TestParameterizedWidgets
  */
 abstract class Abstract<T> extends Widget {
diff --git a/user/test/com/google/gwt/uibinder/test/client/ParameterizedWidgets.java b/user/test/com/google/gwt/uibinder/test/client/ParameterizedWidget.java
similarity index 81%
rename from user/test/com/google/gwt/uibinder/test/client/ParameterizedWidgets.java
rename to user/test/com/google/gwt/uibinder/test/client/ParameterizedWidget.java
index edf1934..d31db80 100644
--- a/user/test/com/google/gwt/uibinder/test/client/ParameterizedWidgets.java
+++ b/user/test/com/google/gwt/uibinder/test/client/ParameterizedWidget.java
@@ -19,13 +19,14 @@
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiFactory;
 import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.Widget;
 
 /**
  * Used by {@link TestParameterizedWidgets}.
  */
-class ParameterizedWidgets {
-  interface Binder extends UiBinder<Widget, ParameterizedWidgets> {
+class ParameterizedWidget<T> extends Composite {
+  interface Binder extends UiBinder<Widget, ParameterizedWidget<?>> {
   }
 
   static final Binder binder = GWT.create(Binder.class);
@@ -33,8 +34,8 @@
   @UiField
   Abstract<?> a;
 
-  ParameterizedWidgets() {
-    binder.createAndBindUi(this);
+  ParameterizedWidget() {
+    initWidget(binder.createAndBindUi(this));
   }
   
   @UiFactory
@@ -42,4 +43,4 @@
     return new Abstract<String>() {
     };
   }
-}
\ No newline at end of file
+}
diff --git a/user/test/com/google/gwt/uibinder/test/client/ParameterizedWidgets.ui.xml b/user/test/com/google/gwt/uibinder/test/client/ParameterizedWidget.ui.xml
similarity index 100%
rename from user/test/com/google/gwt/uibinder/test/client/ParameterizedWidgets.ui.xml
rename to user/test/com/google/gwt/uibinder/test/client/ParameterizedWidget.ui.xml
diff --git a/user/test/com/google/gwt/uibinder/test/client/TestParameterizedWidgets.java b/user/test/com/google/gwt/uibinder/test/client/TestParameterizedWidgets.java
index 5eca6cc..249c3db 100644
--- a/user/test/com/google/gwt/uibinder/test/client/TestParameterizedWidgets.java
+++ b/user/test/com/google/gwt/uibinder/test/client/TestParameterizedWidgets.java
@@ -27,7 +27,7 @@
   }
 
   public void testHappy() {
-    ParameterizedWidgets ui = new ParameterizedWidgets();
+    ParameterizedWidget<String> ui = new ParameterizedWidget<String>();
     assertNotNull(ui.a);
   }
 }