Skip to content

Commit 8655b90

Browse files
Make TransformResult non-nullable (#2428)
1 parent a48b095 commit 8655b90

File tree

9 files changed

+16
-27
lines changed

9 files changed

+16
-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 & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
import static com.google.firebase.firestore.util.Preconditions.checkNotNull;
1818

19-
import androidx.annotation.Nullable;
2019
import com.google.firebase.firestore.model.SnapshotVersion;
2120
import com.google.firestore.v1.Value;
2221
import java.util.List;
@@ -31,9 +30,9 @@
3130
*/
3231
public final class MutationResult {
3332
private final SnapshotVersion version;
34-
@Nullable private final List<Value> transformResults;
33+
private final List<Value> transformResults;
3534

36-
public MutationResult(SnapshotVersion version, @Nullable List<Value> transformResults) {
35+
public MutationResult(SnapshotVersion version, List<Value> transformResults) {
3736
this.version = checkNotNull(version);
3837
this.transformResults = transformResults;
3938
}
@@ -58,9 +57,8 @@ public SnapshotVersion getVersion() {
5857
* The resulting fields returned from the backend after a mutation containing field transforms has
5958
* been committed. Contains one Value for each FieldTransform that was in the mutation.
6059
*
61-
* <p>Will be null if the mutation did not contain any field transforms.
60+
* <p>Returns an empty list if the mutation did not contain any field transforms.
6261
*/
63-
@Nullable
6462
public List<Value> getTransformResults() {
6563
return transformResults;
6664
}

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,7 @@ public MaybeDocument applyToRemoteDocument(
118118
}
119119

120120
List<Value> transformResults =
121-
mutationResult.getTransformResults() != null
122-
? serverTransformResults(maybeDoc, mutationResult.getTransformResults())
123-
: new ArrayList<>();
124-
121+
serverTransformResults(maybeDoc, mutationResult.getTransformResults());
125122
SnapshotVersion version = mutationResult.getVersion();
126123
ObjectValue newData = patchDocument(maybeDoc, transformResults);
127124
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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -597,8 +597,8 @@ 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 =
601+
new MutationResult(version(7), /*transformResults=*/ Collections.emptyList());
602602

603603
assertVersionTransitions(set, docV3, mutationResult, docV7Committed);
604604
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)