001
014
015 package com.liferay.portlet.documentlibrary.context;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.repository.model.FileVersion;
020 import com.liferay.registry.Registry;
021 import com.liferay.registry.RegistryUtil;
022
023 import java.util.Collection;
024
025 import javax.servlet.http.HttpServletRequest;
026 import javax.servlet.http.HttpServletResponse;
027
028
031 public class DLViewFileVersionDisplayContextUtil {
032
033 public static DLViewFileVersionDisplayContext
034 getDLFileVersionActionsDisplayContext(
035 HttpServletRequest request, HttpServletResponse response,
036 FileVersion fileVersion)
037 throws PortalException {
038
039 DLViewFileVersionDisplayContext dlViewFileVersionDisplayContext =
040 new DefaultDLViewFileVersionDisplayContext(
041 request, response, fileVersion);
042
043 if (fileVersion != null) {
044 dlViewFileVersionDisplayContext =
045 _chainDLFileVersionActionsDisplayContexts(
046 request, response, fileVersion,
047 dlViewFileVersionDisplayContext);
048 }
049
050 return dlViewFileVersionDisplayContext;
051 }
052
053 public static DLViewFileVersionDisplayContext
054 getIGFileVersionActionsDisplayContext(
055 HttpServletRequest request, HttpServletResponse response,
056 FileVersion fileVersion)
057 throws PortalException {
058
059 DLViewFileVersionDisplayContext dlViewFileVersionDisplayContext =
060 new DefaultIGViewFileVersionDisplayContext(
061 request, response, fileVersion);
062
063 if (fileVersion != null) {
064 dlViewFileVersionDisplayContext =
065 _chainDLFileVersionActionsDisplayContexts(
066 request, response, fileVersion,
067 dlViewFileVersionDisplayContext);
068 }
069
070 return dlViewFileVersionDisplayContext;
071 }
072
073 private static DLViewFileVersionDisplayContext
074 _chainDLFileVersionActionsDisplayContexts(
075 HttpServletRequest request, HttpServletResponse response,
076 FileVersion fileVersion,
077 DLViewFileVersionDisplayContext dlViewFileVersionDisplayContext) {
078
079 Collection<DLViewFileVersionDisplayContextFactory>
080 dlFileVersionActionsDisplayContextFactories =
081 _getDLFileVersionActionsDisplayContextFactories();
082
083 for (DLViewFileVersionDisplayContextFactory
084 dlViewFileVersionDisplayContextFactory :
085 dlFileVersionActionsDisplayContextFactories) {
086
087 dlViewFileVersionDisplayContext =
088 dlViewFileVersionDisplayContextFactory.
089 getDLFileVersionActionsDisplayContext(
090 dlViewFileVersionDisplayContext, request, response,
091 fileVersion);
092 }
093
094 return dlViewFileVersionDisplayContext;
095 }
096
097 private static Collection<DLViewFileVersionDisplayContextFactory>
098 _getDLFileVersionActionsDisplayContextFactories() {
099
100 try {
101 Registry registry = RegistryUtil.getRegistry();
102
103 return registry.getServices(
104 DLViewFileVersionDisplayContextFactory.class, null);
105 }
106 catch (Exception e) {
107 throw new SystemException(e);
108 }
109 }
110
111 }