001
014
015 package com.liferay.portal.repository.capabilities;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.repository.LocalRepository;
019 import com.liferay.portal.kernel.repository.Repository;
020 import com.liferay.portal.kernel.repository.capabilities.WorkflowCapability;
021 import com.liferay.portal.kernel.repository.model.FileEntry;
022 import com.liferay.portal.kernel.repository.model.FileVersion;
023 import com.liferay.portal.kernel.workflow.WorkflowConstants;
024 import com.liferay.portal.repository.liferayrepository.LiferayWorkflowLocalRepositoryWrapper;
025 import com.liferay.portal.repository.liferayrepository.LiferayWorkflowRepositoryWrapper;
026 import com.liferay.portal.repository.util.RepositoryWrapperAware;
027 import com.liferay.portal.service.ServiceContext;
028 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
029 import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil;
030
031 import java.io.Serializable;
032
033 import java.util.Collections;
034 import java.util.Map;
035
036
039 public class MinimalWorkflowCapability
040 implements RepositoryWrapperAware, WorkflowCapability, WorkflowSupport {
041
042 @Override
043 public void addFileEntry(
044 long userId, FileEntry fileEntry, ServiceContext serviceContext)
045 throws PortalException {
046
047 doUpdateStatus(userId, fileEntry, serviceContext);
048 }
049
050 @Override
051 public void checkInFileEntry(
052 long userId, FileEntry fileEntry, ServiceContext serviceContext)
053 throws PortalException {
054
055 doUpdateStatus(userId, fileEntry, serviceContext);
056 }
057
058 @Override
059 public int getStatus(FileEntry fileEntry) {
060 DLFileEntry dlFileEntry = (DLFileEntry)fileEntry.getModel();
061
062 return dlFileEntry.getStatus();
063 }
064
065 @Override
066 public void revertFileEntry(
067 long userId, FileEntry fileEntry, ServiceContext serviceContext)
068 throws PortalException {
069
070 doUpdateStatus(userId, fileEntry, serviceContext);
071 }
072
073 @Override
074 public void updateFileEntry(
075 long userId, FileEntry fileEntry, ServiceContext serviceContext)
076 throws PortalException {
077
078 doUpdateStatus(userId, fileEntry, serviceContext);
079 }
080
081 @Override
082 public LocalRepository wrapLocalRepository(
083 LocalRepository localRepository) {
084
085 return new LiferayWorkflowLocalRepositoryWrapper(localRepository, this);
086 }
087
088 @Override
089 public Repository wrapRepository(Repository repository) {
090 return new LiferayWorkflowRepositoryWrapper(repository, this);
091 }
092
093 protected void doUpdateStatus(
094 long userId, FileEntry fileEntry, ServiceContext serviceContext)
095 throws PortalException {
096
097 Map<String, Serializable> workflowContext = Collections.emptyMap();
098
099 FileVersion fileVersion = fileEntry.getFileVersion();
100
101 DLFileEntryLocalServiceUtil.updateStatus(
102 userId, fileVersion.getFileVersionId(),
103 WorkflowConstants.STATUS_APPROVED, serviceContext, workflowContext);
104 }
105
106 }