package is.idega.idegaweb.egov.bpm.business; import java.net.URL; import java.util.Collections; import java.util.Map; import org.jbpm.graph.exe.ProcessInstance; import org.jbpm.taskmgmt.def.Task; import com.idega.block.process.data.Case; import com.idega.presentation.IWContext; public interface TaskViewerHelper { public String getPageUriForTaskViewer(IWContext iwc); public String getLinkToTheTaskRedirector(IWContext iwc, String basePage, String caseId, Long processInstanceId, String backPage, String taskName); public String getLinkToTheTask(IWContext iwc, String caseId, String taskInstanceId, String backPage); public String getTaskInstanceIdForTask(Long processInstanceId, String taskName); /** * * <p>Creates links to views of {@link Case}s.</p> * @param iwc is current FacesContext, not <code>null</code>; * @param relations is {@link Map} of {@link Case#getPrimaryKey()} and * {@link ProcessInstance}, not <code>null</code>; * @param backPage - <code>true</code> if it is required to get back to * to page the link was called; * @param taskName is {@link Task#getName()}, which should be shown. * Not <code>null</code>; * @return {@link Map} of {@link Case#getPrimaryKey()} and {@link URL} * to preview or {@link Collections#emptyList()} on failure; * @author <a href="mailto:martynas@idega.is">Martynas StakÄ—</a> */ public Map<Long, String> getLinksToTheTaskRedirector(IWContext iwc, Map<Long, ProcessInstance> relations, boolean backPage, String taskName); }