001
014
015 package com.liferay.portal.repository.liferayrepository.model;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.lar.StagedModelType;
020 import com.liferay.portal.kernel.log.Log;
021 import com.liferay.portal.kernel.log.LogFactoryUtil;
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.ContentTypes;
026 import com.liferay.portal.kernel.util.StringPool;
027 import com.liferay.portal.kernel.util.Validator;
028 import com.liferay.portal.model.Lock;
029 import com.liferay.portal.security.permission.PermissionChecker;
030 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
031 import com.liferay.portlet.documentlibrary.model.DLFileEntryConstants;
032 import com.liferay.portlet.documentlibrary.model.DLFileVersion;
033 import com.liferay.portlet.documentlibrary.service.DLFileVersionLocalServiceUtil;
034 import com.liferay.portlet.documentlibrary.service.permission.DLFileEntryPermission;
035 import com.liferay.portlet.expando.model.ExpandoBridge;
036
037 import java.io.InputStream;
038 import java.io.Serializable;
039
040 import java.util.Date;
041 import java.util.List;
042 import java.util.Map;
043
044
047 public class LiferayFileEntry extends LiferayModel implements FileEntry {
048
049 public LiferayFileEntry(DLFileEntry dlFileEntry) {
050 _dlFileEntry = dlFileEntry;
051 }
052
053 public LiferayFileEntry(DLFileEntry fileEntry, boolean escapedModel) {
054 _dlFileEntry = fileEntry;
055 _escapedModel = escapedModel;
056 }
057
058 @Override
059 public Object clone() {
060 LiferayFileEntry liferayFileEntry = new LiferayFileEntry(
061 _dlFileEntry, _escapedModel);
062
063 FileVersion cachedFileVersion = getCachedFileVersion();
064
065 if (cachedFileVersion != null) {
066 liferayFileEntry.setCachedFileVersion(cachedFileVersion);
067 }
068
069 liferayFileEntry.setCompanyId(getCompanyId());
070 liferayFileEntry.setCreateDate(getCreateDate());
071 liferayFileEntry.setGroupId(getGroupId());
072 liferayFileEntry.setModifiedDate(getModifiedDate());
073 liferayFileEntry.setPrimaryKey(getPrimaryKey());
074 liferayFileEntry.setUserId(getUserId());
075 liferayFileEntry.setUserName(getUserName());
076
077 try {
078 liferayFileEntry.setUserUuid(getUserUuid());
079 }
080 catch (SystemException se) {
081 }
082
083 liferayFileEntry.setUuid(getUuid());
084
085 return liferayFileEntry;
086 }
087
088 @Override
089 public boolean containsPermission(
090 PermissionChecker permissionChecker, String actionId)
091 throws PortalException, SystemException {
092
093 return DLFileEntryPermission.contains(
094 permissionChecker, _dlFileEntry, actionId);
095 }
096
097 @Override
098 public boolean equals(Object obj) {
099 if (this == obj) {
100 return true;
101 }
102
103 if (!(obj instanceof LiferayFileEntry)) {
104 return false;
105 }
106
107 LiferayFileEntry liferayFileEntry = (LiferayFileEntry)obj;
108
109 if (Validator.equals(_dlFileEntry, liferayFileEntry._dlFileEntry)) {
110 return true;
111 }
112
113 return false;
114 }
115
116 @Override
117 public Map<String, Serializable> getAttributes() {
118 ExpandoBridge expandoBridge = getExpandoBridge();
119
120 return expandoBridge.getAttributes();
121 }
122
123 public FileVersion getCachedFileVersion() {
124 if (_dlFileVersion == null) {
125 return null;
126 }
127
128 return new LiferayFileVersion(_dlFileVersion);
129 }
130
131 @Override
132 public long getCompanyId() {
133 return _dlFileEntry.getCompanyId();
134 }
135
136 @Override
137 public InputStream getContentStream()
138 throws PortalException, SystemException {
139
140 return _dlFileEntry.getContentStream();
141 }
142
143 @Override
144 public InputStream getContentStream(String version)
145 throws PortalException, SystemException {
146
147 return _dlFileEntry.getContentStream(version);
148 }
149
150 @Override
151 public Date getCreateDate() {
152 return _dlFileEntry.getCreateDate();
153 }
154
155 @Override
156 public String getDescription() {
157 return _dlFileEntry.getDescription();
158 }
159
160 public DLFileEntry getDLFileEntry() {
161 return _dlFileEntry;
162 }
163
164 @Override
165 public ExpandoBridge getExpandoBridge() {
166 return _dlFileEntry.getExpandoBridge();
167 }
168
169 @Override
170 public String getExtension() {
171 return _dlFileEntry.getExtension();
172 }
173
174 @Override
175 public long getFileEntryId() {
176 return _dlFileEntry.getFileEntryId();
177 }
178
179 @Override
180 public FileVersion getFileVersion()
181 throws PortalException, SystemException {
182
183 DLFileVersion dlFileVersion = _dlFileVersion;
184
185 if (dlFileVersion == null) {
186 dlFileVersion = _dlFileEntry.getFileVersion();
187 }
188
189 return new LiferayFileVersion(dlFileVersion);
190 }
191
192 @Override
193 public FileVersion getFileVersion(String version)
194 throws PortalException, SystemException {
195
196 return new LiferayFileVersion(_dlFileEntry.getFileVersion(version));
197 }
198
199 @Override
200 public List<FileVersion> getFileVersions(int status)
201 throws SystemException {
202
203 return toFileVersions(_dlFileEntry.getFileVersions(status));
204 }
205
206 @Override
207 public Folder getFolder() {
208 Folder folder = null;
209
210 try {
211 folder = new LiferayFolder(_dlFileEntry.getFolder());
212 }
213 catch (Exception e) {
214 return null;
215 }
216
217 return folder;
218 }
219
220 @Override
221 public long getFolderId() {
222 return _dlFileEntry.getFolderId();
223 }
224
225 @Override
226 public long getGroupId() {
227 return _dlFileEntry.getGroupId();
228 }
229
230 @Override
231 public String getIcon() {
232 return _dlFileEntry.getIcon();
233 }
234
235 @Override
236 public FileVersion getLatestFileVersion()
237 throws PortalException, SystemException {
238
239 return new LiferayFileVersion(_dlFileEntry.getLatestFileVersion(false));
240 }
241
242 @Override
243 public Lock getLock() {
244 return _dlFileEntry.getLock();
245 }
246
247 @Override
248 public String getMimeType() {
249 return _dlFileEntry.getMimeType();
250 }
251
252 @Override
253 public String getMimeType(String version) {
254 try {
255 DLFileVersion dlFileVersion =
256 DLFileVersionLocalServiceUtil.getFileVersion(
257 _dlFileEntry.getFileEntryId(), version);
258
259 return dlFileVersion.getMimeType();
260 }
261 catch (Exception e) {
262 }
263
264 return ContentTypes.APPLICATION_OCTET_STREAM;
265 }
266
267 @Override
268 public Object getModel() {
269 return _dlFileEntry;
270 }
271
272 @Override
273 public Class<?> getModelClass() {
274 return LiferayFileEntry.class;
275 }
276
277 @Override
278 public String getModelClassName() {
279 return LiferayFileEntry.class.getName();
280 }
281
282 @Override
283 public Date getModifiedDate() {
284 return _dlFileEntry.getModifiedDate();
285 }
286
287 @Override
288 public long getPrimaryKey() {
289 return _dlFileEntry.getPrimaryKey();
290 }
291
292 @Override
293 public Serializable getPrimaryKeyObj() {
294 return getPrimaryKey();
295 }
296
297 @Override
298 public int getReadCount() {
299 return _dlFileEntry.getReadCount();
300 }
301
302 @Override
303 public long getRepositoryId() {
304 return _dlFileEntry.getRepositoryId();
305 }
306
307 @Override
308 public long getSize() {
309 return _dlFileEntry.getSize();
310 }
311
312 @Override
313 public StagedModelType getStagedModelType() {
314 return new StagedModelType(DLFileEntryConstants.getClassName());
315 }
316
317 @Override
318 public String getTitle() {
319 return _dlFileEntry.getTitle();
320 }
321
322 @Override
323 public long getUserId() {
324 return _dlFileEntry.getUserId();
325 }
326
327 @Override
328 public String getUserName() {
329 return _dlFileEntry.getUserName();
330 }
331
332 @Override
333 public String getUserUuid() throws SystemException {
334 return _dlFileEntry.getUserUuid();
335 }
336
337 @Override
338 public String getUuid() {
339 return _dlFileEntry.getUuid();
340 }
341
342 @Override
343 public String getVersion() {
344 return _dlFileEntry.getVersion();
345 }
346
347
350 @Override
351 public long getVersionUserId() {
352 long versionUserId = 0;
353
354 try {
355 DLFileVersion dlFileVersion = _dlFileEntry.getFileVersion();
356
357 versionUserId = dlFileVersion.getUserId();
358 }
359 catch (Exception e) {
360 _log.error(e, e);
361 }
362
363 return versionUserId;
364 }
365
366
369 @Override
370 public String getVersionUserName() {
371 String versionUserName = StringPool.BLANK;
372
373 try {
374 DLFileVersion dlFileVersion = _dlFileEntry.getFileVersion();
375
376 versionUserName = dlFileVersion.getUserName();
377 }
378 catch (Exception e) {
379 _log.error(e, e);
380 }
381
382 return versionUserName;
383 }
384
385
388 @Override
389 public String getVersionUserUuid() {
390 String versionUserUuid = StringPool.BLANK;
391
392 try {
393 DLFileVersion dlFileVersion = _dlFileEntry.getFileVersion();
394
395 versionUserUuid = dlFileVersion.getUserUuid();
396 }
397 catch (Exception e) {
398 _log.error(e, e);
399 }
400
401 return versionUserUuid;
402 }
403
404 @Override
405 public int hashCode() {
406 return _dlFileEntry.hashCode();
407 }
408
409 @Override
410 public boolean hasLock() {
411 return _dlFileEntry.hasLock();
412 }
413
414 @Override
415 public boolean isCheckedOut() {
416 return _dlFileEntry.isCheckedOut();
417 }
418
419 @Override
420 public boolean isDefaultRepository() {
421 if (_dlFileEntry.getGroupId() == _dlFileEntry.getRepositoryId()) {
422 return true;
423 }
424 else {
425 return false;
426 }
427 }
428
429 @Override
430 public boolean isEscapedModel() {
431 return _escapedModel;
432 }
433
434 @Override
435 public boolean isInTrash() {
436 return _dlFileEntry.isInTrash();
437 }
438
439 @Override
440 public boolean isInTrashContainer() {
441 try {
442 return _dlFileEntry.isInTrashContainer();
443 }
444 catch (Exception e) {
445 return false;
446 }
447 }
448
449 @Override
450 public boolean isManualCheckInRequired() {
451 return _dlFileEntry.isManualCheckInRequired();
452 }
453
454 @Override
455 public boolean isSupportsLocking() {
456 return true;
457 }
458
459 @Override
460 public boolean isSupportsMetadata() {
461 return true;
462 }
463
464 @Override
465 public boolean isSupportsSocial() {
466 return true;
467 }
468
469 public void setCachedFileVersion(FileVersion fileVersion) {
470 _dlFileVersion = (DLFileVersion)fileVersion.getModel();
471 }
472
473 @Override
474 public void setCompanyId(long companyId) {
475 _dlFileEntry.setCompanyId(companyId);
476 }
477
478 @Override
479 public void setCreateDate(Date date) {
480 _dlFileEntry.setCreateDate(date);
481 }
482
483 @Override
484 public void setGroupId(long groupId) {
485 _dlFileEntry.setGroupId(groupId);
486 }
487
488 @Override
489 public void setModifiedDate(Date date) {
490 _dlFileEntry.setModifiedDate(date);
491 }
492
493 public void setPrimaryKey(long primaryKey) {
494 _dlFileEntry.setPrimaryKey(primaryKey);
495 }
496
497 @Override
498 public void setPrimaryKeyObj(Serializable primaryKeyObj) {
499 setPrimaryKey(((Long)primaryKeyObj).longValue());
500 }
501
502 @Override
503 public void setUserId(long userId) {
504 _dlFileEntry.setUserId(userId);
505 }
506
507 @Override
508 public void setUserName(String userName) {
509 _dlFileEntry.setUserName(userName);
510 }
511
512 @Override
513 public void setUserUuid(String userUuid) {
514 _dlFileEntry.setUserUuid(userUuid);
515 }
516
517 @Override
518 public void setUuid(String uuid) {
519 _dlFileEntry.setUuid(uuid);
520 }
521
522 @Override
523 public FileEntry toEscapedModel() {
524 if (isEscapedModel()) {
525 return this;
526 }
527 else {
528 return new LiferayFileEntry(_dlFileEntry.toEscapedModel(), true);
529 }
530 }
531
532 @Override
533 public String toString() {
534 return _dlFileEntry.toString();
535 }
536
537 @Override
538 public FileEntry toUnescapedModel() {
539 if (isEscapedModel()) {
540 return new LiferayFileEntry(_dlFileEntry.toUnescapedModel(), true);
541 }
542 else {
543 return this;
544 }
545 }
546
547 private static Log _log = LogFactoryUtil.getLog(LiferayFileEntry.class);
548
549 private DLFileEntry _dlFileEntry;
550 private DLFileVersion _dlFileVersion;
551 private boolean _escapedModel;
552
553 }