001    /**
002     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
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.repository.model.FileEntry;
020    import com.liferay.portal.kernel.repository.model.FileVersion;
021    import com.liferay.portal.security.auth.PrincipalThreadLocal;
022    import com.liferay.portlet.documentlibrary.model.DLFileVersion;
023    import com.liferay.portlet.documentlibrary.model.DLFolder;
024    import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil;
025    import com.liferay.portlet.expando.model.ExpandoBridge;
026    import com.liferay.portlet.trash.util.TrashUtil;
027    
028    import java.io.File;
029    import java.io.InputStream;
030    import java.io.Serializable;
031    
032    import java.util.Date;
033    import java.util.Map;
034    
035    /**
036     * @author Alexander Chow
037     */
038    public class LiferayFileVersion extends LiferayModel implements FileVersion {
039    
040            public LiferayFileVersion(DLFileVersion dlFileVersion) {
041                    _dlFileVersion = dlFileVersion;
042            }
043    
044            public LiferayFileVersion(
045                    DLFileVersion dlFileVersion, boolean escapedModel) {
046    
047                    _dlFileVersion = dlFileVersion;
048                    _escapedModel = escapedModel;
049            }
050    
051            public Map<String, Serializable> getAttributes() {
052                    ExpandoBridge expandoBridge = _dlFileVersion.getExpandoBridge();
053    
054                    return expandoBridge.getAttributes();
055            }
056    
057            public String getChangeLog() {
058                    return _dlFileVersion.getChangeLog();
059            }
060    
061            @Override
062            public long getCompanyId() {
063                    return _dlFileVersion.getCompanyId();
064            }
065    
066            public InputStream getContentStream(boolean incrementCounter)
067                    throws PortalException, SystemException {
068    
069                    return _dlFileVersion.getContentStream(incrementCounter);
070            }
071    
072            public Date getCreateDate() {
073                    return _dlFileVersion.getCreateDate();
074            }
075    
076            public String getDescription() {
077                    return _dlFileVersion.getDescription();
078            }
079    
080            @Override
081            public ExpandoBridge getExpandoBridge() {
082                    return _dlFileVersion.getExpandoBridge();
083            }
084    
085            public String getExtension() {
086                    return _dlFileVersion.getExtension();
087            }
088    
089            public String getExtraSettings() {
090                    return _dlFileVersion.getExtraSettings();
091            }
092    
093            public File getFile(boolean incrementCounter)
094                    throws PortalException, SystemException {
095    
096                    return DLFileEntryLocalServiceUtil.getFile(
097                            PrincipalThreadLocal.getUserId(), _dlFileVersion.getFileEntryId(),
098                            _dlFileVersion.getVersion(), incrementCounter);
099            }
100    
101            public FileEntry getFileEntry() throws PortalException, SystemException {
102                    return new LiferayFileEntry(_dlFileVersion.getFileEntry());
103            }
104    
105            public long getFileEntryId() {
106                    return _dlFileVersion.getFileEntryId();
107            }
108    
109            public long getFileVersionId() {
110                    return _dlFileVersion.getFileVersionId();
111            }
112    
113            public long getGroupId() {
114                    return _dlFileVersion.getGroupId();
115            }
116    
117            public String getIcon() {
118                    return _dlFileVersion.getIcon();
119            }
120    
121            public String getMimeType() {
122                    return _dlFileVersion.getMimeType();
123            }
124    
125            public Object getModel() {
126                    return _dlFileVersion;
127            }
128    
129            public Class<?> getModelClass() {
130                    return DLFileVersion.class;
131            }
132    
133            @Override
134            public String getModelClassName() {
135                    return DLFileVersion.class.getName();
136            }
137    
138            public Date getModifiedDate() {
139                    return _dlFileVersion.getModifiedDate();
140            }
141    
142            @Override
143            public long getPrimaryKey() {
144                    return _dlFileVersion.getPrimaryKey();
145            }
146    
147            public Serializable getPrimaryKeyObj() {
148                    return getPrimaryKey();
149            }
150    
151            public long getRepositoryId() {
152                    return _dlFileVersion.getRepositoryId();
153            }
154    
155            public long getSize() {
156                    return _dlFileVersion.getSize();
157            }
158    
159            public int getStatus() {
160                    return _dlFileVersion.getStatus();
161            }
162    
163            public long getStatusByUserId() {
164                    return _dlFileVersion.getStatusByUserId();
165            }
166    
167            public String getStatusByUserName() {
168                    return _dlFileVersion.getStatusByUserName();
169            }
170    
171            public String getStatusByUserUuid() throws SystemException {
172                    return _dlFileVersion.getStatusByUserUuid();
173            }
174    
175            public Date getStatusDate() {
176                    return _dlFileVersion.getStatusDate();
177            }
178    
179            public String getTitle() {
180                    return TrashUtil.stripTrashNamespace(_dlFileVersion.getTitle());
181            }
182    
183            public DLFolder getTrashFolder() {
184                    return _dlFileVersion.getTrashFolder();
185            }
186    
187            public long getUserId() {
188                    return _dlFileVersion.getUserId();
189            }
190    
191            public String getUserName() {
192                    return _dlFileVersion.getUserName();
193            }
194    
195            public String getUserUuid() throws SystemException {
196                    return _dlFileVersion.getUserUuid();
197            }
198    
199            public String getUuid() {
200                    return _dlFileVersion.getUuid();
201            }
202    
203            public String getVersion() {
204                    return _dlFileVersion.getVersion();
205            }
206    
207            public boolean isApproved() {
208                    return _dlFileVersion.isApproved();
209            }
210    
211            public boolean isDefaultRepository() {
212                    if (_dlFileVersion.getGroupId() == _dlFileVersion.getRepositoryId()) {
213                            return true;
214                    }
215                    else {
216                            return false;
217                    }
218            }
219    
220            public boolean isDraft() {
221                    return _dlFileVersion.isDraft();
222            }
223    
224            public boolean isEscapedModel() {
225                    return _escapedModel;
226            }
227    
228            public boolean isExpired() {
229                    return _dlFileVersion.isExpired();
230            }
231    
232            public boolean isInTrash() {
233                    return _dlFileVersion.isInTrash();
234            }
235    
236            public boolean isInTrashFolder() {
237                    return _dlFileVersion.isInTrashFolder();
238            }
239    
240            public boolean isPending() {
241                    return _dlFileVersion.isPending();
242            }
243    
244            public void setCompanyId(long companyId) {
245                    _dlFileVersion.setCompanyId(companyId);
246            }
247    
248            public void setCreateDate(Date date) {
249                    _dlFileVersion.setCreateDate(date);
250            }
251    
252            public void setGroupId(long groupId) {
253                    _dlFileVersion.setGroupId(groupId);
254            }
255    
256            public void setModifiedDate(Date date) {
257            }
258    
259            public void setPrimaryKey(long primaryKey) {
260                    _dlFileVersion.setPrimaryKey(primaryKey);
261            }
262    
263            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
264                    setPrimaryKey(((Long)primaryKeyObj).longValue());
265            }
266    
267            public void setUserId(long userId) {
268                    _dlFileVersion.setUserId(userId);
269            }
270    
271            public void setUserName(String userName) {
272                    _dlFileVersion.setUserName(userName);
273            }
274    
275            public void setUserUuid(String userUuid) {
276                    _dlFileVersion.setUserUuid(userUuid);
277            }
278    
279            public FileVersion toEscapedModel() {
280                    if (isEscapedModel()) {
281                            return this;
282                    }
283                    else {
284                            return new LiferayFileVersion(
285                                    _dlFileVersion.toEscapedModel(), true);
286                    }
287            }
288    
289            private DLFileVersion _dlFileVersion;
290            private boolean _escapedModel;
291    
292    }