当前位置: 首页>>代码示例>>Java>>正文


Java TransactionGuard类代码示例

本文整理汇总了Java中com.intellij.openapi.application.TransactionGuard的典型用法代码示例。如果您正苦于以下问题:Java TransactionGuard类的具体用法?Java TransactionGuard怎么用?Java TransactionGuard使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TransactionGuard类属于com.intellij.openapi.application包,在下文中一共展示了TransactionGuard类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: prefetchProjectFiles

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
private static void prefetchProjectFiles(Project project) {
  if (!Blaze.isBlazeProject(project)) {
    return;
  }
  BlazeProjectData projectData = getBlazeProjectData(project);
  ProjectViewSet projectViewSet = ProjectViewManager.getInstance(project).getProjectViewSet();
  if (projectViewSet == null) {
    return;
  }
  long start = System.currentTimeMillis();
  ListenableFuture<?> future =
      PrefetchService.getInstance().prefetchProjectFiles(project, projectViewSet, projectData);
  TransactionGuard.submitTransaction(
      project,
      () -> {
        DumbService.getInstance(project).queueTask(new PrefetchTask(future, start));
      });
}
 
开发者ID:bazelbuild,项目名称:intellij,代码行数:19,代码来源:PrefetchProjectInitializer.java

示例2: refactor

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
private void refactor(String currentStepText, String newStepText, TransactionId contextTransaction, CompileContext context, RefactorStatusCallback refactorStatusCallback) {
    refactorStatusCallback.onStatusChange("Refactoring...");
    Module module = GaugeUtil.moduleForPsiElement(file);
    TransactionGuard.getInstance().submitTransaction(() -> {
    }, contextTransaction, () -> {
        Api.PerformRefactoringResponse response = null;
        FileDocumentManager.getInstance().saveAllDocuments();
        FileDocumentManager.getInstance().saveDocumentAsIs(editor.getDocument());
        GaugeService gaugeService = Gauge.getGaugeService(module, true);
        try {
            response = gaugeService.getGaugeConnection().sendPerformRefactoringRequest(currentStepText, newStepText);
        } catch (Exception e) {
            refactorStatusCallback.onFinish(new RefactoringStatus(false, String.format("Could not execute refactor command: %s", e.toString())));
            return;
        }
        new UndoHandler(response.getFilesChangedList(), module.getProject(), "Refactoring").handle();
        if (!response.getSuccess()) {
            showMessage(response, context, refactorStatusCallback);
            return;
        }
        refactorStatusCallback.onFinish(new RefactoringStatus(true));
    });
}
 
开发者ID:getgauge,项目名称:Intellij-Plugin,代码行数:24,代码来源:GaugeRefactorHandler.java

示例3: updateRouteList

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
/**
 * Updates route list. The method starts task that call 'rake routes' and parses result after complete.
 * After routes are parsed, Routes panel is updated.
 *
 * @return True if update task is started, false if new task is not started because routes update is in progress.
 */
public boolean updateRouteList() {
    if (isUpdating())
        return false;

    setState(UPDATING);

    // Save all documents to make sure that requestMethods will be collected using actual files.
    TransactionGuard.submitTransaction(ApplicationManager.getApplication(), () -> {
        FileDocumentManager.getInstance().saveAllDocuments();

        // Start background task.
        (new UpdateRoutesTask()).queue();
    });

    return true;
}
 
开发者ID:basgren,项目名称:railways,代码行数:23,代码来源:RoutesManager.java

