Example usage for com.intellij.openapi.vfs ReadonlyStatusHandler ensureFilesWritable

List of usage examples for com.intellij.openapi.vfs ReadonlyStatusHandler ensureFilesWritable

Introduction

In this page you can find the example usage for com.intellij.openapi.vfs ReadonlyStatusHandler ensureFilesWritable.

Prototype

@NotNull
    public abstract OperationStatus ensureFilesWritable(@NotNull Collection<? extends VirtualFile> files);

Source Link

Usage

From source file:com.eightbitmage.moonscript.editor.inspections.MoonFix.java

License:Apache License

private static boolean isQuickFixOnReadOnlyFile(PsiElement problemElement) {
    final PsiFile containingPsiFile = problemElement.getContainingFile();
    if (containingPsiFile == null) {
        return false;
    }//w w w.j a  v a2 s .  c  om
    final VirtualFile virtualFile = containingPsiFile.getVirtualFile();

    final Project project = problemElement.getProject();
    final ReadonlyStatusHandler handler = ReadonlyStatusHandler.getInstance(project);
    final ReadonlyStatusHandler.OperationStatus status;
    if (virtualFile != null) {
        status = handler.ensureFilesWritable(virtualFile);
        return status.hasReadonlyFiles();
    }

    return false;
}

From source file:com.eightbitmage.moonscript.intentions.utils.QuickfixUtil.java

License:Apache License

public static boolean ensureFileWritable(Project project, PsiFile file) {
    final VirtualFile virtualFile = file.getVirtualFile();
    final ReadonlyStatusHandler readonlyStatusHandler = ReadonlyStatusHandler.getInstance(project);
    final ReadonlyStatusHandler.OperationStatus operationStatus = readonlyStatusHandler
            .ensureFilesWritable(virtualFile);
    return !operationStatus.hasReadonlyFiles();
}

From source file:com.intellij.history.integration.IdeaGateway.java

License:Apache License

public boolean ensureFilesAreWritable(@NotNull Project p, @NotNull List<VirtualFile> ff) {
    ReadonlyStatusHandler h = ReadonlyStatusHandler.getInstance(p);
    return !h.ensureFilesWritable(VfsUtilCore.toVirtualFileArray(ff)).hasReadonlyFiles();
}

From source file:com.intellij.uiDesigner.binding.ChangeFormComponentTypeFix.java

License:Apache License

public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
    CommandProcessor.getInstance().executeCommand(file.getProject(), new Runnable() {
        public void run() {
            final ReadonlyStatusHandler readOnlyHandler = ReadonlyStatusHandler
                    .getInstance(myFormFile.getProject());
            final ReadonlyStatusHandler.OperationStatus status = readOnlyHandler
                    .ensureFilesWritable(myFormFile.getVirtualFile());
            if (!status.hasReadonlyFiles()) {
                FormReferenceProvider.setGUIComponentType(myFormFile, myFieldName, myComponentTypeToSet);
            }/* ww w .j  a v  a 2  s. co m*/
        }
    }, getText(), null);
}

From source file:com.sixrr.guiceyidea.intentions.Intention.java

License:Apache License

private static boolean isFileReadOnly(Project project, PsiFile file) {
    final VirtualFile virtualFile = file.getVirtualFile();
    final ReadonlyStatusHandler statusHandler = ReadonlyStatusHandler.getInstance(project);
    final ReadonlyStatusHandler.OperationStatus status = statusHandler
            .ensureFilesWritable(new VirtualFile[] { virtualFile });
    return status.hasReadonlyFiles();
}

From source file:com.siyeh.ig.InspectionGadgetsFix.java

License:Apache License

protected boolean isQuickFixOnReadOnlyFile(PsiElement problemElement) {
    final PsiFile containingPsiFile = problemElement.getContainingFile();
    if (containingPsiFile == null) {
        return false;
    }/*from w  ww  .j a v a 2 s. co  m*/
    final VirtualFile virtualFile = containingPsiFile.getVirtualFile();
    final Project project = problemElement.getProject();
    final ReadonlyStatusHandler handler = ReadonlyStatusHandler.getInstance(project);
    final ReadonlyStatusHandler.OperationStatus status = handler.ensureFilesWritable(virtualFile);
    return status.hasReadonlyFiles();
}

From source file:com.siyeh.ipp.base.Intention.java

License:Apache License

private static boolean isWritable(Project project, PsiElement element) {
    final VirtualFile virtualFile = PsiUtilCore.getVirtualFile(element);
    if (virtualFile == null) {
        return true;
    }/* w  ww .j a v  a  2 s  .  c  o  m*/
    final ReadonlyStatusHandler readonlyStatusHandler = ReadonlyStatusHandler.getInstance(project);
    final ReadonlyStatusHandler.OperationStatus operationStatus = readonlyStatusHandler
            .ensureFilesWritable(virtualFile);
    return !operationStatus.hasReadonlyFiles();
}

From source file:com.sylvanaar.idea.Lua.editor.inspections.quickfixes.LuaFix.java

License:Apache License

private static boolean isQuickFixOnReadOnlyFile(PsiElement problemElement) {
    final PsiFile containingPsiFile = problemElement.getContainingFile();
    if (containingPsiFile == null) {
        return false;
    }//  w w w  . j a va 2 s  . c o m
    final VirtualFile virtualFile = containingPsiFile.getVirtualFile();
    final JavaPsiFacade facade = JavaPsiFacade.getInstance(problemElement.getProject());
    final Project project = facade.getProject();
    final ReadonlyStatusHandler handler = ReadonlyStatusHandler.getInstance(project);
    final ReadonlyStatusHandler.OperationStatus status = handler.ensureFilesWritable(virtualFile);
    return status.hasReadonlyFiles();
}

From source file:org.intellij.idea.lang.javascript.psiutil.JSElementFactory.java

License:Apache License

public static boolean isFileReadOnly(Project project, PsiFile file) {
    final ReadonlyStatusHandler instance = ReadonlyStatusHandler.getInstance(project);
    final VirtualFile virtualFile = file.getVirtualFile();

    return virtualFile != null && instance.ensureFilesWritable(virtualFile).hasReadonlyFiles();
}

From source file:org.jetbrains.idea.devkit.inspections.quickfix.BaseFix.java

License:Apache License

public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
    // can happen during batch-inspection if resolution has already been applied
    // to plugin.xml or java class
    if (!myElement.isValid())
        return;//from  w  w w . j  av a  2 s .  c om

    final boolean external = descriptor.getPsiElement().getContainingFile() != myElement.getContainingFile();
    if (external) {
        final PsiClass clazz = PsiTreeUtil.getParentOfType(myElement, PsiClass.class, false);
        final ReadonlyStatusHandler readonlyStatusHandler = ReadonlyStatusHandler.getInstance(project);
        final VirtualFile[] files = new VirtualFile[] { myElement.getContainingFile().getVirtualFile() };
        final ReadonlyStatusHandler.OperationStatus status = readonlyStatusHandler.ensureFilesWritable(files);

        if (status.hasReadonlyFiles()) {
            final String className = clazz != null ? clazz.getQualifiedName()
                    : myElement.getContainingFile().getName();

            Messages.showMessageDialog(project,
                    DevKitBundle.message("inspections.registration.problems.quickfix.read-only", className),
                    getName(), Messages.getErrorIcon());
            return;
        }
    }

    try {
        doFix(project, descriptor, external);
    } catch (IncorrectOperationException e) {
        Logger.getInstance("#" + getClass().getName()).error(e);
    }
}