private static boolean isSameCommit(DbFileSources.Line previousLine, DbFileSources.Line currentLine) { return new EqualsBuilder() .append(previousLine.getScmAuthor(), currentLine.getScmAuthor()) .append(previousLine.getScmDate(), currentLine.getScmDate()) .append(previousLine.getScmRevision(), currentLine.getScmRevision()) .isEquals(); }
private static boolean hasScm(DbFileSources.Line line) { return !Strings.isNullOrEmpty(line.getScmAuthor()) || line.hasScmDate() || !Strings.isNullOrEmpty(line.getScmRevision()); } }
@Override @Nullable public Changeset apply(@Nonnull DbFileSources.Line input) { if (input.hasScmDate()) { Changeset cs = builder .setRevision(input.hasScmRevision() ? input.getScmRevision() : null) .setAuthor(input.hasScmAuthor() ? input.getScmAuthor() : null) .setDate(input.getScmDate()) .build(); if (cache.containsKey(cs)) { return cache.get(cs); } cache.put(cs, cs); return cs; } return null; } }
.prop("code", htmlSourceDecorator.getDecoratedSourceAsHtml(line.getSource(), line.getHighlighting(), line.getSymbols())) .prop("scmAuthor", line.getScmAuthor()) .prop("scmRevision", line.getScmRevision()); if (line.hasScmDate()) { json.prop("scmDate", DateUtils.formatDateTime(new Date(line.getScmDate())));
@Override @Nullable public Changeset apply(@Nonnull DbFileSources.Line input) { if (input.hasScmDate()) { Changeset cs = builder .setRevision(input.hasScmRevision() ? input.getScmRevision() : null) .setAuthor(input.hasScmAuthor() ? input.getScmAuthor() : null) .setDate(input.getScmDate()) .build(); if (cache.containsKey(cs)) { return cache.get(cs); } cache.put(cs, cs); return cs; } return null; } }
private static void writeSource(Iterable<DbFileSources.Line> lines, boolean showCommitsByLine, JsonWriter json) { json.name("scm").beginArray(); DbFileSources.Line previousLine = null; boolean started = false; for (DbFileSources.Line lineDoc : lines) { if (hasScm(lineDoc) && (!started || showCommitsByLine || !isSameCommit(previousLine, lineDoc))) { json.beginArray() .value(lineDoc.getLine()) .value(lineDoc.getScmAuthor()); json.value(lineDoc.hasScmDate() ? DateUtils.formatDateTime(new Date(lineDoc.getScmDate())) : null); json.value(lineDoc.getScmRevision()); json.endArray(); started = true; } previousLine = lineDoc; } json.endArray(); }
private static boolean hasScm(DbFileSources.Line line) { return !Strings.isNullOrEmpty(line.getScmAuthor()) || line.hasScmDate() || !Strings.isNullOrEmpty(line.getScmRevision()); } }
/** * <code>optional string scm_revision = 3;</code> * * <pre> * SCM * </pre> */ public Builder clearScmRevision() { bitField0_ = (bitField0_ & ~0x00000004); scmRevision_ = getDefaultInstance().getScmRevision(); onChanged(); return this; } /**
private static boolean isSameCommit(DbFileSources.Line previousLine, DbFileSources.Line currentLine) { return new EqualsBuilder() .append(previousLine.getScmAuthor(), currentLine.getScmAuthor()) .append(previousLine.getScmDate(), currentLine.getScmDate()) .append(previousLine.getScmRevision(), currentLine.getScmRevision()) .isEquals(); }
.prop("line", line.getLine()) .prop("code", htmlSourceDecorator.getDecoratedSourceAsHtml(line.getSource(), line.getHighlighting(), line.getSymbols())) .prop("scmRevision", line.getScmRevision()); if (!filterScmAuthors) { json.prop("scmAuthor", line.getScmAuthor());
assertThat(data.getLines(0).getScmRevision()).isEqualTo("rev-1"); assertThat(data.getLines(1).getScmRevision()).isEmpty(); assertThat(data.getLines(2).getScmRevision()).isEmpty(); verify(fileSourceDataWarnings).commitWarnings();
private static void writeSource(Iterable<DbFileSources.Line> lines, boolean showCommitsByLine, JsonWriter json) { json.name("scm").beginArray(); DbFileSources.Line previousLine = null; boolean started = false; for (DbFileSources.Line lineDoc : lines) { if (hasScm(lineDoc) && (!started || showCommitsByLine || !isSameCommit(previousLine, lineDoc))) { json.beginArray() .value(lineDoc.getLine()) .value(lineDoc.getScmAuthor()); json.value(lineDoc.hasScmDate() ? DateUtils.formatDateTime(new Date(lineDoc.getScmDate())) : null); json.value(lineDoc.getScmRevision()); json.endArray(); started = true; } previousLine = lineDoc; } json.endArray(); }