Java Code Examples for com.intellij.openapi.util.Condition

The following are top voted examples for showing how to use com.intellij.openapi.util.Condition. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: intellij-postfix-templates   File: CustomJavaStringPostfixTemplate.java   Source Code and License 6 votes vote down vote up
public static Condition<PsiElement> withProjectClassCondition(@Nullable String conditionClass, Condition<PsiElement> psiElementCondition) {
	if (conditionClass == null) {
		return psiElementCondition;
	} else {
		final Condition<PsiElement> finalPsiElementCondition = psiElementCondition;

		return psiElement -> {
			if (finalPsiElementCondition.value(psiElement)) {
				final Project project = psiElement.getProject();
				PsiFile psiFile = psiElement.getContainingFile().getOriginalFile();
				VirtualFile virtualFile = psiFile.getVirtualFile();
				Module module = ProjectRootManager.getInstance(project).getFileIndex().getModuleForFile(virtualFile);
				assert module != null;
				return JavaPsiFacade.getInstance(project).findClass(conditionClass, GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(module, true)) != null;
			} else {
				return false;
			}
		};
	}
}
 
Example 2
Project: intellij-ce-playground   File: IdeKeyEventDispatcher.java   Source Code and License 6 votes vote down vote up
private static ListPopupStep buildStep(@NotNull final List<Pair<AnAction, KeyStroke>> actions, final DataContext ctx) {
  return new BaseListPopupStep<Pair<AnAction, KeyStroke>>("Choose an action", ContainerUtil.findAll(actions, new Condition<Pair<AnAction, KeyStroke>>() {
    @Override
    public boolean value(Pair<AnAction, KeyStroke> pair) {
      final AnAction action = pair.getFirst();
      final Presentation presentation = action.getTemplatePresentation().clone();
      AnActionEvent event = new AnActionEvent(null, ctx,
                                              ActionPlaces.UNKNOWN,
                                              presentation,
                                              ActionManager.getInstance(),
                                              0);

      ActionUtil.performDumbAwareUpdate(action, event, true);
      return presentation.isEnabled() && presentation.isVisible();
    }
  })) {
    @Override
    public PopupStep onChosen(Pair<AnAction, KeyStroke> selectedValue, boolean finalChoice) {
      invokeAction(selectedValue.getFirst(), ctx);
      return FINAL_CHOICE;
    }
  };
}
 
Example 3
Project: jetbrains-hacklang   File: HackUtil.java   Source Code and License 6 votes vote down vote up
public static List<HackVarname> findLocalVarnames(HackVarname var)
{
    List<HackVarname> result = new ArrayList<HackVarname>();

    Condition<PsiElement> parentCheck = psiElement
            -> psiElement instanceof HackFunctionDefinition || psiElement instanceof HackClassMemberDeclaration;
    PsiElement parentFunction = PsiTreeUtil.findFirstParent(var, false, parentCheck);
    Collection<HackVarname> siblingVars = PsiTreeUtil.findChildrenOfType(parentFunction, HackVarname.class);

    for (HackVarname sibling : siblingVars) {
        if (var.getText().equals(sibling.getText())) {
            result.add(sibling);
        }
    }

    return result;
}
 
Example 4
Project: intellij-ce-playground   File: SvnCheckinEnvironment.java   Source Code and License 6 votes vote down vote up
private void reportCommittedRevisions(Set<String> feedback, String committedRevisions) {
  final Project project = mySvnVcs.getProject();
  final String message = SvnBundle.message("status.text.comitted.revision", committedRevisions);
  if (feedback == null) {
    ApplicationManager.getApplication().invokeLater(new Runnable() {
                                                      public void run() {
                                                        new VcsBalloonProblemNotifier(project, message, MessageType.INFO).run();
                                                      }
                                                    }, new Condition<Object>() {
      @Override
      public boolean value(Object o) {
        return (! project.isOpen()) || project.isDisposed();
      }
    });
  } else {
    feedback.add("Subversion: " + message);
  }
}
 
