Saturday, December 20, 2014

com.google.gwt.safehtml.shared.SafeHtml' must be a class

Enter code here...

I'm getting the following error message when trying to build a project with GWT 2.7.0 and SuperDevMode where it used to compile fine with GWT 2.6.1 and I am hoping someone could shed some light on perhaps the reason why.

The code server is ready at http://127.0.0.1:9876/
GET
/recompile/MobileApp
   
Job gov.wa.wsdot.mobile.MobileApp_1_0
     
Compiling module gov.wa.wsdot.mobile.MobileApp
         
[ERROR] Errors in 'gen/gov/wa/wsdot/mobile/client/activities/ferries/schedules/FerriesRouteSchedulesCell_RendererImpl.java'
           
[ERROR] Line 138: Rebind result 'com.google.gwt.safehtml.shared.SafeHtml' must be a class
     
[ERROR] Compiler returned false

With this being the class

public abstract class FerriesRouteSchedulesCell<T> implements Cell<T> {
 
 
@UiTemplate("FerriesRouteSchedulesCell.ui.xml")
 
public interface Renderer extends UiRenderer {
 
 
public void render(SafeHtmlBuilder safeHtmlBuilder, String description,
 
String lastUpdated, SafeHtml alertImage);
 
}

 
private Renderer renderer = GWT.create(Renderer.class);
 
 
public void render(SafeHtmlBuilder sb, T model) {
 renderer
.render(sb, getDescription(model), getLastUpdated(model),
 getAlertImage
(model));


 
}
 
 
public abstract String getDescription(T model);
 
public abstract String getLastUpdated(T model);
 
public abstract SafeHtml getAlertImage(T model);

 
@Override

 
public boolean canBeSelected(T model) {
 
return false;
 
}
}

With the interface being implemented and the getAlertImage() method being called like so

 @Override
 
public SafeHtml getAlertImage(FerriesRouteItem model) {
 
boolean hasAlerts = false;
 
 
if (!model.getRouteAlert().equals("[]")) hasAlerts = true;
 
SafeHtml image = imageRenderer.render(AppBundle.INSTANCE.btnAlertPNG());
 
 
return hasAlerts ? image : SafeHtmlUtils.fromString("");
 
}


And these are the lines from my ui.xml file

    <ui:with field="description" type="java.lang.String" />
   
<ui:with field="lastUpdated" type="java.lang.String" />
   
<ui:with field='starImage' type='com.google.gwt.safehtml.shared.SafeHtml'/>
   
<ui:with field='alertImage' type='com.google.gwt.safehtml.shared.SafeHtml'/>
   
   
<div class="{style.cellFerriesRouteSchedules}">
       
<div>
           
<div><ui:text from="{description}" /></div>
           
<div><ui:text from="{lastUpdated}" /></div>
       
</div>
       
<div>
           
<div><ui:safehtml from="{alertImage}" /></div>
       
</div>
   
</div>

I have numerous classes which all do the same thing and they all are failing now.

Thanks for any help.

Wayne

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment