Revision: 8911
Author: [email protected]
Date: Thu Sep 30 13:49:33 2010
Log: Rolled back previous patch due to failing RequestFactory tests.

Patch by: amitmanjhi

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

Modified:
/trunk/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
 /trunk/user/test/com/google/gwt/requestfactory/RequestFactorySuite.java

=======================================
--- /trunk/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java Thu Sep 30 12:30:13 2010 +++ /trunk/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java Thu Sep 30 13:49:33 2010
@@ -221,14 +221,12 @@
     return packageName + "." + implName;
   }

- private String asInnerImplClass(String className, JClassType outerClass) {
-    if (outerClass.isParameterized() != null) {
-      // outerClass is of form List<EmployeeProxy>
-      outerClass = outerClass.isParameterized().getTypeArgs()[0];
-    }
-    // outerClass is of the form <P extends EmployeeProxy>
-    outerClass = decodeToBaseType(outerClass);
-    className = outerClass.getQualifiedSourceName() + "Impl." + className;
+ private String asInnerImplClass(String className, JClassType outerClassName) {
+    if (outerClassName.isParameterized() != null) {
+      // outerClassName is of form List<EmployeeProxy>
+      outerClassName = outerClassName.isParameterized().getTypeArgs()[0];
+    }
+ className = outerClassName.getQualifiedSourceName() + "Impl." + className;
     return className;
   }

@@ -340,14 +338,14 @@
       // handle publicProxyType = List<EmployeeProxy>
       publicProxyType = publicProxyType.isParameterized().getTypeArgs()[0];
     }
-    // deal with stuff like Request<T extends FooProxy>
-    publicProxyType = decodeToBaseType(publicProxyType);
-
     // don't generate proxies for the EntityProxy impl itself
     if (!publicProxyType.isAssignableTo(entityProxyType)
         || publicProxyType.equals(entityProxyType)) {
       return;
     }
+    if (publicProxyType.isTypeParameter() != null) {
+      return;
+    }
     if (generatedProxyTypes.contains(publicProxyType)) {
       return;
     }
@@ -935,12 +933,8 @@

       sw.println(getMethodDeclaration(method) + " {");
       sw.indent();
-      /*
-       * ugly cast to get around generics, if method signature is like
- * com.google.gwt.requestfactory.shared.TestFooPolymorphicRequest::echo
-       */
- sw.println("return (" + method.getReturnType().getQualifiedBinaryName()
-          + ") new " + requestClassName + "(factory" + extraArgs + ") {");
+      sw.println("return new " + requestClassName + "(factory" + extraArgs
+          + ") {");
       sw.indent();
       String requestDataName = RequestData.class.getSimpleName();
       sw.println("public " + requestDataName + " getRequestData() {");
@@ -1057,8 +1051,7 @@
       }

       if (classType != null && classType.isAssignableTo(entityProxyType)) {
-        // classType is of the form <P extends EmployeeProxy>
- sb.append("((" + decodeToBaseType(classType).getQualifiedBinaryName() + "Impl" + ")"); + sb.append("((" + classType.getQualifiedBinaryName() + "Impl" + ")");
       }
       sb.append(parameter.getName());
       if (classType != null && classType.isAssignableTo(entityProxyType)) {
@@ -1377,6 +1370,8 @@
   @SuppressWarnings("unchecked")
   private void validateProxyType(JClassType entityProxyType,
       TypeOracle typeOracle) throws DiagnosticException {
+    // deal with stuff like Request<T extends FooProxy>
+    entityProxyType = decodeToBaseType(entityProxyType);
     // skip validating base interface
     if (this.entityProxyType.equals(entityProxyType)) {
       return;
=======================================
--- /trunk/user/test/com/google/gwt/requestfactory/RequestFactorySuite.java Thu Sep 30 12:30:13 2010 +++ /trunk/user/test/com/google/gwt/requestfactory/RequestFactorySuite.java Thu Sep 30 13:49:33 2010
@@ -19,7 +19,6 @@
 import com.google.gwt.requestfactory.client.EditorTest;
 import com.google.gwt.requestfactory.client.FindServiceTest;
import com.google.gwt.requestfactory.client.RequestFactoryExceptionHandlerTest;
-import com.google.gwt.requestfactory.client.RequestFactoryPolymorphicTest;
 import com.google.gwt.requestfactory.client.RequestFactoryStringTest;
 import com.google.gwt.requestfactory.client.RequestFactoryTest;
import com.google.gwt.requestfactory.client.impl.DeltaValueStoreJsonImplTest;
@@ -41,7 +40,6 @@
     suite.addTestSuite(ValueStoreJsonImplTest.class);
     suite.addTestSuite(DeltaValueStoreJsonImplTest.class);
     suite.addTestSuite(RequestFactoryTest.class);
-    suite.addTestSuite(RequestFactoryPolymorphicTest.class);
     suite.addTestSuite(RequestFactoryStringTest.class);
     suite.addTestSuite(RequestFactoryExceptionHandlerTest.class);
     suite.addTestSuite(FindServiceTest.class);

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

Reply via email to