Explorar o código

Bump versions + test JTE engine (#6438)

Paulo Lopes %!s(int64=4) %!d(string=hai) anos
pai
achega
209793c4bf

+ 1 - 1
frameworks/JavaScript/es4x/es4x.dockerfile

@@ -1,4 +1,4 @@
-FROM oracle/graalvm-ce:20.2.0-java11
+FROM ghcr.io/graalvm/graalvm-ce:20.3.1.2
 # Set working dir
 RUN mkdir /app
 WORKDIR /app

+ 5 - 5
frameworks/JavaScript/es4x/index.js

@@ -1,20 +1,20 @@
-/// <reference types="es4x" />
+/// <reference types="@vertx/core" />
 // @ts-check
 
 import { Router } from '@vertx/web';
 
 import { PgPool } from '@vertx/pg-client';
 import { PoolOptions } from '@vertx/sql-client/options';
-import { RockerTemplateEngine } from '@vertx/web-templ-rocker'
+import { JteTemplateEngine } from '@vertx/web-templ-jte'
 import { PgConnectOptions } from '@vertx/pg-client/options';
 import { Tuple } from '@vertx/sql-client';
 
 const util = require('./util');
 
-const SERVER = 'vertx.js';
+const SERVER = 'es4x';
 
 const app = Router.router(vertx);
-const template = RockerTemplateEngine.create();
+const template = JteTemplateEngine.create();
 let date = new Date().toUTCString();
 
 vertx.setPeriodic(1000, t => date = new Date().toUTCString());
@@ -153,7 +153,7 @@ app.get("/fortunes").handler(ctx => {
     });
 
     // and now delegate to the engine to render it.
-    template.render({ fortunes: fortunes }, "Fortunes.rocker.html", res => {
+    template.render({ fortunes: fortunes }, "fortunes.jte", res => {
       if (res.succeeded()) {
         ctx.response()
           .putHeader("Server", SERVER)

+ 11 - 12
frameworks/JavaScript/es4x/package.json

@@ -4,28 +4,27 @@
   "private": true,
   "main": "index.js",
   "devDependencies": {
-    "es4x-pm": "0.13.0"
+    "@es4x/create": "0.14.2"
   },
   "dependencies": {
-    "@vertx/core": "3.9.2",
-    "@vertx/web": "3.9.2",
-    "@vertx/web-templ-rocker": "3.9.2",
-    "@vertx/pg-client": "3.9.2"
+    "@vertx/core": "4.0.3",
+    "@vertx/web": "4.0.3",
+    "@vertx/web-templ-jte": "4.0.3",
+    "@vertx/pg-client": "4.0.3"
   },
   "mvnDependencies": [
-    "io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.49.Final",
-    "com.fizzed:rocker-runtime:1.2.3",
-    "xyz.jetdrone:vertx.command.rocker.compiler:0.1.1"
+    "io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.60.Final",
+    "xyz.jetdrone:vertx.command.template.compiler:0.3.0"
   ],
   "files": [
     "util.js",
-    "templates/Fortunes.rocker.html"
+    "templates/fortunes.jte"
   ],
   "scripts": {
     "start": "es4x",
     "postinstall": "es4x install -v node_modules/.lib/vendor-templates.jar",
-    "pretemplate": "es4x rocker -d node_modules/.rocker templates",
-    "template": "javac -cp node_modules/.bin/es4x-launcher.jar @node_modules/.rocker/templates.lst -d node_modules/.rocker/classes",
-    "posttemplate": "jar cvf node_modules/.lib/vendor-templates.jar -C node_modules/.rocker/classes ."
+    "pretemplate": "es4x jte -d node_modules/.jte templates",
+    "template": "javac -cp node_modules/.bin/es4x-launcher.jar @node_modules/.jte/templates.lst -d node_modules/.jte/classes",
+    "posttemplate": "jar cvf node_modules/.lib/vendor-templates.jar -C node_modules/.jte/classes ."
   }
 }

+ 0 - 20
frameworks/JavaScript/es4x/templates/Fortunes.rocker.html

@@ -1,20 +0,0 @@
-@import java.util.*
-@args(List fortunes)
-<!DOCTYPE html>
-<html>
-<head><title>Fortunes</title></head>
-<body>
-<table>
-  <tr>
-    <th>id</th>
-    <th>message</th>
-  </tr>
-  @for ((ForIterator i, Map fortune) : fortunes) {
-    <tr>
-      <td>@fortune.get("id")</td>
-      <td>@fortune.get("message")</td>
-    </tr>
-  }
-</table>
-</body>
-</html>

+ 7 - 0
frameworks/JavaScript/es4x/templates/fortunes.jte

@@ -0,0 +1,7 @@
+@import java.util.*
+@param List<Map<String, ?>> fortunes
+<!DOCTYPE html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>
+@for(Map<String, ?> fortune : fortunes)
+<tr><td>${(Integer) fortune.get("id")}</td><td>${(String) fortune.get("message")}</td></tr>
+@endfor
+</table></body></html>

+ 3 - 2
frameworks/JavaScript/es4x/util.js

@@ -1,8 +1,9 @@
-const ThreadLocalRandom = Java.type('java.util.concurrent.ThreadLocalRandom');
+const SplittableRandom = Java.type('java.util.SplittableRandom');
+const random = new SplittableRandom();
 
 module.exports = {
   randomWorld: () => {
-    return 1 + ThreadLocalRandom.current().nextInt(10000)
+    return 1 + random.nextInt(10000)
   },
 
   /**