package net.techreadiness.customer.action.task.batch.details; import static net.techreadiness.security.CorePermissionCodes.CORE_CUSTOMER_FILE_LOADING_ACCESS; import javax.inject.Inject; import net.techreadiness.annotation.CoreSecured; import net.techreadiness.customer.datagrid.FileByIDsItemProvider; import net.techreadiness.service.FileService; import net.techreadiness.service.exception.ServiceException; import net.techreadiness.service.object.File; import net.techreadiness.ui.action.task.batch.FileBatchTaskFlowAction; import net.techreadiness.ui.tags.taskview.TaskViewState; import net.techreadiness.ui.util.ConversationScoped; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Result; public class DetailsBatchTask extends FileBatchTaskFlowAction { private static final long serialVersionUID = 1L; @Inject FileService fileService; @Inject private FileByIDsItemProvider fileByIDsItemProvider; @ConversationScoped private TaskViewState<File> fileDetailsGrid; @Override public void prepare() throws Exception { fileDetailsGrid.setDetailMode(true); } @CoreSecured({ CORE_CUSTOMER_FILE_LOADING_ACCESS }) @Action(value = "details", results = { @Result(name = "success", location = "/task/filebatch/details.jsp"), @Result(name = "nofile", location = "/task/filebatch/nofile.jsp") }) public String viewDetails() throws ServiceException { if (getTaskFlowData().getFiles() == null || getTaskFlowData().getFiles().isEmpty()) { return "nofile"; } fileByIDsItemProvider.setFileIds(getTaskFlowData().getFileIds()); return SUCCESS; } public FileByIDsItemProvider getItemProvider() { return fileByIDsItemProvider; } public void setItemProvider(FileByIDsItemProvider fileByIDsItemProvider) { this.fileByIDsItemProvider = fileByIDsItemProvider; } public TaskViewState<File> getFileDetailsGrid() { return fileDetailsGrid; } public void setFileDetailsGrid(TaskViewState<File> fileDetailsGrid) { this.fileDetailsGrid = fileDetailsGrid; } }