|
@@ -1,9 +1,13 @@
|
|
package io.quarkus.benchmark.resource;
|
|
package io.quarkus.benchmark.resource;
|
|
|
|
|
|
|
|
+import com.fizzed.rocker.RenderingException;
|
|
|
|
+import com.fizzed.rocker.runtime.DefaultHtmlStringify;
|
|
|
|
+import com.fizzed.rocker.runtime.DefaultRockerTemplate;
|
|
|
|
+import com.fizzed.rocker.runtime.GuavaHtmlStringify;
|
|
import io.quarkus.benchmark.model.Fortune;
|
|
import io.quarkus.benchmark.model.Fortune;
|
|
import io.quarkus.benchmark.repository.FortuneRepository;
|
|
import io.quarkus.benchmark.repository.FortuneRepository;
|
|
|
|
+import io.quarkus.benchmark.utils.rocker.HtmlUtf8BufferRockerOutput;
|
|
import io.vertx.core.buffer.Buffer;
|
|
import io.vertx.core.buffer.Buffer;
|
|
-import io.vertx.ext.web.templ.rocker.impl.VertxBufferOutput;
|
|
|
|
|
|
|
|
import jakarta.inject.Inject;
|
|
import jakarta.inject.Inject;
|
|
import jakarta.inject.Singleton;
|
|
import jakarta.inject.Singleton;
|
|
@@ -12,6 +16,8 @@ import jakarta.ws.rs.GET;
|
|
import jakarta.ws.rs.Path;
|
|
import jakarta.ws.rs.Path;
|
|
import jakarta.ws.rs.Produces;
|
|
import jakarta.ws.rs.Produces;
|
|
import jakarta.ws.rs.core.MediaType;
|
|
import jakarta.ws.rs.core.MediaType;
|
|
|
|
+import views.Fortunes;
|
|
|
|
+
|
|
import java.util.Comparator;
|
|
import java.util.Comparator;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
@@ -21,6 +27,16 @@ import java.util.List;
|
|
@Consumes(MediaType.APPLICATION_JSON)
|
|
@Consumes(MediaType.APPLICATION_JSON)
|
|
public class FortuneResource {
|
|
public class FortuneResource {
|
|
|
|
|
|
|
|
+ private static final DefaultHtmlStringify STRINGIFY = new GuavaHtmlStringify();
|
|
|
|
+
|
|
|
|
+ private static class CustomFortunesTemplate extends Fortunes.Template {
|
|
|
|
+
|
|
|
|
+ public CustomFortunesTemplate(Fortunes model) {
|
|
|
|
+ super(model);
|
|
|
|
+ __internal.setStringify(STRINGIFY);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Inject
|
|
@Inject
|
|
FortuneRepository repository;
|
|
FortuneRepository repository;
|
|
|
|
|
|
@@ -32,9 +48,15 @@ public class FortuneResource {
|
|
List<Fortune> fortunes = repository.findAllStateless();
|
|
List<Fortune> fortunes = repository.findAllStateless();
|
|
fortunes.add(new Fortune(0, "Additional fortune added at request time."));
|
|
fortunes.add(new Fortune(0, "Additional fortune added at request time."));
|
|
fortunes.sort(fortuneComparator);
|
|
fortunes.sort(fortuneComparator);
|
|
- return views.Fortunes.template(fortunes)
|
|
|
|
- .render(VertxBufferOutput.FACTORY)
|
|
|
|
- .getBuffer();
|
|
|
|
|
|
+ return new Fortunes() {
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ protected DefaultRockerTemplate buildTemplate() throws RenderingException {
|
|
|
|
+ return new CustomFortunesTemplate(this);
|
|
|
|
+ }
|
|
|
|
+ }.fortunes(fortunes)
|
|
|
|
+ .render(HtmlUtf8BufferRockerOutput.threadLocalFactory())
|
|
|
|
+ .buffer();
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|