diff options
author | Leif Åstrand <leif@vaadin.com> | 2012-08-28 16:58:49 +0300 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2012-08-28 16:59:09 +0300 |
commit | a2488b51bb9f1f8c72d9b97c13ef91ff60422cba (patch) | |
tree | 162baa4a21d72c67275ac19cd6fb80a707f478a5 /client-compiler/src | |
parent | 0b93b5ada8db19e3144d36d94cc9230e34ff0bd4 (diff) | |
download | vaadin-framework-a2488b51bb9f1f8c72d9b97c13ef91ff60422cba.tar.gz vaadin-framework-a2488b51bb9f1f8c72d9b97c13ef91ff60422cba.zip |
Include UnknownComponentConnector in eager ConnectorBundle (#9371)
Diffstat (limited to 'client-compiler/src')
3 files changed, 14 insertions, 5 deletions
diff --git a/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/ConnectorBundleLoaderFactory.java b/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/ConnectorBundleLoaderFactory.java index 752f290a42..6959a549ed 100644 --- a/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/ConnectorBundleLoaderFactory.java +++ b/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/ConnectorBundleLoaderFactory.java @@ -42,6 +42,7 @@ import com.vaadin.terminal.gwt.client.metadata.ProxyHandler; import com.vaadin.terminal.gwt.client.metadata.TypeData; import com.vaadin.terminal.gwt.client.metadata.TypeDataBundle; import com.vaadin.terminal.gwt.client.metadata.TypeDataStore; +import com.vaadin.terminal.gwt.client.ui.UnknownComponentConnector; import com.vaadin.terminal.gwt.widgetsetutils.metadata.ClientRpcVisitor; import com.vaadin.terminal.gwt.widgetsetutils.metadata.ConnectorBundle; import com.vaadin.terminal.gwt.widgetsetutils.metadata.ConnectorInitVisitor; @@ -604,6 +605,8 @@ public class ConnectorBundleLoaderFactory extends Generator { // Eager connectors and all RPC interfaces are loaded by default eagerBundle.processTypes(eagerLogger, connectorsByLoadStyle.get(LoadStyle.EAGER)); + eagerBundle.processType(eagerLogger, typeOracle + .findType(UnknownComponentConnector.class.getCanonicalName())); eagerBundle.processSubTypes(eagerLogger, typeOracle.getType(ClientRpc.class.getName())); eagerBundle.processSubTypes(eagerLogger, diff --git a/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/metadata/ConnectorBundle.java b/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/metadata/ConnectorBundle.java index 1db551ed9a..a3659b43ed 100644 --- a/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/metadata/ConnectorBundle.java +++ b/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/metadata/ConnectorBundle.java @@ -34,6 +34,7 @@ import com.vaadin.terminal.gwt.client.ApplicationConnection; import com.vaadin.terminal.gwt.client.ComponentConnector; import com.vaadin.terminal.gwt.client.ServerConnector; import com.vaadin.terminal.gwt.client.communication.JSONSerializer; +import com.vaadin.terminal.gwt.client.ui.UnknownComponentConnector; public class ConnectorBundle { private static final String FAIL_IF_NOT_SERIALIZABLE = "vFailIfNotSerializable"; @@ -431,7 +432,9 @@ public class ConnectorBundle { } private static boolean isConnected(JClassType type) { - return type.isAnnotationPresent(Connect.class); + return type.isAnnotationPresent(Connect.class) + || type.getQualifiedSourceName().equals( + UnknownComponentConnector.class.getCanonicalName()); } public static boolean isConnectedComponentConnector(JClassType type) { diff --git a/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/metadata/ConnectorInitVisitor.java b/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/metadata/ConnectorInitVisitor.java index 09cdaddc31..fec337afd9 100644 --- a/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/metadata/ConnectorInitVisitor.java +++ b/client-compiler/src/com/vaadin/terminal/gwt/widgetsetutils/metadata/ConnectorInitVisitor.java @@ -14,11 +14,14 @@ public class ConnectorInitVisitor extends TypeVisitor { @Override public void visitConnector(TreeLogger logger, JClassType type, ConnectorBundle bundle) { - logger.log(Type.INFO, type.getName() + " will be in the " - + bundle.getName().replaceAll("^_*", "") + " bundle"); Connect connectAnnotation = type.getAnnotation(Connect.class); - bundle.setIdentifier(type, connectAnnotation.value().getCanonicalName()); - bundle.setNeedsGwtConstructor(type); + if (connectAnnotation != null) { + logger.log(Type.INFO, type.getName() + " will be in the " + + bundle.getName().replaceAll("^_*", "") + " bundle"); + bundle.setIdentifier(type, connectAnnotation.value() + .getCanonicalName()); + bundle.setNeedsGwtConstructor(type); + } } } |