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.FileShortcut;
024 import com.liferay.portal.kernel.repository.model.FileVersion;
025 import com.liferay.portal.kernel.repository.model.Folder;
026 import com.liferay.portal.kernel.util.OrderByComparator;
027 import com.liferay.portal.service.ServiceContext;
028
029 import java.io.File;
030 import java.io.InputStream;
031
032 import java.util.List;
033
034
037 public class CapabilityLocalRepository
038 extends BaseCapabilityRepository<LocalRepository>
039 implements LocalRepository {
040
041 public CapabilityLocalRepository(
042 LocalRepository localRepository, CapabilityProvider capabilityProvider,
043 RepositoryEventTrigger repositoryEventTrigger) {
044
045 super(localRepository, capabilityProvider);
046
047 _repositoryEventTrigger = repositoryEventTrigger;
048 }
049
050 @Override
051 public FileEntry addFileEntry(
052 long userId, long folderId, String sourceFileName, String mimeType,
053 String title, String description, String changeLog, File file,
054 ServiceContext serviceContext)
055 throws PortalException {
056
057 LocalRepository localRepository = getRepository();
058
059 FileEntry fileEntry = localRepository.addFileEntry(
060 userId, folderId, sourceFileName, mimeType, title, description,
061 changeLog, file, serviceContext);
062
063 _repositoryEventTrigger.trigger(
064 RepositoryEventType.Add.class, FileEntry.class, fileEntry);
065
066 return fileEntry;
067 }
068
069 @Override
070 public FileEntry addFileEntry(
071 long userId, long folderId, String sourceFileName, String mimeType,
072 String title, String description, String changeLog, InputStream is,
073 long size, ServiceContext serviceContext)
074 throws PortalException {
075
076 LocalRepository localRepository = getRepository();
077
078 FileEntry fileEntry = localRepository.addFileEntry(
079 userId, folderId, sourceFileName, mimeType, title, description,
080 changeLog, is, size, serviceContext);
081
082 _repositoryEventTrigger.trigger(
083 RepositoryEventType.Add.class, FileEntry.class, fileEntry);
084
085 return fileEntry;
086 }
087
088 @Override
089 public FileShortcut addFileShortcut(
090 long userId, long folderId, long toFileEntryId,
091 ServiceContext serviceContext)
092 throws PortalException {
093
094 LocalRepository localRepository = getRepository();
095
096 FileShortcut fileShortcut = localRepository.addFileShortcut(
097 userId, folderId, toFileEntryId, serviceContext);
098
099 _repositoryEventTrigger.trigger(
100 RepositoryEventType.Add.class, FileShortcut.class, fileShortcut);
101
102 return fileShortcut;
103 }
104
105 @Override
106 public Folder addFolder(
107 long userId, long parentFolderId, String name, String description,
108 ServiceContext serviceContext)
109 throws PortalException {
110
111 LocalRepository localRepository = getRepository();
112
113 Folder folder = localRepository.addFolder(
114 userId, parentFolderId, name, description, serviceContext);
115
116 _repositoryEventTrigger.trigger(
117 RepositoryEventType.Add.class, Folder.class, folder);
118
119 return folder;
120 }
121
122 @Override
123 public void checkInFileEntry(
124 long userId, long fileEntryId, boolean major, String changeLog,
125 ServiceContext serviceContext)
126 throws PortalException {
127
128 LocalRepository localRepository = getRepository();
129
130 localRepository.checkInFileEntry(
131 userId, fileEntryId, major, changeLog, serviceContext);
132
133 FileEntry fileEntry = localRepository.getFileEntry(fileEntryId);
134
135 _repositoryEventTrigger.trigger(
136 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
137 }
138
139 @Override
140 public void checkInFileEntry(
141 long userId, long fileEntryId, String lockUuid,
142 ServiceContext serviceContext)
143 throws PortalException {
144
145 LocalRepository localRepository = getRepository();
146
147 localRepository.checkInFileEntry(
148 userId, fileEntryId, lockUuid, serviceContext);
149
150 FileEntry fileEntry = localRepository.getFileEntry(fileEntryId);
151
152 _repositoryEventTrigger.trigger(
153 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
154 }
155
156 @Override
157 public FileEntry copyFileEntry(
158 long userId, long groupId, long fileEntryId, long destFolderId,
159 ServiceContext serviceContext)
160 throws PortalException {
161
162 LocalRepository localRepository = getRepository();
163
164 FileEntry fileEntry = localRepository.copyFileEntry(
165 userId, groupId, fileEntryId, destFolderId, serviceContext);
166
167 _repositoryEventTrigger.trigger(
168 RepositoryEventType.Add.class, FileEntry.class, fileEntry);
169
170 return fileEntry;
171 }
172
173 @Override
174 public void deleteAll() throws PortalException {
175 LocalRepository localRepository = getRepository();
176
177 _repositoryEventTrigger.trigger(
178 RepositoryEventType.Delete.class, LocalRepository.class,
179 localRepository);
180
181 localRepository.deleteAll();
182 }
183
184 @Override
185 public void deleteFileEntry(long fileEntryId) throws PortalException {
186 LocalRepository localRepository = getRepository();
187
188 FileEntry fileEntry = localRepository.getFileEntry(fileEntryId);
189
190 _repositoryEventTrigger.trigger(
191 RepositoryEventType.Delete.class, FileEntry.class, fileEntry);
192
193 localRepository.deleteFileEntry(fileEntryId);
194 }
195
196 @Override
197 public void deleteFileShortcut(long fileShortcutId) throws PortalException {
198 LocalRepository localRepository = getRepository();
199
200 FileShortcut fileShortcut = localRepository.getFileShortcut(
201 fileShortcutId);
202
203 _repositoryEventTrigger.trigger(
204 RepositoryEventType.Delete.class, FileShortcut.class, fileShortcut);
205
206 localRepository.deleteFileShortcut(fileShortcutId);
207 }
208
209 @Override
210 public void deleteFileShortcuts(long toFileEntryId) throws PortalException {
211 LocalRepository localRepository = getRepository();
212
213 FileEntry fileEntry = localRepository.getFileEntry(toFileEntryId);
214
215 List<FileShortcut> fileShortcuts = fileEntry.getFileShortcuts();
216
217 for (FileShortcut fileShortcut : fileShortcuts) {
218 _repositoryEventTrigger.trigger(
219 RepositoryEventType.Delete.class, FileShortcut.class,
220 fileShortcut);
221 }
222
223 localRepository.deleteFileShortcuts(toFileEntryId);
224 }
225
226 @Override
227 public void deleteFolder(long folderId) throws PortalException {
228 LocalRepository localRepository = getRepository();
229
230 Folder folder = localRepository.getFolder(folderId);
231
232 _repositoryEventTrigger.trigger(
233 RepositoryEventType.Delete.class, Folder.class, folder);
234
235 localRepository.deleteFolder(folderId);
236 }
237
238 @Override
239 public List<FileEntry> getFileEntries(
240 long folderId, int status, int start, int end,
241 OrderByComparator<FileEntry> obc)
242 throws PortalException {
243
244 return getRepository().getFileEntries(
245 folderId, status, start, end, obc);
246 }
247
248 @Override
249 public List<FileEntry> getFileEntries(
250 long folderId, int start, int end, OrderByComparator<FileEntry> obc)
251 throws PortalException {
252
253 return getRepository().getFileEntries(folderId, start, end, obc);
254 }
255
256 @Override
257 public int getFileEntriesCount(long folderId) throws PortalException {
258 return getRepository().getFileEntriesCount(folderId);
259 }
260
261 @Override
262 public int getFileEntriesCount(long folderId, int status)
263 throws PortalException {
264
265 return getRepository().getFileEntriesCount(folderId, status);
266 }
267
268 @Override
269 public FileEntry getFileEntry(long fileEntryId) throws PortalException {
270 return getRepository().getFileEntry(fileEntryId);
271 }
272
273 @Override
274 public FileEntry getFileEntry(long folderId, String title)
275 throws PortalException {
276
277 return getRepository().getFileEntry(folderId, title);
278 }
279
280 @Override
281 public FileEntry getFileEntryByUuid(String uuid) throws PortalException {
282 return getRepository().getFileEntryByUuid(uuid);
283 }
284
285 @Override
286 public FileShortcut getFileShortcut(long fileShortcutId)
287 throws PortalException {
288
289 return getRepository().getFileShortcut(fileShortcutId);
290 }
291
292 @Override
293 public FileVersion getFileVersion(long fileVersionId)
294 throws PortalException {
295
296 return getRepository().getFileVersion(fileVersionId);
297 }
298
299 @Override
300 public Folder getFolder(long folderId) throws PortalException {
301 return getRepository().getFolder(folderId);
302 }
303
304 @Override
305 public Folder getFolder(long parentFolderId, String name)
306 throws PortalException {
307
308 return getRepository().getFolder(parentFolderId, name);
309 }
310
311 @Override
312 public List<FileEntry> getRepositoryFileEntries(
313 long userId, long rootFolderId, int start, int end,
314 OrderByComparator<FileEntry> obc)
315 throws PortalException {
316
317 return getRepository().getRepositoryFileEntries(
318 userId, rootFolderId, start, end, obc);
319 }
320
321 @Override
322 public long getRepositoryId() {
323 return getRepository().getRepositoryId();
324 }
325
326 @Override
327 public FileEntry moveFileEntry(
328 long userId, long fileEntryId, long newFolderId,
329 ServiceContext serviceContext)
330 throws PortalException {
331
332 LocalRepository localRepository = getRepository();
333
334 FileEntry fileEntry = localRepository.moveFileEntry(
335 userId, fileEntryId, newFolderId, serviceContext);
336
337 _repositoryEventTrigger.trigger(
338 RepositoryEventType.Move.class, FileEntry.class, fileEntry);
339
340 return fileEntry;
341 }
342
343 @Override
344 public Folder moveFolder(
345 long userId, long folderId, long parentFolderId,
346 ServiceContext serviceContext)
347 throws PortalException {
348
349 LocalRepository localRepository = getRepository();
350
351 Folder folder = localRepository.moveFolder(
352 userId, folderId, parentFolderId, serviceContext);
353
354 _repositoryEventTrigger.trigger(
355 RepositoryEventType.Move.class, Folder.class, folder);
356
357 return folder;
358 }
359
360 @Override
361 public void revertFileEntry(
362 long userId, long fileEntryId, String version,
363 ServiceContext serviceContext)
364 throws PortalException {
365
366 LocalRepository localRepository = getRepository();
367
368 localRepository.revertFileEntry(
369 userId, fileEntryId, version, serviceContext);
370
371 FileEntry fileEntry = getFileEntry(fileEntryId);
372
373 _repositoryEventTrigger.trigger(
374 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
375 }
376
377
380 @Deprecated
381 @Override
382 public void updateAsset(
383 long userId, FileEntry fileEntry, FileVersion fileVersion,
384 long[] assetCategoryIds, String[] assetTagNames,
385 long[] assetLinkEntryIds)
386 throws PortalException {
387
388 getRepository().updateAsset(
389 userId, fileEntry, fileVersion, assetCategoryIds, assetTagNames,
390 assetLinkEntryIds);
391 }
392
393 @Override
394 public FileEntry updateFileEntry(
395 long userId, long fileEntryId, String sourceFileName,
396 String mimeType, String title, String description, String changeLog,
397 boolean majorVersion, File file, ServiceContext serviceContext)
398 throws PortalException {
399
400 LocalRepository localRepository = getRepository();
401
402 FileEntry fileEntry = localRepository.updateFileEntry(
403 userId, fileEntryId, sourceFileName, mimeType, title, description,
404 changeLog, majorVersion, file, serviceContext);
405
406 _repositoryEventTrigger.trigger(
407 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
408
409 return fileEntry;
410 }
411
412 @Override
413 public FileEntry updateFileEntry(
414 long userId, long fileEntryId, String sourceFileName,
415 String mimeType, String title, String description, String changeLog,
416 boolean majorVersion, InputStream is, long size,
417 ServiceContext serviceContext)
418 throws PortalException {
419
420 LocalRepository localRepository = getRepository();
421
422 FileEntry fileEntry = localRepository.updateFileEntry(
423 userId, fileEntryId, sourceFileName, mimeType, title, description,
424 changeLog, majorVersion, is, size, serviceContext);
425
426 _repositoryEventTrigger.trigger(
427 RepositoryEventType.Update.class, FileEntry.class, fileEntry);
428
429 return fileEntry;
430 }
431
432 @Override
433 public FileShortcut updateFileShortcut(
434 long userId, long fileShortcutId, long folderId, long toFileEntryId,
435 ServiceContext serviceContext)
436 throws PortalException {
437
438 LocalRepository localRepository = getRepository();
439
440 FileShortcut fileShortcut = localRepository.updateFileShortcut(
441 userId, fileShortcutId, folderId, toFileEntryId, serviceContext);
442
443 _repositoryEventTrigger.trigger(
444 RepositoryEventType.Update.class, FileShortcut.class, fileShortcut);
445
446 return fileShortcut;
447 }
448
449 @Override
450 public void updateFileShortcuts(
451 long oldToFileEntryId, long newToFileEntryId)
452 throws PortalException {
453
454 LocalRepository localRepository = getRepository();
455
456 FileEntry fileEntry = localRepository.getFileEntry(oldToFileEntryId);
457
458 fileEntry.getFileShortcuts();
459
460 localRepository.updateFileShortcuts(oldToFileEntryId, newToFileEntryId);
461 }
462
463 @Override
464 public Folder updateFolder(
465 long folderId, long parentFolderId, String name, String description,
466 ServiceContext serviceContext)
467 throws PortalException {
468
469 LocalRepository localRepository = getRepository();
470
471 Folder folder = localRepository.updateFolder(
472 folderId, parentFolderId, name, description, serviceContext);
473
474 _repositoryEventTrigger.trigger(
475 RepositoryEventType.Update.class, Folder.class, folder);
476
477 return folder;
478 }
479
480 private final RepositoryEventTrigger _repositoryEventTrigger;
481
482 }