Beispiel #1
0
  @Override
  public void setSelectedRepos(final ISelectedRepos repos) {
    List<RRepo> selectedRepos;
    {
      final Collection<RRepo> selected = repos.getRepos();
      selectedRepos = new ArrayList<>(selected.size());
      for (final RRepo repo : fAllRepos) {
        if (selected.contains(repo)) {
          selectedRepos.add(repo);
        }
      }
    }
    RRepo selectedCRAN;
    {
      final RRepo repo = repos.getCRANMirror();
      selectedCRAN = (repo != null) ? Util.findRepo(fAllCRAN, repo) : null;
      fRequireConfirm &= ~REQUIRE_CRAN;
    }
    RRepo selectedBioC;
    {
      final RRepo repo = repos.getBioCMirror();
      selectedBioC = (repo != null) ? Util.findRepo(fAllBioC, repo) : null;
      fRequireConfirm &= ~REQUIRE_BIOC;
    }

    final SelectedRepos previousSettings = fSelectedRepos;
    final SelectedRepos newSettings =
        new SelectedRepos(
            selectedRepos, selectedCRAN, previousSettings.getBioCVersion(), selectedBioC);
    for (final RRepo repo : fAllRepos) {
      if (repo instanceof RVarRepo) {
        ((RVarRepo) repo).updateURL(newSettings);
      }
    }
    fSelectedRepos = newSettings;
    savePrefs(newSettings);

    if (!newSettings.equals(previousSettings)) {
      fRequireLoad |= (REQUIRE_REPO_PKGS);

      final Change event = new Change(fREnv);
      event.fRepos = 1;
      fireUpdate(event);
    }
  }