Skip to content

Commit 279e385

Browse files
committed
downback source code to Java 8
1 parent 55ef2cc commit 279e385

19 files changed

Lines changed: 116 additions & 348 deletions

File tree

examples/src/main/java/examples/NonblockingApp.java

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

jooby/src/main/java/io/jooby/Jooby.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import javax.annotation.Nonnull;
2424
import java.io.IOException;
25+
import java.lang.management.ManagementFactory;
2526
import java.nio.file.Files;
2627
import java.nio.file.Path;
2728
import java.nio.file.Paths;
@@ -492,4 +493,12 @@ private void fireStop() {
492493
}
493494
}
494495
}
496+
497+
private static long pid() {
498+
try {
499+
return Long.parseLong(ManagementFactory.getRuntimeMXBean().getName().split("@")[0]);
500+
} catch (Exception e) {
501+
return -1;
502+
}
503+
}
495504
}

jooby/src/main/java/io/jooby/internal/Pipeline.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import io.jooby.internal.handler.SendDirect;
3434
import io.jooby.internal.handler.reactive.ReactivePublisherHandler;
3535
import io.jooby.internal.handler.DispatchHandler;
36-
import io.jooby.internal.handler.reactive.JavaFlowPublisher;
3736
import io.jooby.internal.handler.reactive.ReactorFluxHandler;
3837
import io.jooby.internal.handler.reactive.RxMaybeHandler;
3938
import io.jooby.internal.handler.reactive.ReactorMonoHandler;
@@ -51,7 +50,6 @@
5150
import java.util.Optional;
5251
import java.util.concurrent.CompletionStage;
5352
import java.util.concurrent.Executor;
54-
import java.util.concurrent.Flow;
5553

5654
public class Pipeline {
5755

@@ -132,16 +130,13 @@ public static Handler compute(ClassLoader loader, Route route, ExecutionMode mod
132130
}
133131
}
134132

