001
014
015 package com.liferay.portlet.documentlibrary.util;
016
017 import com.liferay.document.library.kernel.model.DLFileEntry;
018 import com.liferay.document.library.kernel.model.DLFileShortcut;
019 import com.liferay.document.library.kernel.model.DLFileShortcutConstants;
020 import com.liferay.document.library.kernel.model.DLFileVersion;
021 import com.liferay.document.library.kernel.model.DLFolder;
022 import com.liferay.portal.kernel.repository.model.FileEntry;
023 import com.liferay.portal.kernel.repository.model.FileShortcut;
024 import com.liferay.portal.kernel.repository.model.FileVersion;
025 import com.liferay.portal.kernel.repository.model.Folder;
026 import com.liferay.portal.kernel.repository.model.RepositoryEntry;
027 import com.liferay.portal.kernel.util.ListUtil;
028 import com.liferay.portal.repository.liferayrepository.model.LiferayFileEntry;
029 import com.liferay.portal.repository.liferayrepository.model.LiferayFileShortcut;
030 import com.liferay.portal.repository.liferayrepository.model.LiferayFileVersion;
031 import com.liferay.portal.repository.liferayrepository.model.LiferayFolder;
032
033 import java.util.ArrayList;
034 import java.util.Arrays;
035 import java.util.Collections;
036 import java.util.List;
037
038
042 public class RepositoryModelUtil {
043
044 public static List<FileEntry> toFileEntries(
045 List<DLFileEntry> dlFileEntries) {
046
047 List<FileEntry> fileEntries = new ArrayList<>(dlFileEntries.size());
048
049 for (DLFileEntry dlFileEntry : dlFileEntries) {
050 FileEntry fileEntry = new LiferayFileEntry(dlFileEntry);
051
052 fileEntries.add(fileEntry);
053 }
054
055 if (ListUtil.isUnmodifiableList(dlFileEntries)) {
056 return Collections.unmodifiableList(fileEntries);
057 }
058 else {
059 return fileEntries;
060 }
061 }
062
063 public static List<FileShortcut> toFileShortcuts(
064 List<DLFileShortcut> dlFileShortcuts) {
065
066 List<FileShortcut> fileShortcuts = new ArrayList<>(
067 dlFileShortcuts.size());
068
069 for (DLFileShortcut dlFileShortcut : dlFileShortcuts) {
070 FileShortcut fileShortcut = new LiferayFileShortcut(dlFileShortcut);
071
072 fileShortcuts.add(fileShortcut);
073 }
074
075 if (ListUtil.isUnmodifiableList(dlFileShortcuts)) {
076 return Collections.unmodifiableList(fileShortcuts);
077 }
078 else {
079 return fileShortcuts;
080 }
081 }
082
083 public static List<FileVersion> toFileVersions(
084 List<DLFileVersion> dlFileVersions) {
085
086 List<FileVersion> fileVersions = new ArrayList<>(dlFileVersions.size());
087
088 for (DLFileVersion dlFileVersion : dlFileVersions) {
089 FileVersion fileVersion = new LiferayFileVersion(dlFileVersion);
090
091 fileVersions.add(fileVersion);
092 }
093
094 if (ListUtil.isUnmodifiableList(dlFileVersions)) {
095 return Collections.unmodifiableList(fileVersions);
096 }
097 else {
098 return fileVersions;
099 }
100 }
101
102 public static List<Folder> toFolders(List<DLFolder> dlFolders) {
103 List<Folder> folders = new ArrayList<>(dlFolders.size());
104
105 for (DLFolder dlFolder : dlFolders) {
106 Folder folder = new LiferayFolder(dlFolder);
107
108 folders.add(folder);
109 }
110
111 if (ListUtil.isUnmodifiableList(dlFolders)) {
112 return Collections.unmodifiableList(folders);
113 }
114 else {
115 return folders;
116 }
117 }
118
119 public static List<RepositoryEntry> toRepositoryEntries(
120 List<Object> dlFoldersAndDLFileEntriesAndDLFileShortcuts) {
121
122 List<RepositoryEntry> repositoryEntries = new ArrayList<>(
123 dlFoldersAndDLFileEntriesAndDLFileShortcuts.size());
124
125 for (Object object : dlFoldersAndDLFileEntriesAndDLFileShortcuts) {
126 if (object instanceof DLFileEntry) {
127 DLFileEntry dlFileEntry = (DLFileEntry)object;
128
129 FileEntry fileEntry = new LiferayFileEntry(dlFileEntry);
130
131 repositoryEntries.add(fileEntry);
132 }
133 else if (object instanceof DLFolder) {
134 DLFolder dlFolder = (DLFolder)object;
135
136 Folder folder = new LiferayFolder(dlFolder);
137
138 repositoryEntries.add(folder);
139 }
140 else if (object instanceof DLFileShortcut) {
141 DLFileShortcut dlFileShortcut = (DLFileShortcut)object;
142
143 FileShortcut fileShortcut = new LiferayFileShortcut(
144 dlFileShortcut);
145
146 repositoryEntries.add(fileShortcut);
147 }
148 else {
149 throw new IllegalArgumentException(
150 String.format(
151 "Expected an instance of one of: %s; got %s",
152 Arrays.asList(
153 DLFileEntry.class.getName(),
154 DLFolder.class.getName(),
155 DLFileShortcutConstants.getClassName()),
156 object));
157 }
158 }
159
160 if (ListUtil.isUnmodifiableList(
161 dlFoldersAndDLFileEntriesAndDLFileShortcuts)) {
162
163 return Collections.unmodifiableList(repositoryEntries);
164 }
165 else {
166 return repositoryEntries;
167 }
168 }
169
170 }