001
014
015 package com.liferay.portal.repository.capabilities.util;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.repository.DocumentRepository;
019 import com.liferay.portal.kernel.repository.LocalRepository;
020 import com.liferay.portlet.documentlibrary.model.DLFileVersion;
021 import com.liferay.portlet.documentlibrary.service.DLFileVersionLocalService;
022 import com.liferay.portlet.documentlibrary.service.DLFileVersionLocalServiceUtil;
023 import com.liferay.portlet.documentlibrary.service.DLFileVersionService;
024 import com.liferay.portlet.documentlibrary.service.DLFileVersionServiceUtil;
025
026
029 public class DLFileVersionServiceAdapter {
030
031 public static DLFileVersionServiceAdapter create(
032 DocumentRepository documentRepository) {
033
034 if (documentRepository instanceof LocalRepository) {
035 return new DLFileVersionServiceAdapter(
036 DLFileVersionLocalServiceUtil.getService());
037 }
038
039 return new DLFileVersionServiceAdapter(
040 DLFileVersionLocalServiceUtil.getService(),
041 DLFileVersionServiceUtil.getService());
042 }
043
044 public DLFileVersionServiceAdapter(
045 DLFileVersionLocalService dlFileVersionLocalService) {
046
047 this(dlFileVersionLocalService, null);
048 }
049
050 public DLFileVersionServiceAdapter(
051 DLFileVersionLocalService dlFileVersionLocalService,
052 DLFileVersionService dlFileVersionService) {
053
054 _dlFileVersionLocalService = dlFileVersionLocalService;
055 _dlFileVersionService = dlFileVersionService;
056 }
057
058 public DLFileVersion getLatestFileVersion(
059 long fileEntryId, boolean excludeWorkingCopy)
060 throws PortalException {
061
062 DLFileVersion dlFileVersion = null;
063
064 if (_dlFileVersionService != null) {
065 dlFileVersion = _dlFileVersionService.getLatestFileVersion(
066 fileEntryId, excludeWorkingCopy);
067 }
068 else {
069 dlFileVersion = _dlFileVersionLocalService.getLatestFileVersion(
070 fileEntryId, excludeWorkingCopy);
071 }
072
073 return dlFileVersion;
074 }
075
076 private final DLFileVersionLocalService _dlFileVersionLocalService;
077 private final DLFileVersionService _dlFileVersionService;
078
079 }