mutation.document.setUpdateMask(fieldMask.toPb());
} else if (hasDocumentData || documentTransform.isEmpty()) { mutation.document = documentSnapshot.toPb(); mutation.document.setUpdateMask(documentMask.toPb());
private static CommitRequest sortCommit(CommitRequest commit) { CommitRequest.Builder builder = commit.toBuilder(); for (Write.Builder writes : builder.getWritesBuilderList()) { if (writes.hasUpdateMask()) { ArrayList<String> updateMask = new ArrayList<>(writes.getUpdateMask().getFieldPathsList()); Collections.sort(updateMask); writes.setUpdateMask(DocumentMask.newBuilder().addAllFieldPaths(updateMask)); } if (writes.getTransform().getFieldTransformsCount() > 0) { ArrayList<FieldTransform> transformList = new ArrayList<>(writes.getTransform().getFieldTransformsList()); Collections.sort( transformList, new Comparator<FieldTransform>() { @Override public int compare(FieldTransform t1, FieldTransform t2) { return t1.getFieldPath().compareTo(t2.getFieldPath()); } }); writes.setTransform(DocumentTransform.newBuilder().addAllFieldTransforms(transformList)); } } return builder.build(); }
} else if (hasDocumentData || documentTransform.isEmpty()) { mutation.document = documentSnapshot.toPb(); mutation.document.setUpdateMask(documentMask.toPb());
mutation.document.setUpdateMask(fieldMask.toPb());