@Indexable(type = IndexableType.REINDEX) public DLFolder moveFolder( long userId, long folderId, long parentFolderId, ServiceContext serviceContext) throws PortalException, SystemException { boolean hasLock = hasFolderLock(userId, folderId); Lock lock = null; if (!hasLock) { // Lock lock = lockFolder(userId, folderId); } try { DLFolder dlFolder = dlFolderPersistence.findByPrimaryKey(folderId); parentFolderId = getParentFolderId(dlFolder, parentFolderId); validateFolder( dlFolder.getFolderId(), dlFolder.getGroupId(), parentFolderId, dlFolder.getName()); dlFolder.setModifiedDate(serviceContext.getModifiedDate(null)); dlFolder.setParentFolderId(parentFolderId); dlFolder.setExpandoBridgeAttributes(serviceContext); dlFolderPersistence.update(dlFolder); dlAppHelperLocalService.moveFolder(new LiferayFolder(dlFolder)); return dlFolder; } finally { if (!hasLock) { // Unlock unlockFolder(folderId, lock.getUuid()); } } }
public DLFolder updateFolderAndFileEntryTypes( long userId, long folderId, long parentFolderId, String name, String description, long defaultFileEntryTypeId, List<Long> fileEntryTypeIds, boolean overrideFileEntryTypes, ServiceContext serviceContext) throws PortalException, SystemException { boolean hasLock = hasFolderLock(userId, folderId); Lock lock = null; if (!hasLock) { // Lock lock = lockFolder(userId, folderId, null, false, DLFolderImpl.LOCK_EXPIRATION_TIME); } try { // Folder if (!overrideFileEntryTypes) { fileEntryTypeIds = Collections.emptyList(); } DLFolder dlFolder = dlFolderPersistence.findByPrimaryKey(folderId); parentFolderId = getParentFolderId(dlFolder, parentFolderId); validateFolder(folderId, dlFolder.getGroupId(), parentFolderId, name); dlFolder.setModifiedDate(serviceContext.getModifiedDate(null)); dlFolder.setParentFolderId(parentFolderId); dlFolder.setName(name); dlFolder.setDescription(description); dlFolder.setExpandoBridgeAttributes(serviceContext); dlFolder.setOverrideFileEntryTypes(overrideFileEntryTypes); dlFolder.setDefaultFileEntryTypeId(defaultFileEntryTypeId); dlFolderPersistence.update(dlFolder); // File entry types if (fileEntryTypeIds != null) { dlFileEntryTypeLocalService.updateFolderFileEntryTypes( dlFolder, fileEntryTypeIds, defaultFileEntryTypeId, serviceContext); } // App helper dlAppHelperLocalService.updateFolder(userId, new LiferayFolder(dlFolder), serviceContext); return dlFolder; } finally { if (!hasLock) { // Unlock unlockFolder(folderId, lock.getUuid()); } } }
public DLFolder addFolder( long userId, long groupId, long repositoryId, boolean mountPoint, long parentFolderId, String name, String description, boolean hidden, ServiceContext serviceContext) throws PortalException, SystemException { // Folder User user = userPersistence.findByPrimaryKey(userId); parentFolderId = getParentFolderId(groupId, parentFolderId); Date now = new Date(); validateFolder(groupId, parentFolderId, name); long folderId = counterLocalService.increment(); DLFolder dlFolder = dlFolderPersistence.create(folderId); dlFolder.setUuid(serviceContext.getUuid()); dlFolder.setGroupId(groupId); dlFolder.setCompanyId(user.getCompanyId()); dlFolder.setUserId(user.getUserId()); dlFolder.setCreateDate(serviceContext.getCreateDate(now)); dlFolder.setModifiedDate(serviceContext.getModifiedDate(now)); dlFolder.setRepositoryId(repositoryId); dlFolder.setMountPoint(mountPoint); dlFolder.setParentFolderId(parentFolderId); dlFolder.setName(name); dlFolder.setDescription(description); dlFolder.setHidden(hidden); dlFolder.setOverrideFileEntryTypes(false); dlFolder.setExpandoBridgeAttributes(serviceContext); dlFolderPersistence.update(dlFolder); // Resources if (serviceContext.isAddGroupPermissions() || serviceContext.isAddGuestPermissions()) { addFolderResources( dlFolder, serviceContext.isAddGroupPermissions(), serviceContext.isAddGuestPermissions()); } else { if (serviceContext.isDeriveDefaultPermissions()) { serviceContext.deriveDefaultPermissions(repositoryId, DLFolderConstants.getClassName()); } addFolderResources( dlFolder, serviceContext.getGroupPermissions(), serviceContext.getGuestPermissions()); } // Parent folder if (parentFolderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { DLFolder parentDLFolder = dlFolderPersistence.findByPrimaryKey(parentFolderId); parentDLFolder.setLastPostDate(now); dlFolderPersistence.update(parentDLFolder); } // App helper dlAppHelperLocalService.addFolder(userId, new LiferayFolder(dlFolder), serviceContext); return dlFolder; }