Search in sources :

Example 11 with Result

use of com.intellij.openapi.application.Result in project intellij-community by JetBrains.

the class DomFileDescriptionTest method testCheckNamespace.

public void testCheckNamespace() throws Throwable {
    getDomManager().registerFileDescription(new DomFileDescription<NamespacedElement>(NamespacedElement.class, "xxx", "bar") {

        @Override
        protected void initializeFileDescription() {
            registerNamespacePolicy("foo", "bar");
        }
    }, myDisposable);
    final PsiFile file = createFile("xxx.xml", "<xxx/>");
    assertFalse(getDomManager().isDomFile(file));
    new WriteCommandAction(getProject()) {

        @Override
        protected void run(@NotNull Result result) throws Throwable {
            ((XmlFile) file).getDocument().getRootTag().setAttribute("xmlns", "bar");
        }
    }.execute();
    assertTrue(getDomManager().isDomFile(file));
}
Also used : WriteCommandAction(com.intellij.openapi.command.WriteCommandAction) PsiFile(com.intellij.psi.PsiFile) Result(com.intellij.openapi.application.Result)

Example 12 with Result

use of com.intellij.openapi.application.Result in project intellij-community by JetBrains.

the class DomFileDescriptionTest method testChangeCustomDomness.

public void testChangeCustomDomness() throws Throwable {
    getDomManager().registerFileDescription(new DomFileDescription<MyElement>(MyElement.class, "xxx") {

        @Override
        public boolean isMyFile(@NotNull final XmlFile file, @Nullable final Module module) {
            return file.getText().contains("foo");
        }
    }, myDisposable);
    final XmlFile file = (XmlFile) createFile("xxx.xml", "<xxx zzz=\"foo\"><boy/><boy/><xxx/>");
    final MyElement boy = getDomManager().getFileElement(file, MyElement.class).getRootElement().getBoys().get(0);
    new WriteCommandAction(getProject()) {

        @Override
        protected void run(@NotNull Result result) throws Throwable {
            file.getDocument().getRootTag().setAttribute("zzz", "bar");
        }
    }.execute();
    assertFalse(getDomManager().isDomFile(file));
    assertFalse(boy.isValid());
}
Also used : WriteCommandAction(com.intellij.openapi.command.WriteCommandAction) XmlFile(com.intellij.psi.xml.XmlFile) Module(com.intellij.openapi.module.Module) Result(com.intellij.openapi.application.Result)

Example 13 with Result

use of com.intellij.openapi.application.Result in project intellij-community by JetBrains.

the class DomBasicsTest method testCopyingFromNonEmptyToEmpty.

public void testCopyingFromNonEmptyToEmpty() throws Throwable {
    Module module = new MockModule(getTestRootDisposable());
    final MyElement element1 = getDomManager().createMockElement(MyElement.class, module, false);
    final MyElement element2 = getDomManager().createMockElement(MyElement.class, module, false);
    element2.ensureTagExists();
    assertNull(element2.getChild().getChild().getGenericValue().getStringValue());
    element1.getChild().getChild().getGenericValue().setStringValue("abc");
    new WriteCommandAction(getProject()) {

        @Override
        protected void run(@NotNull Result result) throws Throwable {
            element2.copyFrom(element1);
        }
    }.execute();
    assertEquals("abc", element2.getChild().getChild().getGenericValue().getStringValue());
}
Also used : WriteCommandAction(com.intellij.openapi.command.WriteCommandAction) MockModule(com.intellij.mock.MockModule) MockModule(com.intellij.mock.MockModule) Module(com.intellij.openapi.module.Module) Result(com.intellij.openapi.application.Result)

Example 14 with Result

use of com.intellij.openapi.application.Result in project intellij-community by JetBrains.

the class GrabDependencies method prepareQueries.

