Skip to content

Commit 563d878

Browse files
Make TransformResult non-nullable
Gil asked that this should not be part of #2383, but I think it still makes sense as an indepedent simplification
1 parent 6270c03 commit 563d878

File tree

9 files changed

+15
-27
lines changed

9 files changed

+15
-27
lines changed

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/DeleteMutation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public MaybeDocument applyToRemoteDocument(
5959
verifyKeyMatches(maybeDoc);
6060

6161
hardAssert(
62-
mutationResult.getTransformResults() == null,
62+
mutationResult.getTransformResults().isEmpty(),
6363
"Transform results received by DeleteMutation.");
6464

6565
// Unlike applyToLocalView, if we're applying a mutation to a remote document the server has

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/MutationResult.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
*/
3232
public final class MutationResult {
3333
private final SnapshotVersion version;
34-
@Nullable private final List<Value> transformResults;
34+
private final List<Value> transformResults;
3535

36-
public MutationResult(SnapshotVersion version, @Nullable List<Value> transformResults) {
36+
public MutationResult(SnapshotVersion version, List<Value> transformResults) {
3737
this.version = checkNotNull(version);
3838
this.transformResults = transformResults;
3939
}
@@ -58,9 +58,8 @@ public SnapshotVersion getVersion() {
5858
* The resulting fields returned from the backend after a mutation containing field transforms has
5959
* been committed. Contains one Value for each FieldTransform that was in the mutation.
6060
*
61-
* <p>Will be null if the mutation did not contain any field transforms.
61+
* <p>Returns an empty list if the mutation did not contain any field transforms.
6262
*/
63-
@Nullable
6463
public List<Value> getTransformResults() {
6564
return transformResults;
6665
}

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/PatchMutation.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,7 @@ public MaybeDocument applyToRemoteDocument(
117117
return new UnknownDocument(this.getKey(), mutationResult.getVersion());
118118
}
119119

120-
List<Value> transformResults =
121-
mutationResult.getTransformResults() != null
122-
? serverTransformResults(maybeDoc, mutationResult.getTransformResults())
123-
: new ArrayList<>();
124-
120+
List<Value> transformResults = serverTransformResults(maybeDoc, mutationResult.getTransformResults());
125121
SnapshotVersion version = mutationResult.getVersion();
126122
ObjectValue newData = patchDocument(maybeDoc, transformResults);
127123
return new Document(getKey(), version, newData, Document.DocumentState.COMMITTED_MUTATIONS);

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/SetMutation.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,9 @@ public MaybeDocument applyToRemoteDocument(
8181

8282
SnapshotVersion version = mutationResult.getVersion();
8383

84-
ObjectValue newData = value;
85-
if (mutationResult.getTransformResults() != null) {
86-
List<Value> transformResults =
87-
serverTransformResults(maybeDoc, mutationResult.getTransformResults());
88-
newData = transformObject(newData, transformResults);
89-
}
84+
List<Value> transformResults =
85+
serverTransformResults(maybeDoc, mutationResult.getTransformResults());
86+
ObjectValue newData = transformObject(value, transformResults);
9087

9188
return new Document(getKey(), version, newData, Document.DocumentState.COMMITTED_MUTATIONS);
9289
}

firebase-firestore/src/main/java/com/google/firebase/firestore/remote/RemoteSerializer.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -445,13 +445,10 @@ public MutationResult decodeMutationResult(
445445
version = commitVersion;
446446
}
447447

448-
List<Value> transformResults = null;
449448
int transformResultsCount = proto.getTransformResultsCount();
450-
if (transformResultsCount > 0) {
451-
transformResults = new ArrayList<>(transformResultsCount);
452-
for (int i = 0; i < transformResultsCount; i++) {
453-
transformResults.add(proto.getTransformResults(i));
454-
}
449+
List<Value> transformResults = new ArrayList<>(transformResultsCount);
450+
for (int i = 0; i < transformResultsCount; i++) {
451+
transformResults.add(proto.getTransformResults(i));
455452
}
456453
return new MutationResult(version, transformResults);
457454
}

firebase-firestore/src/test/java/com/google/firebase/firestore/local/LocalStoreTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ private void acknowledgeMutation(long documentVersion, @Nullable Object transfor
159159
version,
160160
transformResult != null
161161
? Collections.singletonList(TestUtil.wrap(transformResult))
162-
: null);
162+
: Collections.emptyList());
163163
MutationBatchResult result =
164164
MutationBatchResult.create(
165165
batch, version, singletonList(mutationResult), WriteStream.EMPTY_STREAM_TOKEN);

firebase-firestore/src/test/java/com/google/firebase/firestore/model/MutationTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -597,8 +597,7 @@ public void testTransitions() {
597597
doc("collection/key", 7, map(), Document.DocumentState.COMMITTED_MUTATIONS);
598598
UnknownDocument docV7Unknown = unknownDoc("collection/key", 7);
599599

600-
MutationResult mutationResult = new MutationResult(version(7), /*transformResults=*/ null);
601-
MutationResult transformResult = new MutationResult(version(7), Collections.emptyList());
600+
MutationResult mutationResult = new MutationResult(version(7), /*transformResults=*/ Collections.emptyList());
602601

603602
assertVersionTransitions(set, docV3, mutationResult, docV7Committed);
604603
assertVersionTransitions(set, deletedV3, mutationResult, docV7Committed);

firebase-firestore/src/test/java/com/google/firebase/firestore/spec/SpecTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -712,7 +712,7 @@ private void doWriteAck(JSONObject writeAckSpec) throws Exception {
712712
validateNextWriteSent(write.first);
713713

714714
MutationResult mutationResult =
715-
new MutationResult(version(version), /*transformResults=*/ null);
715+
new MutationResult(version(version), /*transformResults=*/ Collections.emptyList());
716716
queue.runSync(() -> datastore.ackWrite(version(version), singletonList(mutationResult)));
717717
}
718718

firebase-firestore/src/testUtil/java/com/google/firebase/firestore/testutil/TestUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ public static VerifyMutation verifyMutation(String path, int micros) {
550550
}
551551

552552
public static MutationResult mutationResult(long version) {
553-
return new MutationResult(version(version), null);
553+
return new MutationResult(version(version), Collections.emptyList());
554554
}
555555

556556
public static LocalViewChanges viewChanges(

0 commit comments

Comments
 (0)