]> source.dussan.org Git - jgit.git/commitdiff
Mark fields of BaseReceivePack private 85/7285/2
authorShawn O. Pearce <spearce@spearce.org>
Sat, 18 Aug 2012 22:51:03 +0000 (15:51 -0700)
committerMatthias Sohn <matthias.sohn@sap.com>
Wed, 5 Sep 2012 15:20:12 +0000 (17:20 +0200)
None of these should have been exposed to base classes. The majority
of them are private implementation details that are not required by a
subclass in order to interact with the base protocol definition. The
few that are needed should be visible as accessor methods, so the
internals can be modified without breaking the public JGit API.

Change-Id: I874179105c9c37703307facbbf99387c52bf772c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java

index 218b729888c3217f9a93ad9e8617db228f6ea894..2e2de82166144c1d9960d4be094392fa944a59f4 100644 (file)
@@ -136,10 +136,10 @@ public abstract class BaseReceivePack {
        }
 
        /** Database we write the stored objects into. */
-       protected final Repository db;
+       private final Repository db;
 
        /** Revision traversal support over {@link #db}. */
-       protected final RevWalk walk;
+       private final RevWalk walk;
 
        /**
         * Is the client connection a bi-directional socket or pipe?
@@ -152,22 +152,22 @@ public abstract class BaseReceivePack {
         * If false, this class runs in a read everything then output results mode,
         * making it suitable for single round-trip systems RPCs such as HTTP.
         */
-       protected boolean biDirectionalPipe = true;
+       private boolean biDirectionalPipe = true;
 
        /** Expecting data after the pack footer */
-       protected boolean expectDataAfterPackFooter;
+       private boolean expectDataAfterPackFooter;
 
        /** Should an incoming transfer validate objects? */
-       protected boolean checkReceivedObjects;
+       private boolean checkReceivedObjects;
 
        /** Should an incoming transfer permit create requests? */
-       protected boolean allowCreates;
+       private boolean allowCreates;
 
        /** Should an incoming transfer permit delete requests? */
-       protected boolean allowDeletes;
+       private boolean allowDeletes;
 
        /** Should an incoming transfer permit non-fast-forward requests? */
-       protected boolean allowNonFastForwards;
+       private boolean allowNonFastForwards;
 
        private boolean allowOfsDelta;
 
@@ -212,23 +212,20 @@ public abstract class BaseReceivePack {
        private PackParser parser;
 
        /** The refs we advertised as existing at the start of the connection. */
-       protected Map<String, Ref> refs;
+       private Map<String, Ref> refs;
 
        /** All SHA-1s shown to the client, which can be possible edges. */
-       protected Set<ObjectId> advertisedHaves;
+       private Set<ObjectId> advertisedHaves;
 
        /** Capabilities requested by the client. */
-       protected Set<String> enabledCapabilities;
+       private Set<String> enabledCapabilities;
 
        private List<ReceiveCommand> commands;
 
        private StringBuilder advertiseError;
 
-       /** If {@link BasePackPushConnection#CAPABILITY_REPORT_STATUS} is enabled. */
-       protected boolean reportStatus;
-
        /** If {@link BasePackPushConnection#CAPABILITY_SIDE_BAND_64K} is enabled. */
-       protected boolean sideBand;
+       private boolean sideBand;
 
        /** Lock around the received pack file, while updating refs. */
        private PackLock packLock;
@@ -872,9 +869,7 @@ public abstract class BaseReceivePack {
 
        /** Enable capabilities based on a previously read capabilities line. */
        protected void enableCapabilities() {
-               reportStatus = enabledCapabilities.contains(CAPABILITY_REPORT_STATUS);
-
-               sideBand = enabledCapabilities.contains(CAPABILITY_SIDE_BAND_64K);
+               sideBand = isCapabilityEnabled(CAPABILITY_SIDE_BAND_64K);
                if (sideBand) {
                        OutputStream out = rawOut;
 
@@ -886,6 +881,17 @@ public abstract class BaseReceivePack {
                }
        }
 
+       /**
+        * Check if the peer requested a capability.
+        *
+        * @param name
+        *            protocol name identifying the capability.
+        * @return true if the peer requested the capability to be enabled.
+        */
+       protected boolean isCapabilityEnabled(String name) {
+               return enabledCapabilities.contains(name);
+       }
+
        /** @return true if a pack is expected based on the list of commands. */
        protected boolean needPack() {
                for (final ReceiveCommand cmd : commands) {
index 9630f7853237f61e3e8f3881b58d17113dd6aa80..fb30d99fc58069326d3320b9f8aebf559aec5a7f 100644 (file)
@@ -43,6 +43,8 @@
 
 package org.eclipse.jgit.transport;
 
+import static org.eclipse.jgit.transport.BasePackPushConnection.CAPABILITY_REPORT_STATUS;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -63,6 +65,9 @@ public class ReceivePack extends BaseReceivePack {
        /** Hook to report on the commands after execution. */
        private PostReceiveHook postReceive;
 
+       /** If {@link BasePackPushConnection#CAPABILITY_REPORT_STATUS} is enabled. */
+       private boolean reportStatus;
+
        private boolean echoCommandFailures;
 
        /**
@@ -162,8 +167,14 @@ public class ReceivePack extends BaseReceivePack {
                }
        }
 
+       @Override
+       protected void enableCapabilities() {
+               reportStatus = isCapabilityEnabled(CAPABILITY_REPORT_STATUS);
+               super.enableCapabilities();
+       }
+
        private void service() throws IOException {
-               if (biDirectionalPipe) {
+               if (isBiDirectionalPipe()) {
                        sendAdvertisedRefs(new PacketLineOutRefAdvertiser(pckOut));
                        pckOut.flush();
                } else