From 39dc898dca3beccda832460772f80c4afa1a1fd9 Mon Sep 17 00:00:00 2001 From: Dave Borowitz Date: Wed, 15 Jul 2015 18:07:06 -0700 Subject: [PATCH] PushCertificate: Add toTextWithSignature() method Change-Id: Ic0129373cc0c0321ffa43dc11a658d4f891ec2c2 --- .../transport/PushCertificateParserTest.java | 1 + .../eclipse/jgit/transport/PushCertificate.java | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PushCertificateParserTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PushCertificateParserTest.java index 824766e16..644b9017c 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PushCertificateParserTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PushCertificateParserTest.java @@ -215,6 +215,7 @@ public void parseCertFromPktLine() throws Exception { cmd.getNewId().name()); assertEquals(concatPacketLines(INPUT, 0, 6), cert.toText()); + assertEquals(concatPacketLines(INPUT, 0, 17), cert.toTextWithSignature()); String signature = concatPacketLines(INPUT, 6, 17); assertTrue(signature.startsWith(PushCertificateParser.BEGIN_SIGNATURE)); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PushCertificate.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PushCertificate.java index 413b02b1c..dbdf93b96 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PushCertificate.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PushCertificate.java @@ -203,6 +203,19 @@ public String getSignature() { * @since 4.1 */ public String toText() { + return toStringBuilder().toString(); + } + + /** + * @return original text payload plus signature; the final output will be + * valid as input to {@link PushCertificateParser#fromString(String)}. + * @since 4.1 + */ + public String toTextWithSignature() { + return toStringBuilder().append(signature).toString(); + } + + private StringBuilder toStringBuilder() { StringBuilder sb = new StringBuilder() .append(VERSION).append(' ').append(version).append('\n') .append(PUSHER).append(' ').append(getPusher()) @@ -215,7 +228,7 @@ public String toText() { .append(' ').append(cmd.getNewId().name()) .append(' ').append(cmd.getRefName()).append('\n'); } - return sb.toString(); + return sb; } @Override @@ -256,6 +269,6 @@ private static boolean commandsEqual(PushCertificate c1, PushCertificate c2) { @Override public String toString() { return getClass().getSimpleName() + '[' - + toText() + signature + ']'; + + toTextWithSignature() + ']'; } }