cleanup
authorVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Thu, 7 Jul 2016 14:27:43 +0000 (16:27 +0200)
committerVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Thu, 7 Jul 2016 15:31:00 +0000 (17:31 +0200)
platform/lang-api/src/com/intellij/util/ActionRunner.java
plugins/ant/src/com/intellij/lang/ant/config/impl/AntConfigurationImpl.java
resources-en/src/messages/AntBundle.properties

index 75e5179d522a86f8b52866eb21741bcb2bdb6f21..d1f662cab90213df98778c44eca07145730d54be 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2014 JetBrains s.r.o.
+ * Copyright 2000-2016 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -46,6 +46,7 @@ public abstract class ActionRunner {
     return result.throwException().getResultObject();
   }
 
+  @Deprecated
   public static void runInsideReadAction(@NotNull final InterruptibleRunnable runnable) throws Exception {
     ApplicationManager.getApplication().runReadAction(new ThrowableComputable<Void, Exception>() {
       @Override
index 59b051bf2807336087f9d633b1881429114257ed..de4b0c746f831afef0ca976dd7619bf84f186c3c 100644 (file)
@@ -53,7 +53,6 @@ import com.intellij.psi.PsiElement;
 import com.intellij.psi.PsiFile;
 import com.intellij.psi.PsiManager;
 import com.intellij.psi.xml.XmlFile;
-import com.intellij.util.ActionRunner;
 import com.intellij.util.EventDispatcher;
 import com.intellij.util.StringSetSpinAllocator;
 import com.intellij.util.concurrency.Semaphore;
@@ -89,7 +88,7 @@ public class AntConfigurationImpl extends AntConfigurationBase implements Persis
     @Nullable
     public String get(final AbstractPropertyContainer container) {
       if (!container.hasProperty(this)) return null;
-      AntConfiguration antConfiguration = AntConfigurationImpl.INSTANCE.get(container);
+      AntConfiguration antConfiguration = INSTANCE.get(container);
       return ProjectRootManager.getInstance(antConfiguration.getProject()).getProjectSdkName();
     }
 
@@ -145,7 +144,7 @@ public class AntConfigurationImpl extends AntConfigurationBase implements Persis
           daemon.restart();
         }
         else {
-          SwingUtilities.invokeLater(() -> daemon.restart());
+          SwingUtilities.invokeLater(daemon::restart);
         }
       }
     });
