List of usage examples for com.liferay.portal.kernel.repository.model Folder getParentFolderId
public long getParentFolderId();
From source file:com.liferay.compat.hook.webdav.CompatDLWebDAVStorageImpl.java
License:Open Source License
public boolean unlockResource(WebDAVRequest webDAVRequest, String token) throws WebDAVException { Resource resource = getResource(webDAVRequest); try {/*from w w w. j a v a 2 s . c o m*/ if (isInstanceOfDLFileEntryResourceImpl(super.getResource(webDAVRequest))) { FileEntry fileEntry = (FileEntry) resource.getModel(); // Do not allow WebDAV to check in a file entry if it requires a // manual check in if (isManualCheckInRequired(fileEntry)) { return false; } ServiceContext serviceContext = new ServiceContext(); serviceContext.setAttribute(DLUtil.WEBDAV_CHECK_IN_MODE, true); ServiceContextThreadLocal.pushServiceContext(serviceContext); try { DLAppServiceUtil.checkInFileEntry(fileEntry.getFileEntryId(), token); } finally { ServiceContextThreadLocal.popServiceContext(); } if (webDAVRequest.isAppleDoubleRequest()) { DLAppServiceUtil.deleteFileEntry(fileEntry.getFileEntryId()); } } else { Folder folder = (Folder) resource.getModel(); DLAppServiceUtil.unlockFolder(folder.getRepositoryId(), folder.getParentFolderId(), folder.getName(), token); } return true; } catch (Exception e) { if (e instanceof InvalidLockException) { if (_log.isWarnEnabled()) { _log.warn(e.getMessage()); } } else { if (_log.isWarnEnabled()) { _log.warn("Unable to unlock file entry", e); } } } return false; }
From source file:com.liferay.document.library.internal.exportimport.data.handler.FolderStagedModelDataHandler.java
License:Open Source License
@Override protected void doExportStagedModel(PortletDataContext portletDataContext, Folder folder) throws Exception { Element folderElement = portletDataContext.getExportDataElement(folder); String folderPath = ExportImportPathUtil.getModelPath(folder); if (!folder.isDefaultRepository()) { Repository repository = _repositoryLocalService.getRepository(folder.getRepositoryId()); StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, folder, repository, PortletDataContext.REFERENCE_TYPE_STRONG); portletDataContext.addClassedModel(folderElement, folderPath, folder); long portletRepositoryClassNameId = _portal.getClassNameId(PortletRepository.class.getName()); if (repository.getClassNameId() != portletRepositoryClassNameId) { return; }//w ww . j av a2 s . c o m } if (folder.getParentFolderId() != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, folder, folder.getParentFolder(), PortletDataContext.REFERENCE_TYPE_PARENT); } exportFolderFileEntryTypes(portletDataContext, folderElement, folder); portletDataContext.addClassedModel(folderElement, folderPath, folder, DLFolder.class); }
From source file:com.liferay.document.library.internal.exportimport.data.handler.FolderStagedModelDataHandler.java
License:Open Source License
@Override protected void doImportStagedModel(PortletDataContext portletDataContext, Folder folder) throws Exception { Map<Long, Long> folderIdsAndRepositoryEntryIds = (Map<Long, Long>) portletDataContext .getNewPrimaryKeysMap(Folder.class + ".folderIdsAndRepositoryEntryIds"); if (!folder.isDefaultRepository()) { Map<Long, Long> repositoryEntryIds = (Map<Long, Long>) portletDataContext .getNewPrimaryKeysMap(RepositoryEntry.class); folderIdsAndRepositoryEntryIds.put(folder.getFolderId(), repositoryEntryIds.get(folder.getFolderId())); return;/* w w w. j ava 2s . c om*/ } long userId = portletDataContext.getUserId(folder.getUserUuid()); Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(Folder.class); long parentFolderId = MapUtil.getLong(folderIds, folder.getParentFolderId(), folder.getParentFolderId()); ServiceContext serviceContext = portletDataContext.createServiceContext(folder, DLFolder.class); serviceContext.setUserId(userId); Folder importedFolder = null; if (portletDataContext.isDataStrategyMirror()) { Folder existingFolder = fetchStagedModelByUuidAndGroupId(folder.getUuid(), portletDataContext.getScopeGroupId()); if (existingFolder == null) { String name = getFolderName(null, portletDataContext.getScopeGroupId(), parentFolderId, folder.getName(), 2); serviceContext.setUuid(folder.getUuid()); importedFolder = _dlAppLocalService.addFolder(userId, portletDataContext.getScopeGroupId(), parentFolderId, name, folder.getDescription(), serviceContext); } else { String name = getFolderName(folder.getUuid(), portletDataContext.getScopeGroupId(), parentFolderId, folder.getName(), 2); importedFolder = _dlAppLocalService.updateFolder(existingFolder.getFolderId(), parentFolderId, name, folder.getDescription(), serviceContext); } } else { String name = getFolderName(null, portletDataContext.getScopeGroupId(), parentFolderId, folder.getName(), 2); importedFolder = _dlAppLocalService.addFolder(userId, portletDataContext.getScopeGroupId(), parentFolderId, name, folder.getDescription(), serviceContext); } Element folderElement = portletDataContext.getImportDataElement(folder); importFolderFileEntryTypes(portletDataContext, folderElement, folder, importedFolder, serviceContext); portletDataContext.importClassedModel(folder, importedFolder, DLFolder.class); folderIds.put(folder.getFolderId(), importedFolder.getFolderId()); folderIdsAndRepositoryEntryIds.put(folder.getFolderId(), importedFolder.getFolderId()); }
From source file:com.liferay.document.library.web.internal.portlet.configuration.icon.DeleteFolderPortletConfigurationIcon.java
License:Open Source License
@Override public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) { PortletURL portletURL = _portal.getControlPanelPortletURL(portletRequest, DLPortletKeys.DOCUMENT_LIBRARY_ADMIN, PortletRequest.ACTION_PHASE); Folder folder = null; try {/*from w ww .ja v a 2 s.c o m*/ folder = ActionUtil.getFolder(portletRequest); } catch (PortalException pe) { throw new RuntimeException(pe); } if (folder.isMountPoint()) { portletURL.setParameter(ActionRequest.ACTION_NAME, "/document_library/edit_repository"); } else { portletURL.setParameter(ActionRequest.ACTION_NAME, "/document_library/edit_folder"); } ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); if (folder.isMountPoint() || !isTrashEnabled(themeDisplay.getScopeGroupId(), folder.getRepositoryId())) { portletURL.setParameter(Constants.CMD, Constants.DELETE); } else { portletURL.setParameter(Constants.CMD, Constants.MOVE_TO_TRASH); } PortletURL redirectURL = _portal.getControlPanelPortletURL(portletRequest, DLPortletKeys.DOCUMENT_LIBRARY_ADMIN, PortletRequest.RENDER_PHASE); long parentFolderId = folder.getParentFolderId(); if (parentFolderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { redirectURL.setParameter("mvcRenderCommandName", "/document_library/view"); } else { redirectURL.setParameter("mvcRenderCommandName", "/document_library/view_folder"); } redirectURL.setParameter("folderId", String.valueOf(parentFolderId)); portletURL.setParameter("redirect", redirectURL.toString()); portletURL.setParameter("folderId", String.valueOf(folder.getFolderId())); return portletURL.toString(); }
From source file:com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl.java
License:Open Source License
@Override public Resource getResource(WebDAVRequest webDAVRequest) throws WebDAVException { try {//from www .ja v a2 s . c o m String[] pathArray = webDAVRequest.getPathArray(); long companyId = webDAVRequest.getCompanyId(); long parentFolderId = getParentFolderId(companyId, pathArray); String name = WebDAVUtil.getResourceName(pathArray); if (Validator.isNull(name)) { String path = getRootPath() + webDAVRequest.getPath(); return new BaseResourceImpl(path, StringPool.BLANK, getToken()); } try { Folder folder = _dlAppService.getFolder(webDAVRequest.getGroupId(), parentFolderId, name); if ((folder.getParentFolderId() != parentFolderId) || (webDAVRequest.getGroupId() != folder.getRepositoryId())) { StringBundler sb = new StringBundler(6); sb.append("No DLFolder exists with the key "); sb.append("{parendFolderId="); sb.append(parentFolderId); sb.append(", repositoryId="); sb.append(webDAVRequest.getGroupId()); sb.append(StringPool.CLOSE_CURLY_BRACE); throw new NoSuchFolderException(sb.toString()); } return toResource(webDAVRequest, folder, false); } catch (NoSuchFolderException nsfe) { if (_log.isDebugEnabled()) { _log.debug(nsfe, nsfe); } try { String title = getTitle(pathArray); FileEntry fileEntry = _dlAppService.getFileEntry(webDAVRequest.getGroupId(), parentFolderId, title); return toResource(webDAVRequest, fileEntry, false); } catch (NoSuchFileEntryException nsfee) { if (_log.isDebugEnabled()) { _log.debug(nsfee, nsfee); } return null; } } } 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 moveCollectionResource(WebDAVRequest webDAVRequest, Resource resource, String destination, boolean overwrite) throws WebDAVException { try {// w w w . j a v a2 s . com 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
@Override public boolean unlockResource(WebDAVRequest webDAVRequest, String token) throws WebDAVException { Resource resource = getResource(webDAVRequest); try {//from ww w .j ava 2 s.com if (resource instanceof DLFileEntryResourceImpl) { FileEntry fileEntry = (FileEntry) resource.getModel(); // Do not allow WebDAV to check in a file entry if it requires a // manual check in if (fileEntry.isManualCheckInRequired()) { return false; } ServiceContext serviceContext = new ServiceContext(); serviceContext.setAttribute(DL.WEBDAV_CHECK_IN_MODE, Boolean.TRUE); _dlAppService.checkInFileEntry(fileEntry.getFileEntryId(), token, serviceContext); if (webDAVRequest.isAppleDoubleRequest()) { _dlAppService.deleteFileEntry(fileEntry.getFileEntryId()); } } else { Folder folder = (Folder) resource.getModel(); _dlAppService.unlockFolder(folder.getRepositoryId(), folder.getParentFolderId(), folder.getName(), token); } return true; } catch (InvalidLockException ile) { if (_log.isWarnEnabled()) { _log.warn(ile.getMessage()); } } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn("Unable to unlock file entry", e); } } return false; }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
protected static void exportFolder(PortletDataContext portletDataContext, Element fileEntryTypesElement, Element foldersElement, Element fileEntriesElement, Element fileShortcutsElement, Element fileRanksElement, Element repositoriesElement, Element repositoryEntriesElement, Folder folder, boolean recurse) throws Exception { if (!portletDataContext.isWithinDateRange(folder.getModifiedDate())) { return;// ww w .j a va 2s.c o m } if (folder.isMountPoint()) { Repository repository = RepositoryUtil.findByPrimaryKey(folder.getRepositoryId()); exportRepository(portletDataContext, repositoriesElement, repositoryEntriesElement, repository); return; } else if (!folder.isDefaultRepository()) { // No need to export non-Liferay repository items since they would // be exported as part of repository export return; } exportParentFolder(portletDataContext, fileEntryTypesElement, foldersElement, repositoriesElement, repositoryEntriesElement, folder.getParentFolderId()); String path = getFolderPath(portletDataContext, folder); if (!portletDataContext.isPathNotProcessed(path)) { return; } Element folderElement = foldersElement.addElement("folder"); exportFolderFileEntryTypes(portletDataContext, folder, fileEntryTypesElement, folderElement); portletDataContext.addClassedModel(folderElement, path, folder, _NAMESPACE); if (recurse) { List<Folder> folders = FolderUtil.findByR_P(folder.getRepositoryId(), folder.getFolderId()); for (Folder curFolder : folders) { exportFolder(portletDataContext, fileEntryTypesElement, foldersElement, fileEntriesElement, fileShortcutsElement, fileRanksElement, repositoriesElement, repositoryEntriesElement, curFolder, recurse); } } List<FileEntry> fileEntries = FileEntryUtil.findByR_F(folder.getRepositoryId(), folder.getFolderId()); for (FileEntry fileEntry : fileEntries) { exportFileEntry(portletDataContext, fileEntryTypesElement, foldersElement, fileEntriesElement, fileRanksElement, repositoriesElement, repositoryEntriesElement, fileEntry, true); } if (portletDataContext.getBooleanParameter(_NAMESPACE, "shortcuts")) { List<DLFileShortcut> fileShortcuts = DLFileShortcutUtil.findByG_F(folder.getRepositoryId(), folder.getFolderId()); for (DLFileShortcut fileShortcut : fileShortcuts) { exportFileShortcut(portletDataContext, fileEntryTypesElement, foldersElement, fileShortcutsElement, repositoriesElement, repositoryEntriesElement, fileShortcut); } } }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
protected static void exportParentFolder(PortletDataContext portletDataContext, Element fileEntryTypesElement, Element foldersElement, Element repositoriesElement, Element repositoryEntriesElement, long folderId) throws Exception { if (folderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { return;// w w w . ja va 2 s . com } Folder folder = DLAppLocalServiceUtil.getFolder(folderId); if (folder.isMountPoint()) { Repository repository = RepositoryUtil.findByPrimaryKey(folder.getRepositoryId()); exportRepository(portletDataContext, repositoriesElement, repositoryEntriesElement, repository); return; } else if (!folder.isDefaultRepository()) { //no need to export non-Liferay Repository items since they would //be exported as part of repository export return; } exportParentFolder(portletDataContext, fileEntryTypesElement, foldersElement, repositoriesElement, repositoryEntriesElement, folder.getParentFolderId()); String path = getFolderPath(portletDataContext, folder); if (portletDataContext.isPathNotProcessed(path)) { Element folderElement = foldersElement.addElement("folder"); exportFolderFileEntryTypes(portletDataContext, folder, fileEntryTypesElement, folderElement); portletDataContext.addClassedModel(folderElement, path, folder, _NAMESPACE); } }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java
License:Open Source License
protected static void importFolder(PortletDataContext portletDataContext, String folderPath, Element folderElement, Folder folder) throws Exception { long userId = portletDataContext.getUserId(folder.getUserUuid()); Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(DLFolder.class); long parentFolderId = MapUtil.getLong(folderIds, folder.getParentFolderId(), folder.getParentFolderId()); ServiceContext serviceContext = portletDataContext.createServiceContext(folderPath, folder, _NAMESPACE); if ((parentFolderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (parentFolderId == folder.getParentFolderId())) { String path = getImportFolderPath(portletDataContext, parentFolderId); Folder parentFolder = (Folder) portletDataContext.getZipEntryAsObject(path); importFolder(portletDataContext, path, folderElement, parentFolder); parentFolderId = MapUtil.getLong(folderIds, folder.getParentFolderId(), folder.getParentFolderId()); }/* ww w. ja v a2s. com*/ Folder importedFolder = null; if (portletDataContext.isDataStrategyMirror()) { Folder existingFolder = FolderUtil.fetchByUUID_R(folder.getUuid(), portletDataContext.getScopeGroupId()); if (existingFolder == null) { String name = getFolderName(null, portletDataContext.getScopeGroupId(), parentFolderId, folder.getName(), 2); serviceContext.setUuid(folder.getUuid()); importedFolder = DLAppLocalServiceUtil.addFolder(userId, portletDataContext.getScopeGroupId(), parentFolderId, name, folder.getDescription(), serviceContext); } else { String name = getFolderName(folder.getUuid(), portletDataContext.getScopeGroupId(), parentFolderId, folder.getName(), 2); importedFolder = DLAppLocalServiceUtil.updateFolder(existingFolder.getFolderId(), parentFolderId, name, folder.getDescription(), serviceContext); } } else { String name = getFolderName(null, portletDataContext.getScopeGroupId(), parentFolderId, folder.getName(), 2); importedFolder = DLAppLocalServiceUtil.addFolder(userId, portletDataContext.getScopeGroupId(), parentFolderId, name, folder.getDescription(), serviceContext); } importFolderFileEntryTypes(portletDataContext, folderElement, importedFolder, serviceContext); portletDataContext.importClassedModel(folder, importedFolder, _NAMESPACE); }