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.capabilities.CapabilityProvider;
020 import com.liferay.portal.kernel.repository.event.RepositoryEventTrigger;
021 import com.liferay.portal.kernel.repository.event.RepositoryEventType;
022 import com.liferay.portal.kernel.repository.model.FileEntry;
023 import com.liferay.portal.kernel.repository.model.FileVersion;
024 import com.liferay.portal.kernel.repository.model.Folder;
025 import com.liferay.portal.kernel.util.OrderByComparator;
026 import com.liferay.portal.service.ServiceContext;
027
028 import java.io.File;
029 import java.io.InputStream;
030
031 import java.util.List;
032
033
036 public class CapabilityLocalRepository
037 extends BaseCapabilityRepository<LocalRepository>
038 implements LocalRepository {
039
040 public CapabilityLocalRepository(
041 LocalRepository localRepository, CapabilityProvider capabilityProvider,
042 RepositoryEventTrigger repositoryEventTrigger) {
043
044 super(localRepository, capabilityProvider);
045
046 _repositoryEventTrigger = repositoryEventTrigger;
047 }
048
049 @Override
050 public FileEntry addFileEntry(
051 long userId, long folderId, String sourceFileName, String mimeType,
052 String title, String description, String changeLog, File file,
053 ServiceContext serviceContext)
054 throws PortalException {
055
056 LocalRepository localRepository = getRepository();
057
058 FileEntry fileEntry = localRepository.addFileEntry(
059 userId, folderId, sourceFileName, mimeType, title, description,
060 changeLog, file, serviceContext);
061
062 _repositoryEventTrigger.trigger(
063 RepositoryEventType.Add.class, FileEntry.class, fileEntry);
064
065 return fileEntry;
066 }
067
068 @Override
069 public FileEntry addFileEntry(
070 long userId, long folderId, String sourceFileName, String mimeType,
071 String title, String description, String changeLog, InputStream is,
072 long size, ServiceContext serviceContext)
073 throws PortalException {
074
075 LocalRepository localRepository = getRepository();
076
077 FileEntry fileEntry = localRepository.addFileEntry(
078 userId, folderId, sourceFileName, mimeType, title, description,
079 changeLog, is, size, serviceContext);
080
081 _repositoryEventTrigger.trigger(
082 RepositoryEventType.Add.class, FileEntry.class, fileEntry);
083
084 return fileEntry;
085 }
086
087 @Override
088 public Folder addFolder(
089 long userId, long parentFolderId, String name, String description,
090 ServiceContext serviceContext)
091 throws PortalException {
092
093 LocalRepository localRepository = getRepository();
094
095 Folder folder = localRepository.addFolder(
096 userId, parentFolderId, name, description, serviceContext);
097
098 _repositoryEventTrigger.trigger(
099 RepositoryEventType.Add.class, Folder.class, folder);
100
101 return folder;
102 }
103
104 @Override
105 public void checkInFileEntry(
106 long userId, long fileEntryId, boolean major, String changeLog,
107 ServiceContext serviceContext)
108 throws PortalException {
109
110 LocalRepository localRepository = getRepository();
111
112 localRepository.checkInFileEntry(
113 userId, fileEntryId, major, changeLog, serviceContext);
114
115 FileEntry fileEntry = localRepository.getFileEntry(fileEntryId);
116
117 _repositoryEventTrigger.trigger(
118 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
119 }
120
121 @Override
122 public void checkInFileEntry(
123 long userId, long fileEntryId, String lockUuid,
124 ServiceContext serviceContext)
125 throws PortalException {
126
127 LocalRepository localRepository = getRepository();
128
129 localRepository.checkInFileEntry(
130 userId, fileEntryId, lockUuid, serviceContext);
131
132 FileEntry fileEntry = localRepository.getFileEntry(fileEntryId);
133
134 _repositoryEventTrigger.trigger(
135 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
136 }
137
138 @Override
139 public FileEntry copyFileEntry(
140 long userId, long groupId, long fileEntryId, long destFolderId,
141 ServiceContext serviceContext)
142 throws PortalException {
143
144 LocalRepository localRepository = getRepository();
145
146 FileEntry fileEntry = localRepository.copyFileEntry(
147 userId, groupId, fileEntryId, destFolderId, serviceContext);
148
149 _repositoryEventTrigger.trigger(
150 RepositoryEventType.Add.class, FileEntry.class, fileEntry);
151
152 return fileEntry;
153 }
154
155 @Override
156 public void deleteAll() throws PortalException {
157 LocalRepository localRepository = getRepository();
158
159 _repositoryEventTrigger.trigger(
160 RepositoryEventType.Delete.class, LocalRepository.class,
161 localRepository);
162
163 localRepository.deleteAll();
164 }
165
166 @Override
167 public void deleteFileEntry(long fileEntryId) throws PortalException {
168 LocalRepository localRepository = getRepository();
169
170 FileEntry fileEntry = localRepository.getFileEntry(fileEntryId);
171
172 _repositoryEventTrigger.trigger(
173 RepositoryEventType.Delete.class, FileEntry.class, fileEntry);
174
175 localRepository.deleteFileEntry(fileEntryId);
176 }
177
178 @Override
179 public void deleteFolder(long folderId) throws PortalException {
180 LocalRepository localRepository = getRepository();
181
182 Folder folder = localRepository.getFolder(folderId);
183
184 _repositoryEventTrigger.trigger(
185 RepositoryEventType.Delete.class, Folder.class, folder);
186
187 localRepository.deleteFolder(folderId);
188 }
189
190 @Override
191 public FileEntry getFileEntry(long fileEntryId) throws PortalException {
192 return getRepository().getFileEntry(fileEntryId);
193 }
194
195 @Override
196 public FileEntry getFileEntry(long folderId, String title)
197 throws PortalException {
198
199 return getRepository().getFileEntry(folderId, title);
200 }
201
202 @Override
203 public FileEntry getFileEntryByUuid(String uuid) throws PortalException {
204 return getRepository().getFileEntryByUuid(uuid);
205 }
206
207 @Override
208 public FileVersion getFileVersion(long fileVersionId)
209 throws PortalException {
210
211 return getRepository().getFileVersion(fileVersionId);
212 }
213
214 @Override
215 public Folder getFolder(long folderId) throws PortalException {
216 return getRepository().getFolder(folderId);
217 }
218
219 @Override
220 public Folder getFolder(long parentFolderId, String name)
221 throws PortalException {
222
223 return getRepository().getFolder(parentFolderId, name);
224 }
225
226 @Override
227 public List<FileEntry> getRepositoryFileEntries(
228 long userId, long rootFolderId, int start, int end,
229 OrderByComparator<FileEntry> obc)
230 throws PortalException {
231
232 return getRepository().getRepositoryFileEntries(
233 userId, rootFolderId, start, end, obc);
234 }
235
236 @Override
237 public long getRepositoryId() {
238 return getRepository().getRepositoryId();
239 }
240
241 @Override
242 public FileEntry moveFileEntry(
243 long userId, long fileEntryId, long newFolderId,
244 ServiceContext serviceContext)
245 throws PortalException {
246
247 LocalRepository localRepository = getRepository();
248
249 FileEntry fileEntry = localRepository.moveFileEntry(
250 userId, fileEntryId, newFolderId, serviceContext);
251
252 _repositoryEventTrigger.trigger(
253 RepositoryEventType.Move.class, FileEntry.class, fileEntry);
254
255 return fileEntry;
256 }
257
258 @Override
259 public Folder moveFolder(
260 long userId, long folderId, long parentFolderId,
261 ServiceContext serviceContext)
262 throws PortalException {
263
264 LocalRepository localRepository = getRepository();
265
266 Folder folder = localRepository.moveFolder(
267 userId, folderId, parentFolderId, serviceContext);
268
269 _repositoryEventTrigger.trigger(
270 RepositoryEventType.Move.class, Folder.class, folder);
271
272 return folder;
273 }
274
275 @Override
276 public void revertFileEntry(
277 long userId, long fileEntryId, String version,
278 ServiceContext serviceContext)
279 throws PortalException {
280
281 LocalRepository localRepository = getRepository();
282
283 localRepository.revertFileEntry(
284 userId, fileEntryId, version, serviceContext);
285
286 FileEntry fileEntry = getFileEntry(fileEntryId);
287
288 _repositoryEventTrigger.trigger(
289 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
290 }
291
292
295 @Deprecated
296 @Override
297 public void updateAsset(
298 long userId, FileEntry fileEntry, FileVersion fileVersion,
299 long[] assetCategoryIds, String[] assetTagNames,
300 long[] assetLinkEntryIds)
301 throws PortalException {
302
303 getRepository().updateAsset(
304 userId, fileEntry, fileVersion, assetCategoryIds, assetTagNames,
305 assetLinkEntryIds);
306 }
307
308 @Override
309 public FileEntry updateFileEntry(
310 long userId, long fileEntryId, String sourceFileName,
311 String mimeType, String title, String description, String changeLog,
312 boolean majorVersion, File file, ServiceContext serviceContext)
313 throws PortalException {
314
315 LocalRepository localRepository = getRepository();
316
317 FileEntry fileEntry = localRepository.updateFileEntry(
318 userId, fileEntryId, sourceFileName, mimeType, title, description,
319 changeLog, majorVersion, file, serviceContext);
320
321 _repositoryEventTrigger.trigger(
322 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
323
324 return fileEntry;
325 }
326
327 @Override
328 public FileEntry updateFileEntry(
329 long userId, long fileEntryId, String sourceFileName,
330 String mimeType, String title, String description, String changeLog,
331 boolean majorVersion, InputStream is, long size,
332 ServiceContext serviceContext)
333 throws PortalException {
334
335 LocalRepository localRepository = getRepository();
336
337 FileEntry fileEntry = localRepository.updateFileEntry(
338 userId, fileEntryId, sourceFileName, mimeType, title, description,
339 changeLog, majorVersion, is, size, serviceContext);
340
341 _repositoryEventTrigger.trigger(
342 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
343
344 return fileEntry;
345 }
346
347 @Override
348 public Folder updateFolder(
349 long folderId, long parentFolderId, String name, String description,
350 ServiceContext serviceContext)
351 throws PortalException {
352
353 LocalRepository localRepository = getRepository();
354
355 Folder folder = localRepository.updateFolder(
356 folderId, parentFolderId, name, description, serviceContext);
357
358 _repositoryEventTrigger.trigger(
359 RepositoryEventType.Update.class, Folder.class, folder);
360
361 return folder;
362 }
363
364 private final RepositoryEventTrigger _repositoryEventTrigger;
365
366 }