Example 5
Project: intellij-ce-playground   File: XDebuggerTreeCreator.java   Source Code and License 6 votes vote down vote up
@NotNull
@Override
public Tree createTree(@NotNull Pair<XValue, String> descriptor) {
  final XDebuggerTree tree = new XDebuggerTree(myProject, myProvider, myPosition, XDebuggerActions.INSPECT_TREE_POPUP_GROUP, myMarkers);
  final XValueNodeImpl root = new XValueNodeImpl(tree, null, descriptor.getSecond(), descriptor.getFirst());
  tree.setRoot(root, true);
  tree.setSelectionRow(0);
  // expand root on load
  tree.expandNodesOnLoad(new Condition<TreeNode>() {
    @Override
    public boolean value(TreeNode node) {
      return node == root;
    }
  });
  return tree;
}
 
Example 6
Project: intellij-ce-playground   File: LanguageConsoleBuilder.java   Source Code and License 6 votes vote down vote up
/**
 * todo This API doesn't look good, but it is much better than force client to know low-level details
 */
public static AnAction registerExecuteAction(@NotNull LanguageConsoleView console,
                                             @NotNull final Consumer<String> executeActionHandler,
                                             @NotNull String historyType,
                                             @Nullable String historyPersistenceId,
                                             @Nullable Condition<LanguageConsoleView> enabledCondition) {
  ConsoleExecuteAction.ConsoleExecuteActionHandler handler = new ConsoleExecuteAction.ConsoleExecuteActionHandler(true) {
    @Override
    void doExecute(@NotNull String text, @NotNull LanguageConsoleView consoleView) {
      executeActionHandler.consume(text);
    }
  };

  ConsoleExecuteAction action = new ConsoleExecuteAction(console, handler, enabledCondition);
  action.registerCustomShortcutSet(action.getShortcutSet(), console.getConsoleEditor().getComponent());
  new ConsoleHistoryController(historyType, historyPersistenceId, console).install();
  return action;
}
 
Example 7
Project: intellij-ce-playground   File: NonBundledPluginsUsagesCollector.java   Source Code and License 6 votes vote down vote up
@NotNull
public Set<UsageDescriptor> getUsages() {
  final IdeaPluginDescriptor[] plugins = PluginManagerCore.getPlugins();
  final List<IdeaPluginDescriptor> nonBundledEnabledPlugins = ContainerUtil.filter(plugins, new Condition<IdeaPluginDescriptor>() {
    public boolean value(final IdeaPluginDescriptor d) {
      return d.isEnabled() && !d.isBundled() && d.getPluginId() != null;
    }
  });

  return ContainerUtil.map2Set(nonBundledEnabledPlugins, new Function<IdeaPluginDescriptor, UsageDescriptor>() {
    @Override
    public UsageDescriptor fun(IdeaPluginDescriptor descriptor) {
      return new UsageDescriptor(descriptor.getPluginId().getIdString(), 1);
    }
  });
}
 
Example 8
Project: intellij-ce-playground   File: DeviceChooserDialog.java   Source Code and License 6 votes vote down vote up
public DeviceChooserDialog(@NotNull AndroidFacet facet,
                           @NotNull IAndroidTarget projectTarget,
                           boolean multipleSelection,
                           @Nullable String[] selectedSerials,
                           @Nullable Condition<IDevice> filter) {
  super(facet.getModule().getProject(), true);
  setTitle(AndroidBundle.message("choose.device.dialog.title"));

  getOKAction().setEnabled(false);

  myDeviceChooser = new DeviceChooser(multipleSelection, getOKAction(), facet, projectTarget, filter);
  Disposer.register(myDisposable, myDeviceChooser);
  myDeviceChooser.addListener(new DeviceChooserListener() {
    @Override
    public void selectedDevicesChanged() {
      updateOkButton();
    }
  });

  init();
  myDeviceChooser.init(selectedSerials);
}
 
Example 9
Project: intellij-ce-playground   File: ProjectSdksModel.java   Source Code and License 6 votes vote down vote up
public void createAddActions(DefaultActionGroup group,
                             final JComponent parent,
                             final Consumer<Sdk> updateTree,
                             @Nullable Condition<SdkTypeId> filter) {
  final SdkType[] types = SdkType.getAllTypes();
  for (final SdkType type : types) {
    if (filter != null && !filter.value(type)) continue;
    final AnAction addAction = new DumbAwareAction(type.getPresentableName(), null, type.getIconForAddAction()) {
      @Override
      public void actionPerformed(@NotNull AnActionEvent e) {
        doAdd(parent, type, updateTree);
      }
    };
    group.add(addAction);
  }
}
 
