]> source.dussan.org Git - vaadin-framework.git/commitdiff
Don't generate GWT.create for bean superclasses (#13813)
authorLeif Åstrand <leif@vaadin.com>
Thu, 22 May 2014 14:48:36 +0000 (17:48 +0300)
committerSauli Tähkäpää <sauli@vaadin.com>
Tue, 17 Jun 2014 08:01:50 +0000 (11:01 +0300)
Change-Id: I20e03a79562d6bc71ae1454cbbe2d6903649c771

client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ConnectorBundle.java
uitest/src/com/vaadin/tests/widgetset/client/AbstractSuperclassForBean.java [new file with mode: 0644]
uitest/src/com/vaadin/tests/widgetset/client/BeanWithAbstractSuperclass.java [new file with mode: 0644]
uitest/src/com/vaadin/tests/widgetset/client/SerializerTestState.java

index 8a4ca8f795eb8d01e9f7a866a085d45387391d11..8bbcac4ecb516d9dffe6d2ac8cb90245b92042ba 100644 (file)
@@ -253,9 +253,9 @@ public class ConnectorBundle {
                 needsSuperClass = needsSuperClass.getSuperclass();
             }
 
-            for (Property property : getProperties(typeAsClass)) {
-                setNeedsGwtConstructor(property.getBeanType());
+            setNeedsGwtConstructor(typeAsClass);
 
+            for (Property property : getProperties(typeAsClass)) {
                 setNeedsProperty(property);
 
                 JType propertyType = property.getPropertyType();
diff --git a/uitest/src/com/vaadin/tests/widgetset/client/AbstractSuperclassForBean.java b/uitest/src/com/vaadin/tests/widgetset/client/AbstractSuperclassForBean.java
new file mode 100644 (file)
index 0000000..0ea19bd
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.widgetset.client;
+
+import java.io.Serializable;
+
+/**
+ * Dummy state bean used just to check that nothing breaks when generating code
+ * to serialize beans with properties in abstract superclasses
+ */
+public abstract class AbstractSuperclassForBean implements Serializable {
+    public String propertyInAbstractSuperclass;
+}
diff --git a/uitest/src/com/vaadin/tests/widgetset/client/BeanWithAbstractSuperclass.java b/uitest/src/com/vaadin/tests/widgetset/client/BeanWithAbstractSuperclass.java
new file mode 100644 (file)
index 0000000..a3530f1
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.widgetset.client;
+
+/**
+ * Dummy state bean used just to check that nothing breaks when generating code
+ * to serialize beans with properties in abstract superclasses
+ */
+public class BeanWithAbstractSuperclass extends AbstractSuperclassForBean {
+    public String propertyInsubclass;
+}
index d22165b2bb69d0d2a0d2eef575f54f4e262ef685..faf41fbf88d18cf49a6ccbd421627640f1964b6f 100644 (file)
@@ -97,4 +97,6 @@ public class SerializerTestState extends AbstractComponentState {
     public Date date1;
     public Date date2;
 
+    public BeanWithAbstractSuperclass beanWithAbstractSuperclass;
+
 }