List of usage examples for com.liferay.portal.kernel.repository.model Folder getFolderId
public long getFolderId();
From source file:com.liferay.portlet.documentlibrary.util.DLImpl.java
License:Open Source License
@Override public void addPortletBreadcrumbEntries(FileEntry fileEntry, HttpServletRequest request, RenderResponse renderResponse) throws Exception { Folder folder = fileEntry.getFolder(); if (folder.getFolderId() != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { addPortletBreadcrumbEntries(folder, request, renderResponse); }/*from ww w . jav a 2 s.com*/ PortletURL portletURL = renderResponse.createRenderURL(); FileEntry unescapedFileEntry = fileEntry.toUnescapedModel(); portletURL.setParameter("struts_action", "/document_library/view_file_entry"); portletURL.setParameter("fileEntryId", String.valueOf(fileEntry.getFileEntryId())); PortalUtil.addPortletBreadcrumbEntry(request, unescapedFileEntry.getTitle(), portletURL.toString()); }
From source file:com.liferay.portlet.documentlibrary.util.DLImpl.java
License:Open Source License
@Override public void addPortletBreadcrumbEntries(Folder folder, HttpServletRequest request, PortletURL portletURL) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); long defaultFolderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID; boolean ignoreRootFolder = ParamUtil.getBoolean(request, "ignoreRootFolder"); if (!ignoreRootFolder) { DLPortletInstanceSettings dlPortletInstanceSettings = DLPortletInstanceSettings .getInstance(themeDisplay.getLayout(), portletDisplay.getId()); defaultFolderId = dlPortletInstanceSettings.getDefaultFolderId(); }//from w w w. j av a 2s. c o m List<Folder> ancestorFolders = Collections.emptyList(); if ((folder != null) && (folder.getFolderId() != defaultFolderId)) { ancestorFolders = folder.getAncestors(); int indexOfRootFolder = -1; for (int i = 0; i < ancestorFolders.size(); i++) { Folder ancestorFolder = ancestorFolders.get(i); if (defaultFolderId == ancestorFolder.getFolderId()) { indexOfRootFolder = i; } } if (indexOfRootFolder > -1) { ancestorFolders = ancestorFolders.subList(0, indexOfRootFolder); } } Collections.reverse(ancestorFolders); for (Folder ancestorFolder : ancestorFolders) { portletURL.setParameter("folderId", String.valueOf(ancestorFolder.getFolderId())); Map<String, Object> data = new HashMap<>(); data.put("direction-right", Boolean.TRUE.toString()); data.put("folder-id", ancestorFolder.getFolderId()); PortalUtil.addPortletBreadcrumbEntry(request, ancestorFolder.getName(), portletURL.toString(), data); } long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID; if (folder != null) { folderId = folder.getFolderId(); } portletURL.setParameter("folderId", String.valueOf(folderId)); if ((folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (folderId != defaultFolderId)) { Folder unescapedFolder = folder.toUnescapedModel(); Map<String, Object> data = new HashMap<>(); data.put("direction-right", Boolean.TRUE.toString()); data.put("folder-id", folderId); PortalUtil.addPortletBreadcrumbEntry(request, unescapedFolder.getName(), portletURL.toString(), data); } }
From source file:com.liferay.portlet.documentlibrary.util.DLImpl.java
License:Open Source License
@Override public void addPortletBreadcrumbEntries(long folderId, HttpServletRequest request, RenderResponse renderResponse) throws Exception { if (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { Folder folder = DLAppLocalServiceUtil.getFolder(folderId); if (folder.getFolderId() != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { addPortletBreadcrumbEntries(folder, request, renderResponse); }/*from w ww. ja v a 2 s.c o m*/ } }
From source file:com.liferay.portlet.documentlibrary.util.DLImpl.java
License:Open Source License
@Override public String getWebDavURL(ThemeDisplay themeDisplay, Folder folder, FileEntry fileEntry, boolean manualCheckInRequired, boolean openDocumentUrl) throws PortalException { StringBundler webDavURL = new StringBundler(8); boolean secure = false; if (themeDisplay.isSecure() || PropsValues.WEBDAV_SERVLET_HTTPS_REQUIRED) { secure = true;//from www.j a v a2 s .c o m } String portalURL = PortalUtil.getPortalURL(themeDisplay.getServerName(), themeDisplay.getServerPort(), secure); webDavURL.append(portalURL); webDavURL.append(themeDisplay.getPathContext()); webDavURL.append("/webdav"); if (manualCheckInRequired) { webDavURL.append(MANUAL_CHECK_IN_REQUIRED_PATH); } String fileEntryFileName = null; Group group = null; if (fileEntry != null) { fileEntryFileName = HtmlUtil.unescape(fileEntry.getFileName()); group = GroupLocalServiceUtil.getGroup(fileEntry.getGroupId()); } else { group = themeDisplay.getScopeGroup(); } webDavURL.append(group.getFriendlyURL()); webDavURL.append("/document_library"); StringBuilder sb = new StringBuilder(); if ((folder != null) && (folder.getFolderId() != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID)) { Folder curFolder = folder; while (true) { sb.insert(0, HttpUtil.encodeURL(curFolder.getName(), true)); sb.insert(0, StringPool.SLASH); if (curFolder.getParentFolderId() == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { break; } curFolder = DLAppLocalServiceUtil.getFolder(curFolder.getParentFolderId()); } } if (fileEntry != null) { sb.append(StringPool.SLASH); sb.append(HttpUtil.encodeURL(fileEntryFileName, true)); } webDavURL.append(sb.toString()); return webDavURL.toString(); }
From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public int copyCollectionResource(WebDAVRequest webDavRequest, Resource resource, String destination, boolean overwrite, long depth) throws WebDAVException { try {// w w w . j a v a 2 s . co m String[] destinationArray = WebDAVUtil.getPathArray(destination, true); long companyId = webDavRequest.getCompanyId(); long parentFolderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID; try { parentFolderId = getParentFolderId(companyId, destinationArray); } catch (NoSuchFolderException nsfe) { return HttpServletResponse.SC_CONFLICT; } Folder folder = (Folder) resource.getModel(); long groupId = WebDAVUtil.getGroupId(companyId, destination); String name = WebDAVUtil.getResourceName(destinationArray); String description = folder.getDescription(); ServiceContext serviceContext = new ServiceContext(); serviceContext.setAddGroupPermissions(isAddGroupPermissions(groupId)); serviceContext.setAddGuestPermissions(true); int status = HttpServletResponse.SC_CREATED; if (overwrite) { if (deleteResource(groupId, parentFolderId, name, webDavRequest.getLockUuid())) { status = HttpServletResponse.SC_NO_CONTENT; } } if (depth == 0) { DLAppServiceUtil.addFolder(groupId, parentFolderId, name, description, serviceContext); } else { DLAppServiceUtil.copyFolder(groupId, folder.getFolderId(), parentFolderId, name, description, serviceContext); } return status; } catch (DuplicateFolderNameException dfne) { return HttpServletResponse.SC_PRECONDITION_FAILED; } catch (PrincipalException pe) { return HttpServletResponse.SC_FORBIDDEN; } catch (Exception e) { throw new WebDAVException(e); } }
From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public int deleteResource(WebDAVRequest webDavRequest) throws WebDAVException { try {// ww w . ja va2s . c o m Resource resource = getResource(webDavRequest); if (resource == null) { if (webDavRequest.isAppleDoubleRequest()) { return HttpServletResponse.SC_NO_CONTENT; } else { return HttpServletResponse.SC_NOT_FOUND; } } Object model = resource.getModel(); if (model instanceof Folder) { Folder folder = (Folder) model; DLAppServiceUtil.deleteFolder(folder.getFolderId()); } else { FileEntry fileEntry = (FileEntry) model; if (!hasLock(fileEntry, webDavRequest.getLockUuid()) && (fileEntry.getLock() != null)) { return WebDAVUtil.SC_LOCKED; } DLAppServiceUtil.deleteFileEntry(fileEntry.getFileEntryId()); } return HttpServletResponse.SC_NO_CONTENT; } catch (PrincipalException pe) { return HttpServletResponse.SC_FORBIDDEN; } catch (Exception e) { throw new WebDAVException(e); } }
From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public Status lockResource(WebDAVRequest webDavRequest, String owner, long timeout) throws WebDAVException { Resource resource = getResource(webDavRequest); Lock lock = null;//w w w. j a va 2s. c om int status = HttpServletResponse.SC_OK; try { if (resource == null) { status = HttpServletResponse.SC_CREATED; HttpServletRequest request = webDavRequest.getHttpServletRequest(); String[] pathArray = webDavRequest.getPathArray(); long companyId = webDavRequest.getCompanyId(); long groupId = webDavRequest.getGroupId(); long parentFolderId = getParentFolderId(companyId, pathArray); String title = WebDAVUtil.getResourceName(pathArray); String contentType = GetterUtil.get(request.getHeader(HttpHeaders.CONTENT_TYPE), ContentTypes.APPLICATION_OCTET_STREAM); if (contentType.equals(ContentTypes.APPLICATION_OCTET_STREAM)) { contentType = MimeTypesUtil.getContentType(request.getInputStream(), title); } String description = StringPool.BLANK; String changeLog = StringPool.BLANK; File file = FileUtil.createTempFile(FileUtil.getExtension(title)); file.createNewFile(); ServiceContext serviceContext = new ServiceContext(); serviceContext.setAddGroupPermissions(isAddGroupPermissions(groupId)); serviceContext.setAddGuestPermissions(true); FileEntry fileEntry = DLAppServiceUtil.addFileEntry(groupId, parentFolderId, title, contentType, title, description, changeLog, file, serviceContext); resource = toResource(webDavRequest, fileEntry, false); } if (resource instanceof DLFileEntryResourceImpl) { FileEntry fileEntry = (FileEntry) resource.getModel(); lock = DLAppServiceUtil.lockFileEntry(fileEntry.getFileEntryId(), owner, timeout); } else { boolean inheritable = false; long depth = WebDAVUtil.getDepth(webDavRequest.getHttpServletRequest()); if (depth != 0) { inheritable = true; } Folder folder = (Folder) resource.getModel(); lock = DLAppServiceUtil.lockFolder(folder.getRepositoryId(), folder.getFolderId(), owner, inheritable, timeout); } } catch (Exception e) { // DuplicateLock is 423 not 501 if (!(e instanceof DuplicateLockException)) { throw new WebDAVException(e); } status = WebDAVUtil.SC_LOCKED; } return new Status(lock, status); }
From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public int moveCollectionResource(WebDAVRequest webDavRequest, Resource resource, String destination, boolean overwrite) throws WebDAVException { try {/* ww w . j av a 2 s. c o m*/ String[] destinationArray = WebDAVUtil.getPathArray(destination, true); Folder folder = (Folder) resource.getModel(); long companyId = webDavRequest.getCompanyId(); long groupId = WebDAVUtil.getGroupId(companyId, destinationArray); long folderId = folder.getFolderId(); long parentFolderId = getParentFolderId(companyId, destinationArray); String name = WebDAVUtil.getResourceName(destinationArray); String description = folder.getDescription(); ServiceContext serviceContext = new ServiceContext(); int status = HttpServletResponse.SC_CREATED; if (overwrite) { if (deleteResource(groupId, parentFolderId, name, webDavRequest.getLockUuid())) { status = HttpServletResponse.SC_NO_CONTENT; } } if (parentFolderId != folder.getParentFolderId()) { DLAppServiceUtil.moveFolder(folderId, parentFolderId, serviceContext); } if (!name.equals(folder.getName())) { DLAppServiceUtil.updateFolder(folderId, name, description, serviceContext); } return status; } catch (PrincipalException pe) { return HttpServletResponse.SC_FORBIDDEN; } catch (DuplicateFolderNameException dfne) { return HttpServletResponse.SC_PRECONDITION_FAILED; } catch (Exception e) { throw new WebDAVException(e); } }
From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java
License:Open Source License
protected boolean deleteResource(long groupId, long parentFolderId, String name, String lockUuid) throws Exception { try {/*ww w . j a v a 2 s.c o m*/ Folder folder = DLAppServiceUtil.getFolder(groupId, parentFolderId, name); DLAppServiceUtil.deleteFolder(folder.getFolderId()); return true; } catch (NoSuchFolderException nsfe) { try { FileEntry fileEntry = DLAppServiceUtil.getFileEntry(groupId, parentFolderId, name); if (!hasLock(fileEntry, lockUuid) && (fileEntry.getLock() != null)) { throw new LockException(); } DLAppServiceUtil.deleteFileEntryByTitle(groupId, parentFolderId, name); return true; } catch (NoSuchFileEntryException nsfee) { } } return false; }
From source file:com.liferay.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java
License:Open Source License
protected long getFolderId(long companyId, String[] pathArray, boolean parent) throws Exception { long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID; if (pathArray.length <= 1) { return folderId; } else {/*from w w w. j a v a 2 s. c o m*/ long groupId = WebDAVUtil.getGroupId(companyId, pathArray); int x = pathArray.length; if (parent) { x--; } for (int i = 2; i < x; i++) { String name = pathArray[i]; Folder folder = DLAppServiceUtil.getFolder(groupId, folderId, name); if (groupId == folder.getRepositoryId()) { folderId = folder.getFolderId(); } } } return folderId; }