Skip to content

Commit f35c61c

Browse files
committed
[BAEL-16658] Split rxjava (& rxjava-2) by subject
1 parent 7940f0d commit f35c61c

File tree

65 files changed

+660
-569
lines changed

Some content is hidden

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

65 files changed

+660
-569
lines changed

pom.xml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -603,8 +603,10 @@
603603
<!-- <module>rmi</module> --> <!-- Not a maven project -->
604604
<module>rule-engines</module>
605605
<module>rsocket</module>
606-
<module>rxjava</module>
607-
<module>rxjava-2</module>
606+
<module>rxjava-core</module>
607+
<module>rxjava-observables</module>
608+
<module>rxjava-operators</module>
609+
<module>rxjava-libraries</module>
608610
<module>software-security/sql-injection-samples</module>
609611

610612
<module>tensorflow-java</module>
@@ -1369,8 +1371,10 @@
13691371
<!-- <module>rmi</module> --> <!-- Not a maven project -->
13701372
<module>rule-engines</module>
13711373
<module>rsocket</module>
1372-
<module>rxjava</module>
1373-
<module>rxjava-2</module>
1374+
<module>rxjava-core</module>
1375+
<module>rxjava-observables</module>
1376+
<module>rxjava-operators</module>
1377+
<module>rxjava-libraries</module>
13741378
<module>oauth2-framework-impl</module>
13751379
<module>spf4j</module>
13761380
<module>spring-boot-performance</module>

rxjava-2/README.md

Lines changed: 0 additions & 14 deletions
This file was deleted.

rxjava-2/pom.xml

Lines changed: 0 additions & 53 deletions
This file was deleted.

