/** * 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.portlet.documentlibrary.util; import com.liferay.document.library.kernel.model.DLFileEntry; import com.liferay.document.library.kernel.model.DLFileShortcut; import com.liferay.document.library.kernel.model.DLFileShortcutConstants; import com.liferay.document.library.kernel.model.DLFileVersion; import com.liferay.document.library.kernel.model.DLFolder; import com.liferay.portal.kernel.repository.model.FileEntry; import com.liferay.portal.kernel.repository.model.FileShortcut; import com.liferay.portal.kernel.repository.model.FileVersion; import com.liferay.portal.kernel.repository.model.Folder; import com.liferay.portal.kernel.repository.model.RepositoryEntry; import com.liferay.portal.kernel.util.ListUtil; import com.liferay.portal.repository.liferayrepository.model.LiferayFileEntry; import com.liferay.portal.repository.liferayrepository.model.LiferayFileShortcut; import com.liferay.portal.repository.liferayrepository.model.LiferayFileVersion; import com.liferay.portal.repository.liferayrepository.model.LiferayFolder; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; /** * @author Adolfo PĂ©rez * @author Alexander Chow */ public class RepositoryModelUtil { public static List<FileEntry> toFileEntries( List<DLFileEntry> dlFileEntries) { List<FileEntry> fileEntries = new ArrayList<>(dlFileEntries.size()); for (DLFileEntry dlFileEntry : dlFileEntries) { FileEntry fileEntry = new LiferayFileEntry(dlFileEntry); fileEntries.add(fileEntry); } if (ListUtil.isUnmodifiableList(dlFileEntries)) { return Collections.unmodifiableList(fileEntries); } else { return fileEntries; } } public static List<FileShortcut> toFileShortcuts( List<DLFileShortcut> dlFileShortcuts) { List<FileShortcut> fileShortcuts = new ArrayList<>( dlFileShortcuts.size()); for (DLFileShortcut dlFileShortcut : dlFileShortcuts) { FileShortcut fileShortcut = new LiferayFileShortcut(dlFileShortcut); fileShortcuts.add(fileShortcut); } if (ListUtil.isUnmodifiableList(dlFileShortcuts)) { return Collections.unmodifiableList(fileShortcuts); } else { return fileShortcuts; } } public static List<FileVersion> toFileVersions( List<DLFileVersion> dlFileVersions) { List<FileVersion> fileVersions = new ArrayList<>(dlFileVersions.size()); for (DLFileVersion dlFileVersion : dlFileVersions) { FileVersion fileVersion = new LiferayFileVersion(dlFileVersion); fileVersions.add(fileVersion); } if (ListUtil.isUnmodifiableList(dlFileVersions)) { return Collections.unmodifiableList(fileVersions); } else { return fileVersions; } } public static List<Folder> toFolders(List<DLFolder> dlFolders) { List<Folder> folders = new ArrayList<>(dlFolders.size()); for (DLFolder dlFolder : dlFolders) { Folder folder = new LiferayFolder(dlFolder); folders.add(folder); } if (ListUtil.isUnmodifiableList(dlFolders)) { return Collections.unmodifiableList(folders); } else { return folders; } } public static List<RepositoryEntry> toRepositoryEntries( List<Object> dlFoldersAndDLFileEntriesAndDLFileShortcuts) { List<RepositoryEntry> repositoryEntries = new ArrayList<>( dlFoldersAndDLFileEntriesAndDLFileShortcuts.size()); for (Object object : dlFoldersAndDLFileEntriesAndDLFileShortcuts) { if (object instanceof DLFileEntry) { DLFileEntry dlFileEntry = (DLFileEntry)object; FileEntry fileEntry = new LiferayFileEntry(dlFileEntry); repositoryEntries.add(fileEntry); } else if (object instanceof DLFolder) { DLFolder dlFolder = (DLFolder)object; Folder folder = new LiferayFolder(dlFolder); repositoryEntries.add(folder); } else if (object instanceof DLFileShortcut) { DLFileShortcut dlFileShortcut = (DLFileShortcut)object; FileShortcut fileShortcut = new LiferayFileShortcut( dlFileShortcut); repositoryEntries.add(fileShortcut); } else { throw new IllegalArgumentException( String.format( "Expected an instance of one of: %s; got %s", Arrays.asList( DLFileEntry.class.getName(), DLFolder.class.getName(), DLFileShortcutConstants.getClassName()), object)); } } if (ListUtil.isUnmodifiableList( dlFoldersAndDLFileEntriesAndDLFileShortcuts)) { return Collections.unmodifiableList(repositoryEntries); } else { return repositoryEntries; } } }