diff --git a/microservices-modules/helidon/helidon-se/pom.xml b/microservices-modules/helidon/helidon-se/pom.xml
index e26390a99d..a400cbe85e 100644
--- a/microservices-modules/helidon/helidon-se/pom.xml
+++ b/microservices-modules/helidon/helidon-se/pom.xml
@@ -28,13 +28,13 @@
io.helidon.webserver
helidon-webserver-netty
- ${helidon.version}
+ ${helidon-webserver-netty.version}
runtime
io.helidon.webserver
helidon-webserver-json
- ${helidon.version}
+ ${helidon-webserver-json.version}
@@ -43,19 +43,26 @@
${helidon.version}
- io.helidon.security
- helidon-security-provider-http-auth
+ io.helidon.security.providers
+ helidon-security-providers-http-auth
${helidon.version}
- io.helidon.security
+ io.helidon.security.integration
helidon-security-integration-webserver
${helidon.version}
+
+ io.helidon.webserver
+ helidon-webserver-http2
+ ${helidon.version}
+
- 0.10.4
+ 3.2.2
+ 0.10.6
+ 0.11.0
\ No newline at end of file
diff --git a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/config/ConfigApplication.java b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/config/ConfigApplication.java
index beac5511c1..4ef0d5a8d2 100644
--- a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/config/ConfigApplication.java
+++ b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/config/ConfigApplication.java
@@ -6,7 +6,7 @@ import io.helidon.config.spi.ConfigSource;
public class ConfigApplication {
- public static void main(String... args) throws Exception {
+ public static void main(String... args) {
ConfigSource configSource = ConfigSources.classpath("application.yaml").build();
Config config = Config.builder()
@@ -15,10 +15,10 @@ public class ConfigApplication {
.sources(configSource)
.build();
- int port = config.get("server.port").asInt();
- int pageSize = config.get("web.page-size").asInt();
- boolean debug = config.get("web.debug").asBoolean();
- String userHome = config.get("user.home").asString();
+ int port = config.get("server.port").asInt().get();
+ int pageSize = config.get("web.page-size").asInt().get();
+ boolean debug = config.get("web.debug").asBoolean().get();
+ String userHome = config.get("user.home").asString().get();
System.out.println("port: " + port);
System.out.println("pageSize: " + pageSize);
diff --git a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/routing/BookResource.java b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/routing/BookResource.java
index b0db191851..278bbfefcf 100644
--- a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/routing/BookResource.java
+++ b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/routing/BookResource.java
@@ -50,9 +50,7 @@ public class BookResource implements Service {
private JsonArray from(List books) {
JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder();
- books.forEach(book -> {
- jsonArrayBuilder.add(from(book));
- });
+ books.forEach(book -> jsonArrayBuilder.add(from(book)));
return jsonArrayBuilder.build();
}
}
diff --git a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/routing/WebApplicationRouting.java b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/routing/WebApplicationRouting.java
index 17bf2bcc8f..805afd5ecb 100644
--- a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/routing/WebApplicationRouting.java
+++ b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/routing/WebApplicationRouting.java
@@ -1,25 +1,21 @@
package com.baeldung.helidon.se.routing;
import io.helidon.webserver.Routing;
-import io.helidon.webserver.ServerConfiguration;
import io.helidon.webserver.WebServer;
import io.helidon.webserver.json.JsonSupport;
public class WebApplicationRouting {
- public static void main(String... args) throws Exception {
-
- ServerConfiguration serverConfig = ServerConfiguration.builder()
- .port(9080)
- .build();
+ public static void main(String... args) {
Routing routing = Routing.builder()
- .register(JsonSupport.get())
+ .register(JsonSupport.create())
.register("/books", new BookResource())
.get("/greet", (request, response) -> response.send("Hello World !"))
.build();
- WebServer.create(serverConfig, routing)
+ WebServer.builder().port(9080).addRouting(routing)
+ .build()
.start()
.thenAccept(ws ->
System.out.println("Server started at: http://localhost:" + ws.port())
diff --git a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/security/MyUser.java b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/security/MyUser.java
index d1a8446f6a..0f7b536121 100644
--- a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/security/MyUser.java
+++ b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/security/MyUser.java
@@ -1,10 +1,11 @@
package com.baeldung.helidon.se.security;
-import io.helidon.security.provider.httpauth.UserStore;
+import io.helidon.security.providers.httpauth.SecureUserStore;
+import java.util.Arrays;
import java.util.Collection;
-public class MyUser implements UserStore.User {
+public class MyUser implements SecureUserStore.User {
private String login;
private char[] password;
@@ -17,17 +18,17 @@ public class MyUser implements UserStore.User {
}
@Override
- public String getLogin() {
+ public String login() {
return login;
}
@Override
- public char[] getPassword() {
- return password;
+ public boolean isPasswordValid(char[] chars) {
+ return Arrays.equals(chars, password);
}
@Override
- public Collection getRoles() {
+ public Collection roles() {
return roles;
}
}
diff --git a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/security/WebApplicationSecurity.java b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/security/WebApplicationSecurity.java
index 4eb7c6c01f..a3429b20fe 100644
--- a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/security/WebApplicationSecurity.java
+++ b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/security/WebApplicationSecurity.java
@@ -3,30 +3,28 @@ package com.baeldung.helidon.se.security;
import io.helidon.config.Config;
import io.helidon.security.Security;
import io.helidon.security.SubjectType;
-import io.helidon.security.provider.httpauth.HttpBasicAuthProvider;
-import io.helidon.security.provider.httpauth.UserStore;
-import io.helidon.security.webserver.WebSecurity;
+import io.helidon.security.integration.webserver.WebSecurity;
+import io.helidon.security.providers.httpauth.HttpBasicAuthProvider;
+import io.helidon.security.providers.httpauth.SecureUserStore;
import io.helidon.webserver.Routing;
-import io.helidon.webserver.ServerConfiguration;
import io.helidon.webserver.WebServer;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class WebApplicationSecurity {
- public static void main(String... args) throws Exception {
+ public static void main(String... args) {
Config config = Config.create();
- ServerConfiguration serverConfig =
- ServerConfiguration.fromConfig(config.get("server"));
Map users = new HashMap<>();
- users.put("user", new MyUser("user", "user".toCharArray(), Arrays.asList("ROLE_USER")));
+ users.put("user", new MyUser("user", "user".toCharArray(), Collections.singletonList("ROLE_USER")));
users.put("admin", new MyUser("admin", "admin".toCharArray(), Arrays.asList("ROLE_USER", "ROLE_ADMIN")));
- UserStore store = user -> Optional.ofNullable(users.get(user));
+ SecureUserStore store = user -> Optional.ofNullable(users.get(user));
HttpBasicAuthProvider httpBasicAuthProvider = HttpBasicAuthProvider.builder()
.realm("myRealm")
@@ -38,13 +36,12 @@ public class WebApplicationSecurity {
Security security = Security.builder()
.addAuthenticationProvider(httpBasicAuthProvider)
.build();
- //Security security = Security.fromConfig(config);
+ //Security security = Security.create(config);
//2. WebSecurity from Security or from Config
- // WebSecurity webSecurity = WebSecurity.from(security)
- // .securityDefaults(WebSecurity.authenticate());
+ // WebSecurity webSecurity = WebSecurity.create(security).securityDefaults(WebSecurity.authenticate());
- WebSecurity webSecurity = WebSecurity.from(config);
+ WebSecurity webSecurity = WebSecurity.create(config);
Routing routing = Routing.builder()
.register(webSecurity)
@@ -52,7 +49,7 @@ public class WebApplicationSecurity {
.get("/admin", (request, response) -> response.send("Hello, I'm a Helidon SE user with ROLE_ADMIN"))
.build();
- WebServer webServer = WebServer.create(serverConfig, routing);
+ WebServer webServer = WebServer.create(routing, config.get("server"));
webServer.start().thenAccept(ws ->
System.out.println("Server started at: http://localhost:" + ws.port())
diff --git a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/webserver/SimpleWebApplication.java b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/webserver/SimpleWebApplication.java
index a9a92cf1b9..c528c57782 100644
--- a/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/webserver/SimpleWebApplication.java
+++ b/microservices-modules/helidon/helidon-se/src/main/java/com/baeldung/helidon/se/webserver/SimpleWebApplication.java
@@ -1,22 +1,18 @@
package com.baeldung.helidon.se.webserver;
import io.helidon.webserver.Routing;
-import io.helidon.webserver.ServerConfiguration;
import io.helidon.webserver.WebServer;
public class SimpleWebApplication {
- public static void main(String... args) throws Exception {
-
- ServerConfiguration serverConfig = ServerConfiguration.builder()
- .port(9001)
- .build();
+ public static void main(String... args) {
Routing routing = Routing.builder()
.get("/greet", (request, response) -> response.send("Hello World !"))
.build();
- WebServer.create(serverConfig, routing)
+ WebServer.builder(routing)
+ .port(9001).addRouting(routing).build()
.start()
.thenAccept(ws ->
System.out.println("Server started at: http://localhost:" + ws.port())