Skip to content

Commit 2f39651

Browse files
committed
output: remove buffer name from output classes
1 parent 97ad1ef commit 2f39651

File tree

91 files changed

+533
-714
lines changed

Some content is hidden

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

91 files changed

+533
-714
lines changed

jooby/src/main/java/io/jooby/Context.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@
2929

3030
import edu.umd.cs.findbugs.annotations.NonNull;
3131
import edu.umd.cs.findbugs.annotations.Nullable;
32-
import io.jooby.buffer.BufferedOutput;
33-
import io.jooby.buffer.BufferedOutputFactory;
3432
import io.jooby.internal.LocaleUtils;
3533
import io.jooby.internal.ReadOnlyContext;
3634
import io.jooby.internal.WebSocketSender;
35+
import io.jooby.output.Output;
36+
import io.jooby.output.OutputFactory;
3737
import io.jooby.value.Value;
3838
import io.jooby.value.ValueFactory;
3939

@@ -143,7 +143,7 @@ private static Selector single() {
143143
*/
144144
Router getRouter();
145145

146-
BufferedOutputFactory getOutputFactory();
146+
OutputFactory getOutputFactory();
147147

148148
/**
149149
* Forward executing to another route. We use the given path to find a matching route.
@@ -1298,7 +1298,7 @@ Context responseWriter(
12981298
* @param output Output.
12991299
* @return This context.
13001300
*/
1301-
Context send(@NonNull BufferedOutput output);
1301+
Context send(@NonNull Output output);
13021302

13031303
/**
13041304
* Send response data.

jooby/src/main/java/io/jooby/DefaultContext.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626

2727
import edu.umd.cs.findbugs.annotations.NonNull;
2828
import edu.umd.cs.findbugs.annotations.Nullable;
29-
import io.jooby.buffer.BufferedOutputFactory;
3029
import io.jooby.exception.RegistryException;
3130
import io.jooby.internal.*;
31+
import io.jooby.output.OutputFactory;
3232
import io.jooby.value.Value;
3333
import io.jooby.value.ValueFactory;
3434

@@ -690,7 +690,7 @@ default Context sendError(@NonNull Throwable cause, @NonNull StatusCode code) {
690690
}
691691

692692
@Override
693-
default BufferedOutputFactory getOutputFactory() {
693+
default OutputFactory getOutputFactory() {
694694
return getRouter().getOutputFactory();
695695
}
696696
}

jooby/src/main/java/io/jooby/ForwardingContext.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323

2424
import edu.umd.cs.findbugs.annotations.NonNull;
2525
import edu.umd.cs.findbugs.annotations.Nullable;
26-
import io.jooby.buffer.BufferedOutput;
27-
import io.jooby.buffer.BufferedOutputFactory;
2826
import io.jooby.exception.RegistryException;
27+
import io.jooby.output.Output;
28+
import io.jooby.output.OutputFactory;
2929
import io.jooby.value.Value;
3030
import io.jooby.value.ValueFactory;
3131

@@ -671,7 +671,7 @@ public Router getRouter() {
671671
}
672672

673673
@Override
674-
public BufferedOutputFactory getOutputFactory() {
674+
public OutputFactory getOutputFactory() {
675675
return ctx.getOutputFactory();
676676
}
677677

@@ -1239,7 +1239,7 @@ public Context send(@NonNull ByteBuffer data) {
12391239
}
12401240

12411241
@Override
1242-
public Context send(@NonNull BufferedOutput output) {
1242+
public Context send(@NonNull Output output) {
12431243
ctx.send(output);
12441244
return this;
12451245
}

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

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@
4141
import com.typesafe.config.Config;
4242
import edu.umd.cs.findbugs.annotations.NonNull;
4343
import edu.umd.cs.findbugs.annotations.Nullable;
44-
import io.jooby.buffer.BufferedOutputFactory;
4544
import io.jooby.exception.RegistryException;
4645
import io.jooby.exception.StartupException;
4746
import io.jooby.internal.LocaleUtils;
4847
import io.jooby.internal.MutedServer;
4948
import io.jooby.internal.RegistryRef;
5049
import io.jooby.internal.RouterImpl;
50+
import io.jooby.output.OutputFactory;
5151
import io.jooby.problem.ProblemDetailsHandler;
5252
import io.jooby.value.ValueFactory;
5353

@@ -80,18 +80,19 @@ public class Jooby implements Router, Registry {
8080
static final String APP_NAME = "___app_name__";
8181

8282
private static final String JOOBY_RUN_HOOK = "___jooby_run_hook__";
83+
private static final Logger log = LoggerFactory.getLogger(Jooby.class);
8384

8485
private final transient AtomicBoolean started = new AtomicBoolean(true);
8586

8687
private final transient AtomicBoolean stopped = new AtomicBoolean(false);
8788

8889
private static Jooby owner;
8990
private static ExecutionMode BOOT_EXECUTION_MODE = ExecutionMode.DEFAULT;
90-
private static BufferedOutputFactory BUFFER_FACTORY;
91+
private static OutputFactory OUTPUT_FACTORY;
9192

9293
private RouterImpl router;
9394

94-
private ExecutionMode mode = BOOT_EXECUTION_MODE;
95+
private ExecutionMode mode;
9596

9697
private Path tmpdir;
9798

@@ -125,6 +126,7 @@ public class Jooby implements Router, Registry {
125126
public Jooby() {
126127
if (owner == null) {
127128
ClassLoader classLoader = getClass().getClassLoader();
129+
mode = BOOT_EXECUTION_MODE;
128130
environmentOptions = new EnvironmentOptions().setClassLoader(classLoader);
129131
router = new RouterImpl();
130132
stopCallbacks = new LinkedList<>();
@@ -133,8 +135,7 @@ public Jooby() {
133135
lateExtensions = new ArrayList<>();
134136
// NOTE: fallback to default, this is required for direct instance creation of class
135137
// app bootstrap always ensures server instance.
136-
router.setOutputFactory(
137-
Optional.ofNullable(BUFFER_FACTORY).orElseGet(BufferedOutputFactory::create));
138+
router.setOutputFactory(Optional.ofNullable(OUTPUT_FACTORY).orElseGet(OutputFactory::create));
138139
} else {
139140
copyState(owner, this);
140141
}
@@ -845,7 +846,7 @@ public Jooby setValueFactory(@NonNull ValueFactory valueFactory) {
845846
}
846847

847848
@NonNull @Override
848-
public BufferedOutputFactory getOutputFactory() {
849+
public OutputFactory getOutputFactory() {
849850
return router.getOutputFactory();
850851
}
851852

@@ -903,9 +904,7 @@ public Jooby setStartupSummary(List<StartupSummary> startupSummary) {
903904
Path tmpdir = getTmpdir();
904905
ensureTmpdir(tmpdir);
905906

906-
if (mode == null) {
907-
mode = ExecutionMode.DEFAULT;
908-
}
907+
log.trace("initialization context static variables {} {}", Context.RFC1123, Context.GMT);
909908

910909
if (locales == null) {
911910
String path = AvailableSettings.LANG;
@@ -1253,18 +1252,14 @@ public static void runApp(
12531252
var apps = new ArrayList<Jooby>();
12541253
var targetServer = server.getLoggerOff().isEmpty() ? server : MutedServer.mute(server);
12551254
try {
1255+
// Init context static var
12561256
for (var factory : provider) {
12571257
var app = createApp(server, executionMode, factory);
12581258
/*
12591259
When running a single app instance, there is no issue with server options, when multiple
12601260
apps set options a warning will be printed
12611261
*/
1262-
ServerOptions.from(app.getConfig())
1263-
.ifPresent(
1264-
options -> {
1265-
options.setServer(server.getName());
1266-
server.setOptions(options);
1267-
});
1262+
ServerOptions.from(app.getConfig()).ifPresent(server::setOptions);
12681263
apps.add(app);
12691264
}
12701265