135-
/** Flow API + ReactiveStream: */
133+
/** ReactiveStream: */
136134
Optional<Class> publisher = loadClass(loader, "org.reactivestreams.Publisher");
137135
if (publisher.isPresent()) {
138136
if (publisher.get().isAssignableFrom(type)) {
139137
return reactivePublisher(mode, route, executor);
140138
}
141139
}
142-
if (Flow.Publisher.class.isAssignableFrom(type)) {
143-
return javaFlowPublisher(mode, route, executor);
144-
}
145140
/** Context: */
146141
if (Context.class.isAssignableFrom(type)) {
147142
return next(mode, executor, new SendDirect(route.pipeline()), true);
@@ -218,11 +213,6 @@ private static Handler kotlinContinuation(ExecutionMode mode, Route next, Execut
218213
return next(mode, executor, new DetachHandler(next.pipeline()), false);
219214
}
220215

221-
private static Handler javaFlowPublisher(ExecutionMode mode, Route next, Executor executor) {
222-
return next(mode, executor,
223-
new DetachHandler(new JavaFlowPublisher(next.pipeline())), false);
224-
}
225-
226216
private static Handler single(ExecutionMode mode, Route next, Executor executor) {
227217
return next(mode, executor, new DetachHandler(new RxSingleHandler(next.pipeline())),
228218
false);

jooby/src/main/java/io/jooby/internal/asm/ClassSource.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
*/
1616
package io.jooby.internal.asm;
1717

18+
import io.jooby.Server;
1819
import io.jooby.Throwing;
1920

21+
import java.io.ByteArrayOutputStream;
2022
import java.io.IOException;
2123
import java.io.InputStream;
2224
import java.util.HashMap;
@@ -33,13 +35,23 @@ public ClassSource(ClassLoader loader) {
3335
public byte[] byteCode(Class source) {
3436
return (byte[]) bytecode.computeIfAbsent(source.getName(), k -> {
3537
try (InputStream in = loader.getResourceAsStream(k.replace(".", "/") + ".class")) {
36-
return in.readAllBytes();
38+
return readAllBytes(in);
3739
} catch (IOException x) {
3840
throw Throwing.sneakyThrow(x);
3941
}
4042
});
4143
}
4244

45+
private byte[] readAllBytes(InputStream in) throws IOException {
46+
ByteArrayOutputStream buffer = new ByteArrayOutputStream(Server._16KB);
47+
byte[] data = new byte[Server._16KB];
48+
int nRead;
49+
while ((nRead = in.read(data, 0, data.length)) != -1) {
50+
buffer.write(data, 0, nRead);
51+
}
52+
return buffer.toByteArray();
53+
}
54+
4355
public void destroy() {
4456
bytecode.clear();
4557
bytecode = null;

jooby/src/main/java/io/jooby/internal/asm/ReturnType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public java.lang.reflect.Type returnType() {
8888
MethodInsnNode invokeSpecial = (MethodInsnNode) previous;
8989
Class owner = typeParser.resolve(invokeSpecial.owner);
9090
Class[] args = Stream.of(Type.getArgumentTypes(invokeSpecial.desc))
91-
.map(e -> typeParser.resolve(e.getClassName()))
91+
.map(e -> typeParser.resolve(e.getInternalName()))
9292
.toArray(Class[]::new);
9393
Method reference = owner.getDeclaredMethod(invokeSpecial.name, args);
9494
return reference.getGenericReturnType();

jooby/src/main/java/io/jooby/internal/asm/TypeParser.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ public Class resolve(final String name) {
104104
return Object.class;
105105
default:
106106
Class<?> result;
107-
if (name.startsWith("[")) {
108-
result = Class.forName(name, false, loader);
107+
if (classname.startsWith("[")) {
108+
result = Class.forName(classname, false, loader);
109109
} else {
110110
result = loader.loadClass(classname);
111111
}

jooby/src/main/java/io/jooby/internal/handler/reactive/JavaFlowPublisher.java

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

jooby/src/main/java/io/jooby/internal/handler/reactive/JavaFlowSubscriber.java

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

jooby/src/main/java/io/jooby/internal/handler/reactive/JavaFlowSubscription.java

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

jooby/src/test/java/io/jooby/EnvTest.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.nio.file.Paths;
77
import java.util.ArrayList;
88
import java.util.Collections;
9+
import java.util.HashMap;
910
import java.util.List;
1011
import java.util.Map;
1112
import java.util.function.Consumer;
@@ -25,7 +26,7 @@ public void defaultEnv() {
2526
assertEquals(asList("a", "b", "c"), env.get("letters").toList());
2627
});
2728

28-
env("foo", Map.of("application.env", "PROD"), env -> {
29+
env("foo", mapOf("application.env", "PROD"), env -> {
2930
assertEquals("prod", env.name());
3031
assertEquals("bazz", env.get("foo").value());
3132
assertEquals(asList("a", "b", "c"), env.get("letters").toList());
@@ -39,18 +40,18 @@ public void defaultEnv() {
3940
@Test
4041
public void objectLookup() {
4142

42-
Env env = Env.build(new Env.PropertySource("test", Map.of("h.pool", "1", "h.db.pool", "2")));
43+
Env env = Env.build(new Env.PropertySource("test", mapOf("h.pool", "1", "h.db.pool", "2")));
4344

4445
assertEquals("1", env.get("h.pool").value());
4546
assertEquals("2", env.get("h.db.pool").value());
46-
assertEquals(Map.of("db.pool", "2"), env.get("h.db").toMap());
47+
assertEquals(mapOf("db.pool", "2"), env.get("h.db").toMap());
4748
}
4849

4950
@Test
5051
public void args() {
5152
Env.PropertySource args = Env.parse("foo", " bar = ");
5253
assertEquals("args", args.name());
53-
assertEquals(Map.of("application.env", "foo", "bar", ""), args.properties());
54+
assertEquals(mapOf("application.env", "foo", "bar", ""), args.properties());
5455

5556
assertEquals(Collections.emptyMap(), Env.parse().properties());
5657
assertEquals(Collections.emptyMap(), Env.parse((String[]) null).properties());
@@ -71,4 +72,12 @@ private String[] toArray(Map<String, String> args) {
7172
args.forEach((k, v) -> result.add(k + "=" + v));
7273
return result.toArray(new String[result.size()]);
7374
}
75+
76+
private Map<String, String> mapOf(String... values) {
77+
Map<String, String> hash = new HashMap<>();
78+
for (int i = 0; i < values.length; i += 2) {
79+
hash.put(values[i], values[i + 1]);
80+
}
81+
return hash;
82+
}
7483
}

0 commit comments

Comments
 (0)