001
014
015 package com.liferay.portlet.journal.workflow;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.util.GetterUtil;
020 import com.liferay.portal.kernel.workflow.BaseWorkflowHandler;
021 import com.liferay.portal.kernel.workflow.WorkflowConstants;
022 import com.liferay.portal.security.permission.ResourceActionsUtil;
023 import com.liferay.portal.service.ServiceContext;
024 import com.liferay.portal.theme.ThemeDisplay;
025 import com.liferay.portal.util.PortalUtil;
026 import com.liferay.portal.util.PortletKeys;
027 import com.liferay.portlet.journal.model.JournalArticle;
028 import com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil;
029
030 import java.io.Serializable;
031
032 import java.util.Locale;
033 import java.util.Map;
034
035
041 public class JournalArticleWorkflowHandler extends BaseWorkflowHandler {
042
043 public static final String CLASS_NAME = JournalArticle.class.getName();
044
045 @Override
046 public String getClassName() {
047 return CLASS_NAME;
048 }
049
050 @Override
051 public String getType(Locale locale) {
052 return ResourceActionsUtil.getModelResource(locale, CLASS_NAME);
053 }
054
055 @Override
056 public JournalArticle updateStatus(
057 int status, Map<String, Serializable> workflowContext)
058 throws PortalException, SystemException {
059
060 long userId = GetterUtil.getLong(
061 (String)workflowContext.get(WorkflowConstants.CONTEXT_USER_ID));
062 long classPK = GetterUtil.getLong(
063 (String)workflowContext.get(
064 WorkflowConstants.CONTEXT_ENTRY_CLASS_PK));
065
066 JournalArticle article = JournalArticleLocalServiceUtil.getArticle(
067 classPK);
068
069 ServiceContext serviceContext = (ServiceContext)workflowContext.get(
070 "serviceContext");
071
072 String articleURL = PortalUtil.getControlPanelFullURL(
073 serviceContext.getScopeGroupId(), PortletKeys.JOURNAL, null);
074
075 return JournalArticleLocalServiceUtil.updateStatus(
076 userId, article, status, articleURL, serviceContext);
077 }
078
079 @Override
080 protected String getIconPath(ThemeDisplay themeDisplay) {
081 return themeDisplay.getPathThemeImages() + "/common/history.png";
082 }
083
084 }