@@ -1305,12 +1300,12 @@ public static Jooby createApp(
13051300

13061301
Jooby app;
13071302
try {
1308-
Jooby.BUFFER_FACTORY = server.getOutputFactory();
1303+
Jooby.OUTPUT_FACTORY = server.getOutputFactory();
13091304
Jooby.BOOT_EXECUTION_MODE = executionMode;
13101305
app = provider.get();
13111306
} finally {
13121307
Jooby.BOOT_EXECUTION_MODE = executionMode;
1313-
Jooby.BUFFER_FACTORY = null;
1308+
Jooby.OUTPUT_FACTORY = null;
13141309
}
13151310

13161311
return app;

jooby/src/main/java/io/jooby/MessageEncoder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
import edu.umd.cs.findbugs.annotations.NonNull;
99
import edu.umd.cs.findbugs.annotations.Nullable;
10-
import io.jooby.buffer.BufferedOutput;
1110
import io.jooby.exception.NotAcceptableException;
11+
import io.jooby.output.Output;
1212

1313
/**
1414
* Render a route output as a byte array.
@@ -35,5 +35,5 @@ public interface MessageEncoder {
3535
* @return Encoded value or <code>null</code> if given object isn't supported it.
3636
* @throws Exception If something goes wrong.
3737
*/
38-
@Nullable BufferedOutput encode(@NonNull Context ctx, @NonNull Object value) throws Exception;
38+
@Nullable Output encode(@NonNull Context ctx, @NonNull Object value) throws Exception;
3939
}

