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.capabilities.ThumbnailCapability;
019 import com.liferay.portal.kernel.repository.model.FileEntry;
020 import com.liferay.portal.repository.capabilities.util.RepositoryEntryChecker;
021 import com.liferay.portal.repository.capabilities.util.RepositoryEntryConverter;
022 import com.liferay.portal.repository.liferayrepository.model.LiferayFileEntry;
023 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
024 import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil;
025
026
029 public class LiferayThumbnailCapability implements ThumbnailCapability {
030
031 public LiferayThumbnailCapability(
032 RepositoryEntryConverter repositoryEntryConverter,
033 RepositoryEntryChecker repositoryEntryChecker) {
034
035 _repositoryEntryConverter = repositoryEntryConverter;
036 _repositoryEntryChecker = repositoryEntryChecker;
037 }
038
039 @Override
040 public FileEntry fetchImageFileEntry(long imageId) {
041 DLFileEntry dlFileEntry =
042 DLFileEntryLocalServiceUtil.fetchFileEntryByAnyImageId(imageId);
043
044 if (dlFileEntry == null) {
045 return null;
046 }
047
048 _repositoryEntryChecker.checkDLFileEntry(dlFileEntry);
049
050 return new LiferayFileEntry(dlFileEntry);
051 }
052
053 @Override
054 public long getCustom1ImageId(FileEntry fileEntry) {
055 DLFileEntry dlFileEntry = getDLFileEntry(fileEntry);
056
057 return dlFileEntry.getCustom1ImageId();
058 }
059
060 @Override
061 public long getCustom2ImageId(FileEntry fileEntry) {
062 DLFileEntry dlFileEntry = getDLFileEntry(fileEntry);
063
064 return dlFileEntry.getCustom2ImageId();
065 }
066
067 @Override
068 public long getLargeImageId(FileEntry fileEntry) {
069 DLFileEntry dlFileEntry = getDLFileEntry(fileEntry);
070
071 return dlFileEntry.getLargeImageId();
072 }
073
074 @Override
075 public long getSmallImageId(FileEntry fileEntry) {
076 DLFileEntry dlFileEntry = getDLFileEntry(fileEntry);
077
078 return dlFileEntry.getSmallImageId();
079 }
080
081 @Override
082 public FileEntry setCustom1ImageId(FileEntry fileEntry, long imageId)
083 throws PortalException {
084
085 DLFileEntry dlFileEntry = getDLFileEntry(fileEntry.getFileEntryId());
086
087 dlFileEntry.setCustom1ImageId(imageId);
088
089 return updateDLFileEntry(dlFileEntry);
090 }
091
092 @Override
093 public FileEntry setCustom2ImageId(FileEntry fileEntry, long imageId)
094 throws PortalException {
095
096 DLFileEntry dlFileEntry = getDLFileEntry(fileEntry.getFileEntryId());
097
098 dlFileEntry.setCustom2ImageId(imageId);
099
100 return updateDLFileEntry(dlFileEntry);
101 }
102
103 @Override
104 public FileEntry setLargeImageId(FileEntry fileEntry, long imageId)
105 throws PortalException {
106
107 DLFileEntry dlFileEntry = getDLFileEntry(fileEntry.getFileEntryId());
108
109 dlFileEntry.setLargeImageId(imageId);
110
111 return updateDLFileEntry(dlFileEntry);
112 }
113
114 @Override
115 public FileEntry setSmallImageId(FileEntry fileEntry, long imageId)
116 throws PortalException {
117
118 DLFileEntry dlFileEntry = getDLFileEntry(fileEntry.getFileEntryId());
119
120 dlFileEntry.setSmallImageId(imageId);
121
122 return updateDLFileEntry(dlFileEntry);
123 }
124
125 protected DLFileEntry getDLFileEntry(FileEntry fileEntry) {
126 _repositoryEntryChecker.checkFileEntry(fileEntry);
127
128 return _repositoryEntryConverter.getDLFileEntry(fileEntry);
129 }
130
131 protected FileEntry updateDLFileEntry(DLFileEntry dlFileEntry) {
132 return new LiferayFileEntry(
133 DLFileEntryLocalServiceUtil.updateDLFileEntry(dlFileEntry));
134 }
135
136 private DLFileEntry getDLFileEntry(long fileEntryId)
137 throws PortalException {
138
139 DLFileEntry dlFileEntry = DLFileEntryLocalServiceUtil.getDLFileEntry(
140 fileEntryId);
141
142 _repositoryEntryChecker.checkDLFileEntry(dlFileEntry);
143
144 return dlFileEntry;
145 }
146
147 private final RepositoryEntryChecker _repositoryEntryChecker;
148 private final RepositoryEntryConverter _repositoryEntryConverter;
149
150 }