Browse Source

Mark fetch requests fields as final and @NonNull when possible

Mark reference fields as final, annotate constructor parameters and
getters as @NonNull when appropiate and assert the incoming references
are non-null.

Change-Id: I0ef9a513a99313bf461fe9629ce6cc8b409bdedb
Signed-off-by: Ivan Frade <ifrade@google.com>
stable-5.2
Ivan Frade 6 years ago
parent
commit
ec838fee0c
  1. 19
      org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchRequest.java
  2. 13
      org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV0Request.java
  3. 32
      org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV2Request.java

19
org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchRequest.java

@ -42,6 +42,8 @@
*/ */
package org.eclipse.jgit.transport; package org.eclipse.jgit.transport;
import static java.util.Objects.requireNonNull;
import java.util.Set; import java.util.Set;
import org.eclipse.jgit.annotations.NonNull; import org.eclipse.jgit.annotations.NonNull;
@ -76,19 +78,14 @@ abstract class FetchRequest {
* @param clientCapabilities * @param clientCapabilities
* capabilities sent in the request * capabilities sent in the request
*/ */
FetchRequest(Set<ObjectId> wantIds, int depth, FetchRequest(@NonNull Set<ObjectId> wantIds, int depth,
Set<ObjectId> clientShallowCommits, long filterBlobLimit, @NonNull Set<ObjectId> clientShallowCommits, long filterBlobLimit,
Set<String> clientCapabilities) { @NonNull Set<String> clientCapabilities) {
if (wantIds == null || clientShallowCommits == null this.wantIds = requireNonNull(wantIds);
|| clientCapabilities == null) {
throw new NullPointerException();
}
this.wantIds = wantIds;
this.depth = depth; this.depth = depth;
this.clientShallowCommits = clientShallowCommits; this.clientShallowCommits = requireNonNull(clientShallowCommits);
this.filterBlobLimit = filterBlobLimit; this.filterBlobLimit = filterBlobLimit;
this.clientCapabilities = clientCapabilities; this.clientCapabilities = requireNonNull(clientCapabilities);
} }
/** /**

13
org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV0Request.java

@ -46,6 +46,7 @@ import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import org.eclipse.jgit.annotations.NonNull;
import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectId;
/** /**
@ -53,9 +54,9 @@ import org.eclipse.jgit.lib.ObjectId;
*/ */
final class FetchV0Request extends FetchRequest { final class FetchV0Request extends FetchRequest {
FetchV0Request(Set<ObjectId> wantIds, int depth, FetchV0Request(@NonNull Set<ObjectId> wantIds, int depth,
Set<ObjectId> clientShallowCommits, long filterBlobLimit, @NonNull Set<ObjectId> clientShallowCommits, long filterBlobLimit,
Set<String> clientCapabilities) { @NonNull Set<String> clientCapabilities) {
super(wantIds, depth, clientShallowCommits, filterBlobLimit, super(wantIds, depth, clientShallowCommits, filterBlobLimit,
clientCapabilities); clientCapabilities);
} }
@ -64,13 +65,13 @@ final class FetchV0Request extends FetchRequest {
int depth; int depth;
Set<ObjectId> wantIds = new HashSet<>(); final Set<ObjectId> wantIds = new HashSet<>();
Set<ObjectId> clientShallowCommits = new HashSet<>(); final Set<ObjectId> clientShallowCommits = new HashSet<>();
long filterBlobLimit = -1; long filterBlobLimit = -1;
Set<String> clientCaps = new HashSet<>(); final Set<String> clientCaps = new HashSet<>();
/** /**
* @param objectId * @param objectId

32
org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV2Request.java

@ -42,6 +42,8 @@
*/ */
package org.eclipse.jgit.transport; package org.eclipse.jgit.transport;
import static java.util.Objects.requireNonNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
@ -71,16 +73,18 @@ public final class FetchV2Request extends FetchRequest {
private final boolean doneReceived; private final boolean doneReceived;
private FetchV2Request(List<ObjectId> peerHas, FetchV2Request(@NonNull List<ObjectId> peerHas,
TreeMap<String, ObjectId> wantedRefs, Set<ObjectId> wantIds, @NonNull TreeMap<String, ObjectId> wantedRefs,
Set<ObjectId> clientShallowCommits, int deepenSince, @NonNull Set<ObjectId> wantIds,
List<String> deepenNotRefs, int depth, long filterBlobLimit, @NonNull Set<ObjectId> clientShallowCommits, int deepenSince,
boolean doneReceived, Set<String> clientCapabilities) { @NonNull List<String> deepenNotRefs, int depth,
long filterBlobLimit,
boolean doneReceived, @NonNull Set<String> clientCapabilities) {
super(wantIds, depth, clientShallowCommits, filterBlobLimit, clientCapabilities); super(wantIds, depth, clientShallowCommits, filterBlobLimit, clientCapabilities);
this.peerHas = peerHas; this.peerHas = requireNonNull(peerHas);
this.wantedRefs = wantedRefs; this.wantedRefs = requireNonNull(wantedRefs);
this.deepenSince = deepenSince; this.deepenSince = deepenSince;
this.deepenNotRefs = deepenNotRefs; this.deepenNotRefs = requireNonNull(deepenNotRefs);
this.doneReceived = doneReceived; this.doneReceived = doneReceived;
} }
@ -134,17 +138,17 @@ public final class FetchV2Request extends FetchRequest {
/** A builder for {@link FetchV2Request}. */ /** A builder for {@link FetchV2Request}. */
static final class Builder { static final class Builder {
List<ObjectId> peerHas = new ArrayList<>(); final List<ObjectId> peerHas = new ArrayList<>();
TreeMap<String, ObjectId> wantedRefs = new TreeMap<>(); final TreeMap<String, ObjectId> wantedRefs = new TreeMap<>();
Set<ObjectId> wantIds = new HashSet<>(); final Set<ObjectId> wantIds = new HashSet<>();
Set<ObjectId> clientShallowCommits = new HashSet<>(); final Set<ObjectId> clientShallowCommits = new HashSet<>();
List<String> deepenNotRefs = new ArrayList<>(); final List<String> deepenNotRefs = new ArrayList<>();
Set<String> clientCapabilities = new HashSet<>(); final Set<String> clientCapabilities = new HashSet<>();
int depth; int depth;

Loading…
Cancel
Save