Example 10
Project: intellij-ce-playground   File: DirDiffTableModel.java   Source Code and License 6 votes vote down vote up
private void reportException(final String htmlContent) {
  Runnable balloonShower = new Runnable() {
    @Override
    public void run() {
      Balloon balloon = JBPopupFactory.getInstance().createHtmlTextBalloonBuilder(htmlContent, MessageType.WARNING, null).
        setShowCallout(false).setHideOnClickOutside(true).setHideOnAction(true).setHideOnFrameResize(true).setHideOnKeyOutside(true).
        createBalloon();
      final Rectangle rect = myPanel.getPanel().getBounds();
      final Point p = new Point(rect.x + rect.width - 100, rect.y + 50);
      final RelativePoint point = new RelativePoint(myPanel.getPanel(), p);
      balloon.show(point, Balloon.Position.below);
      Disposer.register(myProject != null ? myProject : ApplicationManager.getApplication(), balloon);
    }
  };
  ApplicationManager.getApplication().invokeLater(balloonShower, new Condition() {
    @Override
    public boolean value(Object o) {
      return !(myProject == null || myProject.isDefault()) && ((!myProject.isOpen()) || myProject.isDisposed());
    }
  }
  );
}
 
Example 11
Project: intellij-ce-playground   File: HgBranchPopup.java   Source Code and License 6 votes vote down vote up
/**
 * @param currentRepository Current repository, which means the repository of the currently open or selected file.
 */
public static HgBranchPopup getInstance(@NotNull Project project, @NotNull HgRepository currentRepository) {

  HgRepositoryManager manager = HgUtil.getRepositoryManager(project);
  HgProjectSettings hgProjectSettings = ServiceManager.getService(project, HgProjectSettings.class);
  HgMultiRootBranchConfig hgMultiRootBranchConfig = new HgMultiRootBranchConfig(manager.getRepositories());

  Condition<AnAction> preselectActionCondition = new Condition<AnAction>() {
    @Override
    public boolean value(AnAction action) {
      return false;
    }
  };
  return new HgBranchPopup(currentRepository, manager, hgMultiRootBranchConfig, hgProjectSettings,
                           preselectActionCondition);
}
 
Example 12
Project: intellij-ce-playground   File: CustomResourceBundleState.java   Source Code and License 6 votes vote down vote up
@Nullable
public CustomResourceBundleState removeNonExistentFiles(final VirtualFileManager virtualFileManager) {
  final List<String> existentFiles = ContainerUtil.filter(myFileUrls, new Condition<String>() {
    @Override
    public boolean value(String url) {
      return virtualFileManager.findFileByUrl(url) != null;
    }
  });
  if (existentFiles.isEmpty()) {
    return null;
  }
  final CustomResourceBundleState customResourceBundleState = new CustomResourceBundleState();
  customResourceBundleState.myFileUrls.addAll(existentFiles);
  customResourceBundleState.myBaseName = myBaseName;
  return customResourceBundleState;
}
 
Example 13
Project: intellij-ce-playground   File: IgnoredPropertiesFilesSuffixesManager.java   Source Code and License 6 votes vote down vote up
public List<PropertiesFile> getPropertiesFilesWithoutTranslation(final ResourceBundle resourceBundle, final Set<String> keys) {
  final PropertiesFile defaultPropertiesFile = resourceBundle.getDefaultPropertiesFile();
  return ContainerUtil.filter(resourceBundle.getPropertiesFiles(), new Condition<PropertiesFile>() {
    @Override
    public boolean value(PropertiesFile propertiesFile) {
      if (defaultPropertiesFile.equals(propertiesFile)) {
        return false;
      }
      for (String key : keys) {
        if (propertiesFile.findPropertyByKey(key) == null && !myState.getIgnoredSuffixes().contains(PropertiesUtil.getSuffix(propertiesFile))) {
          return true;
        }
      }
      return false;
    }
  });
}
 
