Example usage for org.eclipse.jgit.lib Repository getAllRefsByPeeledObjectId

List of usage examples for org.eclipse.jgit.lib Repository getAllRefsByPeeledObjectId

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib Repository getAllRefsByPeeledObjectId.

Prototype

@NonNull
public Map<AnyObjectId, Set<Ref>> getAllRefsByPeeledObjectId() 

Source Link

Document

Get a map with all objects referenced by a peeled ref.

Usage

From source file:com.gitblit.utils.JGitUtils.java

License:Apache License

public static long getTicketNumberFromCommitBranch(Repository repository, RevCommit commit) {
    // try lookup by change ref
    Map<AnyObjectId, Set<Ref>> map = repository.getAllRefsByPeeledObjectId();
    Set<Ref> refs = map.get(commit.getId());
    if (!ArrayUtils.isEmpty(refs)) {
        for (Ref ref : refs) {
            long number = PatchsetCommand.getTicketNumber(ref.getName());

            if (number > 0) {
                return number;
            }/*from   w  ww . j  a  va2s  .  c o  m*/
        }
    }

    return 0;
}

From source file:com.google.gitiles.LogServlet.java

License:Open Source License

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
    GitilesView view = ViewFilter.getView(req);
    Repository repo = ServletUtils.getRepository(req);
    RevWalk walk = null;/* ww w.ja  v  a2  s.  c  om*/
    try {
        try {
            walk = newWalk(repo, view);
        } catch (IncorrectObjectTypeException e) {
            res.setStatus(SC_NOT_FOUND);
            return;
        }

        Optional<ObjectId> start = getStart(view.getParameters(), walk.getObjectReader());
        if (start == null) {
            res.setStatus(SC_NOT_FOUND);
            return;
        }

        Map<String, Object> data = Maps.newHashMapWithExpectedSize(5);

        if (!view.getRevision().nameIsId()) {
            List<Map<String, Object>> tags = Lists.newArrayListWithExpectedSize(1);
            for (RevObject o : RevisionServlet.listObjects(walk, view.getRevision().getId())) {
                if (o instanceof RevTag) {
                    tags.add(new TagSoyData(linkifier, req).toSoyData((RevTag) o));
                }
            }
            if (!tags.isEmpty()) {
                data.put("tags", tags);
            }
        }

        Paginator paginator = new Paginator(walk, limit, start.orNull());
        Map<AnyObjectId, Set<Ref>> refsById = repo.getAllRefsByPeeledObjectId();
        List<Map<String, Object>> entries = Lists.newArrayListWithCapacity(limit);
        for (RevCommit c : paginator) {
            entries.add(new CommitSoyData(null, req, repo, walk, view, refsById).toSoyData(c, KeySet.SHORTLOG));
        }

        String title = "Log - ";
        if (view.getOldRevision() != Revision.NULL) {
            title += view.getRevisionRange();
        } else {
            title += view.getRevision().getName();
        }

        data.put("title", title);
        data.put("entries", entries);
        ObjectId next = paginator.getNextStart();
        if (next != null) {
            data.put("nextUrl", copyAndCanonicalize(view).replaceParam(START_PARAM, next.name()).toUrl());
        }
        ObjectId prev = paginator.getPreviousStart();
        if (prev != null) {
            GitilesView.Builder prevView = copyAndCanonicalize(view);
            if (!prevView.getRevision().getId().equals(prev)) {
                prevView.replaceParam(START_PARAM, prev.name());
            }
            data.put("previousUrl", prevView.toUrl());
        }

        render(req, res, "gitiles.logDetail", data);
    } catch (RevWalkException e) {
        log.warn("Error in rev walk", e);
        res.setStatus(SC_INTERNAL_SERVER_ERROR);
        return;
    } finally {
        if (walk != null) {
            walk.release();
        }
    }
}