static Map<String, String> prepareQueries(PsiFile file) {
    final Set<GrAnnotation> grabs = new LinkedHashSet<>();
    final Set<GrAnnotation> excludes = new THashSet<>();
    final Set<GrAnnotation> resolvers = new THashSet<>();
    file.acceptChildren(new PsiRecursiveElementWalkingVisitor() {

        @Override
        public void visitElement(PsiElement element) {
            if (element instanceof GrAnnotation) {
                GrAnnotation anno = (GrAnnotation) element;
                String qname = anno.getQualifiedName();
                if (GrabAnnos.GRAB_ANNO.equals(qname))
                    grabs.add(anno);
                else if (GrabAnnos.GRAB_EXCLUDE_ANNO.equals(qname))
                    excludes.add(anno);
                else if (GrabAnnos.GRAB_RESOLVER_ANNO.equals(qname))
                    resolvers.add(anno);
            }
            super.visitElement(element);
        }
    });
    Function<GrAnnotation, String> mapper = grAnnotation -> grAnnotation.getText();
    String common = StringUtil.join(excludes, mapper, " ") + " " + StringUtil.join(resolvers, mapper, " ");
    LinkedHashMap<String, String> result = new LinkedHashMap<>();
    for (GrAnnotation grab : grabs) {
        String grabText = grab.getText();
        result.put(grabText, (grabText + " " + common).trim());
    }
    return result;
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) URL(java.net.URL) URISyntaxException(java.net.URISyntaxException) THashSet(gnu.trove.THashSet) GrCodeReferenceElement(org.jetbrains.plugins.groovy.lang.psi.api.types.GrCodeReferenceElement) GroovyScriptRunConfiguration(org.jetbrains.plugins.groovy.runner.GroovyScriptRunConfiguration) Library(com.intellij.openapi.roots.libraries.Library) PsiTreeUtil(com.intellij.psi.util.PsiTreeUtil) Task(com.intellij.openapi.progress.Task) ModifiableRootModel(com.intellij.openapi.roots.ModifiableRootModel) GeneralCommandLine(com.intellij.execution.configurations.GeneralCommandLine) Messages(com.intellij.openapi.ui.Messages) Logger(com.intellij.openapi.diagnostic.Logger) Module(com.intellij.openapi.module.Module) ProgressManager(com.intellij.openapi.progress.ProgressManager) ReferencesSearch(com.intellij.psi.search.searches.ReferencesSearch) OrderRootType(com.intellij.openapi.roots.OrderRootType) ModuleUtilCore(com.intellij.openapi.module.ModuleUtilCore) IncorrectOperationException(com.intellij.util.IncorrectOperationException) LocalFileSystem(com.intellij.openapi.vfs.LocalFileSystem) NotificationType(com.intellij.notification.NotificationType) CachedValuesManager(com.intellij.psi.util.CachedValuesManager) ProgressIndicator(com.intellij.openapi.progress.ProgressIndicator) ModuleRootManager(com.intellij.openapi.roots.ModuleRootManager) JavaSdkType(com.intellij.openapi.projectRoots.JavaSdkType) GrAnnotation(org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.annotation.GrAnnotation) Function(com.intellij.util.Function) IntentionAction(com.intellij.codeInsight.intention.IntentionAction) com.intellij.psi(com.intellij.psi) NotNull(org.jetbrains.annotations.NotNull) Ref(com.intellij.openapi.util.Ref) NotificationDisplayType(com.intellij.notification.NotificationDisplayType) java.util(java.util) WriteAction(com.intellij.openapi.application.WriteAction) ExecutionException(com.intellij.execution.ExecutionException) OSProcessHandler(com.intellij.execution.process.OSProcessHandler) GrReferenceElement(org.jetbrains.plugins.groovy.lang.psi.GrReferenceElement) ContainerUtil(com.intellij.util.containers.ContainerUtil) LocalSearchScope(com.intellij.psi.search.LocalSearchScope) CachedValueProvider(com.intellij.psi.util.CachedValueProvider) NotificationGroup(com.intellij.notification.NotificationGroup) Project(com.intellij.openapi.project.Project) GroovyFile(org.jetbrains.plugins.groovy.lang.psi.GroovyFile) ProcessOutputTypes(com.intellij.execution.process.ProcessOutputTypes) MalformedURLException(java.net.MalformedURLException) StringUtil(com.intellij.openapi.util.text.StringUtil) DefaultGroovyScriptRunner(org.jetbrains.plugins.groovy.runner.DefaultGroovyScriptRunner) Key(com.intellij.openapi.util.Key) Editor(com.intellij.openapi.editor.Editor) Sdk(com.intellij.openapi.projectRoots.Sdk) File(java.io.File) ExceptionUtil(com.intellij.util.ExceptionUtil) JarFileSystem(com.intellij.openapi.vfs.JarFileSystem) Result(com.intellij.openapi.application.Result) LibraryTable(com.intellij.openapi.roots.libraries.LibraryTable) JavaParameters(com.intellij.execution.configurations.JavaParameters) PathUtil(com.intellij.util.PathUtil) CantRunException(com.intellij.execution.CantRunException) GrAnnotation(org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.annotation.GrAnnotation) THashSet(gnu.trove.THashSet)

Example 15 with Result

use of com.intellij.openapi.application.Result in project intellij-community by JetBrains.

the class StructureImportingTest method testParentInLocalRepository.

public void testParentInLocalRepository() throws Exception {
    if (!hasMavenInstallation())
        return;
    final VirtualFile parent = createModulePom("parent", "<groupId>test</groupId>" + "<artifactId>parent</artifactId>" + "<version>1</version>" + "<packaging>pom</packaging>" + "<dependencies>" + "  <dependency>" + "    <groupId>junit</groupId>" + "    <artifactId>junit</artifactId>" + "    <version>4.0</version>" + "  </dependency>" + "</dependencies>");
    executeGoal("parent", "install");
    new WriteAction() {

        protected void run(@NotNull Result result) throws Throwable {
            parent.delete(null);
        }
    }.execute();
    createProjectPom("<groupId>test</groupId>" + "<artifactId>m</artifactId>" + "<version>1</version>" + "<parent>" + "  <groupId>test</groupId>" + "  <artifactId>parent</artifactId>" + "  <version>1</version>" + "</parent>");
    importProject();
    assertModules("m");
    assertModuleLibDeps("m", "Maven: junit:junit:4.0");
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) WriteAction(com.intellij.openapi.application.WriteAction) Result(com.intellij.openapi.application.Result)

Aggregations

Result (com.intellij.openapi.application.Result)278 WriteCommandAction (com.intellij.openapi.command.WriteCommandAction)177 NotNull (org.jetbrains.annotations.NotNull)111 WriteAction (com.intellij.openapi.application.WriteAction)87 VirtualFile (com.intellij.openapi.vfs.VirtualFile)76 Project (com.intellij.openapi.project.Project)55 File (java.io.File)30 Document (com.intellij.openapi.editor.Document)28 Module (com.intellij.openapi.module.Module)28 XmlFile (com.intellij.psi.xml.XmlFile)28 IOException (java.io.IOException)26 PsiFile (com.intellij.psi.PsiFile)25 XmlTag (com.intellij.psi.xml.XmlTag)24 Nullable (org.jetbrains.annotations.Nullable)16 ArrayList (java.util.ArrayList)15 ReadAction (com.intellij.openapi.application.ReadAction)14 Editor (com.intellij.openapi.editor.Editor)12 NlModel (com.android.tools.idea.uibuilder.model.NlModel)11 AttributesTransaction (com.android.tools.idea.uibuilder.model.AttributesTransaction)10 TextRange (com.intellij.openapi.util.TextRange)10