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