Example usage for com.liferay.portal.kernel.webdav WebDAVRequest isAppleDoubleRequest

List of usage examples for com.liferay.portal.kernel.webdav WebDAVRequest isAppleDoubleRequest

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.webdav WebDAVRequest isAppleDoubleRequest.

Prototype

public boolean isAppleDoubleRequest();

Source Link

Usage

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 www  .j av  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.web.internal.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public int deleteResource(WebDAVRequest webDAVRequest) throws WebDAVException {

    try {// www . ja v  a 2  s.  co  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 boolean unlockResource(WebDAVRequest webDAVRequest, String token) throws WebDAVException {

    Resource resource = getResource(webDAVRequest);

    try {/*from   w  ww.  jav  a 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.document.library.web.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public int deleteResource(WebDAVRequest webDAVRequest) throws WebDAVException {

    try {/*from w ww.j av  a 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.portlet.documentlibrary.webdav.DLWebDAVStorageImpl.java

License:Open Source License

@Override
public int deleteResource(WebDAVRequest webDavRequest) throws WebDAVException {

    try {// w ww  .  j a  v a 2s  . 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 boolean unlockResource(WebDAVRequest webDavRequest, String token) throws WebDAVException {

    Resource resource = getResource(webDavRequest);

    try {//from   w ww .j a  v  a2s . c om
        if (resource instanceof DLFileEntryResourceImpl) {
            FileEntry fileEntry = (FileEntry) resource.getModel();

            DLAppServiceUtil.unlockFileEntry(fileEntry.getFileEntryId(), token);

            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;
}