List of usage examples for com.liferay.portal.kernel.repository.model Folder getFolderId
public long getFolderId();
From source file:com.liferay.document.library.web.internal.util.DLBreadcrumbUtil.java
License:Open Source License
public static 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 w w . j av a 2 s .com*/ } }
From source file:com.liferay.document.library.web.internal.util.IGUtil.java
License:Open Source License
public static void addPortletBreadcrumbEntries(Folder folder, HttpServletRequest request, RenderResponse renderResponse) throws Exception { String mvcRenderCommandName = ParamUtil.getString(request, "mvcRenderCommandName"); PortletURL portletURL = renderResponse.createRenderURL(); if (mvcRenderCommandName.equals("/document_library/select_folder")) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); portletURL.setParameter("mvcRenderCommandName", mvcRenderCommandName); portletURL.setWindowState(LiferayWindowState.POP_UP); PortalUtil.addPortletBreadcrumbEntry(request, themeDisplay.translate("home"), portletURL.toString()); } else {/*w w w .j ava 2 s . c om*/ portletURL.setParameter("mvcRenderCommandName", "/image_gallery_display/view"); } long rootFolderId = getRootFolderId(request); List<Folder> ancestorFolders = Collections.emptyList(); if ((folder != null) && (folder.getFolderId() != rootFolderId)) { ancestorFolders = folder.getAncestors(); int indexOfRootFolder = -1; for (int i = 0; i < ancestorFolders.size(); i++) { Folder ancestorFolder = ancestorFolders.get(i); if (rootFolderId == 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())); PortalUtil.addPortletBreadcrumbEntry(request, ancestorFolder.getName(), portletURL.toString()); } portletURL.setParameter("folderId", String.valueOf(folder.getFolderId())); PortalUtil.addPortletBreadcrumbEntry(request, folder.getName(), portletURL.toString()); }
From source file:com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public int copyCollectionResource(WebDAVRequest webDAVRequest, Resource resource, String destination, boolean overwrite, long depth) throws WebDAVException { try {/*from ww w .jav a2 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) { if (_log.isDebugEnabled()) { _log.debug(nsfe, 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) { _dlAppService.addFolder(groupId, parentFolderId, name, description, serviceContext); } else { _dlAppService.copyFolder(groupId, folder.getFolderId(), parentFolderId, name, description, serviceContext); } return status; } catch (DuplicateFolderNameException dfne) { if (_log.isDebugEnabled()) { _log.debug(dfne, dfne); } return HttpServletResponse.SC_PRECONDITION_FAILED; } catch (PrincipalException pe) { if (_log.isDebugEnabled()) { _log.debug(pe, pe); } return HttpServletResponse.SC_FORBIDDEN; } catch (Exception e) { throw new WebDAVException(e); } }
From source file:com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public int deleteResource(WebDAVRequest webDAVRequest) throws WebDAVException { try {// w ww. j a va 2 s. 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; long folderId = folder.getFolderId(); if ((folder.getModel() instanceof DLFolder) && _dlTrashUtil.isTrashEnabled(folder.getGroupId(), folder.getRepositoryId())) { _dlTrashService.moveFolderToTrash(folderId); } else { _dlAppService.deleteFolder(folderId); } } else { FileEntry fileEntry = (FileEntry) model; if (!hasLock(fileEntry, webDAVRequest.getLockUuid()) && (fileEntry.getLock() != null)) { return WebDAVUtil.SC_LOCKED; } long fileEntryId = fileEntry.getFileEntryId(); if ((fileEntry.getModel() instanceof DLFileEntry) && _dlTrashUtil.isTrashEnabled(fileEntry.getGroupId(), fileEntry.getRepositoryId())) { _dlTrashService.moveFileEntryToTrash(fileEntryId); } else { _dlAppService.deleteFileEntry(fileEntryId); } } return HttpServletResponse.SC_NO_CONTENT; } catch (PrincipalException pe) { if (_log.isDebugEnabled()) { _log.debug(pe, pe); } return HttpServletResponse.SC_FORBIDDEN; } catch (Exception e) { throw new WebDAVException(e); } }
From source file:com.liferay.document.library.web.internal.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;/*ww w . ja v a 2s. c o m*/ 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 = getTitle(pathArray); String extension = FileUtil.getExtension(title); String contentType = getContentType(request, null, title, extension); String description = StringPool.BLANK; String changeLog = StringPool.BLANK; File file = FileUtil.createTempFile(extension); file.createNewFile(); ServiceContext serviceContext = new ServiceContext(); serviceContext.setAddGroupPermissions(isAddGroupPermissions(groupId)); serviceContext.setAddGuestPermissions(true); FileEntry fileEntry = _dlAppService.addFileEntry(groupId, parentFolderId, title, contentType, title, description, changeLog, file, serviceContext); resource = toResource(webDAVRequest, fileEntry, false); } if (resource instanceof DLFileEntryResourceImpl) { FileEntry fileEntry = (FileEntry) resource.getModel(); ServiceContext serviceContext = new ServiceContext(); serviceContext.setAttribute(DL.MANUAL_CHECK_IN_REQUIRED, webDAVRequest.isManualCheckInRequired()); populateServiceContext(serviceContext, fileEntry); _dlAppService.checkOutFileEntry(fileEntry.getFileEntryId(), owner, timeout, serviceContext); lock = fileEntry.getLock(); } else { boolean inheritable = false; long depth = WebDAVUtil.getDepth(webDAVRequest.getHttpServletRequest()); if (depth != 0) { inheritable = true; } Folder folder = (Folder) resource.getModel(); lock = _dlAppService.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.document.library.web.internal.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public int moveCollectionResource(WebDAVRequest webDAVRequest, Resource resource, String destination, boolean overwrite) throws WebDAVException { try {/*from w w w . j av a2 s. c om*/ 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(); serviceContext.setUserId(webDAVRequest.getUserId()); int status = HttpServletResponse.SC_CREATED; if (overwrite) { if (deleteResource(groupId, parentFolderId, name, webDAVRequest.getLockUuid())) { status = HttpServletResponse.SC_NO_CONTENT; } } if (parentFolderId != folder.getParentFolderId()) { _dlAppService.moveFolder(folderId, parentFolderId, serviceContext); } if (!name.equals(folder.getName())) { _dlAppService.updateFolder(folderId, name, description, serviceContext); } return status; } catch (PrincipalException pe) { if (_log.isDebugEnabled()) { _log.debug(pe, pe); } return HttpServletResponse.SC_FORBIDDEN; } catch (DuplicateFolderNameException dfne) { if (_log.isDebugEnabled()) { _log.debug(dfne, dfne); } return HttpServletResponse.SC_PRECONDITION_FAILED; } catch (Exception e) { throw new WebDAVException(e); } }
From source file:com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl.java
License:Open Source License
protected boolean deleteResource(long groupId, long parentFolderId, String name, String lockUuid) throws Exception { try {/* w w w.ja va 2 s . c o m*/ Folder folder = _dlAppService.getFolder(groupId, parentFolderId, name); _dlAppService.deleteFolder(folder.getFolderId()); return true; } catch (NoSuchFolderException nsfe) { if (_log.isDebugEnabled()) { _log.debug(nsfe, nsfe); } try { FileEntry fileEntry = _dlAppService.getFileEntry(groupId, parentFolderId, name); if (!hasLock(fileEntry, lockUuid) && (fileEntry.getLock() != null)) { StringBundler sb = new StringBundler(4); sb.append("Inconsistent file lock state for file entry "); sb.append(fileEntry.getPrimaryKey()); sb.append(" and lock UUID "); sb.append(lockUuid); throw new LockException(sb.toString()); } _dlAppService.deleteFileEntryByTitle(groupId, parentFolderId, name); return true; } catch (NoSuchFileEntryException nsfee) { if (_log.isDebugEnabled()) { _log.debug(nsfee, nsfee); } } } return false; }
From source file:com.liferay.document.library.web.internal.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; }/*from w ww . 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 = _dlAppService.getFolder(groupId, folderId, name); if (groupId == folder.getRepositoryId()) { folderId = folder.getFolderId(); } } return folderId; }
From source file:com.liferay.document.library.web.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public int deleteResource(WebDAVRequest webDAVRequest) throws WebDAVException { try {/*ww w . j av a 2 s . c om*/ 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; long folderId = folder.getFolderId(); if ((folder.getModel() instanceof DLFolder) && DLTrashUtil.isTrashEnabled(folder.getGroupId(), folder.getRepositoryId())) { _dlTrashService.moveFolderToTrash(folderId); } else { _dlAppService.deleteFolder(folderId); } } else { FileEntry fileEntry = (FileEntry) model; if (!hasLock(fileEntry, webDAVRequest.getLockUuid()) && (fileEntry.getLock() != null)) { return WebDAVUtil.SC_LOCKED; } long fileEntryId = fileEntry.getFileEntryId(); if ((fileEntry.getModel() instanceof DLFileEntry) && DLTrashUtil.isTrashEnabled(fileEntry.getGroupId(), fileEntry.getRepositoryId())) { _dlTrashService.moveFileEntryToTrash(fileEntryId); } else { _dlAppService.deleteFileEntry(fileEntryId); } } return HttpServletResponse.SC_NO_CONTENT; } catch (PrincipalException pe) { if (_log.isDebugEnabled()) { _log.debug(pe, pe); } return HttpServletResponse.SC_FORBIDDEN; } catch (Exception e) { throw new WebDAVException(e); } }
From source file:com.liferay.document.library.web.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;/*from w w w.ja v a 2 s .com*/ 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 = getTitle(pathArray); String extension = FileUtil.getExtension(title); String contentType = getContentType(request, null, title, extension); String description = StringPool.BLANK; String changeLog = StringPool.BLANK; File file = FileUtil.createTempFile(extension); file.createNewFile(); ServiceContext serviceContext = new ServiceContext(); serviceContext.setAddGroupPermissions(isAddGroupPermissions(groupId)); serviceContext.setAddGuestPermissions(true); FileEntry fileEntry = _dlAppService.addFileEntry(groupId, parentFolderId, title, contentType, title, description, changeLog, file, serviceContext); resource = toResource(webDAVRequest, fileEntry, false); } if (resource instanceof DLFileEntryResourceImpl) { FileEntry fileEntry = (FileEntry) resource.getModel(); ServiceContext serviceContext = new ServiceContext(); serviceContext.setAttribute(DL.MANUAL_CHECK_IN_REQUIRED, webDAVRequest.isManualCheckInRequired()); _dlAppService.checkOutFileEntry(fileEntry.getFileEntryId(), owner, timeout, serviceContext); lock = fileEntry.getLock(); } else { boolean inheritable = false; long depth = WebDAVUtil.getDepth(webDAVRequest.getHttpServletRequest()); if (depth != 0) { inheritable = true; } Folder folder = (Folder) resource.getModel(); lock = _dlAppService.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); }