jooby/src/main/java/io/jooby/Router.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
import com.typesafe.config.Config;
3333
import edu.umd.cs.findbugs.annotations.NonNull;
3434
import edu.umd.cs.findbugs.annotations.Nullable;
35-
import io.jooby.buffer.BufferedOutputFactory;
3635
import io.jooby.exception.MissingValueException;
3736
import io.jooby.handler.AssetHandler;
3837
import io.jooby.handler.AssetSource;
38+
import io.jooby.output.OutputFactory;
3939
import io.jooby.value.ValueFactory;
4040

4141
/**
@@ -502,7 +502,7 @@ default Object execute(@NonNull Context context) {
502502
*/
503503
@NonNull Router setDefaultWorker(@NonNull Executor worker);
504504

505-
@NonNull BufferedOutputFactory getOutputFactory();
505+
@NonNull OutputFactory getOutputFactory();
506506

507507
/**
508508
* Attach a filter to the route pipeline.

jooby/src/main/java/io/jooby/Sender.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
import edu.umd.cs.findbugs.annotations.NonNull;
1212
import edu.umd.cs.findbugs.annotations.Nullable;
13-
import io.jooby.buffer.BufferedOutput;
13+
import io.jooby.output.Output;
1414

1515
/**
1616
* Non-blocking sender. Reactive responses use this class to send partial data in a non-blocking
@@ -94,7 +94,7 @@ interface Callback {
9494
*/
9595
Sender write(@NonNull byte[] data, @NonNull Callback callback);
9696

97-
Sender write(@NonNull BufferedOutput output, @NonNull Callback callback);
97+
Sender write(@NonNull Output output, @NonNull Callback callback);
9898

9999
/** Close the sender. */
100100
void close();

jooby/src/main/java/io/jooby/Server.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828

2929
import edu.umd.cs.findbugs.annotations.NonNull;
3030
import edu.umd.cs.findbugs.annotations.Nullable;
31-
import io.jooby.buffer.BufferedOutputFactory;
3231
import io.jooby.exception.StartupException;
3332
import io.jooby.internal.MutedServer;
33+
import io.jooby.output.OutputFactory;
3434

3535
/**
3636
* Web server contract. Defines operations to start, join and stop a web server. Jooby comes with
@@ -159,7 +159,7 @@ public Server setOptions(@NonNull ServerOptions options) {
159159
protected abstract ServerOptions defaultOptions();
160160
}
161161

162-
@NonNull BufferedOutputFactory getOutputFactory();
162+
@NonNull OutputFactory getOutputFactory();
163163

164164
/**
165165
* Set server options. This method should be called once, calling this method multiple times will

jooby/src/main/java/io/jooby/ServerOptions.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
import com.typesafe.config.Config;
2626
import edu.umd.cs.findbugs.annotations.NonNull;
2727
import edu.umd.cs.findbugs.annotations.Nullable;
28-
import io.jooby.buffer.BufferOptions;
2928
import io.jooby.internal.SslContextProvider;
29+
import io.jooby.output.OutputOptions;
3030

3131
/**
3232
* Available server options. To load server options from configuration files, just do:
@@ -102,7 +102,7 @@ public class ServerOptions {
102102
/** Name of server: Jetty, Netty or Undertow. */
103103
private String server;
104104

105-
private BufferOptions buffer = BufferOptions.defaults();
105+
private OutputOptions buffer = OutputOptions.defaults();
106106

107107
/**
108108
* Maximum request size in bytes. Request exceeding this value results in {@link
@@ -415,11 +415,11 @@ public boolean getDefaultHeaders() {
415415
return this;
416416
}
417417

418-
public BufferOptions getBuffer() {
418+
public OutputOptions getBuffer() {
419419
return buffer;
420420
}
421421

422-
public ServerOptions setBuffer(@NonNull BufferOptions buffer) {
422+
public ServerOptions setBuffer(@NonNull OutputOptions buffer) {
423423
this.buffer = buffer;
424424
return this;
425425
}

jooby/src/main/java/io/jooby/ServerSentMessage.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import edu.umd.cs.findbugs.annotations.NonNull;
1616
import edu.umd.cs.findbugs.annotations.Nullable;
17-
import io.jooby.buffer.*;
17+
import io.jooby.output.Output;
1818

1919
/**
2020
* Server-Sent message.
@@ -132,12 +132,12 @@ public ServerSentMessage(@NonNull Object data) {
132132
* @param ctx Web context. To encode complex objects.
133133
* @return Encoded data.
134134
*/
135-
public @NonNull BufferedOutput encode(@NonNull Context ctx) {
135+
public @NonNull Output encode(@NonNull Context ctx) {
136136
try {
137137
var route = ctx.getRoute();
138138
var encoder = route.getEncoder();
139139
var bufferFactory = ctx.getOutputFactory();
140-
var buffer = bufferFactory.newBufferedOutput();
140+
var buffer = bufferFactory.newOutput();
141141

142142
if (id != null) {
143143
buffer.write(ID);

0 commit comments

Comments
 (0)