rxjava-core/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## RxJava
2+
3+
This module contains articles about RxJava.
4+
5+
### Relevant articles:
6+
7+
- [Dealing with Backpressure with RxJava](https://www.baeldung.com/rxjava-backpressure)
8+
- [How to Test RxJava?](https://www.baeldung.com/rxjava-testing)
9+
- [Introduction to RxJava](https://www.baeldung.com/rx-java)
10+
- [Schedulers in RxJava](https://www.baeldung.com/rxjava-schedulers)
11+
- [Difference Between Flatmap and Switchmap in RxJava](https://www.baeldung.com/rxjava-flatmap-switchmap)
12+
- [RxJava and Error Handling](https://www.baeldung.com/rxjava-error-handling)
13+
- [RxJava Maybe](https://www.baeldung.com/rxjava-maybe)
14+
- [Combining RxJava Completables](https://www.baeldung.com/rxjava-completable)
15+
- [RxJava Hooks](https://www.baeldung.com/rxjava-hooks)
16+
- More articles: [[next -->]](/rxjava-2)

rxjava-core/pom.xml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
<artifactId>rxjava-core</artifactId>
6+
<version>1.0-SNAPSHOT</version>
7+
<name>rxjava-core</name>
8+
9+
<parent>
10+
<groupId>com.baeldung</groupId>
11+
<artifactId>parent-java</artifactId>
12+
<version>0.0.1-SNAPSHOT</version>
13+
<relativePath>../parent-java</relativePath>
14+
</parent>
15+
16+
<dependencies>
17+
<dependency>
18+
<groupId>io.reactivex</groupId>
19+
<artifactId>rxjava</artifactId>
20+
<version>${rx.java.version}</version>
21+
</dependency>
22+
<dependency>
23+
<groupId>io.reactivex.rxjava2</groupId>
24+
<artifactId>rxjava</artifactId>
25+
<version>${rx.java2.version}</version>
26+
</dependency>
27+
<dependency>
28+
<groupId>com.jayway.awaitility</groupId>
29+
<artifactId>awaitility</artifactId>
30+
<version>${awaitility.version}</version>
31+
</dependency>
32+
<dependency>
33+
<groupId>org.assertj</groupId>
34+
<artifactId>assertj-core</artifactId>
35+
<version>${assertj.version}</version>
36+
</dependency>
37+
</dependencies>
38+
39+
<properties>
40+
<assertj.version>3.8.0</assertj.version>
41+
<rx.java.version>1.2.5</rx.java.version>
42+
<awaitility.version>1.7.0</awaitility.version>
43+
<rx.java2.version>2.2.2</rx.java2.version>
44+
</properties>
45+
46+
</project>
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,84 @@
1-
package com.baeldung.rxjava;
2-
3-
import static org.junit.Assert.assertTrue;
4-
5-
import org.junit.After;
6-
import org.junit.Test;
7-
8-
import io.reactivex.Observable;
9-
import io.reactivex.plugins.RxJavaPlugins;
10-
import io.reactivex.schedulers.Schedulers;
11-
12-
public class RxJavaHooksManualTest {
13-
14-
private boolean initHookCalled = false;
15-
private boolean hookCalled = false;
16-
17-
@Test
18-
public void givenIOScheduler_whenCalled_shouldExecuteTheHooks() {
19-
20-
RxJavaPlugins.setInitIoSchedulerHandler((scheduler) -> {
21-
initHookCalled = true;
22-
return scheduler.call();
23-
});
24-
25-
RxJavaPlugins.setIoSchedulerHandler((scheduler) -> {
26-
hookCalled = true;
27-
return scheduler;
28-
});
29-
30-
Observable.range(1, 10)
31-
.map(v -> v * 2)
32-
.subscribeOn(Schedulers.io())
33-
.test();
34-
assertTrue(hookCalled && initHookCalled);
35-
}
36-
37-
@Test
38-
public void givenNewThreadScheduler_whenCalled_shouldExecuteTheHook() {
39-
40-
RxJavaPlugins.setInitNewThreadSchedulerHandler((scheduler) -> {
41-
initHookCalled = true;
42-
return scheduler.call();
43-
});
44-
45-
RxJavaPlugins.setNewThreadSchedulerHandler((scheduler) -> {
46-
hookCalled = true;
47-
return scheduler;
48-
});
49-
50-
Observable.range(1, 15)
51-
.map(v -> v * 2)
52-
.subscribeOn(Schedulers.newThread())
53-
.test();
54-
assertTrue(hookCalled && initHookCalled);
55-
}
56-
57-
@Test
58-
public void givenSingleScheduler_whenCalled_shouldExecuteTheHooks() {
59-
60-
RxJavaPlugins.setInitSingleSchedulerHandler((scheduler) -> {
61-
initHookCalled = true;
62-
return scheduler.call();
63-
});
64-
65-
RxJavaPlugins.setSingleSchedulerHandler((scheduler) -> {
66-
hookCalled = true;
67-
return scheduler;
68-
});
69-
70-
Observable.range(1, 10)
71-
.map(v -> v * 2)
72-
.subscribeOn(Schedulers.single())
73-
.test();
74-
assertTrue(hookCalled && initHookCalled);
75-
76-
}
77-
78-
@After
79-
public void reset() {
80-
hookCalled = false;
81-
initHookCalled = false;
82-
RxJavaPlugins.reset();
83-
}
84-
}
1+
package com.baeldung.rxjava;
2+
3+
import static org.junit.Assert.assertTrue;
4+
5+
import org.junit.After;
6+
import org.junit.Test;
7+
8+
import io.reactivex.Observable;
9+
import io.reactivex.plugins.RxJavaPlugins;
10+
import io.reactivex.schedulers.Schedulers;
11+
12+
public class RxJavaHooksManualTest {
13+
14+
private boolean initHookCalled = false;
15+
private boolean hookCalled = false;
16+
17+
@Test
18+
public void givenIOScheduler_whenCalled_shouldExecuteTheHooks() {
19+
20+
RxJavaPlugins.setInitIoSchedulerHandler((scheduler) -> {
21+
initHookCalled = true;
22+
return scheduler.call();
23+
});
24+
25+
RxJavaPlugins.setIoSchedulerHandler((scheduler) -> {
26+
hookCalled = true;
27+
return scheduler;
28+
});
29+
30+
Observable.range(1, 10)
31+
.map(v -> v * 2)
32+
.subscribeOn(Schedulers.io())
33+
.test();
34+
assertTrue(hookCalled && initHookCalled);
35+
}
36+
37+
@Test
38+
public void givenNewThreadScheduler_whenCalled_shouldExecuteTheHook() {
39+
40+
RxJavaPlugins.setInitNewThreadSchedulerHandler((scheduler) -> {
41+
initHookCalled = true;
42+
return scheduler.call();
43+
});
44+
45+
RxJavaPlugins.setNewThreadSchedulerHandler((scheduler) -> {
46+
hookCalled = true;
47+
return scheduler;
48+
});
49+
50+
Observable.range(1, 15)
51+
.map(v -> v * 2)
52+
.subscribeOn(Schedulers.newThread())
53+
.test();
54+
assertTrue(hookCalled && initHookCalled);
55+
}
56+
57+
@Test
58+
public void givenSingleScheduler_whenCalled_shouldExecuteTheHooks() {
59+
60+
RxJavaPlugins.setInitSingleSchedulerHandler((scheduler) -> {
61+
initHookCalled = true;
62+
return scheduler.call();
63+
});
64+
65+
RxJavaPlugins.setSingleSchedulerHandler((scheduler) -> {
66+
hookCalled = true;
67+
return scheduler;
68+
});
69+
70+
Observable.range(1, 10)
71+
.map(v -> v * 2)
72+
.subscribeOn(Schedulers.single())
73+
.test();
74+
assertTrue(hookCalled && initHookCalled);
75+
76+
}
77+
78+
@After
79+
public void reset() {
80+
hookCalled = false;
81+
initHookCalled = false;
82+
RxJavaPlugins.reset();
83+
}
84+
}

0 commit comments

Comments
 (0)