From 5897bc43064a10f175abf7cdecb3bdf457245a40 Mon Sep 17 00:00:00 2001 From: Ivan Frade Date: Mon, 18 Nov 2019 22:45:19 -0800 Subject: [PATCH] ReceivePack: Open visibility for some methods This partially reverts Ic6bb5e66. It made private some methods in ReceivePack that were protected before. At least two of those methods (#init and #receivePackAndCheckConnectivity) are used by out-of-tree subclasses for tracing and testing. Make ReceivePack#init() and ReceivePack#receivePackAndCheckConnectivity protected again to allow tracing and testing. Change-Id: I7ff22c091fbfc2d94009c449d58e7c5ac9f4f759 Signed-off-by: Ivan Frade --- .../src/org/eclipse/jgit/transport/ReceivePack.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java index be2814291..16fbbd42f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java @@ -1153,6 +1153,9 @@ private boolean hasError() { /** * Initialize the instance with the given streams. * + * Visible for out-of-tree subclasses (e.g. tests that need to set the + * streams without going through the {@link #service()} method). + * * @param input * raw input to read client commands and pack data from. Caller * must ensure the input is buffered, otherwise read performance @@ -1167,7 +1170,7 @@ private boolean hasError() { * standard error channel of the command execution. For most * other network connections this should be null. */ - private void init(final InputStream input, final OutputStream output, + protected void init(final InputStream input, final OutputStream output, final OutputStream messages) { origOut = output; rawIn = input; @@ -1207,10 +1210,15 @@ private Map getAdvertisedOrDefaultRefs() { /** * Receive a pack from the stream and check connectivity if necessary. * + * Visible for out-of-tree subclasses. Subclasses overriding this method + * should invoke this implementation, as it alters the instance state (e.g. + * it reads the pack from the input and parses it before running the + * connectivity checks). + * * @throws java.io.IOException * an error occurred during unpacking or connectivity checking. */ - private void receivePackAndCheckConnectivity() throws IOException { + protected void receivePackAndCheckConnectivity() throws IOException { receivePack(); if (needCheckConnectivity()) { checkSubmodules();