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.service.DLFileEntryLocalServiceUtil;
024    import com.liferay.portlet.expando.model.ExpandoBridge;
025    
026    import java.io.File;
027    import java.io.InputStream;
028    import java.io.Serializable;
029    
030    import java.util.Date;
031    import java.util.Map;
032    
033    /**
034     * @author Alexander Chow
035     */
036    public class LiferayFileVersion extends LiferayModel implements FileVersion {
037    
038            public LiferayFileVersion(DLFileVersion dlFileVersion) {
039                    _dlFileVersion = dlFileVersion;
040            }
041    
042            public LiferayFileVersion(
043                    DLFileVersion dlFileVersion, boolean escapedModel) {
044    
045                    _dlFileVersion = dlFileVersion;
046                    _escapedModel = escapedModel;
047            }
048    
049            public Map<String, Serializable> getAttributes() {
050                    ExpandoBridge expandoBridge = _dlFileVersion.getExpandoBridge();
051    
052                    return expandoBridge.getAttributes();
053            }
054    
055            public String getChangeLog() {
056                    return _dlFileVersion.getChangeLog();
057            }
058    
059            @Override
060            public long getCompanyId() {
061                    return _dlFileVersion.getCompanyId();
062            }
063    
064            public InputStream getContentStream(boolean incrementCounter)
065                    throws PortalException, SystemException {
066    
067                    return _dlFileVersion.getContentStream(incrementCounter);
068            }
069    
070            public Date getCreateDate() {
071                    return _dlFileVersion.getCreateDate();
072            }
073    
074            public String getDescription() {
075                    return _dlFileVersion.getDescription();
076            }
077    
078            @Override
079            public ExpandoBridge getExpandoBridge() {
080                    return _dlFileVersion.getExpandoBridge();
081            }
082    
083            public String getExtension() {
084                    return _dlFileVersion.getExtension();
085            }
086    
087            public String getExtraSettings() {
088                    return _dlFileVersion.getExtraSettings();
089            }
090    
091            public File getFile(boolean incrementCounter)
092                    throws PortalException, SystemException {
093    
094                    return DLFileEntryLocalServiceUtil.getFile(
095                            PrincipalThreadLocal.getUserId(), _dlFileVersion.getFileEntryId(),
096                            _dlFileVersion.getVersion(), incrementCounter);
097            }
098    
099            public FileEntry getFileEntry() throws PortalException, SystemException {
100                    return new LiferayFileEntry(_dlFileVersion.getFileEntry());
101            }
102    
103            public long getFileEntryId() {
104                    return _dlFileVersion.getFileEntryId();
105            }
106    
107            public long getFileVersionId() {
108                    return _dlFileVersion.getFileVersionId();
109            }
110    
111            public long getGroupId() {
112                    return _dlFileVersion.getGroupId();
113            }
114    
115            public String getIcon() {
116                    return _dlFileVersion.getIcon();
117            }
118    
119            public String getMimeType() {
120                    return _dlFileVersion.getMimeType();
121            }
122    
123            public Object getModel() {
124                    return _dlFileVersion;
125            }
126    
127            public Class<?> getModelClass() {
128                    return DLFileVersion.class;
129            }
130    
131            @Override
132            public String getModelClassName() {
133                    return DLFileVersion.class.getName();
134            }
135    
136            public Date getModifiedDate() {
137                    return _dlFileVersion.getModifiedDate();
138            }
139    
140            @Override
141            public long getPrimaryKey() {
142                    return _dlFileVersion.getPrimaryKey();
143            }
144    
145            public Serializable getPrimaryKeyObj() {
146                    return getPrimaryKey();
147            }
148    
149            public long getRepositoryId() {
150                    return _dlFileVersion.getRepositoryId();
151            }
152    
153            public long getSize() {
154                    return _dlFileVersion.getSize();
155            }
156    
157            public int getStatus() {
158                    return _dlFileVersion.getStatus();
159            }
160    
161            public long getStatusByUserId() {
162                    return _dlFileVersion.getStatusByUserId();
163            }
164    
165            public String getStatusByUserName() {
166                    return _dlFileVersion.getStatusByUserName();
167            }
168    
169            public String getStatusByUserUuid() throws SystemException {
170                    return _dlFileVersion.getStatusByUserUuid();
171            }
172    
173            public Date getStatusDate() {
174                    return _dlFileVersion.getStatusDate();
175            }
176    
177            public String getTitle() {
178                    return _dlFileVersion.getTitle();
179            }
180    
181            public long getUserId() {
182                    return _dlFileVersion.getUserId();
183            }
184    
185            public String getUserName() {
186                    return _dlFileVersion.getUserName();
187            }
188    
189            public String getUserUuid() throws SystemException {
190                    return _dlFileVersion.getUserUuid();
191            }
192    
193            public String getUuid() {
194                    return _dlFileVersion.getUuid();
195            }
196    
197            public String getVersion() {
198                    return _dlFileVersion.getVersion();
199            }
200    
201            public boolean isApproved() {
202                    return _dlFileVersion.isApproved();
203            }
204    
205            public boolean isDefaultRepository() {
206                    if (_dlFileVersion.getGroupId() == _dlFileVersion.getRepositoryId()) {
207                            return true;
208                    }
209                    else {
210                            return false;
211                    }
212            }
213    
214            public boolean isDraft() {
215                    return _dlFileVersion.isDraft();
216            }
217    
218            public boolean isEscapedModel() {
219                    return _escapedModel;
220            }
221    
222            public boolean isExpired() {
223                    return _dlFileVersion.isExpired();
224            }
225    
226            public boolean isPending() {
227                    return _dlFileVersion.isPending();
228            }
229    
230            public void setCompanyId(long companyId) {
231                    _dlFileVersion.setCompanyId(companyId);
232            }
233    
234            public void setCreateDate(Date date) {
235                    _dlFileVersion.setCreateDate(date);
236            }
237    
238            public void setGroupId(long groupId) {
239                    _dlFileVersion.setGroupId(groupId);
240            }
241    
242            public void setModifiedDate(Date date) {
243            }
244    
245            public void setPrimaryKey(long primaryKey) {
246                    _dlFileVersion.setPrimaryKey(primaryKey);
247            }
248    
249            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
250                    setPrimaryKey(((Long)primaryKeyObj).longValue());
251            }
252    
253            public void setUserId(long userId) {
254                    _dlFileVersion.setUserId(userId);
255            }
256    
257            public void setUserName(String userName) {
258                    _dlFileVersion.setUserName(userName);
259            }
260    
261            public void setUserUuid(String userUuid) {
262                    _dlFileVersion.setUserUuid(userUuid);
263            }
264    
265            public FileVersion toEscapedModel() {
266                    if (isEscapedModel()) {
267                            return this;
268                    }
269                    else {
270                            return new LiferayFileVersion(
271                                    _dlFileVersion.toEscapedModel(), true);
272                    }
273            }
274    
275            private DLFileVersion _dlFileVersion;
276            private boolean _escapedModel;
277    
278    }