Example 14
Project: intellij-ce-playground   File: PredefinedSearchScopeProviderImpl.java   Source Code and License 6 votes vote down vote up
@Nullable
private static SearchScope getSelectedFilesScope(final Project project, @Nullable DataContext dataContext) {
  final VirtualFile[] filesOrDirs = dataContext == null ? null : CommonDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext);
  if (filesOrDirs != null) {
    final List<VirtualFile> selectedFiles = ContainerUtil.filter(filesOrDirs, new Condition<VirtualFile>() {
      @Override
      public boolean value(VirtualFile file) {
        return !file.isDirectory();
      }
    });
    if (!selectedFiles.isEmpty()) {
      return new DelegatingGlobalSearchScope(GlobalSearchScope.filesScope(project, selectedFiles)) {
        @NotNull
        @Override
        public String getDisplayName() {
          return "Selected Files";
        }
      };
    }
  }
  return null;
}
 
Example 15
Project: intellij-ce-playground   File: PathsList.java   Source Code and License 6 votes vote down vote up
private Iterator<String> chooseFirstTimeItems(String path) {
  if (path == null) {
    return emptyIterator();
  }
  final StringTokenizer tokenizer = new StringTokenizer(path, File.pathSeparator);
  // in JDK 1.5 StringTokenizer implements Enumeration<Object> rather then Enumeration<String>, need to convert
  final Enumeration<String> en = new Enumeration<String>() {
    @Override
    public boolean hasMoreElements() {
      return tokenizer.hasMoreElements();
    }

    @Override
    public String nextElement() {
      return (String)tokenizer.nextElement();
    }
  };
  return FilteringIterator.create(iterate(en), new Condition<String>() {
    @Override
    public boolean value(String element) {
      element = element.trim();
      return !element.isEmpty() && !myPathSet.contains(element);
    }
  });
}
 
Example 16
Project: intellij-ce-playground   File: GitRefManagerTest.java   Source Code and License 6 votes vote down vote up
private void setUpTracking(@NotNull Collection<VcsRef> refs) {
  cd(myProjectRoot);
  for (final VcsRef ref : refs) {
    if (ref.getType() == GitRefManager.LOCAL_BRANCH) {
      final String localBranch = ref.getName();
      if (ContainerUtil.exists(refs, new Condition<VcsRef>() {
        @Override
        public boolean value(VcsRef remoteRef) {
          return remoteRef.getType() == GitRefManager.REMOTE_BRANCH && remoteRef.getName().replace("origin/", "").equals(localBranch);
        }
      })) {
        git("config branch." + localBranch + ".remote origin");
        git("config branch." + localBranch + ".merge refs/heads/" + localBranch);
      }
    }
  }
}
 
Example 17
Project: intellij-ce-playground   File: SvnCheckinEnvironment.java   Source Code and License 6 votes vote down vote up
@NotNull
private List<FilePath> getCommitables(@NotNull List<Change> changes) {
  ChangesUtil.CaseSensitiveFilePathList list = ChangesUtil.getPathsList(changes);

  for (FilePath path : ContainerUtil.newArrayList(list.getResult())) {
    list.addParents(path, new Condition<FilePath>() {
      @Override
      public boolean value(@NotNull FilePath file) {
        Status status = getStatus(file);

        return status != null && status.is(StatusType.STATUS_ADDED, StatusType.STATUS_REPLACED);
      }
    });
  }

  return list.getResult();
}
 
Example 18
Project: intellij-ce-playground   File: ComboControl.java   Source Code and License 6 votes vote down vote up
static JComboBox initComboBox(final JComboBox comboBox, final Condition<String> validity) {
  comboBox.setEditable(false);
  comboBox.setPrototypeDisplayValue(new ComboBoxItem("A", null));
  comboBox.setRenderer(new DefaultListCellRenderer() {
    @Override
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
      super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
      final Pair<String, Icon> pair = (Pair<String, Icon>)value;
      final String text = pair == null ? null : pair.first;
      setText(text);
      final Dimension dimension = getPreferredSize();
      if (!validity.value(text)) {
        setFont(getFont().deriveFont(Font.ITALIC));
        setForeground(JBColor.RED);
      }
      setIcon(pair == null ? null : pair.second);
      setPreferredSize(new Dimension(-1, dimension.height));
      return this;
    }
  });
  return comboBox;
}
 
