Hello,
I would like to optimize my widgetset according to
this
wiki entry.
So I added this to widgetset file
<generate-with class="com.abc.base.sys.webapp.DemoConnectorBundleLoaderFactory">
<when-type-assignable class="com.vaadin.client.metadata.ConnectorBundleLoader" />
</generate-with>
and created my own factory
package com.abc.base.sys.webapp;
import com.google.gwt.core.ext.typeinfo.JClassType;
import com.vaadin.server.widgetsetutils.ConnectorBundleLoaderFactory;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.Connect.LoadStyle;
...
public class DemoConnectorBundleLoaderFactory
extends ConnectorBundleLoaderFactory
{
private static final List<Class> eagerComponents = new LinkedList<Class>();
// add all components needed for the initial screen
static
{
eagerComponents.add(Alignment.class);
eagerComponents.add(Component.class);
eagerComponents.add(CssLayout.class);
eagerComponents.add(Embedded.class);
eagerComponents.add(HorizontalLayout.class);
eagerComponents.add(Label.class);
eagerComponents.add(Layout.class);
eagerComponents.add(VerticalLayout.class);
}
@Override
protected LoadStyle getLoadStyle(JClassType connectorType)
{
Connect annotation = connectorType.getAnnotation(Connect.class);
Class componentClass = annotation.value();
// Load eagerly marked connectors eagerly
if (eagerComponents.contains(componentClass))
{
return LoadStyle.EAGER;
}
return LoadStyle.DEFERRED ;
}
}
Unfortunately when I load the application initially my first screen is not shown. The application is loading forever while showing the progress icon. Any idea what is wrong?