示例4: performActionDumbAware

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
public static void performActionDumbAware(AnAction action, AnActionEvent e) {
  Runnable runnable = new Runnable() {
    @Override
    public void run() {
      try {
        action.actionPerformed(e);
      }
      catch (IndexNotReadyException e1) {
        showDumbModeWarning(e);
      }
    }

    @Override
    public String toString() {
      return action + " of " + action.getClass();
    }
  };

  if (action.startInTransaction()) {
    TransactionGuard.getInstance().submitTransactionAndWait(runnable);
  }
  else {
    runnable.run();
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:26,代码来源:ActionUtil.java

示例5: run

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
public void run(boolean newConfigFolder) {
  try {
    ApplicationEx app = ApplicationManagerEx.getApplicationEx();
    app.load(PathManager.getOptionsPath());

    if (myPostStarter.needStartInTransaction()) {
      ((TransactionGuardImpl)TransactionGuard.getInstance()).performUserActivity(() -> myPostStarter.main(newConfigFolder, myArgs));
    }
    else {
      myPostStarter.main(newConfigFolder, myArgs);
    }

    myPostStarter = null;

    ourLoaded = true;
  }
  catch (Exception e) {
    throw new RuntimeException(e);
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:21,代码来源:ApplicationStarter.java

示例6: afterItemInsertion

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
public static void afterItemInsertion(final CompletionProgressIndicator indicator, final Runnable laterRunnable) {
  if (laterRunnable != null) {
    ActionTracker tracker = new ActionTracker(indicator.getEditor(), indicator);
    Runnable wrapper = () -> {
      if (!indicator.getProject().isDisposed() && !tracker.hasAnythingHappened()) {
        laterRunnable.run();
      }
      indicator.disposeIndicator();
    };
    if (ApplicationManager.getApplication().isUnitTestMode()) {
      wrapper.run();
    }
    else {
      TransactionGuard.getInstance().submitTransactionLater(indicator, wrapper);
    }
  }
  else {
    indicator.disposeIndicator();
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:21,代码来源:CodeCompletionHandlerBase.java

示例7: chooseActionAndInvoke

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
static boolean chooseActionAndInvoke(@Nonnull PsiFile hostFile,
                                     @Nullable final Editor hostEditor,
                                     @Nonnull final IntentionAction action,
                                     @Nonnull String text,
                                     @Nonnull final Project project) {
  FeatureUsageTracker.getInstance().triggerFeatureUsed("codeassists.quickFix");
  ((FeatureUsageTrackerImpl)FeatureUsageTracker.getInstance()).getFixesStats().registerInvocation();

  PsiDocumentManager.getInstance(project).commitAllDocuments();

  Pair<PsiFile, Editor> pair = chooseFileForAction(hostFile, hostEditor, action);
  if (pair == null) return false;

  CommandProcessor.getInstance()
          .executeCommand(project, () -> TransactionGuard.getInstance().submitTransactionAndWait(() -> invokeIntention(action, pair.second, pair.first)),
                          text, null);
  return true;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:19,代码来源:ShowIntentionActionsHandler.java

示例8: reloadPsi

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
private static void reloadPsi(final VirtualFile file, final Project project) {
  final FileManagerImpl fileManager = (FileManagerImpl)((PsiManagerEx)PsiManager.getInstance(project)).getFileManager();
  if (fileManager.findCachedViewProvider(file) != null) {
    Runnable runnable = new Runnable() {
      @Override
      public void run() {
        WriteAction.run(new ThrowableRunnable<RuntimeException>() {
          @Override
          public void run() throws RuntimeException {
            fileManager.forceReload(file);
          }
        });
      }
    };
    if (ApplicationManager.getApplication().isDispatchThread()) {
      runnable.run();
    } else {
      TransactionGuard.submitTransaction(project, runnable);
    }
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:22,代码来源:PushedFilePropertiesUpdaterImpl.java

示例9: openOptionOrPerformAction

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
public static void openOptionOrPerformAction(@Nonnull Object element,
                                             final String enteredText,
                                             @Nullable final Project project,
                                             Component component,
                                             @Nullable AnActionEvent e) {
  if (element instanceof OptionDescription) {
    final String configurableId = ((OptionDescription)element).getConfigurableId();
    TransactionGuard.getInstance().submitTransactionLater(project != null ? project : ApplicationManager.getApplication(), new Runnable() {
      @Override
      public void run() {
        ShowSettingsUtilImpl.showSettingsDialog(project, configurableId, enteredText);
      }
    });
  }
  else {
    performAction(element, component, e);
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:19,代码来源:GotoActionAction.java

示例10: doDrop

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
private void doDrop(TreeNode targetNode, PsiElement[] sourceElements) {
  final PsiElement targetElement = getPsiElement(targetNode);
  if (targetElement == null) return;

  if (DumbService.isDumb(myProject)) {
    Messages.showMessageDialog(myProject, "Copy refactoring is not available while indexing is in progress", "Indexing", null);
    return;
  }

  final PsiDirectory psiDirectory;
  if (targetElement instanceof PsiDirectoryContainer) {
    final PsiDirectoryContainer directoryContainer = (PsiDirectoryContainer)targetElement;
    final PsiDirectory[] psiDirectories = directoryContainer.getDirectories();
    psiDirectory = psiDirectories.length != 0 ? psiDirectories[0] : null;
  }
  else if (targetElement instanceof PsiDirectory) {
    psiDirectory = (PsiDirectory)targetElement;
  }
  else {
    final PsiFile containingFile = targetElement.getContainingFile();
    LOG.assertTrue(containingFile != null);
    psiDirectory = containingFile.getContainingDirectory();
  }
  TransactionGuard.getInstance().submitTransactionAndWait(() -> CopyHandler.doCopy(sourceElements, psiDirectory));
}
 
开发者ID:consulo,项目名称:consulo,代码行数:26,代码来源:ProjectViewDropTarget.java

示例11: restartAnalysis

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
protected void restartAnalysis(final Project project, final AnalysisScope scope)
{
	TransactionGuard guard = TransactionGuard.getInstance();
	TransactionId id = guard.getContextTransaction();
	DumbService.getInstance(project).smartInvokeLater(() -> TransactionGuard.getInstance().submitTransaction(project, id, () ->
	{
		if(DumbService.isDumb(project))
		{
			restartAnalysis(project, scope);
		}
		else
		{
			analyze(project, scope);
		}
	}));
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:17,代码来源:InferNullityAnnotationsAction.java

示例12: openProject

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
@Nullable
private static Project openProject(@NotNull String projectPath) {
  final Project[] project = {null};
  ApplicationManager.getApplication().invokeAndWait(() -> {
    TransactionGuard.getInstance().submitTransactionAndWait(() ->
      project[0] = ProjectUtil.openProject(projectPath, null, true));
    requestFocus(project[0]);
  });
  return project[0];
}
 
开发者ID:medvector,项目名称:educational-plugin,代码行数:11,代码来源:EduBuiltInServerUtils.java

示例13: rebuildSymbols

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
private static void rebuildSymbols(Project project) {
  TransactionGuard.getInstance()
      .submitTransactionLater(
          project,
          () ->
              ApplicationManager.getApplication().runReadAction(() -> doRebuildSymbols(project)));
}
 
开发者ID:bazelbuild,项目名称:intellij,代码行数:8,代码来源:BlazeNdkSupportEnabler.java

示例14: rebuildSymbols

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
private static void rebuildSymbols(Project project, OCWorkspace workspace) {
  TransactionGuard.submitTransaction(
      project,
      () ->
          ApplicationManager.getApplication()
              .runReadAction(
                  () ->
                      OCWorkspaceModificationTrackersCompatUtils.getTrackers(project)
                          .getBuildSettingsChangesTracker()
                          .incModificationCount()));
}
 
开发者ID:bazelbuild,项目名称:intellij,代码行数:12,代码来源:StubOCWorkspaceManager.java

示例15: compileAndRefactor

import com.intellij.openapi.application.TransactionGuard; //导入依赖的package包/类
void compileAndRefactor(String currentStepText, String newStepText, @Nullable RefactorStatusCallback refactorStatusCallback) {
    refactorStatusCallback.onStatusChange("Compiling...");
    TransactionId contextTransaction = TransactionGuard.getInstance().getContextTransaction();
    CompilerManager.getInstance(project).make((aborted, errors, warnings, context) -> {
        if (errors > 0) {
            refactorStatusCallback.onFinish(new RefactoringStatus(false, "Please fix all errors before refactoring."));
            return;
        }
        refactor(currentStepText, newStepText, contextTransaction, context, refactorStatusCallback);
    });
}
 
开发者ID:getgauge,项目名称:Intellij-Plugin,代码行数:12,代码来源:GaugeRefactorHandler.java


注:本文中的com.intellij.openapi.application.TransactionGuard类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。