Skip to content

Commit 4a614dc

Browse files
vanniktechakarnokd
authored andcommitted
2.x: Clean up null usages by using ObjectHelper.requireNonNull (ReactiveX#4699)
1 parent e71d371 commit 4a614dc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+146
-611
lines changed

src/main/java/io/reactivex/internal/operators/completable/CompletableConcatIterable.java

+1-6
Original file line numberDiff line numberDiff line change
@@ -109,18 +109,13 @@ void next() {
109109
CompletableSource c;
110110

111111
try {
112-
c = a.next();
112+
c = ObjectHelper.requireNonNull(a.next(), "The CompletableSource returned is null");
113113
} catch (Throwable ex) {
114114
Exceptions.throwIfFatal(ex);
115115
actual.onError(ex);
116116
return;
117117
}
118118

119-
if (c == null) {
120-
actual.onError(new NullPointerException("The completable returned is null"));
121-
return;
122-
}
123-
124119
c.subscribe(this);
125120
} while (decrementAndGet() != 0);
126121
}

src/main/java/io/reactivex/internal/operators/completable/CompletableErrorSupplier.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
package io.reactivex.internal.operators.completable;
1515

16+
import io.reactivex.internal.functions.ObjectHelper;
1617
import java.util.concurrent.Callable;
1718

1819
import io.reactivex.*;
@@ -32,15 +33,12 @@ protected void subscribeActual(CompletableObserver s) {
3233
Throwable error;
3334

3435
try {
35-
error = errorSupplier.call();
36+
error = ObjectHelper.requireNonNull(errorSupplier.call(), "The error returned is null");
3637
} catch (Throwable e) {
3738
Exceptions.throwIfFatal(e);
3839
error = e;
3940
}
4041

41-
if (error == null) {
42-
error = new NullPointerException("The error supplied is null");
43-
}
4442
EmptyDisposable.error(error, s);
4543
}
4644

src/main/java/io/reactivex/internal/operators/completable/CompletableMergeDelayErrorIterable.java