Example 19
Project: intellij-ce-playground   File: BackpointerUtil.java   Source Code and License 6 votes vote down vote up
public static boolean isBackpointerReference(PsiExpression expression, Condition<PsiField> value) {
  if (expression instanceof PsiParenthesizedExpression) {
    final PsiExpression contents = ((PsiParenthesizedExpression)expression).getExpression();
    return isBackpointerReference(contents, value);
  }
  if (!(expression instanceof PsiReferenceExpression)) {
    return false;
  }
  final PsiReferenceExpression reference = (PsiReferenceExpression)expression;
  final PsiElement qualifier = reference.getQualifier();
  if (qualifier != null && !(qualifier instanceof PsiThisExpression)) {
    return false;
  }
  final PsiElement referent = reference.resolve();
  return referent instanceof PsiField && value.value((PsiField)referent);
}
 
Example 20
Project: intellij-ce-playground   File: ScratchFileActions.java   Source Code and License 6 votes vote down vote up
@Override
public void update(AnActionEvent e) {
  Project project = e.getProject();
  JBIterable<VirtualFile> files = JBIterable.of(e.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY));
  if (project == null || files.isEmpty()) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }

  Condition<VirtualFile> isScratch = fileFilter(project);
  if (!files.filter(not(isScratch)).isEmpty()) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }
  Set<Language> langs = files.filter(isScratch).transform(fileLanguage(project)).filter(notNull()).
    addAllTo(ContainerUtil.<Language>newLinkedHashSet());
  String langName = langs.size() == 1 ? langs.iterator().next().getDisplayName() : langs.size() + " different";
  e.getPresentation().setText(String.format("Change %s (%s)...", getLanguageTerm(), langName));
  e.getPresentation().setEnabledAndVisible(true);
}
 
Example 21
Project: intellij-ce-playground   File: ProxyCallback.java   Source Code and License 6 votes vote down vote up
@Override
public void updateParameters(@NotNull Command command) {
  // TODO: This is quite messy logic for determining group for host - either ProxyCallback could be unified with ProxyModule
  // TODO: or group name resolved in ProxyModule could be saved in Command instance.
  // TODO: This will be done later after corresponding refactorings.
  String proxyHostParameter = ContainerUtil.find(command.getParameters(), new Condition<String>() {
    @Override
    public boolean value(String s) {
      return s.contains("http-proxy-port");
    }
  });

  if (!StringUtil.isEmpty(proxyHostParameter) && myUrl != null && myProxyAuthentication != null) {
    String group = getHostGroup(proxyHostParameter);

    command.put("--config-option");
    command.put(String.format("servers:%s:http-proxy-username=%s", group, myProxyAuthentication.getUserName()));
    command.put("--config-option");
    command.put(String.format("servers:%s:http-proxy-password=%s", group, String.valueOf(myProxyAuthentication.getPassword())));
  }
}
 
Example 22
Project: AppleScript-IDEA   File: AppleScriptResolveUtil.java   Source Code and License 5 votes vote down vote up
@NotNull
public static ResolveResult[] toCandidateInfoArray(@Nullable List<? extends PsiElement> elements) {
  if (elements == null) {
    return ResolveResult.EMPTY_ARRAY;
  }
  elements = ContainerUtil.filter(elements, (Condition<PsiElement>) Objects::nonNull);
  final ResolveResult[] result = new ResolveResult[elements.size()];
  for (int i = 0, size = elements.size(); i < size; i++) {
    result[i] = new PsiElementResolveResult(elements.get(i));
  }
  return result;
}
 
Example 23
Project: intellij-postfix-templates   File: CustomJavaScriptStringPostfixTemplate.java   Source Code and License 5 votes vote down vote up
@NotNull
public static Condition<PsiElement> getCondition(String clazz) {
	Condition<PsiElement> psiElementCondition = type2psiCondition.get(clazz);

	if (psiElementCondition != null) {
		return psiElementCondition;
	} else {
		return MyJavaPostfixTemplatesUtils.isCustomClass(clazz);
	}
}
 
