001
014
015 package com.liferay.portal.repository.capabilities.util;
016
017 import com.liferay.document.library.kernel.model.DLFileEntry;
018 import com.liferay.document.library.kernel.service.DLFileEntryLocalService;
019 import com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil;
020 import com.liferay.document.library.kernel.service.DLFileEntryService;
021 import com.liferay.document.library.kernel.service.DLFileEntryServiceUtil;
022 import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
023 import com.liferay.portal.kernel.exception.PortalException;
024 import com.liferay.portal.kernel.repository.DocumentRepository;
025 import com.liferay.portal.kernel.repository.LocalRepository;
026 import com.liferay.portal.kernel.security.auth.PrincipalException;
027 import com.liferay.portal.kernel.service.ServiceContext;
028 import com.liferay.portal.kernel.util.OrderByComparator;
029 import com.liferay.portal.kernel.workflow.WorkflowConstants;
030
031 import java.io.Serializable;
032
033 import java.util.List;
034 import java.util.Map;
035
036
039 public class DLFileEntryServiceAdapter {
040
041 public static DLFileEntryServiceAdapter create(
042 DocumentRepository documentRepository) {
043
044 if (documentRepository instanceof LocalRepository) {
045 return new DLFileEntryServiceAdapter(
046 DLFileEntryLocalServiceUtil.getService());
047 }
048
049 return new DLFileEntryServiceAdapter(
050 DLFileEntryLocalServiceUtil.getService(),
051 DLFileEntryServiceUtil.getService());
052 }
053
054 public DLFileEntryServiceAdapter(
055 DLFileEntryLocalService dlFileEntryLocalService) {
056
057 this(dlFileEntryLocalService, null);
058 }
059
060 public DLFileEntryServiceAdapter(
061 DLFileEntryLocalService dlFileEntryLocalService,
062 DLFileEntryService dlFileEntryService) {
063
064 _dlFileEntryLocalService = dlFileEntryLocalService;
065 _dlFileEntryService = dlFileEntryService;
066 }
067
068 public DLFileEntry fetchDLFileEntryByImageId(long imageId)
069 throws PortalException {
070
071 DLFileEntry dlFileEntry = null;
072
073 if (_dlFileEntryService != null) {
074 dlFileEntry = _dlFileEntryService.fetchFileEntryByImageId(imageId);
075 }
076 else {
077 dlFileEntry = _dlFileEntryLocalService.fetchFileEntryByAnyImageId(
078 imageId);
079 }
080
081 return dlFileEntry;
082 }
083
084 public ActionableDynamicQuery getActionableDynamicQuery()
085 throws PortalException {
086
087 if (_dlFileEntryService != null) {
088 throw new PrincipalException("DL file entry service is not null");
089 }
090
091 return _dlFileEntryLocalService.getActionableDynamicQuery();
092 }
093
094 public DLFileEntry getDLFileEntry(long fileEntryId) throws PortalException {
095 DLFileEntry dlFileEntry = null;
096
097 if (_dlFileEntryService != null) {
098 dlFileEntry = _dlFileEntryService.getFileEntry(fileEntryId);
099 }
100 else {
101 dlFileEntry = _dlFileEntryLocalService.getFileEntry(fileEntryId);
102 }
103
104 return dlFileEntry;
105 }
106
107 public List<DLFileEntry> getGroupFileEntries(
108 long groupId, int userId, long repositoryId, long folderId,
109 int start, int end, OrderByComparator<DLFileEntry> obc)
110 throws PortalException {
111
112 List<DLFileEntry> dlFileEntries = null;
113
114 if (_dlFileEntryService != null) {
115 dlFileEntries = _dlFileEntryService.getGroupFileEntries(
116 groupId, userId, repositoryId, folderId, null,
117 WorkflowConstants.STATUS_ANY, start, end, obc);
118 }
119 else {
120 dlFileEntries = _dlFileEntryLocalService.getGroupFileEntries(
121 groupId, userId, repositoryId, folderId, start, end, obc);
122 }
123
124 return dlFileEntries;
125 }
126
127 public boolean isKeepFileVersionLabel(
128 long fileEntryId, boolean majorVersion,
129 ServiceContext serviceContext)
130 throws PortalException {
131
132 if (_dlFileEntryService != null) {
133 return _dlFileEntryService.isKeepFileVersionLabel(
134 fileEntryId, majorVersion, serviceContext);
135 }
136 else {
137 return _dlFileEntryLocalService.isKeepFileVersionLabel(
138 fileEntryId, majorVersion, serviceContext);
139 }
140 }
141
142 public DLFileEntry updateStatus(
143 long userId, long fileVersionId, int status,
144 ServiceContext serviceContext,
145 Map<String, Serializable> workflowContext)
146 throws PortalException {
147
148 DLFileEntry dlFileEntry = null;
149
150 if (_dlFileEntryService != null) {
151 dlFileEntry = _dlFileEntryService.updateStatus(
152 userId, fileVersionId, status, serviceContext, workflowContext);
153 }
154 else {
155 dlFileEntry = _dlFileEntryLocalService.updateStatus(
156 userId, fileVersionId, status, serviceContext, workflowContext);
157 }
158
159 return dlFileEntry;
160 }
161
162 private final DLFileEntryLocalService _dlFileEntryLocalService;
163 private final DLFileEntryService _dlFileEntryService;
164
165 }