001    /**
002     * Copyright (c) 2000-2013 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.kernel.util.Validator;
022    import com.liferay.portal.security.auth.PrincipalThreadLocal;
023    import com.liferay.portlet.documentlibrary.model.DLFileVersion;
024    import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil;
025    import com.liferay.portlet.expando.model.ExpandoBridge;
026    
027    import java.io.File;
028    import java.io.InputStream;
029    import java.io.Serializable;
030    
031    import java.util.Date;
032    import java.util.Map;
033    
034    /**
035     * @author Alexander Chow
036     */
037    public class LiferayFileVersion extends LiferayModel implements FileVersion {
038    
039            public LiferayFileVersion(DLFileVersion dlFileVersion) {
040                    _dlFileVersion = dlFileVersion;
041            }
042    
043            public LiferayFileVersion(
044                    DLFileVersion dlFileVersion, boolean escapedModel) {
045    
046                    _dlFileVersion = dlFileVersion;
047                    _escapedModel = escapedModel;
048            }
049    
050            @Override
051            public boolean equals(Object obj) {
052                    if (this == obj) {
053                            return true;
054                    }
055    
056                    if (!(obj instanceof LiferayFileVersion)) {
057                            return false;
058                    }
059    
060                    LiferayFileVersion liferayFileVersion = (LiferayFileVersion)obj;
061    
062                    if (Validator.equals(
063                                    _dlFileVersion, liferayFileVersion._dlFileVersion)) {
064    
065                            return true;
066                    }
067    
068                    return false;
069            }
070    
071            @Override
072            public Map<String, Serializable> getAttributes() {
073                    ExpandoBridge expandoBridge = _dlFileVersion.getExpandoBridge();
074    
075                    return expandoBridge.getAttributes();
076            }
077    
078            @Override
079            public String getChangeLog() {
080                    return _dlFileVersion.getChangeLog();
081            }
082    
083            @Override
084            public long getCompanyId() {
085                    return _dlFileVersion.getCompanyId();
086            }
087    
088            @Override
089            public InputStream getContentStream(boolean incrementCounter)
090                    throws PortalException, SystemException {
091    
092                    return _dlFileVersion.getContentStream(incrementCounter);
093            }
094    
095            @Override
096            public Date getCreateDate() {
097                    return _dlFileVersion.getCreateDate();
098            }
099    
100            @Override
101            public String getDescription() {
102                    return _dlFileVersion.getDescription();
103            }
104    
105            @Override
106            public ExpandoBridge getExpandoBridge() {
107                    return _dlFileVersion.getExpandoBridge();
108            }
109    
110            @Override
111            public String getExtension() {
112                    return _dlFileVersion.getExtension();
113            }
114    
115            @Override
116            public String getExtraSettings() {
117                    return _dlFileVersion.getExtraSettings();
118            }
119    
120            public File getFile(boolean incrementCounter)
121                    throws PortalException, SystemException {
122    
123                    return DLFileEntryLocalServiceUtil.getFile(
124                            PrincipalThreadLocal.getUserId(), _dlFileVersion.getFileEntryId(),
125                            _dlFileVersion.getVersion(), incrementCounter);
126            }
127    
128            @Override
129            public FileEntry getFileEntry() throws PortalException, SystemException {
130                    return new LiferayFileEntry(_dlFileVersion.getFileEntry());
131            }
132    
133            @Override
134            public long getFileEntryId() {
135                    return _dlFileVersion.getFileEntryId();
136            }
137    
138            @Override
139            public long getFileVersionId() {
140                    return _dlFileVersion.getFileVersionId();
141            }
142    
143            @Override
144            public long getGroupId() {
145                    return _dlFileVersion.getGroupId();
146            }
147    
148            @Override
149            public String getIcon() {
150                    return _dlFileVersion.getIcon();
151            }
152    
153            @Override
154            public String getMimeType() {
155                    return _dlFileVersion.getMimeType();
156            }
157    
158            @Override
159            public Object getModel() {
160                    return _dlFileVersion;
161            }
162    
163            @Override
164            public Class<?> getModelClass() {
165                    return DLFileVersion.class;
166            }
167    
168            @Override
169            public String getModelClassName() {
170                    return DLFileVersion.class.getName();
171            }
172    
173            @Override
174            public Date getModifiedDate() {
175                    return _dlFileVersion.getModifiedDate();
176            }
177    
178            @Override
179            public long getPrimaryKey() {
180                    return _dlFileVersion.getPrimaryKey();
181            }
182    
183            @Override
184            public Serializable getPrimaryKeyObj() {
185                    return getPrimaryKey();
186            }
187    
188            @Override
189            public long getRepositoryId() {
190                    return _dlFileVersion.getRepositoryId();
191            }
192    
193            @Override
194            public long getSize() {
195                    return _dlFileVersion.getSize();
196            }
197    
198            @Override
199            public int getStatus() {
200                    return _dlFileVersion.getStatus();
201            }
202    
203            @Override
204            public long getStatusByUserId() {
205                    return _dlFileVersion.getStatusByUserId();
206            }
207    
208            @Override
209            public String getStatusByUserName() {
210                    return _dlFileVersion.getStatusByUserName();
211            }
212    
213            @Override
214            public String getStatusByUserUuid() throws SystemException {
215                    return _dlFileVersion.getStatusByUserUuid();
216            }
217    
218            @Override
219            public Date getStatusDate() {
220                    return _dlFileVersion.getStatusDate();
221            }
222    
223            @Override
224            public String getTitle() {
225                    return _dlFileVersion.getTitle();
226            }
227    
228            @Override
229            public long getUserId() {
230                    return _dlFileVersion.getUserId();
231            }
232    
233            @Override
234            public String getUserName() {
235                    return _dlFileVersion.getUserName();
236            }
237    
238            @Override
239            public String getUserUuid() throws SystemException {
240                    return _dlFileVersion.getUserUuid();
241            }
242    
243            @Override
244            public String getUuid() {
245                    return _dlFileVersion.getUuid();
246            }
247    
248            @Override
249            public String getVersion() {
250                    return _dlFileVersion.getVersion();
251            }
252    
253            @Override
254            public boolean isApproved() {
255                    return _dlFileVersion.isApproved();
256            }
257    
258            @Override
259            public boolean isDefaultRepository() {
260                    if (_dlFileVersion.getGroupId() == _dlFileVersion.getRepositoryId()) {
261                            return true;
262                    }
263                    else {
264                            return false;
265                    }
266            }
267    
268            @Override
269            public boolean isDraft() {
270                    return _dlFileVersion.isDraft();
271            }
272    
273            @Override
274            public boolean isEscapedModel() {
275                    return _escapedModel;
276            }
277    
278            @Override
279            public boolean isExpired() {
280                    return _dlFileVersion.isExpired();
281            }
282    
283            @Override
284            public boolean isPending() {
285                    return _dlFileVersion.isPending();
286            }
287    
288            @Override
289            public void setCompanyId(long companyId) {
290                    _dlFileVersion.setCompanyId(companyId);
291            }
292    
293            @Override
294            public void setCreateDate(Date date) {
295                    _dlFileVersion.setCreateDate(date);
296            }
297    
298            @Override
299            public void setGroupId(long groupId) {
300                    _dlFileVersion.setGroupId(groupId);
301            }
302    
303            @Override
304            public void setModifiedDate(Date date) {
305            }
306    
307            public void setPrimaryKey(long primaryKey) {
308                    _dlFileVersion.setPrimaryKey(primaryKey);
309            }
310    
311            @Override
312            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
313                    setPrimaryKey(((Long)primaryKeyObj).longValue());
314            }
315    
316            @Override
317            public void setUserId(long userId) {
318                    _dlFileVersion.setUserId(userId);
319            }
320    
321            @Override
322            public void setUserName(String userName) {
323                    _dlFileVersion.setUserName(userName);
324            }
325    
326            @Override
327            public void setUserUuid(String userUuid) {
328                    _dlFileVersion.setUserUuid(userUuid);
329            }
330    
331            @Override
332            public FileVersion toEscapedModel() {
333                    if (isEscapedModel()) {
334                            return this;
335                    }
336                    else {
337                            return new LiferayFileVersion(
338                                    _dlFileVersion.toEscapedModel(), true);
339                    }
340            }
341    
342            @Override
343            public String toString() {
344                    return _dlFileVersion.toString();
345            }
346    
347            @Override
348            public FileVersion toUnescapedModel() {
349                    if (isEscapedModel()) {
350                            return new LiferayFileVersion(
351                                    _dlFileVersion.toUnescapedModel(), true);
352                    }
353                    else {
354                            return this;
355                    }
356            }
357    
358            private DLFileVersion _dlFileVersion;
359            private boolean _escapedModel;
360    
361    }