package org.ovirt.engine.ui.webadmin.widget.table.cell; import org.ovirt.engine.core.common.businessentities.gluster.GlusterTaskSupport; import org.ovirt.engine.core.common.job.JobExecutionStatus; import org.ovirt.engine.ui.common.widget.table.cell.AbstractCell; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.gin.AssetProvider; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.safehtml.shared.SafeHtmlUtils; import com.google.gwt.user.client.ui.AbstractImagePrototype; public class VolumeTaskWaitingCell<T extends GlusterTaskSupport> extends AbstractCell<T> { private static final ApplicationTemplates templates = AssetProvider.getTemplates(); private static final ApplicationResources resources = AssetProvider.getResources(); private static final ApplicationConstants constants = AssetProvider.getConstants(); @Override public void render(Context context, T value, SafeHtmlBuilder sb, String id) { // Waiting icon need to be rendered only if job is started and task ref is empty if (value.getAsyncTask() == null || value.getAsyncTask().getJobId() == null || value.getAsyncTask().getType() != null || value.getAsyncTask().getJobStatus() != JobExecutionStatus.STARTED) { return; } ImageResource taskImage = resources.waitImage(); // Generate the HTML for the image: SafeHtml activityImageHtml = SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(taskImage).getHTML()); sb.append(templates.imageWithId(activityImageHtml, id)); } }