Example usage for org.eclipse.jgit.lib ProgressMonitor update

List of usage examples for org.eclipse.jgit.lib ProgressMonitor update

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib ProgressMonitor update.

Prototype

void update(int completed);

Source Link

Document

Denote that some work units have been completed.

Usage

From source file:com.google.gerrit.pgm.ProtobufImport.java

License:Apache License

@Override
public int run() throws Exception {
    mustHaveValidSite();// ww w .  java  2  s  . c om

    Injector dbInjector = createDbInjector(SINGLE_USER);
    manager.add(dbInjector);
    manager.start();
    RuntimeShutdown.add(new Runnable() {
        @Override
        public void run() {
            manager.stop();
        }
    });
    dbInjector.injectMembers(this);

    ProgressMonitor progress = new TextProgressMonitor();
    progress.beginTask("Importing entities", ProgressMonitor.UNKNOWN);
    try (ReviewDb db = schemaFactory.open()) {
        for (RelationModel model : new JavaSchemaModel(ReviewDb.class).getRelations()) {
            relations.put(model.getRelationID(), Relation.create(model, db));
        }

        Parser<UnknownFieldSet> parser = UnknownFieldSet.getDefaultInstance().getParserForType();
        try (InputStream in = new BufferedInputStream(new FileInputStream(file))) {
            UnknownFieldSet msg;
            while ((msg = parser.parseDelimitedFrom(in)) != null) {
                Map.Entry<Integer, UnknownFieldSet.Field> e = Iterables.getOnlyElement(msg.asMap().entrySet());
                Relation rel = checkNotNull(relations.get(e.getKey()), "unknown relation ID %s in message: %s",
                        e.getKey(), msg);
                List<ByteString> values = e.getValue().getLengthDelimitedList();
                checkState(values.size() == 1, "expected one string field in message: %s", msg);
                upsert(rel, values.get(0));
                progress.update(1);
            }
        }
        progress.endTask();
    }

    return 0;
}

From source file:com.google.gerrit.pgm.Reindex.java

License:Apache License

private int indexAll() throws Exception {
    ProgressMonitor pm = new TextProgressMonitor();
    pm.start(1);/*w  w w.  j  a  va  2  s . c  o m*/
    pm.beginTask("Collecting projects", ProgressMonitor.UNKNOWN);
    Set<Project.NameKey> projects = Sets.newTreeSet();
    int changeCount = 0;
    try (ReviewDb db = sysInjector.getInstance(ReviewDb.class)) {
        for (Change change : db.changes().all()) {
            changeCount++;
            if (projects.add(change.getProject())) {
                pm.update(1);
            }
        }
    }
    pm.endTask();

    SiteIndexer batchIndexer = sysInjector.getInstance(SiteIndexer.class);
    SiteIndexer.Result result = batchIndexer.setNumChanges(changeCount).setProgressOut(System.err)
            .setVerboseOut(verbose ? System.out : NullOutputStream.INSTANCE).indexAll(index, projects);
    int n = result.doneCount() + result.failedCount();
    double t = result.elapsed(TimeUnit.MILLISECONDS) / 1000d;
    System.out.format("Reindexed %d changes in %.01fs (%.01f/s)\n", n, t, n / t);
    return result.success() ? 0 : 1;
}

From source file:com.google.gerrit.server.index.change.AllChangesIndexer.java

License:Apache License

@Override
public Result indexAll(ChangeIndex index) {
    ProgressMonitor pm = new TextProgressMonitor();
    pm.beginTask("Collecting projects", ProgressMonitor.UNKNOWN);
    Set<Project.NameKey> projects = Sets.newTreeSet();
    int changeCount = 0;
    Stopwatch sw = Stopwatch.createStarted();
    for (Project.NameKey project : projectCache.all()) {
        try (Repository repo = repoManager.openRepository(project)) {
            changeCount += ChangeNotes.Factory.scan(repo).size();
        } catch (IOException e) {
            log.error("Error collecting projects", e);
            return new Result(sw, false, 0, 0);
        }/* w  w  w.ja v  a 2  s  .  c  o  m*/
        projects.add(project);
        pm.update(1);
    }
    pm.endTask();
    setTotalWork(changeCount);
    return indexAll(index, projects);
}

From source file:com.google.gerrit.server.notedb.ChangeRebuilderImpl.java

License:Apache License

@Override
public boolean rebuildProject(ReviewDb db, ImmutableMultimap<Project.NameKey, Change.Id> allChanges,
        Project.NameKey project, Repository allUsersRepo)
        throws NoSuchChangeException, IOException, OrmException, ConfigInvalidException {
    checkArgument(allChanges.containsKey(project));
    boolean ok = true;
    ProgressMonitor pm = new TextProgressMonitor(new PrintWriter(System.out));
    NoteDbUpdateManager manager = updateManagerFactory.create(project);
    pm.beginTask(FormatUtil.elide(project.get(), 50), allChanges.get(project).size());
    try (ObjectInserter allUsersInserter = allUsersRepo.newObjectInserter();
            RevWalk allUsersRw = new RevWalk(allUsersInserter.newReader())) {
        manager.setAllUsersRepo(allUsersRepo, allUsersRw, allUsersInserter, new ChainedReceiveCommands());
        for (Change.Id changeId : allChanges.get(project)) {
            try {
                buildUpdates(manager, ChangeBundle.fromReviewDb(db, changeId));
            } catch (Throwable t) {
                log.error("Failed to rebuild change " + changeId, t);
                ok = false;//from   w  ww  .j  av  a  2  s .  com
            }
            pm.update(1);
        }
        manager.execute();
    } finally {
        pm.endTask();
    }
    return ok;
}

From source file:com.googlesource.gerrit.plugins.github.git.CreateProjectStep.java

License:Apache License

@Override
public void doImport(ProgressMonitor progress) throws Exception {
    MetaDataUpdate md = null;/*from w  w  w.j a v  a  2  s  . c  o m*/
    try {
        md = metaDataUpdateFactory.create(getProjectNameKey());
        projectConfig = ProjectConfig.read(md);
        progress.beginTask("Configure Gerrit project", 2);
        setProjectSettings();
        progress.update(1);
        setProjectPermissions();
        progress.update(1);
        md.setMessage("Imported from " + getSourceUri());
        projectConfig.commit(md);
        projectCache.onCreateProject(getProjectNameKey());
    } finally {
        if (md != null) {
            md.close();
        }
        progress.endTask();
    }
}

From source file:com.googlesource.gerrit.plugins.github.git.ReplicateProjectStep.java

License:Apache License

@Override
public void doImport(ProgressMonitor progress) throws Exception {
    progress.beginTask("Setting up Gerrit replication", 2);

    String repositoryName = getOrganisation() + "/" + getRepositoryName();
    progress.update(1);
    replicationConfig.addSecureCredentials(getOrganisation(), authUsername, authToken);
    progress.update(1);//  w  w  w .java 2 s. c o  m
    replicationConfig.addReplicationRemote(getOrganisation(), gitHubUrl + "/${name}.git", repositoryName);
    progress.endTask();
}