@@ -172,19 +171,42 @@ public class AntConfigurationImpl extends AntConfigurationBase implements Persis
 
   public Element getState() {
     try {
-      final Element e = new Element("state");
-      writeExternal(e);
-      return e;
+      final Element state = new Element("state");
+      getProperties().writeExternal(state);
+        ApplicationManager.getApplication().runReadAction(() -> {
+          for (final AntBuildFileBase buildFile : getBuildFiles()) {
+            final Element element = new Element(BUILD_FILE);
+            element.setAttribute(URL, buildFile.getVirtualFile().getUrl());
+            buildFile.writeProperties(element);
+            saveEvents(element, buildFile);
+            state.addContent(element);
+          }
+
+          final List<VirtualFile> files = new ArrayList<VirtualFile>(myAntFileToContextFileMap.keySet());
+          // sort in order to minimize changes
+          Collections.sort(files, (o1, o2) -> o1.getUrl().compareTo(o2.getUrl()));
+          for (VirtualFile file : files) {
+            final Element element = new Element(CONTEXT_MAPPING);
+            final VirtualFile contextFile = myAntFileToContextFileMap.get(file);
+            element.setAttribute(URL, file.getUrl());
+            element.setAttribute(CONTEXT, contextFile.getUrl());
+            state.addContent(element);
+          }
+        });
+      return state;
     }
-    catch (WriteExternalException e1) {
-      LOG.error(e1);
-      return null;
+    catch (WriteExternalException e) {
+      LOG.error(e);
     }
+    return null;
   }
 
   public void loadState(Element state) {
     try {
-      readExternal(state);
+      myIsInitialized = Boolean.FALSE;
+      myAntWorkspaceConfiguration.loadFromProjectSettings(state);
+      getProperties().readExternal(state);
+      runWhenInitialized(() -> loadBuildFileProjectProperties(state));
     }
     catch (InvalidDataException e) {
       LOG.error(e);
@@ -348,17 +370,6 @@ public class AntConfigurationImpl extends AntConfigurationBase implements Persis
     }
   }
 
-  public void handleTargetRename(String oldTargetName, String newTargetName) {
-    synchronized (myEventToTargetMap) {
-      for (Map.Entry<ExecutionEvent, Pair<AntBuildFile, String>> entry : myEventToTargetMap.entrySet()) {
-        final Pair<AntBuildFile, String> pair = entry.getValue();
-        if (pair != null && Comparing.equal(pair.getSecond(), oldTargetName)) {
-          entry.setValue(Pair.create(pair.getFirst(), newTargetName));
-        }
-      }
-    }
-  }
-
   public void updateBuildFile(final AntBuildFile buildFile) {
     incModificationCount();
     myEventDispatcher.getMulticaster().buildFileChanged(buildFile);
@@ -387,57 +398,12 @@ public class AntConfigurationImpl extends AntConfigurationBase implements Persis
     return getModel(buildFile);
   }
 
-  private void readExternal(final Element parentNode) throws InvalidDataException {
-    myIsInitialized = Boolean.FALSE;
-    myAntWorkspaceConfiguration.loadFromProjectSettings(parentNode);
-    getProperties().readExternal(parentNode);
-    runWhenInitialized(() -> loadBuildFileProjectProperties(parentNode));
-  }
-
   private void runWhenInitialized(final Runnable runnable) {
     if (getProject().isInitialized()) {
-      ApplicationManager.getApplication().runReadAction(() -> runnable.run());
+      ApplicationManager.getApplication().runReadAction(runnable);
     }
     else {
-      myStartupManager.runWhenProjectIsInitialized(() -> runnable.run());
-    }
-  }
-
-  private void writeExternal(final Element parentNode) throws WriteExternalException {
-    getProperties().writeExternal(parentNode);
-    try {
-      ActionRunner.runInsideReadAction(new ActionRunner.InterruptibleRunnable() {
-        public void run() throws WriteExternalException {
-          for (final AntBuildFileBase buildFile : getBuildFiles()) {
-            final Element element = new Element(BUILD_FILE);
-            element.setAttribute(URL, buildFile.getVirtualFile().getUrl());
-            buildFile.writeProperties(element);
-            saveEvents(element, buildFile);
-            parentNode.addContent(element);
-          }
-          final List<VirtualFile> files = new ArrayList<VirtualFile>(myAntFileToContextFileMap.keySet());
-          // sort in order to minimize changes
-          Collections.sort(files, (o1, o2) -> o1.getUrl().compareTo(o2.getUrl()));
-          for (VirtualFile file : files) {
-            final Element element = new Element(CONTEXT_MAPPING);
-            final VirtualFile contextFile = myAntFileToContextFileMap.get(file);
-            element.setAttribute(URL, file.getUrl());
-            element.setAttribute(CONTEXT, contextFile.getUrl());
-            parentNode.addContent(element);
-          }
-        }
-      });
-    }
-    catch (WriteExternalException e) {
-      LOG.error(e);
-      throw e;
-    }
-    catch (RuntimeException e) {
-      LOG.error(e);
-      throw e;
-    }
-    catch (Exception e) {
-      LOG.error(e);
+      myStartupManager.runWhenProjectIsInitialized(runnable);
     }
   }
 
@@ -607,7 +573,7 @@ public class AntConfigurationImpl extends AntConfigurationBase implements Persis
   }
 
   public static boolean executeTargetSynchronously(final DataContext dataContext, final AntBuildTarget target) {
-    return executeTargetSynchronously(dataContext, target, Collections.<BuildFileProperty>emptyList());
+    return executeTargetSynchronously(dataContext, target, Collections.emptyList());
   }
 
   public static boolean executeTargetSynchronously(final DataContext dataContext, final AntBuildTarget target, final List<BuildFileProperty> additionalProperties) {
@@ -831,7 +797,7 @@ public class AntConfigurationImpl extends AntConfigurationBase implements Persis
     if (!app.isDispatchThread() || task.isHeadless()) {
       // for headless tasks we need to ensure async execution. 
       // Otherwise calls to AntConfiguration.getInstance() from the task will cause SOE
-      app.invokeLater(() -> task.queue(), ModalityState.any());
+      app.invokeLater(task::queue, ModalityState.any());
     }
     else {
       task.queue();
index e487c69484e440f2c13ce8c74e222ed83765259d..287d330abd111dbc3374e69e76bf0111c76373a4 100644 (file)
@@ -182,8 +182,8 @@ ant.inspections.display.name=Ant inspections
 ant.duplicate.targets.inspection=Duplicate targets
 ant.duplicate.imported.targets.inspection=Duplicate targets in imported files
 ant.missing.properties.file.inspection=Missing properties file
-register.ant.build.progress=Registering Ant build file ''{0}''...
-loading.ant.config.progress=Loading Ant configuration...
+register.ant.build.progress=Registering Ant Build File ''{0}''...
+loading.ant.config.progress=Loading Ant Configuration...
 intention.configure.highlighting.family.name=Configure highlighting
 intention.configure.highlighting.text=Configure highlighting
 build.file.properties.maximum.stack.size.label=Maximum &stack size (Mb):