Example 24
Project: GravSupport   File: GravFileTemplateUtil.java   Source Code and License 5 votes vote down vote up
public static List<FileTemplate> getAvailableThemeConfigurationTemplates() {
    return getApplicableTemplates(new Condition<FileTemplate>() {
        @Override
        public boolean value(FileTemplate fileTemplate) {
            return GravConfigurationFileType.DEFAULT_EXTENSION.equals(fileTemplate.getExtension());
        }
    });
}
 
Example 25
Project: intellij-ce-playground   File: UIPropertyBinding.java   Source Code and License 5 votes vote down vote up
public void updateRemoveButton(JButton button, Condition<T> removable) {
  final JTable table = getComponent();
  final ListSelectionModel selectionModel = table.getSelectionModel();
  boolean enable = false;
  if (!selectionModel.isSelectionEmpty()) {
    enable = true;
    for (int i : table.getSelectedRows()) {
      if (!removable.value(myModel.getItems().get(i))) {
        enable = false;
        break;
      }
    }
  }
  button.setEnabled(enable);
}
 
Example 26
Project: intellij-ce-playground   File: ZipEntryMap.java   Source Code and License 5 votes vote down vote up
@Override
public final Iterator<Entry<String, ArchiveHandler.EntryInfo>> iterator() {
  return ContainerUtil.mapIterator(ContainerUtil.iterate(entries, Condition.NOT_NULL).iterator(),
                                   new Function<ArchiveHandler.EntryInfo, Entry<String, ArchiveHandler.EntryInfo>>() {
                                     @Override
                                     public Entry<String, ArchiveHandler.EntryInfo> fun(ArchiveHandler.EntryInfo entry) {
                                       return new SimpleEntry<String, ArchiveHandler.EntryInfo>(getRelativePath(entry), entry);
                                     }
                                   });
}
 
Example 27
Project: intellij-ce-playground   File: TemplateDataLanguageMappings.java   Source Code and License 5 votes vote down vote up
public static List<Language> getTemplateableLanguages() {
  return ContainerUtil.findAll(Language.getRegisteredLanguages(), new Condition<Language>() {
    @Override
    public boolean value(final Language language) {
      if (language == Language.ANY) return false;
      if (language instanceof TemplateLanguage || language instanceof DependentLanguage || language instanceof InjectableLanguage) return false;
      if (language.getBaseLanguage() != null) return value(language.getBaseLanguage());
      return true;
    }
  });
}
 
Example 28
Project: intellij-ce-playground   File: ComboBoxAction.java   Source Code and License 5 votes vote down vote up
@Override
public void actionPerformed(AnActionEvent e) {
  JComponent button = (JComponent)e.getPresentation().getClientProperty(CUSTOM_COMPONENT_PROPERTY);
  if (button == null) {
    Component contextComponent = e.getData(PlatformDataKeys.CONTEXT_COMPONENT);
    JRootPane rootPane = UIUtil.getParentOfType(JRootPane.class, contextComponent);
    if (rootPane != null) {
      button = (ComboBoxButton)
        UIUtil.uiTraverser().withRoot(rootPane).bfsTraversal().filter(new Condition<Component>() {
          @Override
          public boolean value(Component component) {
            return component instanceof ComboBoxButton && ((ComboBoxButton)component).getMyAction() == ComboBoxAction.this;
          }
        }).first();
    }
    if (button == null) return;
  }
  if (!button.isShowing()) return;
  if (button instanceof ComboBoxButton) {
    ((ComboBoxButton)button).showPopup();
  } else {
    DataContext context = e.getDataContext();
    Project project = e.getProject();
    if (project == null) return;
    DefaultActionGroup group = createPopupActionGroup(button);
    ListPopup popup = JBPopupFactory.getInstance().createActionGroupPopup(
      myPopupTitle, group, context, false, shouldShowDisabledActions(), false, null, getMaxRows(), getPreselectCondition());
    popup.setMinimumSize(new Dimension(getMinWidth(), getMinHeight()));
    popup.showCenteredInCurrentWindow(project);
  }
}
 
