/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.document.library.repository.external.model; import com.liferay.document.library.kernel.util.DLUtil; import com.liferay.document.library.repository.external.ExtRepositoryAdapter; import com.liferay.document.library.repository.external.ExtRepositoryFileVersion; import com.liferay.exportimport.kernel.lar.StagedModelType; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.repository.model.FileEntry; import com.liferay.portal.kernel.repository.model.FileVersion; import com.liferay.portal.kernel.repository.model.RepositoryModelOperation; import com.liferay.portal.kernel.util.MimeTypesUtil; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.kernel.workflow.WorkflowConstants; import java.io.InputStream; import java.util.Date; /** * @author Iván Zaera * @author Sergio González */ public class ExtRepositoryFileVersionAdapter extends ExtRepositoryModelAdapter<FileVersion> implements FileVersion { public ExtRepositoryFileVersionAdapter( ExtRepositoryAdapter extRepositoryAdapter, long extRepositoryObjectId, String uuid, ExtRepositoryFileEntryAdapter extRepositoryFileEntryAdapter, ExtRepositoryFileVersion extRepositoryFileVersion) { super( extRepositoryAdapter, extRepositoryObjectId, uuid, extRepositoryFileVersion); _extRepositoryFileEntryAdapter = extRepositoryFileEntryAdapter; _extRepositoryFileVersion = extRepositoryFileVersion; } @Override public void execute(RepositoryModelOperation repositoryModelOperation) throws PortalException { repositoryModelOperation.execute(this); } @Override public String getChangeLog() { return _extRepositoryFileVersion.getChangeLog(); } @Override public InputStream getContentStream(boolean incrementCounter) throws PortalException { ExtRepositoryAdapter extRepositoryAdapter = getRepository(); return extRepositoryAdapter.getContentStream(this); } @Override public String getExtension() { return _extRepositoryFileEntryAdapter.getExtension(); } @Override public String getExtraSettings() { return null; } @Override public ExtRepositoryFileVersion getExtRepositoryModel() { return _extRepositoryFileVersion; } @Override @SuppressWarnings("unused") public FileEntry getFileEntry() throws PortalException { return _extRepositoryFileEntryAdapter; } @Override public long getFileEntryId() { return _extRepositoryFileEntryAdapter.getFileEntryId(); } @Override public String getFileName() { return DLUtil.getSanitizedFileName(getTitle(), getExtension()); } @Override public long getFileVersionId() { return getPrimaryKey(); } @Override public String getIcon() { return DLUtil.getFileIcon(getExtension()); } @Override public String getMimeType() { String mimeType = _extRepositoryFileVersion.getMimeType(); if (Validator.isNull(mimeType)) { mimeType = MimeTypesUtil.getContentType(getTitle()); } return mimeType; } @Override public Class<?> getModelClass() { return FileVersion.class; } @Override public Date getModifiedDate() { return getCreateDate(); } @Override public StagedModelType getStagedModelType() { return new StagedModelType(FileVersion.class); } @Override public int getStatus() { return WorkflowConstants.STATUS_APPROVED; } @Override public long getStatusByUserId() { return getUserId(); } @Override public String getStatusByUserName() { return getUserName(); } @Override public String getStatusByUserUuid() { return getUserUuid(); } @Override public Date getStatusDate() { return getCreateDate(); } @Override public String getTitle() { return _extRepositoryFileEntryAdapter.getTitle(); } @Override public String getVersion() { return _extRepositoryFileVersion.getVersion(); } @Override public boolean isApproved() { return false; } @Override public boolean isDraft() { return false; } @Override public boolean isExpired() { return false; } @Override public boolean isPending() { return false; } private final ExtRepositoryFileEntryAdapter _extRepositoryFileEntryAdapter; private final ExtRepositoryFileVersion _extRepositoryFileVersion; }