/**
* {@inheritDoc}
*/
public EList<Widget> renderWidget(Widget w, StringBuilder sb) throws RenderException {
Chart chart = (Chart) w;
try {
String itemParam = null;
Item item = itemUIRegistry.getItem(chart.getItem());
if(item instanceof GroupItem) {
itemParam = "groups=" + chart.getItem();
} else {
itemParam = "items=" + chart.getItem();
}
String url = "/chart?" + itemParam + "&period=" + chart.getPeriod() + "&random=1";
if(chart.getService() != null)
url += "&service=" + chart.getService();
String snippet = getSnippet("image");
if(chart.getRefresh()>0) {
snippet = StringUtils.replace(snippet, "%setrefresh%", "<script type=\"text/javascript\">imagesToRefreshOnPage=1</script>");
snippet = StringUtils.replace(snippet, "%refresh%", "id=\"%id%\" onload=\"setTimeout('reloadImage(\\'%url%\\', \\'%id%\\')', " + chart.getRefresh() + ")\"");
} else {
snippet = StringUtils.replace(snippet, "%setrefresh%", "");
snippet = StringUtils.replace(snippet, "%refresh%", "");
}
snippet = StringUtils.replace(snippet, "%id%", itemUIRegistry.getWidgetId(w));
snippet = StringUtils.replace(snippet, "%url%", url);
snippet = StringUtils.replace(snippet, "%refresh%", Integer.toString(chart.getRefresh()));
sb.append(snippet);
} catch (ItemNotFoundException e) {
logger.warn("Chart cannot be rendered as item '{}' does not exist.", chart.getItem());
}
return null;
}