Example 29
Project: intellij-ce-playground   File: ProjectJdkTable.java   Source Code and License 5 votes vote down vote up
@Nullable
public Sdk findMostRecentSdk(Condition<Sdk> condition) {
  Sdk found = null;
  for (Sdk each : getAllJdks()) {
    if (!condition.value(each)) continue;
    if (found == null) {
      found = each;
      continue;
    }
    if (Comparing.compare(each.getVersionString(), found.getVersionString()) > 0) found = each;
  }
  return found;
}
 
Example 30
Project: intellij-ce-playground   File: GitConfig.java   Source Code and License 5 votes vote down vote up
@Nullable
public static GitRemoteBranch findRemoteBranch(@NotNull String remoteBranchName, @NotNull final String remoteName,
                                               @NotNull final Collection<GitRemoteBranch> remoteBranches) {
  final String branchName = GitBranchUtil.stripRefsPrefix(remoteBranchName);
  return ContainerUtil.find(remoteBranches, new Condition<GitRemoteBranch>() {
    @Override
    public boolean value(GitRemoteBranch branch) {
      return branch.getNameForRemoteOperations().equals(branchName) && branch.getRemote().getName().equals(remoteName);
    }
  });
}
 
Example 31
Project: intellij-ce-playground   File: HgRepositoryImpl.java   Source Code and License 5 votes vote down vote up
@NotNull
@Override
public List<String> getUnappliedPatchNames() {
  final List<String> appliedPatches = HgUtil.getNamesWithoutHashes(getMQAppliedPatches());
  return ContainerUtil.filter(getAllPatchNames(), new Condition<String>() {
    @Override
    public boolean value(String s) {
      return !appliedPatches.contains(s);
    }
  });
}
 
Example 32
Project: intellij-ce-playground   File: JavaPsiFacadeImpl.java   Source Code and License 5 votes vote down vote up
@NotNull
public PsiClass[] getClasses(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) {
  PsiElementFinder[] finders = filteredFinders();
  Condition<PsiClass> classesFilter = getFilterFromFinders(scope, finders);

  List<PsiClass> result = null;
  for (PsiElementFinder finder : finders) {
    PsiClass[] classes = finder.getClasses(psiPackage, scope);
    if (classes.length == 0) continue;
    if (result == null) result = new ArrayList<PsiClass>(classes.length);
    filterClassesAndAppend(finder, classesFilter, classes, result);
  }

  return result == null ? PsiClass.EMPTY_ARRAY : result.toArray(new PsiClass[result.size()]);
}
 
Example 33
Project: intellij-ce-playground   File: JavaPsiFacadeImpl.java   Source Code and License 5 votes vote down vote up
private static void filterClassesAndAppend(PsiElementFinder finder,
                                           @Nullable Condition<PsiClass> classesFilter,
                                           @NotNull PsiClass[] classes,
                                           @NotNull List<PsiClass> result) {
  for (PsiClass psiClass : classes) {
    if (psiClass == null) {
      LOG.error("Finder " + finder + " returned null PsiClass");
      continue;
    }
    if (classesFilter == null || classesFilter.value(psiClass)) {
      result.add(psiClass);
    }
  }
}
 
Example 34
Project: intellij-ce-playground   File: VcsDirectoryConfigurationPanel.java   Source Code and License 5 votes vote down vote up
@NotNull
private List<MapInfo> getSelectedRegisteredRoots() {
  Collection<MapInfo> selection = myDirectoryMappingTable.getSelection();
  return ContainerUtil.filter(selection, new Condition<MapInfo>() {
    @Override
    public boolean value(MapInfo info) {
      return info.type == MapInfo.Type.NORMAL || info.type == MapInfo.Type.INVALID;
    }
  });
}
 
Example 35
Project: intellij-ce-playground   File: VisiblePackBuilder.java   Source Code and License 5 votes vote down vote up
private boolean matchesAllFilters(@NotNull final VcsCommitMetadata commit,
                                  @NotNull final PermanentGraph<Integer> permanentGraph,
                                  @NotNull List<VcsLogDetailsFilter> detailsFilters,
                                  @Nullable final Set<Integer> matchingHeads) {
  boolean matchesAllDetails = ContainerUtil.and(detailsFilters, new Condition<VcsLogDetailsFilter>() {
    @Override
    public boolean value(VcsLogDetailsFilter filter) {
      return filter.matches(commit);
    }
  });
  return matchesAllDetails && matchesAnyHead(permanentGraph, commit, matchingHeads);
}
 
