Skip to content

Commit 98079b0

Browse files
committed
Support Java 7
1 parent 1e48ec4 commit 98079b0

4 files changed

Lines changed: 26 additions & 16 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ An example project showing how to call into Rust code from Java.
77
## Requirements
88

99
- Tested on OSX and Linux. May also work on Windows!
10-
- Java 8
10+
- Java 7+
1111
- Rust (tested againts post-alpha nightlies)
1212

1313
## Contents

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
7272
<artifactId>maven-compiler-plugin</artifactId>
7373
<version>3.1</version>
7474
<configuration>
75-
<source>1.8</source>
76-
<target>1.8</target>
75+
<source>1.7</source>
76+
<target>1.7</target>
7777
</configuration>
7878
</plugin>
7979

src/main/java/com/github/drrb/javarust/Main.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import static java.util.Arrays.asList;
2020
import java.util.List;
21-
import static java.util.stream.Collectors.joining;
2221

2322
/**
2423
* An entry point that says hello from Rust code
@@ -32,7 +31,7 @@ public static void main(String[] args) {
3231
if (arguments.isEmpty()) {
3332
name = "World";
3433
} else {
35-
name = arguments.stream().collect(joining(" "));
34+
name = arguments.get(0);
3635
}
3736
Greetings.INSTANCE.printGreeting(name);
3837
}

src/test/java/com/github/drrb/javarust/GreetingsTest.java

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@
1616
*/
1717
package com.github.drrb.javarust;
1818

19+
import com.github.drrb.javarust.Greetings.GreetingCallback;
20+
import com.github.drrb.javarust.Greetings.GreetingSetCallback;
1921
import static com.github.drrb.javarust.test.Matchers.*;
2022
import com.github.drrb.javarust.test.MethodPrintingRule;
2123
import static java.util.Arrays.asList;
2224
import java.util.LinkedList;
2325
import java.util.List;
24-
import static java.util.stream.Collectors.toList;
2526
import static org.junit.Assert.assertThat;
2627
import org.junit.Before;
2728
import org.junit.Rule;
@@ -79,31 +80,41 @@ public void shouldGetAStructFromRustByReference() {
7980
@Test
8081
public void shouldGetAStringFromRustInACallback() {
8182
final List<String> greetings = new LinkedList<>();
82-
library.callMeBack((greeting) -> {
83-
greetings.add(greeting);
83+
library.callMeBack(new GreetingCallback() {
84+
public void apply(String greeting) {
85+
greetings.add(greeting);
86+
}
8487
});
8588
assertThat(greetings, is(asList("Hello there!")));
8689
}
8790

8891
@Test
8992
public void shouldGetListOfStringsFromRustInACallback() {
9093
final List<Greeting> greetings = new LinkedList<>();
91-
library.sendGreetings((greetingSet) -> {
92-
greetings.addAll(greetingSet.getGreetings());
94+
library.sendGreetings(new GreetingSetCallback() {
95+
public void apply(GreetingSet.ByReference greetingSet) {
96+
greetings.addAll(greetingSet.getGreetings());
97+
}
9398
});
94-
List<String> greetingStrings = greetings.stream().map(Greeting::getText).collect(toList());
99+
100+
List<String> greetingStrings = new LinkedList<>();
101+
for (Greeting greeting: greetings) {
102+
greetingStrings.add(greeting.getText());
103+
}
95104

96105
assertThat(greetingStrings, is(asList("Hello!", "Hello again!")));
97-
greetings.stream().forEach((greeting) -> library.dropGreeting(greeting));
106+
for (Greeting greeting: greetings) {
107+
library.dropGreeting(greeting);
108+
}
98109
}
99110

100111
@Test
101112
public void shouldGetAStructFromRustContainingAnArrayOfStructs() {
102113
GreetingSet result = library.renderGreetings();
103-
List<String> greetings = result.getGreetings()
104-
.stream()
105-
.map(Greeting::getText)
106-
.collect(toList());
114+
List<String> greetings = new LinkedList<>();
115+
for (Greeting greeting: result.getGreetings()) {
116+
greetings.add(greeting.getText());
117+
}
107118

108119
assertThat(greetings, is(asList("Hello!", "Hello again!")));
109120
library.dropGreetingSet(result);

0 commit comments

Comments
 (0)