+1-6
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,13 @@ public void subscribeActual(final CompletableObserver s) {
4040
Iterator<? extends CompletableSource> iterator;
4141

4242
try {
43-
iterator = sources.iterator();
43+
iterator = ObjectHelper.requireNonNull(sources.iterator(), "The source iterator returned is null");
4444
} catch (Throwable e) {
4545
Exceptions.throwIfFatal(e);
4646
s.onError(e);
4747
return;
4848
}
4949

50-
if (iterator == null) {
51-
s.onError(new NullPointerException("The source iterator returned is null"));
52-
return;
53-
}
54-
5550
final AtomicInteger wip = new AtomicInteger(1);
5651

5752
final AtomicThrowable error = new AtomicThrowable();

src/main/java/io/reactivex/internal/operators/completable/CompletableMergeIterable.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
package io.reactivex.internal.operators.completable;
1515

16+
import io.reactivex.internal.functions.ObjectHelper;
1617
import java.util.Iterator;
1718
import java.util.concurrent.atomic.*;
1819

@@ -38,18 +39,13 @@ public void subscribeActual(final CompletableObserver s) {
3839
Iterator<? extends CompletableSource> iterator;
3940

4041
try {
41-
iterator = sources.iterator();
42+
iterator = ObjectHelper.requireNonNull(sources.iterator(), "The source iterator returned is null");
4243
} catch (Throwable e) {
4344
Exceptions.throwIfFatal(e);
4445
s.onError(e);
4546
return;
4647
}
4748

48-
if (iterator == null) {
49-
s.onError(new NullPointerException("The source iterator returned is null"));
50-
return;
51-
}
52-
5349
final AtomicInteger wip = new AtomicInteger(1);
5450

5551
MergeCompletableObserver shared = new MergeCompletableObserver(s, set, wip);

src/main/java/io/reactivex/internal/operators/flowable/FlowableBuffer.java

+4-23
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
package io.reactivex.internal.operators.flowable;
1515

16+
import io.reactivex.internal.functions.ObjectHelper;
1617
import java.util.*;
1718
import java.util.concurrent.Callable;
1819
import java.util.concurrent.atomic.*;
@@ -104,20 +105,14 @@ public void onNext(T t) {
104105
if (b == null) {
105106

106107
try {
107-
b = bufferSupplier.call();
108+
b = ObjectHelper.requireNonNull(bufferSupplier.call(), "The bufferSupplier returned a null buffer");
108109
} catch (Throwable e) {
109110
Exceptions.throwIfFatal(e);
110111
cancel();
111112
onError(e);
112113
return;
113114
}
114115

115-
if (b == null) {
116-
cancel();
117-
118-
onError(new NullPointerException("The bufferSupplier returned a null buffer"));
119-
return;
120-
}
121116
buffer = b;
122117
}
123118

@@ -231,7 +226,7 @@ public void onNext(T t) {
231226

232227
if (i % skip == 0L) { // FIXME no need for modulo
233228
try {
234-
b = bufferSupplier.call();
229+
b = ObjectHelper.requireNonNull(bufferSupplier.call(), "The bufferSupplier returned a null buffer");
235230
} catch (Throwable e) {
236231
Exceptions.throwIfFatal(e);
237232
cancel();
@@ -240,13 +235,6 @@ public void onNext(T t) {
240235
return;
241236
}
242237

243-
if (b == null) {
244-
cancel();
245-
246-
onError(new NullPointerException("The bufferSupplier returned a null buffer"));
247-
return;
248-
}
249-
250238
buffer = b;
251239
}
252240

@@ -390,21 +378,14 @@ public void onNext(T t) {
390378
C b;
391379

392380
try {
393-
b = bufferSupplier.call();
381+
b = ObjectHelper.requireNonNull(bufferSupplier.call(), "The bufferSupplier returned a null buffer");
394382
} catch (Throwable e) {
395383
Exceptions.throwIfFatal(e);
396384
cancel();
397385
onError(e);
398386
return;
399387
}
400388

401-
if (b == null) {
402-
cancel();
403-
404-
onError(new NullPointerException("The bufferSupplier returned a null buffer"));
405-
return;
406-
}
407-
408389
bs.offer(b);
409390
}
410391

src/main/java/io/reactivex/internal/operators/flowable/FlowableBufferBoundary.java

+3-12
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
package io.reactivex.internal.operators.flowable;
1515

16+
import io.reactivex.internal.functions.ObjectHelper;
1617
import java.util.*;
1718
import java.util.concurrent.Callable;
1819
import java.util.concurrent.atomic.AtomicInteger;
@@ -173,33 +174,23 @@ void open(Open window) {
173174
U b;
174175

175176
try {
176-
b = bufferSupplier.call();
177+
b = ObjectHelper.requireNonNull(bufferSupplier.call(), "The buffer supplied is null");
177178
} catch (Throwable e) {
178179
Exceptions.throwIfFatal(e);
179180
onError(e);
180181
return;
181182
}
182183

183-
if (b == null) {
184-
onError(new NullPointerException("The buffer supplied is null"));
185-
return;
186-
}
187-
188184
Publisher<? extends Close> p;
189185

190186
try {
191-
p = bufferClose.apply(window);
187+
p = ObjectHelper.requireNonNull(bufferClose.apply(window), "The buffer closing publisher is null");
192188
} catch (Throwable e) {
193189
Exceptions.throwIfFatal(e);
194190
onError(e);
195191
return;
196192
}
197193

198-
if (p == null) {
199-
onError(new NullPointerException("The buffer closing publisher is null"));
200-
return;
201-
}
202-
203194
if (cancelled) {
204195
return;
205196
}

src/main/java/io/reactivex/internal/operators/flowable/FlowableBufferBoundarySupplier.java

+5-30
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
package io.reactivex.internal.operators.flowable;
1515

16+
import io.reactivex.internal.functions.ObjectHelper;
1617
import java.util.Collection;
1718
import java.util.concurrent.Callable;
1819
import java.util.concurrent.atomic.AtomicReference;
@@ -76,7 +77,7 @@ public void onSubscribe(Subscription s) {
7677
U b;
7778

7879
try {
79-
b = bufferSupplier.call();
80+
b = ObjectHelper.requireNonNull(bufferSupplier.call(), "The buffer supplied is null");
8081
} catch (Throwable e) {
8182
Exceptions.throwIfFatal(e);
8283
cancelled = true;
@@ -85,18 +86,12 @@ public void onSubscribe(Subscription s) {
8586
return;
8687
}
8788

88-
if (b == null) {
89-
cancelled = true;
90-
s.cancel();
91-
EmptySubscription.error(new NullPointerException("The buffer supplied is null"), actual);
92-
return;
93-
}
9489
buffer = b;
9590

9691
Publisher<B> boundary;
9792

9893
try {
99-
boundary = boundarySupplier.call();
94+
boundary = ObjectHelper.requireNonNull(boundarySupplier.call(), "The boundary publisher supplied is null");
10095
} catch (Throwable ex) {
10196
Exceptions.throwIfFatal(ex);
10297
cancelled = true;
@@ -105,13 +100,6 @@ public void onSubscribe(Subscription s) {
105100
return;
106101
}
107102

108-
if (boundary == null) {
109-
cancelled = true;
110-
s.cancel();
111-
EmptySubscription.error(new NullPointerException("The boundary publisher supplied is null"), actual);
112-
return;
113-
}
114-
115103
BufferBoundarySubscriber<T, U, B> bs = new BufferBoundarySubscriber<T, U, B>(this);
116104
other.set(bs);
117105

@@ -185,24 +173,18 @@ void next() {
185173
U next;
186174

187175
try {
188-
next = bufferSupplier.call();
176+
next = ObjectHelper.requireNonNull(bufferSupplier.call(), "The buffer supplied is null");
189177
} catch (Throwable e) {
190178
Exceptions.throwIfFatal(e);
191179
cancel();
192180
actual.onError(e);
193181
return;
194182
}
195183

196-
if (next == null) {
197-
cancel();
198-
actual.onError(new NullPointerException("The buffer supplied is null"));
199-
return;
200-
}
201-
202184
Publisher<B> boundary;
203185

204186
try {
205-
boundary = boundarySupplier.call();
187+
boundary = ObjectHelper.requireNonNull(boundarySupplier.call(), "The boundary publisher supplied is null");
206188
} catch (Throwable ex) {
207189
Exceptions.throwIfFatal(ex);
208190
cancelled = true;
@@ -211,13 +193,6 @@ void next() {
211193
return;
212194
}
213195

214-
if (boundary == null) {
215-
cancelled = true;
216-
s.cancel();
217-
actual.onError(new NullPointerException("The boundary publisher supplied is null"));
218-
return;
219-
}
220-
221196
BufferBoundarySubscriber<T, U, B> bs = new BufferBoundarySubscriber<T, U, B>(this);
222197

223198
Disposable o = other.get();

src/main/java/io/reactivex/internal/operators/flowable/FlowableBufferExactBoundary.java

+3-14
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
package io.reactivex.internal.operators.flowable;
1515

16+
import io.reactivex.internal.functions.ObjectHelper;
1617
import java.util.Collection;
1718
import java.util.concurrent.Callable;
1819

@@ -71,7 +72,7 @@ public void onSubscribe(Subscription s) {
7172
U b;
7273

7374
try {
74-
b = bufferSupplier.call();
75+
b = ObjectHelper.requireNonNull(bufferSupplier.call(), "The buffer supplied is null");
7576
} catch (Throwable e) {
7677
Exceptions.throwIfFatal(e);
7778
cancelled = true;
@@ -80,12 +81,6 @@ public void onSubscribe(Subscription s) {
8081
return;
8182
}
8283

83-
if (b == null) {
84-
cancelled = true;
85-
s.cancel();
86-
EmptySubscription.error(new NullPointerException("The buffer supplied is null"), actual);
87-
return;
88-
}
8984
buffer = b;
9085

9186
BufferBoundarySubscriber<T, U, B> bs = new BufferBoundarySubscriber<T, U, B>(this);
@@ -157,20 +152,14 @@ void next() {
157152
U next;
158153

159154
try {
160-
next = bufferSupplier.call();
155+
next = ObjectHelper.requireNonNull(bufferSupplier.call(), "The buffer supplied is null");
161156
} catch (Throwable e) {
162157
Exceptions.throwIfFatal(e);
163158
cancel();
164159
actual.onError(e);
165160
return;
166161
}
167162

168-
if (next == null) {
169-
cancel();
170-
actual.onError(new NullPointerException("The buffer supplied is null"));
171-
return;
172-
}
173-
174163
U b;
175164
synchronized (this) {
176165
b = buffer;

0 commit comments

Comments
 (0)