Example 36
Project: intellij-ce-playground   File: ModuleDataService.java   Source Code and License 5 votes vote down vote up
@NotNull
@Override
public Computable<Collection<Module>> computeOrphanData(@NotNull final Collection<DataNode<ModuleData>> toImport,
                                                        @NotNull final ProjectData projectData,
                                                        @NotNull final Project project,
                                                        @NotNull final IdeModifiableModelsProvider modelsProvider) {
  return new Computable<Collection<Module>>() {
    @Override
    public Collection<Module> compute() {
      List<Module> orphanIdeModules = ContainerUtil.newSmartList();

      for (Module module : modelsProvider.getModules()) {
        if (!ExternalSystemApiUtil.isExternalSystemAwareModule(projectData.getOwner(), module)) continue;
        final String rootProjectPath = ExternalSystemApiUtil.getExternalRootProjectPath(module);
        if (projectData.getLinkedExternalProjectPath().equals(rootProjectPath)) {
          final String projectPath = ExternalSystemApiUtil.getExternalProjectPath(module);
          final String projectId = ExternalSystemApiUtil.getExternalProjectId(module);

          final DataNode<ModuleData> found = ContainerUtil.find(toImport, new Condition<DataNode<ModuleData>>() {
            @Override
            public boolean value(DataNode<ModuleData> node) {
              final ModuleData moduleData = node.getData();
              return moduleData.getId().equals(projectId) && moduleData.getLinkedExternalProjectPath().equals(projectPath);
            }
          });

          if (found == null) {
            orphanIdeModules.add(module);
          }
        }
      }

      return orphanIdeModules;
    }
  };
}
 
Example 37
Project: intellij-ce-playground   File: PushController.java   Source Code and License 5 votes vote down vote up
private static boolean allNodesAreLoaded(@NotNull Collection<RepositoryNode> nodes) {
  return !ContainerUtil.exists(nodes, new Condition<RepositoryNode>() {
    @Override
    public boolean value(@NotNull RepositoryNode node) {
      return node.isLoading();
    }
  });
}
 
Example 38
Project: intellij-ce-playground   File: FileReferenceHelperRegistrar.java   Source Code and License 5 votes vote down vote up
/**
 * @deprecated this method is broken, please avoid using it, use getHelpers() instead
 */
@Deprecated
public static <T extends PsiFileSystemItem> FileReferenceHelper getHelper(@NotNull final T psiFileSystemItem) {
  final VirtualFile file = psiFileSystemItem.getVirtualFile();
  if (file == null) return null;
  final Project project = psiFileSystemItem.getProject();
  return ContainerUtil.find(getHelpers(), new Condition<FileReferenceHelper>() {
    @Override
    public boolean value(final FileReferenceHelper fileReferenceHelper) {
      return fileReferenceHelper.isMine(project, file);
    }
  });
}
 
Example 39
Project: intellij-ce-playground   File: ClassInheritorsSearch.java   Source Code and License 5 votes vote down vote up
public SearchParameters(@NotNull final PsiClass aClass, @NotNull SearchScope scope, final boolean checkDeep, final boolean checkInheritance,
                        boolean includeAnonymous, @NotNull final Condition<String> nameCondition) {
  myClass = aClass;
  myScope = scope;
  myCheckDeep = checkDeep;
  myCheckInheritance = checkInheritance;
  myIncludeAnonymous = includeAnonymous;
  myNameCondition = nameCondition;
}
 
Example 40
Project: intellij-ce-playground   File: VcsDirectoryConfigurationPanel.java   Source Code and License 5 votes vote down vote up
@NotNull
private Collection<VcsRootError> findUnregisteredRoots() {
  return ContainerUtil.filter(VcsRootErrorsFinder.getInstance(myProject).find(), new Condition<VcsRootError>() {
    @Override
    public boolean value(VcsRootError error) {
      return error.getType() == VcsRootError.Type.UNREGISTERED_ROOT;
    }
  });
}