001
014
015 package com.liferay.portlet.backgroundtask.action;
016
017 import com.liferay.portal.NoSuchBackgroundTaskException;
018 import com.liferay.portal.kernel.backgroundtask.BackgroundTaskManagerUtil;
019 import com.liferay.portal.kernel.exception.PortalException;
020 import com.liferay.portal.kernel.servlet.SessionErrors;
021 import com.liferay.portal.kernel.util.ParamUtil;
022 import com.liferay.portal.security.auth.PrincipalException;
023 import com.liferay.portal.struts.PortletAction;
024
025 import javax.portlet.ActionRequest;
026 import javax.portlet.ActionResponse;
027 import javax.portlet.PortletConfig;
028
029 import org.apache.struts.action.ActionForm;
030 import org.apache.struts.action.ActionMapping;
031
032
035 public class DeleteBackgroundTaskAction extends PortletAction {
036
037 @Override
038 public void processAction(
039 ActionMapping actionMapping, ActionForm actionForm,
040 PortletConfig portletConfig, ActionRequest actionRequest,
041 ActionResponse actionResponse)
042 throws Exception {
043
044 try {
045 deleteBackgroundTask(actionRequest);
046
047 sendRedirect(actionRequest, actionResponse);
048 }
049 catch (Exception e) {
050 if (e instanceof NoSuchBackgroundTaskException ||
051 e instanceof PrincipalException) {
052
053 SessionErrors.add(actionRequest, e.getClass());
054
055 setForward(actionRequest, "portlet.background_task.error");
056 }
057 else {
058 throw e;
059 }
060 }
061 }
062
063 protected void deleteBackgroundTask(ActionRequest actionRequest)
064 throws PortalException {
065
066 long backgroundTaskId = ParamUtil.getLong(
067 actionRequest, "backgroundTaskId");
068
069 BackgroundTaskManagerUtil.deleteBackgroundTask(backgroundTaskId);
070 }
071
072 }