import com.vaadin.event.dd.acceptcriteria.ClientCriterion;
import com.vaadin.terminal.Paintable;
import com.vaadin.ui.ClientWidget;
+import com.vaadin.ui.Root;
/**
* Utility class to collect widgetset related information from classpath.
Class<?> c = Class.forName(fullclassName);
- if (c.getAnnotation(ClientWidget.class) != null) {
+ if (c.getAnnotation(ClientWidget.class) != null || Root.class == c) {
paintables.add((Class<? extends Paintable>) c);
// System.out.println("Found paintable " + fullclassName);
} else if (c.getAnnotation(ClientCriterion.class) != null) {
import com.vaadin.terminal.gwt.client.ui.VView;
import com.vaadin.ui.ClientWidget;
import com.vaadin.ui.ClientWidget.LoadStyle;
+import com.vaadin.ui.Root;
/**
* WidgetMapGenerator's are GWT generator to build WidgetMapImpl dynamically
.iterator(); iterator.hasNext();) {
Class<? extends Paintable> class1 = iterator.next();
- ClientWidget annotation = class1.getAnnotation(ClientWidget.class);
-
- if (typeOracle.findType(annotation.value().getName()) == null) {
+ Class<? extends com.vaadin.terminal.gwt.client.Paintable> clientClass = getClientClass(class1);
+ if (typeOracle.findType(clientClass.getName()) == null) {
// GWT widget not inherited
- logger.log(Type.WARN, "Widget class "
- + annotation.value().getName()
+ logger.log(Type.WARN, "Widget class " + clientClass.getName()
+ " was not found. The component " + class1.getName()
+ " will not be included in the widgetset.");
iterator.remove();
* the client side engine
*/
protected LoadStyle getLoadStyle(Class<? extends Paintable> paintableType) {
+ if (Root.class == paintableType) {
+ return LoadStyle.EAGER;
+ }
ClientWidget annotation = paintableType
.getAnnotation(ClientWidget.class);
return annotation.loadStyle();
HashSet<Class<? extends com.vaadin.terminal.gwt.client.Paintable>> widgetsWithInstantiator = new HashSet<Class<? extends com.vaadin.terminal.gwt.client.Paintable>>();
for (Class<? extends Paintable> class1 : paintablesHavingWidgetAnnotation) {
- ClientWidget annotation = class1.getAnnotation(ClientWidget.class);
- Class<? extends com.vaadin.terminal.gwt.client.Paintable> clientClass = annotation
- .value();
+ Class<? extends com.vaadin.terminal.gwt.client.Paintable> clientClass = getClientClass(class1);
if(widgetsWithInstantiator.contains(clientClass)) {
continue;
}
.println("fullyQualifiedName = fullyQualifiedName.intern();");
for (Class<? extends Paintable> class1 : paintablesHavingWidgetAnnotation) {
- ClientWidget annotation = class1.getAnnotation(ClientWidget.class);
- Class<? extends com.vaadin.terminal.gwt.client.Paintable> clientClass = annotation
- .value();
+ Class<? extends com.vaadin.terminal.gwt.client.Paintable> clientClass = getClientClass(class1);
sourceWriter.print("if ( fullyQualifiedName == \"");
sourceWriter.print(class1.getName());
sourceWriter.print("\" ) { ensureInstantiator("
sourceWriter.println("}");
}
+
+ private static Class<? extends com.vaadin.terminal.gwt.client.Paintable> getClientClass(
+ Class<? extends Paintable> class1) {
+ Class<? extends com.vaadin.terminal.gwt.client.Paintable> clientClass;
+ if (Root.class == class1) {
+ clientClass = VView.class;
+ } else {
+ ClientWidget annotation = class1.getAnnotation(ClientWidget.class);
+ clientClass = annotation.value();
+ }
+ return clientClass;
+ }
}