*
* @param name header name
- * @return matcher validating the {@link io.helidon.common.http.Headers} does not contain the provided header
+ * @return matcher validating the {@link io.helidon.http.Headers} does not contain the provided header
*/
public static Matcher noHeader(HeaderName name) {
return new NoHeaderMatcher(name);
}
/**
- * A matcher for an {@link io.helidon.common.http.Headers} that checks that the header is present, ignoring its value.
+ * A matcher for an {@link io.helidon.http.Headers} that checks that the header is present, ignoring its value.
*
*
* @param name header name
- * @return matcher validating the {@link io.helidon.common.http.Headers} does contain the provided header regardless of its
+ * @return matcher validating the {@link io.helidon.http.Headers} does contain the provided header regardless of its
* value(s)
*/
public static Matcher hasHeader(HeaderName name) {
@@ -66,7 +66,7 @@ public static Matcher hasHeader(HeaderName name) {
}
/**
- * A matcher for an {@link io.helidon.common.http.Headers} that checks that the header is present and has the defined
+ * A matcher for an {@link io.helidon.http.Headers} that checks that the header is present and has the defined
* value.
*
* Usage example:
@@ -75,14 +75,14 @@ public static Matcher hasHeader(HeaderName name) {
*
*
* @param header http header with values
- * @return matcher validating the {@link io.helidon.common.http.Headers} does contain the provided header
+ * @return matcher validating the {@link io.helidon.http.Headers} does contain the provided header
*/
public static Matcher hasHeader(Http.Header header) {
return new HasValueMatcher(header);
}
/**
- * A matcher for an {@link io.helidon.common.http.Headers} that checks that the header is present and has the defined
+ * A matcher for an {@link io.helidon.http.Headers} that checks that the header is present and has the defined
* value(s).
*
* Usage example:
@@ -92,14 +92,14 @@ public static Matcher hasHeader(Http.Header header) {
*
* @param name http header name
* @param value value(s) of the header
- * @return matcher validating the {@link io.helidon.common.http.Headers} does contain the provided header
+ * @return matcher validating the {@link io.helidon.http.Headers} does contain the provided header
*/
public static Matcher hasHeader(Http.HeaderName name, String... value) {
return new HasValueMatcher(Http.Headers.create(name, value));
}
/**
- * A matcher for an {@link io.helidon.common.http.Headers} that checks that the header is present and values
+ * A matcher for an {@link io.helidon.http.Headers} that checks that the header is present and values
* match the provided matcher.
*
* Usage example:
@@ -109,14 +109,14 @@ public static Matcher hasHeader(Http.HeaderName name, String... value)
*
* @param name header name
* @param valuesMatcher matcher to validate the values are OK
- * @return matcher validating the {@link io.helidon.common.http.Headers} does contain the expected values
+ * @return matcher validating the {@link io.helidon.http.Headers} does contain the expected values
*/
public static Matcher hasHeader(HeaderName name, Matcher> valuesMatcher) {
return new HasValueMatcher(name, valuesMatcher);
}
/**
- * A matcher for an {@link io.helidon.common.http.Headers} that checks that the header is present and its single value
+ * A matcher for an {@link io.helidon.http.Headers} that checks that the header is present and its single value
* matches the provided matcher.
*
* Usage example:
@@ -126,7 +126,7 @@ public static Matcher hasHeader(HeaderName name, Matcher hasHeaderValue(HeaderName name, Matcher valueMatcher) {
return new HasSingleValueMatcher(name, valueMatcher);
diff --git a/common/testing/http-junit5/src/main/java/io/helidon/common/testing/http/junit5/SocketHttpClient.java b/common/testing/http-junit5/src/main/java/io/helidon/common/testing/http/junit5/SocketHttpClient.java
index cc0c4fbdcc9..c004bf956c0 100644
--- a/common/testing/http-junit5/src/main/java/io/helidon/common/testing/http/junit5/SocketHttpClient.java
+++ b/common/testing/http-junit5/src/main/java/io/helidon/common/testing/http/junit5/SocketHttpClient.java
@@ -33,9 +33,9 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import io.helidon.common.http.ClientResponseHeaders;
-import io.helidon.common.http.Http;
-import io.helidon.common.http.WritableHeaders;
+import io.helidon.http.ClientResponseHeaders;
+import io.helidon.http.Http;
+import io.helidon.http.WritableHeaders;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.notNullValue;
diff --git a/common/testing/http-junit5/src/main/java/module-info.java b/common/testing/http-junit5/src/main/java/module-info.java
index 4c2bf0edf91..c488d84b289 100644
--- a/common/testing/http-junit5/src/main/java/module-info.java
+++ b/common/testing/http-junit5/src/main/java/module-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019, 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@
*/
module io.helidon.common.testing.http.junit5 {
requires transitive io.helidon.common.testing.junit5;
- requires io.helidon.common.http;
+ requires io.helidon.http;
requires hamcrest.all;
requires org.junit.jupiter.api;
diff --git a/common/tls/etc/spotbugs/exclude.xml b/common/tls/etc/spotbugs/exclude.xml
new file mode 100644
index 00000000000..20e7eb6e33c
--- /dev/null
+++ b/common/tls/etc/spotbugs/exclude.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/common/tls/pom.xml b/common/tls/pom.xml
new file mode 100644
index 00000000000..55e293986b9
--- /dev/null
+++ b/common/tls/pom.xml
@@ -0,0 +1,100 @@
+
+
+
+
+ 4.0.0
+
+ io.helidon.common
+ helidon-common-project
+ 4.0.0-SNAPSHOT
+
+
+ helidon-common-tls
+ Helidon Common TLS
+
+
+ etc/spotbugs/exclude.xml
+
+
+
+
+ io.helidon.common
+ helidon-common
+
+
+ io.helidon.config
+ helidon-config
+
+
+ io.helidon.common
+ helidon-common-key-util
+
+
+ io.helidon.common
+ helidon-common-config
+
+
+ io.helidon.config
+ helidon-config-metadata
+ true
+
+
+ io.helidon.builder
+ helidon-builder-api
+ true
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ io.helidon.builder
+ helidon-builder-processor
+ ${helidon.version}
+
+
+ io.helidon.common.processor
+ helidon-common-processor-helidon-copyright
+ ${helidon.version}
+
+
+
+
+
+ io.helidon.builder
+ helidon-builder-processor
+ ${helidon.version}
+
+
+ io.helidon.common.processor
+ helidon-common-processor-helidon-copyright
+ ${helidon.version}
+
+
+
+
+
+
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/ReloadableX509KeyManager.java b/common/tls/src/main/java/io/helidon/common/tls/ReloadableX509KeyManager.java
similarity index 98%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/ReloadableX509KeyManager.java
rename to common/tls/src/main/java/io/helidon/common/tls/ReloadableX509KeyManager.java
index 70ce6c68492..1bd03aecf83 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/ReloadableX509KeyManager.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/ReloadableX509KeyManager.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
import java.net.Socket;
import java.security.Principal;
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/ReloadableX509TrustManager.java b/common/tls/src/main/java/io/helidon/common/tls/ReloadableX509TrustManager.java
similarity index 98%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/ReloadableX509TrustManager.java
rename to common/tls/src/main/java/io/helidon/common/tls/ReloadableX509TrustManager.java
index f5f12552b4f..4e73dfeedea 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/ReloadableX509TrustManager.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/ReloadableX509TrustManager.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/Tls.java b/common/tls/src/main/java/io/helidon/common/tls/Tls.java
similarity index 99%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/Tls.java
rename to common/tls/src/main/java/io/helidon/common/tls/Tls.java
index 791eed61b1c..ceea42c7ad5 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/Tls.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/Tls.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
import java.io.IOException;
import java.io.UncheckedIOException;
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsClientAuth.java b/common/tls/src/main/java/io/helidon/common/tls/TlsClientAuth.java
similarity index 94%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsClientAuth.java
rename to common/tls/src/main/java/io/helidon/common/tls/TlsClientAuth.java
index b6cd714e894..4074558892f 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsClientAuth.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/TlsClientAuth.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
/**
* Type of client authentication.
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsConfigBlueprint.java b/common/tls/src/main/java/io/helidon/common/tls/TlsConfigBlueprint.java
similarity index 99%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsConfigBlueprint.java
rename to common/tls/src/main/java/io/helidon/common/tls/TlsConfigBlueprint.java
index 5ff8deb11d6..eecb956c90b 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsConfigBlueprint.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/TlsConfigBlueprint.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
import java.security.PrivateKey;
import java.security.SecureRandom;
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsConfigDecorator.java b/common/tls/src/main/java/io/helidon/common/tls/TlsConfigDecorator.java
similarity index 99%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsConfigDecorator.java
rename to common/tls/src/main/java/io/helidon/common/tls/TlsConfigDecorator.java
index 1790df386c2..c16ef0f3642 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsConfigDecorator.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/TlsConfigDecorator.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
import java.io.IOException;
import java.security.GeneralSecurityException;
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsInternalInfo.java b/common/tls/src/main/java/io/helidon/common/tls/TlsInternalInfo.java
similarity index 96%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsInternalInfo.java
rename to common/tls/src/main/java/io/helidon/common/tls/TlsInternalInfo.java
index 6b428d8db7e..f4d80e741f3 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsInternalInfo.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/TlsInternalInfo.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
import java.util.List;
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsReloadableComponent.java b/common/tls/src/main/java/io/helidon/common/tls/TlsReloadableComponent.java
similarity index 95%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsReloadableComponent.java
rename to common/tls/src/main/java/io/helidon/common/tls/TlsReloadableComponent.java
index cf2d305bb1c..0c604767460 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TlsReloadableComponent.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/TlsReloadableComponent.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
interface TlsReloadableComponent {
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TrustAllManagerFactory.java b/common/tls/src/main/java/io/helidon/common/tls/TrustAllManagerFactory.java
similarity index 98%
rename from nima/common/tls/src/main/java/io/helidon/nima/common/tls/TrustAllManagerFactory.java
rename to common/tls/src/main/java/io/helidon/common/tls/TrustAllManagerFactory.java
index 7c53583de0f..ff7da2b45cd 100644
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/TrustAllManagerFactory.java
+++ b/common/tls/src/main/java/io/helidon/common/tls/TrustAllManagerFactory.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.nima.common.tls;
+package io.helidon.common.tls;
import java.io.Serial;
import java.security.KeyStore;
diff --git a/common/tls/src/main/java/io/helidon/common/tls/package-info.java b/common/tls/src/main/java/io/helidon/common/tls/package-info.java
new file mode 100644
index 00000000000..125f504ebc7
--- /dev/null
+++ b/common/tls/src/main/java/io/helidon/common/tls/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * TLS Configuration for client and server.
+ */
+package io.helidon.common.tls;
diff --git a/common/tls/src/main/java/module-info.java b/common/tls/src/main/java/module-info.java
new file mode 100644
index 00000000000..0b21774923e
--- /dev/null
+++ b/common/tls/src/main/java/module-info.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * TLS configuration for client and server.
+ */
+module io.helidon.common.tls {
+ requires io.helidon.common;
+ requires io.helidon.common.pki;
+
+ requires io.helidon.common.config;
+
+ requires static io.helidon.builder.api;
+ requires static io.helidon.config.metadata;
+
+ exports io.helidon.common.tls;
+}
\ No newline at end of file
diff --git a/cors/pom.xml b/cors/pom.xml
index 8c21acf5d1c..04f78165b7e 100644
--- a/cors/pom.xml
+++ b/cors/pom.xml
@@ -39,8 +39,8 @@
helidon-common-configurable
- io.helidon.common
- helidon-common-http
+ io.helidon.http
+ helidon-httpio.helidon.config
diff --git a/cors/src/main/java/io/helidon/cors/Aggregator.java b/cors/src/main/java/io/helidon/cors/Aggregator.java
index 57ffbdb1ee4..33167701cc6 100644
--- a/cors/src/main/java/io/helidon/cors/Aggregator.java
+++ b/cors/src/main/java/io/helidon/cors/Aggregator.java
@@ -24,10 +24,10 @@
import io.helidon.common.config.Config;
import io.helidon.common.config.ConfigValue;
-import io.helidon.common.http.PathMatcher;
-import io.helidon.common.http.PathMatchers;
import io.helidon.common.uri.UriPath;
import io.helidon.cors.LogHelper.MatcherChecks;
+import io.helidon.http.PathMatcher;
+import io.helidon.http.PathMatchers;
/**
* Collects CORS set-up information from various sources and looks up the relevant CORS information given a request's path and
diff --git a/cors/src/main/java/io/helidon/cors/CorsRequestAdapter.java b/cors/src/main/java/io/helidon/cors/CorsRequestAdapter.java
index 58f5299ada7..fa51bfc01f2 100644
--- a/cors/src/main/java/io/helidon/cors/CorsRequestAdapter.java
+++ b/cors/src/main/java/io/helidon/cors/CorsRequestAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@
import java.util.List;
import java.util.Optional;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
/**
* Not for use by developers.
diff --git a/cors/src/main/java/io/helidon/cors/CorsResponseAdapter.java b/cors/src/main/java/io/helidon/cors/CorsResponseAdapter.java
index 0bfd115444b..16f3de0b8fc 100644
--- a/cors/src/main/java/io/helidon/cors/CorsResponseAdapter.java
+++ b/cors/src/main/java/io/helidon/cors/CorsResponseAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,7 +16,7 @@
package io.helidon.cors;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
/**
* Not for use by developers.
diff --git a/cors/src/main/java/io/helidon/cors/CorsSupportHelper.java b/cors/src/main/java/io/helidon/cors/CorsSupportHelper.java
index be5a4b7a6cd..6031583dcd2 100644
--- a/cors/src/main/java/io/helidon/cors/CorsSupportHelper.java
+++ b/cors/src/main/java/io/helidon/cors/CorsSupportHelper.java
@@ -29,15 +29,15 @@
import java.util.logging.Logger;
import io.helidon.common.config.Config;
-import io.helidon.common.http.Http;
-import io.helidon.common.http.Http.HeaderNames;
import io.helidon.cors.LogHelper.Headers;
+import io.helidon.http.Http;
+import io.helidon.http.Http.HeaderNames;
import static io.helidon.cors.LogHelper.DECISION_LEVEL;
import static java.lang.Character.isDigit;
/**
- * Centralizes internal logic common to Reactive, Níma, and MP CORS support for processing requests and preparing responses.
+ * Centralizes internal CORS support common logic for processing requests and preparing responses.
*
*
This class is reserved for internal Helidon use. Do not use it from your applications. It might change or vanish at
* any time.
diff --git a/cors/src/main/java/io/helidon/cors/LogHelper.java b/cors/src/main/java/io/helidon/cors/LogHelper.java
index 21f0262bf49..cd34a7627a7 100644
--- a/cors/src/main/java/io/helidon/cors/LogHelper.java
+++ b/cors/src/main/java/io/helidon/cors/LogHelper.java
@@ -29,9 +29,9 @@
import java.util.logging.Logger;
import java.util.stream.Collectors;
-import io.helidon.common.http.Http;
-import io.helidon.common.http.Http.HeaderNames;
import io.helidon.cors.CorsSupportHelper.RequestType;
+import io.helidon.http.Http;
+import io.helidon.http.Http.HeaderNames;
class LogHelper {
diff --git a/cors/src/main/java/module-info.java b/cors/src/main/java/module-info.java
index 326fc904a6b..dd31afdd6ad 100644
--- a/cors/src/main/java/module-info.java
+++ b/cors/src/main/java/module-info.java
@@ -15,11 +15,11 @@
*/
/**
- * CORS configuration and types shared between Helidon Reactive, Níma and MicroProfile.
+ * CORS configuration and types.
*/
module io.helidon.cors {
requires java.logging;
- requires io.helidon.common.http;
+ requires io.helidon.http;
requires io.helidon.common.config;
requires static io.helidon.config.metadata;
diff --git a/docs-internal/connections.md b/docs-internal/connections.md
new file mode 100644
index 00000000000..9b61324de9d
--- /dev/null
+++ b/docs-internal/connections.md
@@ -0,0 +1,92 @@
+Connections
+----
+
+# Server Connection Providers
+
+WebServer uses SPI to discover how to handle a specific incoming connection.
+The main entry point is `ServerConnectionProvider` - a service loader provider interface to discover
+which connections are supported.
+
+We have the following implementations currently:
+
+- `Http1ConnectionProvider` - support for the usual HTTP/1.1 connections
+- `Http2ConnectionProvider` - support for "prior-knowledge" HTTP/2 connections
+
+The connection provider creates a configured `ServerConnectionSelector`, which is then used at runtime.
+The selector works based on initial bytes of the connection.
+
+# HTTP/1.1 Upgrade Providers
+
+HTTP/1.1 supports the concept of upgrading a connection. This is supported through
+`Http1UpgradeProvider` - a service loader provider interface to discover which upgrades are supported.
+
+We have the following implementations currently:
+
+- `Http2UpgradeProvider` - upgrade to HTTP/2 using upgrade
+- `WsUpgradeProvider` - upgrade to WebSocket implementation
+- `TyrusUpgradeProvider` - upgrade to MP Tyrus WebSocket implementation (higher weight than WsUpgradeProvider)
+
+The upgrade provider creates a configured `Http1Upgrader`, which is then used at runtime.
+Upgraders work based on protocol identificator (`h2c`, `websocket`). When more than one for the same protocol is configured,
+the provider with higher weight will be used.
+
+# Configurability
+
+All connection providers, HTTP/1.1 upgrade providers and HTTP/2 sub-protocols are configured
+under `server.connection-providers`, to have a single configuration of a protocol regardless whether this is accessed directly or
+through upgrade mechanism.
+
+The configuration key is the one provided by the Connection provider, HTTP/1.1 Upgrade provider, or HTTP/2 SubProtocol
+provider `configKey()` or `configKeys()` method.
+
+As all providers are configured on the same leave, each provider should have a descriptive and unique configuration key
+relevant to its purpose.
+
+Example of such configuration (Tyrus and Helidon WebSocket both use `websocket`, as only one of them can be active):
+
+```yaml
+server:
+ connection-providers:
+ http_1_1:
+ max-prologue-length: 4096
+ websocket:
+ origins: [ "origin1" ]
+ http_2:
+ max-frame-size: 128000
+ grpc:
+ something: "value"
+```
+
+Configuration levels:
+
+- `io.helidon.webserver.WebServer`
+ - `io.helidon.webserver.http.DirectHandlers` // should be configurable per socket, also HTTP only
+ - `io.helidon.common.context.Context`
+ - `io.helidon.http.media.MediaContext` - should be configurable per socket, HTTP only
+ - `io.helidon.http.encoding.ContentEncodingContext` - should be configurable per socket, HTTP only
+- `io.helidon.webserver.ServerListener` (ListenerConfiguration)
+
+# Server Context and other contexts
+
+To access context related information of server and connection, the following types are available for connections:
+
+- `io.helidon.webserver.ListenerContext` - listener specific
+ - Helidon Context
+ - Media context
+ - Content encoding context
+- `io.helidon.common.socket.SocketContext` - socket specific (as in TCP socket)
+ - remote and local peers
+ - socket ids (client and server)
+ - methods to log socket related information in a single format
+- `io.helidon.webserver.ConnectionContext extends SocketContext` - connection specific (established connection for a
+ listener)
+ - listener context
+ - executor service
+ - data writer
+ - data reader
+ - router
+
+what we need
+
+- access to server config/socket configuration (so we do not need to repeat the configuration again on contexts)
+- should we use composition or inheritance?
\ No newline at end of file
diff --git a/docs-internal/feature-catalog.md b/docs-internal/feature-catalog.md
index 3958fab8b27..66a156fc706 100644
--- a/docs-internal/feature-catalog.md
+++ b/docs-internal/feature-catalog.md
@@ -27,14 +27,14 @@ import io.helidon.common.features.api.HelidonFlavor;
import io.helidon.common.features.api.Preview;
/**
- * GraphQL server integration with Helidon Reactive WebServer.
+ * GraphQL server integration with Helidon WebServer.
*/
@Preview
@Feature(value = "GraphQL",
in = HelidonFlavor.SE,
- invalidIn = {HelidonFlavor.MP, HelidonFlavor.NIMA})
+ invalidIn = {HelidonFlavor.MP})
@Aot(description = "Incubating support, tested on limited use cases")
-module io.helidon.nima.graphql.server {
+module io.helidon.webserver.graphql {
requires static io.helidon.common.features.api;
// other module dependencies and configuration
}
diff --git a/docs-internal/http-features.md b/docs-internal/http-features.md
new file mode 100644
index 00000000000..251495da5dd
--- /dev/null
+++ b/docs-internal/http-features.md
@@ -0,0 +1,21 @@
+Features
+----
+
+# Weights
+
+| Feature | Weight |
+|------------------------|--------|
+| Context | 1100 |
+| Access Log | 1000 |
+| Tracing | 900 |
+| Security | 800 |
+| Routing (all handlers) | 100 |
+| Observe | 80 |
+
+Reasoning:
+- context is needed for security (and for access log when security is used)
+- access log needs to log every request (even ones that fail security)
+- tracing should trace as much as possible that is happening in Helidon, and may register stuff to context
+- security evaluates authentication and authorization and may forbid access to other routes
+- routing - all registered filters and handlers are added with this weight (to allow features that pick up requests that were not processed at all)
+- Observability feature - after business routes
\ No newline at end of file
diff --git a/docs-internal/nima-connections.md b/docs-internal/nima-connections.md
deleted file mode 100644
index ae53062e2fb..00000000000
--- a/docs-internal/nima-connections.md
+++ /dev/null
@@ -1,92 +0,0 @@
-Connections
-----
-
-# Server Connection Providers
-
-Níma server uses SPI to discover how to handle a specific incoming connection.
-The main entry point is `ServerConnectionProvider` - a service loader provider interface to discover
-which connections are supported.
-
-We have the following implementations currently:
-
-- `Http1ConnectionProvider` - support for the usual HTTP/1.1 connections
-- `Http2ConnectionProvider` - support for "prior-knowledge" HTTP/2 connections
-
-The connection provider creates a configured `ServerConnectionSelector`, which is then used at runtime.
-The selector works based on initial bytes of the connection.
-
-# HTTP/1.1 Upgrade Providers
-
-HTTP/1.1 supports the concept of upgrading a connection. This is supported through
-`Http1UpgradeProvider` - a service loader provider interface to discover which upgrades are supported.
-
-We have the following implementations currently:
-
-- `Http2UpgradeProvider` - upgrade to HTTP/2 using upgrade
-- `WsUpgradeProvider` - upgrade to Níma WebSocket implementation
-- `TyrusUpgradeProvider` - upgrade to MP Tyrus WebSocket implementation (higher weight than WsUpgradeProvider)
-
-The upgrade provider creates a configured `Http1Upgrader`, which is then used at runtime.
-Upgraders work based on protocol identificator (`h2c`, `websocket`). When more than one for the same protocol is configured,
-the provider with higher weight will be used.
-
-# Configurability
-
-All of connection providers, HTTP/1.1 upgrade providers and HTTP/2 subprotocols are configured
-under `server.connection-providers`, to have a single configuration of a protocol regardless whether this is accessed directly or
-through upgrade mechanism.
-
-The configuration key is the one provided by the Connection provider, HTTP/1.1 Upgrade provider, or HTTP/2 SubProtocol
-provider `configKey()` or `configKeys()` method.
-
-As all providers are configured on the same leave, each provider should have a descriptive and unique configuration key
-relevant to its purpose.
-
-Example of such configuration (Tyrus and Níma WebSocket both use `websocket`, as only one of them can be active):
-
-```yaml
-server:
- connection-providers:
- http_1_1:
- max-prologue-length: 4096
- websocket:
- origins: [ "origin1" ]
- http_2:
- max-frame-size: 128000
- grpc:
- something: "value"
-```
-
-Configuration levels:
-
-- `io.helidon.nima.webserver.WebServer`
- - `io.helidon.nima.webserver.http.DirectHandlers` // should be configurable per socket, also HTTP only
- - `io.helidon.common.context.Context`
- - `io.helidon.nima.http.media.MediaContext` - should be configurable per socket, HTTP only
- - `io.helidon.nima.http.encoding.ContentEncodingContext` - should be configurable per socket, HTTP only
-- `io.helidon.nima.webserver.ServerListener` (ListenerConfiguration)
-
-# Server Context and other contexts
-
-To access context related information of server and connection, the following types are available for connections:
-
-- `io.helidon.nima.webserver.ListenerContext` - listener specific
- - Helidon Context
- - Media context
- - Content encoding context
-- `io.helidon.common.socket.SocketContext` - socket specific (as in TCP socket)
- - remote and local peers
- - socket ids (client and server)
- - methods to log socket related information in a single format
-- `io.helidon.nima.webserver.ConnectionContext extends SocketContext` - connection specific (established connection for a
- listener)
- - listener context
- - executor service
- - data writer
- - data reader
- - router
-
-what we need
-
-- access to server config/socket configuration (so we do not need to repeat the configuration again on contexts)
-- should we use composition or inheritance?
\ No newline at end of file
diff --git a/docs-internal/nima-http-features.md b/docs-internal/nima-http-features.md
deleted file mode 100644
index c55bb04b343..00000000000
--- a/docs-internal/nima-http-features.md
+++ /dev/null
@@ -1,21 +0,0 @@
-Features
-----
-
-# Weights
-
-| Feature | Weight |
-| ---------------- |--------|
-| Context | 1100 |
-| Access Log | 1000 |
-| Tracing | 900 |
-| Security | 800 |
-| Routing (all handlers) | 100 |
-| Observe | 80 |
-
-Reasoning:
-- context is needed for security (and for access log when security is used)
-- access log needs to log every request (even ones that fail security)
-- tracing should trace as much as possible that is happening in Helidon, and may register stuff to context
-- security evaluates authentication and authorization and may forbid access to other routes
-- routing - all registered filters and handlers are added with this weight (to allow features that pick up requests that were not processed at all)
-- Observability feature - after business routes
\ No newline at end of file
diff --git a/docs-internal/nima-testing.md b/docs-internal/nima-testing.md
deleted file mode 100644
index 733cffeb3c4..00000000000
--- a/docs-internal/nima-testing.md
+++ /dev/null
@@ -1,46 +0,0 @@
-Testing
-----
-There are two annotations that can be used to test Níma server.
-`@ServerTest` is an integration test annotation, that starts server (opens ports) and provides client injection pre-configured for
-the server port(s).
-`@RoutingTest` is a unit test annotation, that does not start server and does not open ports, but provides direct client (with
-same API as the usual network client) to test routing.
-
-Extensions can exist that enhance the features for the module `helidon-nima-testing-junit5-webserver` to support additional
-protocols. Known are listed here.
-
-The following table lists supported types of parameters for `@SetUpRoute` annotated methods. Such methods MUST be static,
-and may have any name. `@SetUpRoute` annotation has `value` with socket name (to customize setup for a different socket).
-
-- Parameter type - supported class of a parameter
-- Annotation - which annotation(s) support this parameter
-- Modules - which Níma extension modules support this signature
-
-| Parameter Type | Annotation | Modules | Notes |
-|----------------------------|-------------------------------|-----------|---------------------------------------------------|
-| `HttpRouting.Builder` | `@ServerTest`, `@RoutingTest` | | |
-| `HttpRules` | `@ServerTest`, `@RoutingTest` | | Same as `HttpRouting.Builder`, only routing setup |
-| `Router.RouterBuilder>` | `@ServerTest`, `@RoutingTest` | | |
-| `SocketListener.Builder` | `@ServerTest` | | |
-| `WebSocketRouting.Builder` | `@ServerTest`, `@RoutingTest` | websocket | |
-
-In addition, a static method annotated with `@SetUpServer` can be defined for `@ServerTest`, that has a single parameter
-of `WebServer.Builder`.
-
-The following table lists injectable types (through constructor or method injection).
-
-- Type - type that can be injected
-- Socket? - if checked, you can use `@Socket` annotation to obtain value specific to that named socket
-- Annotation - which annotation(s) support this injection
-- Modules - which Níma extension modules support this injection
-- Notes - additional details
-
-| Type | Socket? | Annotation | Modules | Notes |
-|--------------------|---------|----------------|-----------|-----------------------------------------------------------------------|
-| `WebServer` | | `@ServerTest` | | Server instance (already started) |
-| `URI` | x | `@ServerTest` | | URI pointing to a port of the webserver |
-| `SocketHttpClient` | x | `@ServerTest` | | Client that allows sending of anything, to test bad request and such. |
-| `Http1Client` | x | `@ServerTest` | | |
-| `DirectClient` | x | `@RoutingTest` | | Implements `Http1Client` API |
-| `WsClient` | x | `@ServerTest` | websocket | |
-| `DirectWsClient` | x | `@RoutingTest` | websocket | Implements `WsClient` API |
diff --git a/docs-internal/testing.md b/docs-internal/testing.md
new file mode 100644
index 00000000000..931e7298aa7
--- /dev/null
+++ b/docs-internal/testing.md
@@ -0,0 +1,46 @@
+Testing
+----
+There are two annotations that can be used for WebServer tests.
+`@ServerTest` is an integration test annotation, that starts server (opens ports) and provides client injection pre-configured for
+the server port(s).
+`@RoutingTest` is a unit test annotation, that does not start server and does not open ports, but provides direct client (with
+same API as the usual network client) to test routing.
+
+Extensions can exist that enhance the features for the module `helidon-webserver-testing-junit5` to support additional
+protocols. Known are listed here.
+
+The following table lists supported types of parameters for `@SetUpRoute` annotated methods. Such methods MUST be static,
+and may have any name. `@SetUpRoute` annotation has `value` with socket name (to customize setup for a different socket).
+
+- Parameter type - supported class of a parameter
+- Annotation - which annotation(s) support this parameter
+- Modules - which extension modules support this signature
+
+| Parameter Type | Annotation | Modules | Notes |
+|----------------------------|-------------------------------|-----------|---------------------------------------------------|
+| `HttpRouting.Builder` | `@ServerTest`, `@RoutingTest` | | |
+| `HttpRules` | `@ServerTest`, `@RoutingTest` | | Same as `HttpRouting.Builder`, only routing setup |
+| `Router.RouterBuilder>` | `@ServerTest`, `@RoutingTest` | | |
+| `SocketListener.Builder` | `@ServerTest` | | |
+| `WebSocketRouting.Builder` | `@ServerTest`, `@RoutingTest` | websocket | |
+
+In addition, a static method annotated with `@SetUpServer` can be defined for `@ServerTest`, that has a single parameter
+of `WebServer.Builder`.
+
+The following table lists injectable types (through constructor or method injection).
+
+- Type - type that can be injected
+- Socket? - if checked, you can use `@Socket` annotation to obtain value specific to that named socket
+- Annotation - which annotation(s) support this injection
+- Modules - which extension modules support this injection
+- Notes - additional details
+
+| Type | Socket? | Annotation | Modules | Notes |
+|--------------------|---------|----------------|-----------|-----------------------------------------------------------------------|
+| `WebServer` | | `@ServerTest` | | Server instance (already started) |
+| `URI` | x | `@ServerTest` | | URI pointing to a port of the webserver |
+| `SocketHttpClient` | x | `@ServerTest` | | Client that allows sending of anything, to test bad request and such. |
+| `Http1Client` | x | `@ServerTest` | | |
+| `DirectClient` | x | `@RoutingTest` | | Implements `Http1Client` API |
+| `WsClient` | x | `@ServerTest` | websocket | |
+| `DirectWsClient` | x | `@RoutingTest` | websocket | Implements `WsClient` API |
diff --git a/docs/about/doc_overview.adoc b/docs/about/doc_overview.adoc
index 1ad64ae8e7c..43b623a6739 100644
--- a/docs/about/doc_overview.adoc
+++ b/docs/about/doc_overview.adoc
@@ -18,7 +18,7 @@
= Helidon Documentation
:description: Helidon
-:keywords: helidon, java, microservices, microprofile, documentation, nima
+:keywords: helidon, java, microservices, microprofile, documentation
:rootdir: {docdir}/..
Check out the xref:{rootdir}/about/doc_sitemap.adoc[Documentation Overview] for information about this site and the materials we provide.
@@ -53,7 +53,7 @@ xref:{rootdir}/about/intro.adoc[What's New in Helidon 4]
.Getting Started
[icon=rocket_launch]
--
-There are several ways to generate your first Helidon project. In a hurry? Try the Helidon CLI or Project Starter which provide a set of predefined archetypes to choose from.
+There are several ways to generate your first Helidon project. In a hurry? Try the Helidon CLI or Project Starter which provide a set of predefined archetypes to choose from.
xref:{rootdir}/about/prerequisites.adoc[Prerequisites and System Requirements]
@@ -92,7 +92,7 @@ xref:{rootdir}/se/guides/migration.adoc[Upgrade From Helidon SE 2.x]
.Developing Your First Application From Scratch
[icon=terminal]
--
-Use these hands-on development tutorials to learn how to generate a small "Hello World!" greeting service that demonstrates some of Helidon's core features.
+Use these hands-on development tutorials to learn how to generate a small "Hello World!" greeting service that demonstrates some of Helidon's core features.
xref:{rootdir}/mp/guides/mp-tutorial.adoc[Helidon MP Tutorial]
@@ -114,7 +114,7 @@ xref:{rootdir}/mp/guides/overview.adoc[MP Guides]
--
//Advanced Features
[CARD]
-.Advanced Features
+.Advanced Features
[icon=swap_horiz]
--
diff --git a/docs/about/doc_sitemap.adoc b/docs/about/doc_sitemap.adoc
index 7de6fe463f5..626c9cc887b 100644
--- a/docs/about/doc_sitemap.adoc
+++ b/docs/about/doc_sitemap.adoc
@@ -23,13 +23,13 @@
== Using This Site
-Welcome to the Helidon documentation site. Here you will find general concepts, quickstart guides, tutorials and reference material. Existing Helidon users can go directly to their preferred programming flavor in the navigation panel to the left.
+Welcome to the Helidon documentation site. Here you will find general concepts, quickstart guides, tutorials and reference material. Existing Helidon users can go directly to their preferred programming flavor in the navigation panel to the left.
=== New Users
New to Helidon? Start with the xref:{rootdir}/about/introduction.adoc[Helidon Documentation] page. Here you will find some of the most common topics for getting started as well as easy first steps for building your first project or application.
-Once you've settled on your preferred programming framework, visit the Helidon flavor sections of this site for more information.
+Once you've settled on your preferred programming framework, visit the Helidon flavor sections of this site for more information.
* xref:{rootdir}/se/introduction.adoc[Helidon SE]
* xref:{rootdir}/mp/introduction.adoc[Helidon MP]
@@ -37,11 +37,11 @@ Once you've settled on your preferred programming framework, visit the Helidon f
=== Existing Helidon Users
-Welcome back! The documentation site has a couple of new features that we hope will make your experience here a bit easier.
+Welcome back! The documentation site has a couple of new features that we hope will make your experience here a bit easier.
-The new xref:{rootdir}/about/introduction.adoc[Helidon Documentation] page offers quick links to some of our most popular topics, including our new training and certification programs.
+The new xref:{rootdir}/about/introduction.adoc[Helidon Documentation] page offers quick links to some of our most popular topics, including our new training and certification programs.
-Check out the xref:{rootdir}/about/intro.adoc[What's New in Helidon 4] for a list of new features and functionality.
+Check out the xref:{rootdir}/about/intro.adoc[What's New in Helidon 4] for a list of new features and functionality.
diff --git a/docs/config/io_helidon_common_http_RequestedUriDiscoveryContext.adoc b/docs/config/io_helidon_common_http_RequestedUriDiscoveryContext.adoc
index 1da541f2c10..a75bfc9ea1b 100644
--- a/docs/config/io_helidon_common_http_RequestedUriDiscoveryContext.adoc
+++ b/docs/config/io_helidon_common_http_RequestedUriDiscoveryContext.adoc
@@ -17,9 +17,9 @@
///////////////////////////////////////////////////////////////////////////////
ifndef::rootdir[:rootdir: {docdir}/..]
-:description: Configuration of io.helidon.common.http.RequestedUriDiscoveryContext
-:keywords: helidon, config, io.helidon.common.http.RequestedUriDiscoveryContext
-:basic-table-intro: The table below lists the configuration keys that configure io.helidon.common.http.RequestedUriDiscoveryContext
+:description: Configuration of io.helidon.http.RequestedUriDiscoveryContext
+:keywords: helidon, config, io.helidon.http.RequestedUriDiscoveryContext
+:basic-table-intro: The table below lists the configuration keys that configure io.helidon.http.RequestedUriDiscoveryContext
include::{rootdir}/includes/attributes.adoc[]
= RequestedUriDiscoveryContext (common.http) Configuration
@@ -27,7 +27,7 @@ include::{rootdir}/includes/attributes.adoc[]
// tag::config[]
-Type: link:{javadoc-base-url}/io.helidon.common.http/io/helidon/common/http/RequestedUriDiscoveryContext.html[io.helidon.common.http.RequestedUriDiscoveryContext]
+Type: link:{javadoc-base-url}/io.helidon.http/io/helidon/http/RequestedUriDiscoveryContext.html[io.helidon.http.RequestedUriDiscoveryContext]
diff --git a/docs/config/io_helidon_reactive_webserver_SocketConfiguration.adoc b/docs/config/io_helidon_reactive_webserver_SocketConfiguration.adoc
index 61542529dd6..d9099e110be 100644
--- a/docs/config/io_helidon_reactive_webserver_SocketConfiguration.adoc
+++ b/docs/config/io_helidon_reactive_webserver_SocketConfiguration.adoc
@@ -77,7 +77,7 @@ Type: link:{javadoc-base-url}/io.helidon.reactive.webserver/io/helidon/reactive/
Default is `false`
|`host` |string |{nbsp} |A helper method that just calls #bindAddress(String).
|`max-header-size` |int |`16384` |Maximal number of bytes of all header values combined. When a bigger value is received, a
- io.helidon.common.http.Http.Status#BAD_REQUEST_400
+ io.helidon.http.Http.Status#BAD_REQUEST_400
is returned.
Default is `16384`
diff --git a/docs/config/io_helidon_reactive_webserver_SocketConfiguration_SocketConfigurationBuilder.adoc b/docs/config/io_helidon_reactive_webserver_SocketConfiguration_SocketConfigurationBuilder.adoc
index 222839fcd16..c7b83460213 100644
--- a/docs/config/io_helidon_reactive_webserver_SocketConfiguration_SocketConfigurationBuilder.adoc
+++ b/docs/config/io_helidon_reactive_webserver_SocketConfiguration_SocketConfigurationBuilder.adoc
@@ -68,7 +68,7 @@ Type: link:{javadoc-base-url}/io.helidon.reactive.webserver.SocketConfiguration/
Default is `false`
|`host` |string |{nbsp} |A helper method that just calls #bindAddress(String).
|`max-header-size` |int |`16384` |Maximal number of bytes of all header values combined. When a bigger value is received, a
- io.helidon.common.http.Http.Status#BAD_REQUEST_400
+ io.helidon.http.Http.Status#BAD_REQUEST_400
is returned.
Default is `16384`
diff --git a/docs/config/io_helidon_reactive_webserver_WebServer.adoc b/docs/config/io_helidon_reactive_webserver_WebServer.adoc
index fb2f581270c..09f007e33ed 100644
--- a/docs/config/io_helidon_reactive_webserver_WebServer.adoc
+++ b/docs/config/io_helidon_reactive_webserver_WebServer.adoc
@@ -73,7 +73,7 @@ This is a standalone configuration type, prefix from configuration root: `server
|`features.print-details` |boolean |`false` |Set to `true` to print detailed feature information on startup.
|`host` |string |{nbsp} |A helper method that just calls #bindAddress(String).
|`max-header-size` |int |`16384` |Maximal number of bytes of all header values combined. When a bigger value is received, a
- io.helidon.common.http.Http.Status#BAD_REQUEST_400
+ io.helidon.http.Http.Status#BAD_REQUEST_400
is returned.
Default is `16384`
diff --git a/docs/includes/attributes.adoc b/docs/includes/attributes.adoc
index 2b801136cf5..032c0aa9348 100644
--- a/docs/includes/attributes.adoc
+++ b/docs/includes/attributes.adoc
@@ -187,7 +187,7 @@ endif::[]
:javadoc-base-url: {base-url}/apidocs
// Helidon component javadoc base URLs
-:common-http-javadoc-base-url: {javadoc-base-url}/io.helidon.common.http
+:http-javadoc-base-url: {javadoc-base-url}/io.helidon.http
:config-javadoc-base-url: {javadoc-base-url}/io.helidon.config
:configurable-javadoc-base-url: {javadoc-base-url}/apidocs/io.helidon.common.configurable
:faulttolerance-javadoc-base-url: {javadoc-base-url}/io.helidon.reactive.faulttolerance
@@ -225,7 +225,7 @@ endif::[]
:security-provider-abac-base-url: {javadoc-base-url}/io.helidon.security.providers.abac
:security-provider-google-login-base-url: {javadoc-base-url}/io.helidon.security.providers.google.login
:security-provider-jwt-base-url: {javadoc-base-url}/io.helidon.security.providers.jwt
-:nima-faulttolerance-javadoc-base-url: {javadoc-base-url}/io.helidon.nima.faulttolerance
+:faulttolerance-javadoc-base-url: {javadoc-base-url}/io.helidon.faulttolerance
// 3rd party versioned URLs
:jaeger-doc-base-url: https://www.jaegertracing.io/docs/{version-lib-jaeger}
diff --git a/docs/mp/guides/jbatch.adoc b/docs/mp/guides/jbatch.adoc
index 66a841be575..7395e1eb6c8 100644
--- a/docs/mp/guides/jbatch.adoc
+++ b/docs/mp/guides/jbatch.adoc
@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////////
- Copyright (c) 2022 Oracle and/or its affiliates.
+ Copyright (c) 2022, 2023 Oracle and/or its affiliates.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -214,20 +214,20 @@ Add this code to your job descriptor.xml file:
version="2.0">
-
-
-
+
+
+
-
+
----
<1> The first step of the job includes `MyItemReader`, `MyItemProcessor` and `MyItemWriter`.
<2> The second step of the job includes `MyBatchlet`.
-NOTE: You must specify the fully qualified names in the `ref` properties, like “io.helidon.jbatch.example.jobs.MyItemReader”, otherwise it will not work.
+NOTE: You must specify the fully qualified names in the `ref` properties, like “jobs.io.helidon.examples.jbatch.MyItemReader”, otherwise it will not work.
== Create an Endpoint
Create a small endpoint to activate the job:
diff --git a/docs/mp/server.adoc b/docs/mp/server.adoc
index 93b58d05c12..b4fd66f4dd5 100644
--- a/docs/mp/server.adoc
+++ b/docs/mp/server.adoc
@@ -381,7 +381,7 @@ Helidon makes the requested URI information available as a property in the reque
[source,java]
.Retrieving Requested URI Information
----
-import io.helidon.common.http.UriInfo;
+import io.helidon.http.UriInfo;
public class MyFilter implements ContainerRequestFilter {
@@ -392,7 +392,7 @@ public class MyFilter implements ContainerRequestFilter {
}
}
----
-See the link:{common-http-javadoc-base-url}/io/helidon/common/http/UriInfo.html[`UriInfo`] JavaDoc for more information.
+See the link:{http-javadoc-base-url}/io/helidon/common/http/UriInfo.html[`UriInfo`] JavaDoc for more information.
NOTE: The `requestContext.getUriInfo()` method returns the Jakarta RESTful web services `UriInfo` object, _not_ the Helidon-provided requested URI information `UriInfo` record.
diff --git a/docs/se/guides/dbclient.adoc b/docs/se/guides/dbclient.adoc
index 4a2466abff9..8d65159ce03 100644
--- a/docs/se/guides/dbclient.adoc
+++ b/docs/se/guides/dbclient.adoc
@@ -341,7 +341,7 @@ Create LibraryService class into `io.helidon.examples.quickstart.se` package.
----
package io.helidon.examples.quickstart.se;
-import io.helidon.common.http.Http; // <1>
+import io.helidon.http.Http; // <1>
import io.helidon.reactive.dbclient.DbClient;
import io.helidon.reactive.webserver.Routing;
import io.helidon.reactive.webserver.ServerRequest;
diff --git a/docs/se/guides/security-oidc.adoc b/docs/se/guides/security-oidc.adoc
index 090fb696ead..a5348d78623 100644
--- a/docs/se/guides/security-oidc.adoc
+++ b/docs/se/guides/security-oidc.adoc
@@ -508,8 +508,8 @@ In the `MainTest.java` file, tests need to be modified to check the application
[source,java]
.Import the following class:
----
-import java.util.Base64;
-import io.helidon.common.http.Http;
+
+import io.helidon.http.Http;
----
[source,java]
diff --git a/docs/se/guides/tracing.adoc b/docs/se/guides/tracing.adoc
index 542f49bd7af..eee4e170785 100644
--- a/docs/se/guides/tracing.adoc
+++ b/docs/se/guides/tracing.adoc
@@ -453,7 +453,7 @@ call it.
----
package io.helidon.examples.quickstart.se;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.config.Config;
import io.helidon.tracing.jersey.client.ClientTracingFilter;
import io.helidon.reactive.webserver.Routing;
diff --git a/docs/se/guides/webclient.adoc b/docs/se/guides/webclient.adoc
index 286df895b23..a1276ed7305 100644
--- a/docs/se/guides/webclient.adoc
+++ b/docs/se/guides/webclient.adoc
@@ -290,7 +290,7 @@ that can be used with any metric.
[source,java]
.Example of metric creation:
----
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.metrics.RegistryFactory;
import io.helidon.reactive.webclient.metrics.WebClientMetrics;
import io.helidon.reactive.webclient.spi.WebClientService;
diff --git a/docs/se/webserver.adoc b/docs/se/webserver.adoc
index 9cde7da893a..e2fdfb42a67 100644
--- a/docs/se/webserver.adoc
+++ b/docs/se/webserver.adoc
@@ -328,8 +328,8 @@ To set up requested URI discovery on the default socket for your server, use the
.Requested URI set-up for the default server socket
----
import io.helidon.common.configurable.AllowList;
-import static io.helidon.common.http.RequestedUriDiscoveryContext.RequestedUriDiscoveryType.FORWARDED;
-import static io.helidon.common.http.RequestedUriDiscoveryContext.RequestedUriDiscoveryType.X_FORWARDED;
+import static io.helidon.http.RequestedUriDiscoveryContext.RequestedUriDiscoveryType.FORWARDED;
+import static io.helidon.http.RequestedUriDiscoveryContext.RequestedUriDiscoveryType.X_FORWARDED;
AllowList trustedProxies = AllowList.builder()
.addAllowedPattern(Pattern.compile("lb.+\\.mycorp\\.com"))
@@ -376,7 +376,7 @@ Your code obtains the requested URI information from the Helidon server request
[source,java]
.Retrieving Requested URI Information
----
-import io.helidon.common.http.UriInfo;
+import io.helidon.http.UriInfo;
public class MyHandler implements Handler {
@@ -387,7 +387,7 @@ public class MyHandler implements Handler {
}
}
----
-See the link:{common-http-javadoc-base-url}/io/helidon/common/http/UriInfo.html[`UriInfo`] JavaDoc for more information.
+See the link:{http-javadoc-base-url}/io/helidon/common/http/UriInfo.html[`UriInfo`] JavaDoc for more information.
== Error Handling
diff --git a/etc/checkstyle-suppressions.xml b/etc/checkstyle-suppressions.xml
index c9310d82fe8..179df7b43bd 100644
--- a/etc/checkstyle-suppressions.xml
+++ b/etc/checkstyle-suppressions.xml
@@ -58,23 +58,26 @@
files="DerUtils\.java"/>
-
-
-
-
+
+
-
@@ -129,5 +132,4 @@
-
diff --git a/etc/scripts/includes/pipeline-env.sh b/etc/scripts/includes/pipeline-env.sh
index 2d8aea3813b..d0c36da3554 100644
--- a/etc/scripts/includes/pipeline-env.sh
+++ b/etc/scripts/includes/pipeline-env.sh
@@ -69,7 +69,7 @@ if [ -z "${__PIPELINE_ENV_INCLUDED__}" ]; then
export PIPELINE="true"
MAVEN_ARGS="${MAVEN_ARGS} -B ${MAVEN_HTTP_ARGS}"
export MAVEN_ARGS
- # temporary fix for copyright plugin (currently fails on big renaming action for Nima)
+ # temporary fix for copyright plugin
git config diff.renameLimit 32768
fi
@@ -130,7 +130,7 @@ if [ -z "${__PIPELINE_ENV_INCLUDED__}" ]; then
GPG_KEYGRIP=$(gpg --with-keygrip -K | grep "Keygrip" | head -1 | awk '{print $3}')
/usr/lib/gnupg/gpg-preset-passphrase --preset "${GPG_KEYGRIP}" <<< "${GPG_PASSPHRASE}"
fi
- # temporary fix for copyright plugin (currently fails on big renaming action for Nima)
+ # temporary fix for copyright plugin
git config diff.renameLimit 32768
fi
diff --git a/etc/scripts/test-packaging-native.sh b/etc/scripts/test-packaging-native.sh
index 7b90b02862d..b7311b891d4 100755
--- a/etc/scripts/test-packaging-native.sh
+++ b/etc/scripts/test-packaging-native.sh
@@ -57,7 +57,7 @@ mvn ${MAVEN_ARGS} -e clean install
# Build native images
# TODO:java19
-readonly native_image_tests="nima-1"
+readonly native_image_tests="se-1"
for native_test in ${native_image_tests}; do
cd ${WS_DIR}/tests/integration/native-image/${native_test}
mvn ${MAVEN_ARGS} -e clean package -Pnative-image
@@ -69,6 +69,6 @@ done
# cd ${WS_DIR}/tests/integration/native-image/mp-1
# ${WS_DIR}/tests/integration/native-image/mp-1/target/helidon-tests-native-image-mp-1 || true
-# Run Nima-1 exiting on started
-cd ${WS_DIR}/tests/integration/native-image/nima-1
-${WS_DIR}/tests/integration/native-image/nima-1/target/helidon-tests-native-image-nima-1 -Dexit.on.started=! || true
+# Run se-1 exiting on started
+cd ${WS_DIR}/tests/integration/native-image/se-1
+${WS_DIR}/tests/integration/native-image/se-1/target/helidon-tests-native-image-se-1 -Dexit.on.started=! || true
diff --git a/examples/config/basics/README.md b/examples/config/basics/README.md
index aa2aa316b1f..1031407da92 100644
--- a/examples/config/basics/README.md
+++ b/examples/config/basics/README.md
@@ -1,7 +1,7 @@
# Helidon Config Basic Example
This example shows the basics of using Helidon SE Config. The
-[Main.java](./src/main/java/io/helidon/config/examples/basics/Main.java) class shows:
+[Main.java](src/main/java/io/helidon/examples/config/basics/Main.java) class shows:
* loading configuration from a resource
[`application.conf`](./src/main/resources/application.conf) on the classpath
diff --git a/examples/config/basics/pom.xml b/examples/config/basics/pom.xml
index 95f4be7c697..9b2af70acfb 100644
--- a/examples/config/basics/pom.xml
+++ b/examples/config/basics/pom.xml
@@ -28,14 +28,14 @@
io.helidon.examples.confighelidon-examples-config-basics
- Helidon Config Examples Basics
+ Helidon Examples Config Basics
The simplest example shows how to use Configuration API.
- io.helidon.config.examples.basics.Main
+ io.helidon.examples.config.basics.Main
diff --git a/examples/config/basics/src/main/java/io/helidon/config/examples/basics/Main.java b/examples/config/basics/src/main/java/io/helidon/config/examples/basics/Main.java
deleted file mode 100644
index b9b77b6b797..00000000000
--- a/examples/config/basics/src/main/java/io/helidon/config/examples/basics/Main.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.config.examples.basics;
-
-import java.nio.file.Path;
-import java.util.List;
-
-import io.helidon.config.Config;
-
-import static io.helidon.config.ConfigSources.classpath;
-
-/**
- * Basics example.
- */
-public class Main {
-
- private Main() {
- }
-
- /**
- * Executes the example.
- *
- * @param args arguments
- */
- public static void main(String... args) {
- Config config = Config.create(classpath("application.conf"));
-
- int pageSize = config.get("app.page-size").asInt().get();
-
- boolean storageEnabled = config.get("app.storageEnabled").asBoolean().orElse(false);
-
- List basicRange = config.get("app.basic-range").asList(Integer.class).get();
-
- Path loggingOutputPath = config.get("logging.outputs.file.name").as(Path.class).get();
-
- System.out.println(pageSize);
- System.out.println(storageEnabled);
- System.out.println(basicRange);
- System.out.println(loggingOutputPath);
- }
-
-}
diff --git a/examples/config/basics/src/main/java/io/helidon/config/examples/basics/package-info.java b/examples/config/basics/src/main/java/io/helidon/config/examples/basics/package-info.java
deleted file mode 100644
index 0d1a22169e2..00000000000
--- a/examples/config/basics/src/main/java/io/helidon/config/examples/basics/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * The simplest example shows how to use Configuration API.
- */
-package io.helidon.config.examples.basics;
diff --git a/examples/config/basics/src/main/java/io/helidon/examples/config/basics/Main.java b/examples/config/basics/src/main/java/io/helidon/examples/config/basics/Main.java
new file mode 100644
index 00000000000..e5cae4a4688
--- /dev/null
+++ b/examples/config/basics/src/main/java/io/helidon/examples/config/basics/Main.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.config.basics;
+
+import java.nio.file.Path;
+import java.util.List;
+
+import io.helidon.config.Config;
+
+import static io.helidon.config.ConfigSources.classpath;
+
+/**
+ * Basics example.
+ */
+public class Main {
+
+ private Main() {
+ }
+
+ /**
+ * Executes the example.
+ *
+ * @param args arguments
+ */
+ public static void main(String... args) {
+ Config config = Config.create(classpath("application.conf"));
+
+ int pageSize = config.get("app.page-size").asInt().get();
+
+ boolean storageEnabled = config.get("app.storageEnabled").asBoolean().orElse(false);
+
+ List basicRange = config.get("app.basic-range").asList(Integer.class).get();
+
+ Path loggingOutputPath = config.get("logging.outputs.file.name").as(Path.class).get();
+
+ System.out.println(pageSize);
+ System.out.println(storageEnabled);
+ System.out.println(basicRange);
+ System.out.println(loggingOutputPath);
+ }
+
+}
diff --git a/examples/config/basics/src/main/java/io/helidon/examples/config/basics/package-info.java b/examples/config/basics/src/main/java/io/helidon/examples/config/basics/package-info.java
new file mode 100644
index 00000000000..266ea311291
--- /dev/null
+++ b/examples/config/basics/src/main/java/io/helidon/examples/config/basics/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * The simplest example shows how to use Configuration API.
+ */
+package io.helidon.examples.config.basics;
diff --git a/examples/config/changes/README.md b/examples/config/changes/README.md
index cdab258cdc5..ca4e4a58871 100644
--- a/examples/config/changes/README.md
+++ b/examples/config/changes/README.md
@@ -5,7 +5,7 @@ configuration.
## Change notification
-[`OnChangeExample.java`](./src/main/java/io/helidon/config/examples/changes/OnChangeExample.java):
+[`OnChangeExample.java`](src/main/java/io/helidon/examples/config/changes/OnChangeExample.java):
uses `Config.onChange`, passing either a method reference (a lambda expression
would also work) which the config system invokes when the config source changes
)
@@ -14,7 +14,7 @@ would also work) which the config system invokes when the config source changes
Recall that once your application obtains a `Config` instance, its config values
do not change. The
-[`AsSupplierExample.java`](./src/main/java/io/helidon/config/examples/changes/AsSupplierExample.java)
+[`AsSupplierExample.java`](src/main/java/io/helidon/examples/config/changes/AsSupplierExample.java)
example shows how your application can get a config _supplier_ that always reports
the latest config value for a key, including any changes made after your
application obtained the `Config` object. Although this approach does not notify
diff --git a/examples/config/changes/pom.xml b/examples/config/changes/pom.xml
index a99f8cc35d4..c7e58b7211a 100644
--- a/examples/config/changes/pom.xml
+++ b/examples/config/changes/pom.xml
@@ -28,14 +28,14 @@
io.helidon.examples.confighelidon-examples-config-changes
- Helidon Config Examples Changes
+ Helidon Examples Config Changes
The example shows how to use Configuration Changes API.
- io.helidon.config.examples.changes.Main
+ io.helidon.examples.config.changes.Main
diff --git a/examples/config/changes/src/main/java/io/helidon/config/examples/changes/Main.java b/examples/config/changes/src/main/java/io/helidon/config/examples/changes/Main.java
deleted file mode 100644
index dd72f5e2a48..00000000000
--- a/examples/config/changes/src/main/java/io/helidon/config/examples/changes/Main.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2017, 2020 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.config.examples.changes;
-
-import java.io.IOException;
-import java.util.concurrent.TimeUnit;
-import java.util.logging.Logger;
-
-/**
- * Config changes examples.
- */
-public class Main {
-
- private static final Logger LOGGER = Logger.getLogger(Main.class.getName());
-
- private Main() {
- }
-
- /**
- * Executes the example.
- *
- * @param args arguments
- * @throws InterruptedException in case you cannot sleep
- * @throws IOException in case of IO error
- */
- public static void main(String... args) throws IOException, InterruptedException {
- // subscribe using simple onChange function
- new OnChangeExample().run();
- // use same Supplier instances to get up-to-date value
- AsSupplierExample asSupplier = new AsSupplierExample();
- asSupplier.run();
-
- // waiting for user made changes in config files
- long sleep = 60;
- LOGGER.info("Application is waiting " + sleep + " seconds for change...");
- TimeUnit.SECONDS.sleep(sleep);
-
- asSupplier.shutdown();
- LOGGER.info("Goodbye.");
- }
-
-}
diff --git a/examples/config/changes/src/main/java/io/helidon/config/examples/changes/package-info.java b/examples/config/changes/src/main/java/io/helidon/config/examples/changes/package-info.java
deleted file mode 100644
index a8576e63d54..00000000000
--- a/examples/config/changes/src/main/java/io/helidon/config/examples/changes/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * The example shows how to use Configuration Changes API.
- */
-package io.helidon.config.examples.changes;
diff --git a/examples/config/changes/src/main/java/io/helidon/config/examples/changes/AsSupplierExample.java b/examples/config/changes/src/main/java/io/helidon/examples/config/changes/AsSupplierExample.java
similarity index 97%
rename from examples/config/changes/src/main/java/io/helidon/config/examples/changes/AsSupplierExample.java
rename to examples/config/changes/src/main/java/io/helidon/examples/config/changes/AsSupplierExample.java
index d1113130fef..33c6cc13461 100644
--- a/examples/config/changes/src/main/java/io/helidon/config/examples/changes/AsSupplierExample.java
+++ b/examples/config/changes/src/main/java/io/helidon/examples/config/changes/AsSupplierExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2020 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.changes;
+package io.helidon.examples.config.changes;
import java.time.Duration;
import java.util.Objects;
diff --git a/examples/config/changes/src/main/java/io/helidon/examples/config/changes/Main.java b/examples/config/changes/src/main/java/io/helidon/examples/config/changes/Main.java
new file mode 100644
index 00000000000..9b94bf3179e
--- /dev/null
+++ b/examples/config/changes/src/main/java/io/helidon/examples/config/changes/Main.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.config.changes;
+
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+import java.util.logging.Logger;
+
+/**
+ * Config changes examples.
+ */
+public class Main {
+
+ private static final Logger LOGGER = Logger.getLogger(Main.class.getName());
+
+ private Main() {
+ }
+
+ /**
+ * Executes the example.
+ *
+ * @param args arguments
+ * @throws InterruptedException in case you cannot sleep
+ * @throws IOException in case of IO error
+ */
+ public static void main(String... args) throws IOException, InterruptedException {
+ // subscribe using simple onChange function
+ new OnChangeExample().run();
+ // use same Supplier instances to get up-to-date value
+ AsSupplierExample asSupplier = new AsSupplierExample();
+ asSupplier.run();
+
+ // waiting for user made changes in config files
+ long sleep = 60;
+ LOGGER.info("Application is waiting " + sleep + " seconds for change...");
+ TimeUnit.SECONDS.sleep(sleep);
+
+ asSupplier.shutdown();
+ LOGGER.info("Goodbye.");
+ }
+
+}
diff --git a/examples/config/changes/src/main/java/io/helidon/config/examples/changes/OnChangeExample.java b/examples/config/changes/src/main/java/io/helidon/examples/config/changes/OnChangeExample.java
similarity index 95%
rename from examples/config/changes/src/main/java/io/helidon/config/examples/changes/OnChangeExample.java
rename to examples/config/changes/src/main/java/io/helidon/examples/config/changes/OnChangeExample.java
index aefc1fbe058..03b303dae5d 100644
--- a/examples/config/changes/src/main/java/io/helidon/config/examples/changes/OnChangeExample.java
+++ b/examples/config/changes/src/main/java/io/helidon/examples/config/changes/OnChangeExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2020 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.changes;
+package io.helidon.examples.config.changes;
import java.util.logging.Logger;
diff --git a/examples/config/changes/src/main/java/io/helidon/examples/config/changes/package-info.java b/examples/config/changes/src/main/java/io/helidon/examples/config/changes/package-info.java
new file mode 100644
index 00000000000..6422ccbd838
--- /dev/null
+++ b/examples/config/changes/src/main/java/io/helidon/examples/config/changes/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * The example shows how to use Configuration Changes API.
+ */
+package io.helidon.examples.config.changes;
diff --git a/examples/config/git/README.md b/examples/config/git/README.md
index 17317d06410..4b73456ffcc 100644
--- a/examples/config/git/README.md
+++ b/examples/config/git/README.md
@@ -10,7 +10,7 @@ has a branch named `test` that contains `application.conf` which sets the key
`greeting` to value `hello`. (The Helidon team has created and populated this
repository.)
-The code in [`Main.java`](./src/main/java/io/helidon/config/examples/git/Main.java)
+The code in [`Main.java`](src/main/java/io/helidon/examples/config/git/Main.java)
uses the environment variable `ENVIRONMENT_NAME` to fetch the branch name
in the GitHub repository to use; it uses `master` by default (which does _not_
contain the expected value).
diff --git a/examples/config/git/pom.xml b/examples/config/git/pom.xml
index 8a26e097724..483c2da946c 100644
--- a/examples/config/git/pom.xml
+++ b/examples/config/git/pom.xml
@@ -28,14 +28,14 @@
io.helidon.examples.confighelidon-examples-config-git
- Helidon Config Examples Git
+ Helidon Examples Config Git
The example shows how to use GitConfigSource.
- io.helidon.config.examples.git.Main
+ io.helidon.examples.config.git.Main
diff --git a/examples/config/git/src/main/java/io/helidon/config/examples/git/Main.java b/examples/config/git/src/main/java/io/helidon/config/examples/git/Main.java
deleted file mode 100644
index 1af5b17e0c6..00000000000
--- a/examples/config/git/src/main/java/io/helidon/config/examples/git/Main.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2017, 2020 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.helidon.config.examples.git;
-
-import java.io.IOException;
-import java.net.URI;
-
-import io.helidon.config.Config;
-import io.helidon.config.ConfigSources;
-import io.helidon.config.git.GitConfigSource;
-
-/**
- * Git source example.
- *
- * This example expects:
- *
- *
a Git repository {@code helidonrobot/test-config} which contains:
- *
- *
the branch {@code test} containing {@code application.conf} which sets
- * {@code greeting} to {@code hello},
- *
the branch {@code main} containing the file {@code application.conf}
- * which sets the property {@code greeting} to any value other than
- * {@code hello},
- *
optionally, any other branch in which {@code application.conf} sets
- * {@code greeting} to {@code hello}.
- *
- *
the environment variable {@code ENVIRONMENT_NAME} set to:
- *
- *
{@code test}, or
- *
the name of the optional additional branch described above.
- *
- *
- */
-public class Main {
-
- private static final String ENVIRONMENT_NAME_PROPERTY = "ENVIRONMENT_NAME";
-
- private Main() {
- }
-
- /**
- * Executes the example.
- *
- * @param args arguments
- * @throws IOException when some git repo operation failed
- */
- public static void main(String... args) throws IOException {
-
- // we expect a name of the current environment in envvar ENVIRONMENT_NAME
- // in this example we just set envvar in maven plugin 'exec', but can be set in k8s pod via ConfigMap
- Config env = Config.create(ConfigSources.environmentVariables());
-
- String branch = env.get(ENVIRONMENT_NAME_PROPERTY).asString().orElse("master");
-
- System.out.println("Loading from branch " + branch);
-
- Config config = Config.create(
- GitConfigSource.builder()
- .path("application.conf")
- .uri(URI.create("https://github.com/helidonrobot/test-config.git"))
- .branch(branch)
- .build());
-
- System.out.println("Greeting is " + config.get("greeting").asString().get());
- assert config.get("greeting").asString().get().equals("hello");
- }
-
-}
diff --git a/examples/config/git/src/main/java/io/helidon/config/examples/git/package-info.java b/examples/config/git/src/main/java/io/helidon/config/examples/git/package-info.java
deleted file mode 100644
index ed0dd6ab8f9..00000000000
--- a/examples/config/git/src/main/java/io/helidon/config/examples/git/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * The example shows how to use GitConfigSource.
- */
-package io.helidon.config.examples.git;
diff --git a/examples/config/git/src/main/java/io/helidon/examples/config/git/Main.java b/examples/config/git/src/main/java/io/helidon/examples/config/git/Main.java
new file mode 100644
index 00000000000..79b976ea614
--- /dev/null
+++ b/examples/config/git/src/main/java/io/helidon/examples/config/git/Main.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.helidon.examples.config.git;
+
+import java.io.IOException;
+import java.net.URI;
+
+import io.helidon.config.Config;
+import io.helidon.config.ConfigSources;
+import io.helidon.config.git.GitConfigSource;
+
+/**
+ * Git source example.
+ *
+ * This example expects:
+ *
+ *
a Git repository {@code helidonrobot/test-config} which contains:
+ *
+ *
the branch {@code test} containing {@code application.conf} which sets
+ * {@code greeting} to {@code hello},
+ *
the branch {@code main} containing the file {@code application.conf}
+ * which sets the property {@code greeting} to any value other than
+ * {@code hello},
+ *
optionally, any other branch in which {@code application.conf} sets
+ * {@code greeting} to {@code hello}.
+ *
+ *
the environment variable {@code ENVIRONMENT_NAME} set to:
+ *
+ *
{@code test}, or
+ *
the name of the optional additional branch described above.
+ *
+ *
+ */
+public class Main {
+
+ private static final String ENVIRONMENT_NAME_PROPERTY = "ENVIRONMENT_NAME";
+
+ private Main() {
+ }
+
+ /**
+ * Executes the example.
+ *
+ * @param args arguments
+ * @throws IOException when some git repo operation failed
+ */
+ public static void main(String... args) throws IOException {
+
+ // we expect a name of the current environment in envvar ENVIRONMENT_NAME
+ // in this example we just set envvar in maven plugin 'exec', but can be set in k8s pod via ConfigMap
+ Config env = Config.create(ConfigSources.environmentVariables());
+
+ String branch = env.get(ENVIRONMENT_NAME_PROPERTY).asString().orElse("master");
+
+ System.out.println("Loading from branch " + branch);
+
+ Config config = Config.create(
+ GitConfigSource.builder()
+ .path("application.conf")
+ .uri(URI.create("https://github.com/helidonrobot/test-config.git"))
+ .branch(branch)
+ .build());
+
+ System.out.println("Greeting is " + config.get("greeting").asString().get());
+ assert config.get("greeting").asString().get().equals("hello");
+ }
+
+}
diff --git a/examples/config/git/src/main/java/io/helidon/examples/config/git/package-info.java b/examples/config/git/src/main/java/io/helidon/examples/config/git/package-info.java
new file mode 100644
index 00000000000..47c2c44eb1d
--- /dev/null
+++ b/examples/config/git/src/main/java/io/helidon/examples/config/git/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * The example shows how to use GitConfigSource.
+ */
+package io.helidon.examples.config.git;
diff --git a/examples/config/mapping/README.md b/examples/config/mapping/README.md
index d8d561f3a3c..05e060f6421 100644
--- a/examples/config/mapping/README.md
+++ b/examples/config/mapping/README.md
@@ -3,15 +3,15 @@
This example shows how to implement mappers that convert configuration
to POJOs.
-1. [`BuilderExample.java`](./src/main/java/io/helidon/config/examples/mapping/BuilderExample.java)
+1. [`BuilderExample.java`](src/main/java/io/helidon/examples/config/mapping/BuilderExample.java)
shows how you can add a `builder()` method to a POJO. That method returns a `Builder`
object which the config system uses to update with various key settings and then,
finally, invoke `build()` so the builder can instantiate the POJO with the
assigned values.
-2. [`DeserializationExample.java`](./src/main/java/io/helidon/config/examples/mapping/DeserializationExample.java)
+2. [`DeserializationExample.java`](src/main/java/io/helidon/examples/config/mapping/DeserializationExample.java)
uses the config system's support for automatic mapping to POJOs that have bean-style
setter methods.
-3. [`FactoryMethodExample.java`](./src/main/java/io/helidon/config/examples/mapping/FactoryMethodExample.java)
+3. [`FactoryMethodExample.java`](src/main/java/io/helidon/examples/config/mapping/FactoryMethodExample.java)
illustrates how you can add a static factory method `create` to a POJO to tell the config
system how to construct a POJO instance.
diff --git a/examples/config/mapping/pom.xml b/examples/config/mapping/pom.xml
index ff2c9da6f0c..768d6e47529 100644
--- a/examples/config/mapping/pom.xml
+++ b/examples/config/mapping/pom.xml
@@ -28,14 +28,14 @@
io.helidon.examples.confighelidon-examples-config-mapping
- Helidon Config Examples Mapping
+ Helidon Examples Config Mapping
The example shows how to use Config Mapping functionality.
- io.helidon.config.examples.mapping.Main
+ io.helidon.examples.config.mapping.Main
diff --git a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/Main.java b/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/Main.java
deleted file mode 100644
index 25a94b6fb95..00000000000
--- a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/Main.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.config.examples.mapping;
-
-/**
- * Runs every example main class in this module/package.
- */
-public class Main {
-
- private Main() {
- }
-
- /**
- * Executes the example.
- *
- * @param args arguments
- */
- public static void main(String[] args) {
- DeserializationExample.main(args);
- FactoryMethodExample.main(args);
- BuilderExample.main(args);
- }
-
-}
diff --git a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/package-info.java b/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/package-info.java
deleted file mode 100644
index 79793e73d38..00000000000
--- a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * The example shows how to use Config Mapping functionality.
- */
-package io.helidon.config.examples.mapping;
diff --git a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/BuilderExample.java b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/BuilderExample.java
similarity index 98%
rename from examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/BuilderExample.java
rename to examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/BuilderExample.java
index c9fa7ff61e1..18af2182fcc 100644
--- a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/BuilderExample.java
+++ b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/BuilderExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.mapping;
+package io.helidon.examples.config.mapping;
import java.util.List;
import java.util.function.Supplier;
diff --git a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/DeserializationExample.java b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/DeserializationExample.java
similarity index 97%
rename from examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/DeserializationExample.java
rename to examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/DeserializationExample.java
index ec00769c7d7..2dcb41f3daf 100644
--- a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/DeserializationExample.java
+++ b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/DeserializationExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.mapping;
+package io.helidon.examples.config.mapping;
import java.util.List;
import java.util.function.Supplier;
diff --git a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/FactoryMethodExample.java b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/FactoryMethodExample.java
similarity index 97%
rename from examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/FactoryMethodExample.java
rename to examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/FactoryMethodExample.java
index 1b681b0428f..bd5c3849741 100644
--- a/examples/config/mapping/src/main/java/io/helidon/config/examples/mapping/FactoryMethodExample.java
+++ b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/FactoryMethodExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.mapping;
+package io.helidon.examples.config.mapping;
import java.util.List;
import java.util.function.Supplier;
diff --git a/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/Main.java b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/Main.java
new file mode 100644
index 00000000000..62dbd3fda4b
--- /dev/null
+++ b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/Main.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.config.mapping;
+
+/**
+ * Runs every example main class in this module/package.
+ */
+public class Main {
+
+ private Main() {
+ }
+
+ /**
+ * Executes the example.
+ *
+ * @param args arguments
+ */
+ public static void main(String[] args) {
+ DeserializationExample.main(args);
+ FactoryMethodExample.main(args);
+ BuilderExample.main(args);
+ }
+
+}
diff --git a/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/package-info.java b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/package-info.java
new file mode 100644
index 00000000000..9d61db35a2e
--- /dev/null
+++ b/examples/config/mapping/src/main/java/io/helidon/examples/config/mapping/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * The example shows how to use Config Mapping functionality.
+ */
+package io.helidon.examples.config.mapping;
diff --git a/examples/config/metadata/pom.xml b/examples/config/metadata/pom.xml
index b272ee5cb36..ec6b2ac9c3d 100644
--- a/examples/config/metadata/pom.xml
+++ b/examples/config/metadata/pom.xml
@@ -28,7 +28,7 @@
io.helidon.examples.confighelidon-examples-config-metadata
- Helidon Config Examples Metadata
+ Helidon Examples Config Metadata
This example shows possibilities with configuration metadata. To test this, add a configurable library on the classpath
@@ -36,7 +36,7 @@
- io.helidon.config.examples.metadata.ConfigMetadataMain
+ io.helidon.examples.config.metadata.ConfigMetadataMain
diff --git a/examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/package-info.java b/examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/package-info.java
deleted file mode 100644
index f25539377d9..00000000000
--- a/examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example of processing configuration metadata.
- */
-package io.helidon.config.examples.metadata;
diff --git a/examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/ConfigMetadataMain.java b/examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/ConfigMetadataMain.java
similarity index 92%
rename from examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/ConfigMetadataMain.java
rename to examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/ConfigMetadataMain.java
index 7af2100e166..a8db687f12d 100644
--- a/examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/ConfigMetadataMain.java
+++ b/examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/ConfigMetadataMain.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.metadata;
+package io.helidon.examples.config.metadata;
import java.io.IOException;
import java.io.InputStream;
@@ -28,7 +28,6 @@
import java.util.Set;
import java.util.stream.Collectors;
-import io.helidon.config.examples.metadata.ConfiguredType.ConfiguredProperty;
import io.helidon.config.metadata.ConfiguredOption;
import jakarta.json.Json;
@@ -100,10 +99,10 @@ private static void printType(ConfiguredType configuredType,
int nesting,
boolean listStart) {
String spaces = " ".repeat(nesting * 2);
- Set properties = configuredType.properties();
+ Set properties = configuredType.properties();
boolean isListStart = listStart;
- for (ConfiguredProperty property : properties) {
+ for (ConfiguredType.ConfiguredProperty property : properties) {
if (property.key() != null && property.key().contains(".*.")) {
// this is a nested key, must be resolved by the parent list node
continue;
@@ -124,8 +123,8 @@ private static void printType(ConfiguredType configuredType,
}
}
- private static void printProperty(ConfiguredProperty property,
- Set properties,
+ private static void printProperty(ConfiguredType.ConfiguredProperty property,
+ Set properties,
Map typesMap,
int nesting,
boolean listStart) {
@@ -168,7 +167,7 @@ private static void printProperty(ConfiguredProperty property,
}
}
- private static void printMapProperty(ConfiguredProperty property,
+ private static void printMapProperty(ConfiguredType.ConfiguredProperty property,
Map typesMap,
int nesting,
String spaces) {
@@ -185,8 +184,8 @@ private static void printMapProperty(ConfiguredProperty property,
}
}
- private static void printListProperty(ConfiguredProperty property,
- Set properties,
+ private static void printListProperty(ConfiguredType.ConfiguredProperty property,
+ Set properties,
Map typesMap,
int nesting,
String spaces) {
@@ -207,7 +206,7 @@ private static void printListProperty(ConfiguredProperty property,
}
}
- private static void listFromProvider(ConfiguredProperty property,
+ private static void listFromProvider(ConfiguredType.ConfiguredProperty property,
Map typesMap,
int nesting,
String spaces) {
@@ -236,7 +235,7 @@ private static void listFromProvider(ConfiguredProperty property,
}
}
- private static void fromProvider(ConfiguredProperty property,
+ private static void fromProvider(ConfiguredType.ConfiguredProperty property,
Map typesMap,
int nesting) {
String spaces = " ".repeat(nesting + 1);
@@ -267,15 +266,15 @@ private static void fromProvider(ConfiguredProperty property,
}
}
- private static void listFromTypes(ConfiguredProperty property,
- Set properties,
+ private static void listFromTypes(ConfiguredType.ConfiguredProperty property,
+ Set properties,
Map typesMap,
int nesting,
String spaces) {
// this may be a list defined in configuration itself (*)
String prefix = property.outputKey() + ".*.";
- Map children = new HashMap<>();
- for (ConfiguredProperty configuredProperty : properties) {
+ Map children = new HashMap<>();
+ for (ConfiguredType.ConfiguredProperty configuredProperty : properties) {
if (configuredProperty.outputKey().startsWith(prefix)) {
children.put(configuredProperty.outputKey().substring(prefix.length()), configuredProperty);
}
@@ -325,7 +324,7 @@ private static void listFromTypes(ConfiguredProperty property,
System.out.print(spaces + "- ");
boolean listStart = true;
for (var entry : children.entrySet()) {
- ConfiguredProperty element = entry.getValue();
+ ConfiguredType.ConfiguredProperty element = entry.getValue();
// we must modify the key
element.key(entry.getKey());
printProperty(element, properties, typesMap, nesting + 1, listStart);
@@ -334,7 +333,7 @@ private static void listFromTypes(ConfiguredProperty property,
}
}
- private static void printDocs(ConfiguredProperty property, String spaces, boolean firstLineNoSpaces) {
+ private static void printDocs(ConfiguredType.ConfiguredProperty property, String spaces, boolean firstLineNoSpaces) {
String description = property.description();
description = (description == null || description.isBlank()) ? null : description;
@@ -371,7 +370,7 @@ private static String output(TypedValue typed, String value) {
return value;
}
- private static void printAllowedValuesOrMissing(ConfiguredProperty property,
+ private static void printAllowedValuesOrMissing(ConfiguredType.ConfiguredProperty property,
Map typesMap,
int nesting, String spaces) {
if (property.provider()) {
@@ -405,7 +404,7 @@ private static void printAllowedValuesOrMissing(ConfiguredProperty property,
}
}
- private static String toTypedValue(ConfiguredProperty property,
+ private static String toTypedValue(ConfiguredType.ConfiguredProperty property,
TypedValue typed) {
String value = property.defaultValue();
diff --git a/examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/ConfiguredType.java b/examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/ConfiguredType.java
similarity index 99%
rename from examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/ConfiguredType.java
rename to examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/ConfiguredType.java
index bd4b552d823..19b92f83998 100644
--- a/examples/config/metadata/src/main/java/io/helidon/config/examples/metadata/ConfiguredType.java
+++ b/examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/ConfiguredType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.metadata;
+package io.helidon.examples.config.metadata;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/package-info.java b/examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/package-info.java
new file mode 100644
index 00000000000..3e85bb724db
--- /dev/null
+++ b/examples/config/metadata/src/main/java/io/helidon/examples/config/metadata/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example of processing configuration metadata.
+ */
+package io.helidon.examples.config.metadata;
diff --git a/examples/config/overrides/pom.xml b/examples/config/overrides/pom.xml
index 0a25bf6fd16..555aee2983f 100644
--- a/examples/config/overrides/pom.xml
+++ b/examples/config/overrides/pom.xml
@@ -28,14 +28,14 @@
io.helidon.examples.confighelidon-examples-config-overrides
- Helidon Config Examples Overrides
+ Helidon Examples Config Overrides
The example shows how to use Overrides in Configuration API.
- io.helidon.config.examples.overrides.Main
+ io.helidon.examples.config.overrides.Main
diff --git a/examples/config/overrides/src/main/java/io/helidon/config/examples/overrides/Main.java b/examples/config/overrides/src/main/java/io/helidon/config/examples/overrides/Main.java
deleted file mode 100644
index da17516844c..00000000000
--- a/examples/config/overrides/src/main/java/io/helidon/config/examples/overrides/Main.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2017, 2020 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.config.examples.overrides;
-
-import java.time.Duration;
-import java.util.concurrent.TimeUnit;
-
-import io.helidon.config.Config;
-import io.helidon.config.OverrideSources;
-
-import static io.helidon.config.ConfigSources.classpath;
-import static io.helidon.config.ConfigSources.file;
-import static io.helidon.config.PollingStrategies.regular;
-
-/**
- * Overrides example.
- *
- * Shows the Overrides feature where values from config sources might be overridden by override source.
- *
- * In this example, {@code application.yaml} is meant to be default application configuration distributed with an app, containing
- * a wildcard configuration nodes representing the defaults for every environment and pod as well as a default definition of
- * these values. The source {@code conf/priority-config.yaml} is a higher priority configuration source which can be in a real
- * app dynamically changed (i.e. {@code Kubernetes ConfigMap} mapped as the file) and contains the current {@code env} and {@code
- * pod} values ({@code prod} and {@code abcdef} in this example) and higher priority default configuration. So far the current
- * configuration looks like this:
- *
- * But the override source just overrides values for environment: {@code prod} and pod: {@code abcdef} (it is the first
- * overriding rule found) and value for key {@code prod.abcdef.logging.level = FINEST}. For completeness, we would say that the
- * other pods in {@code prod} environment has overridden config value {@code prod.*.logging.level} to {@code WARNING} and all
- * pods
- * {@code test.*.logging.level} to {@code FINE}.
- */
-public final class Main {
-
- private Main() {
- }
-
- /**
- * Executes the example.
- *
- * @param args arguments
- * @throws InterruptedException when a sleeper awakes
- */
- public static void main(String... args) throws InterruptedException {
- Config config = Config
- .builder()
- // specify config sources
- .sources(file("conf/priority-config.yaml").pollingStrategy(regular(Duration.ofSeconds(1))),
- classpath("application.yaml"))
- // specify overrides source
- .overrides(OverrideSources.file("conf/overrides.properties")
- .pollingStrategy(regular(Duration.ofSeconds(1))))
- .build();
-
- // Resolve current runtime context
- String env = config.get("env").asString().get();
- String pod = config.get("pod").asString().get();
-
- // get logging config for the current runtime
- Config loggingConfig = config
- .get(env)
- .get(pod)
- .get("logging");
-
- // initialize logging from config
- initLogging(loggingConfig);
-
- // react on changes of logging configuration
- loggingConfig.onChange(Main::initLogging);
-
- TimeUnit.MINUTES.sleep(1);
- }
-
- /**
- * Initialize logging from config.
- */
- private static void initLogging(Config loggingConfig) {
- String level = loggingConfig.get("level").asString().orElse("WARNING");
- //e.g. initialize logging using configured level...
-
- System.out.println("Set logging level to " + level + ".");
- }
-
-}
diff --git a/examples/config/overrides/src/main/java/io/helidon/config/examples/overrides/package-info.java b/examples/config/overrides/src/main/java/io/helidon/config/examples/overrides/package-info.java
deleted file mode 100644
index 2b2c9b4fbe1..00000000000
--- a/examples/config/overrides/src/main/java/io/helidon/config/examples/overrides/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * The example shows how to use Overrides in Configuration API.
- */
-package io.helidon.config.examples.overrides;
diff --git a/examples/config/overrides/src/main/java/io/helidon/examples/config/overrides/Main.java b/examples/config/overrides/src/main/java/io/helidon/examples/config/overrides/Main.java
new file mode 100644
index 00000000000..34a9c1679c6
--- /dev/null
+++ b/examples/config/overrides/src/main/java/io/helidon/examples/config/overrides/Main.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.config.overrides;
+
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
+import io.helidon.config.Config;
+import io.helidon.config.OverrideSources;
+
+import static io.helidon.config.ConfigSources.classpath;
+import static io.helidon.config.ConfigSources.file;
+import static io.helidon.config.PollingStrategies.regular;
+
+/**
+ * Overrides example.
+ *
+ * Shows the Overrides feature where values from config sources might be overridden by override source.
+ *
+ * In this example, {@code application.yaml} is meant to be default application configuration distributed with an app, containing
+ * a wildcard configuration nodes representing the defaults for every environment and pod as well as a default definition of
+ * these values. The source {@code conf/priority-config.yaml} is a higher priority configuration source which can be in a real
+ * app dynamically changed (i.e. {@code Kubernetes ConfigMap} mapped as the file) and contains the current {@code env} and {@code
+ * pod} values ({@code prod} and {@code abcdef} in this example) and higher priority default configuration. So far the current
+ * configuration looks like this:
+ *
+ * But the override source just overrides values for environment: {@code prod} and pod: {@code abcdef} (it is the first
+ * overriding rule found) and value for key {@code prod.abcdef.logging.level = FINEST}. For completeness, we would say that the
+ * other pods in {@code prod} environment has overridden config value {@code prod.*.logging.level} to {@code WARNING} and all
+ * pods
+ * {@code test.*.logging.level} to {@code FINE}.
+ */
+public final class Main {
+
+ private Main() {
+ }
+
+ /**
+ * Executes the example.
+ *
+ * @param args arguments
+ * @throws InterruptedException when a sleeper awakes
+ */
+ public static void main(String... args) throws InterruptedException {
+ Config config = Config
+ .builder()
+ // specify config sources
+ .sources(file("conf/priority-config.yaml").pollingStrategy(regular(Duration.ofSeconds(1))),
+ classpath("application.yaml"))
+ // specify overrides source
+ .overrides(OverrideSources.file("conf/overrides.properties")
+ .pollingStrategy(regular(Duration.ofSeconds(1))))
+ .build();
+
+ // Resolve current runtime context
+ String env = config.get("env").asString().get();
+ String pod = config.get("pod").asString().get();
+
+ // get logging config for the current runtime
+ Config loggingConfig = config
+ .get(env)
+ .get(pod)
+ .get("logging");
+
+ // initialize logging from config
+ initLogging(loggingConfig);
+
+ // react on changes of logging configuration
+ loggingConfig.onChange(Main::initLogging);
+
+ TimeUnit.MINUTES.sleep(1);
+ }
+
+ /**
+ * Initialize logging from config.
+ */
+ private static void initLogging(Config loggingConfig) {
+ String level = loggingConfig.get("level").asString().orElse("WARNING");
+ //e.g. initialize logging using configured level...
+
+ System.out.println("Set logging level to " + level + ".");
+ }
+
+}
diff --git a/examples/config/overrides/src/main/java/io/helidon/examples/config/overrides/package-info.java b/examples/config/overrides/src/main/java/io/helidon/examples/config/overrides/package-info.java
new file mode 100644
index 00000000000..52f2846cd81
--- /dev/null
+++ b/examples/config/overrides/src/main/java/io/helidon/examples/config/overrides/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * The example shows how to use Overrides in Configuration API.
+ */
+package io.helidon.examples.config.overrides;
diff --git a/examples/config/pom.xml b/examples/config/pom.xml
index e89017e1c87..a2b15bd79b4 100644
--- a/examples/config/pom.xml
+++ b/examples/config/pom.xml
@@ -28,7 +28,7 @@
io.helidon.examples.confighelidon-examples-config-projectpom
- Helidon Config Examples
+ Helidon Examples Configbasics
diff --git a/examples/config/profiles/pom.xml b/examples/config/profiles/pom.xml
index 69a8d7f46e6..b2830e4cba0 100644
--- a/examples/config/profiles/pom.xml
+++ b/examples/config/profiles/pom.xml
@@ -28,7 +28,7 @@
io.helidon.examples.confighelidon-examples-config-profiles
- Helidon Config Examples Profiles
+ Helidon Examples Config Profiles
The example shows how to use Config Profiles (meta configuration).
diff --git a/examples/config/sources/README.md b/examples/config/sources/README.md
index 27e20509842..65cb26ebb3c 100644
--- a/examples/config/sources/README.md
+++ b/examples/config/sources/README.md
@@ -3,15 +3,15 @@
This example shows how to load configuration from multiple
configuration sources.
-1. [`DirectorySourceExample.java`](./src/main/java/io/helidon/config/examples/sources/DirectorySourceExample.java)
+1. [`DirectorySourceExample.java`](src/main/java/io/helidon/examples/config/sources/DirectorySourceExample.java)
reads configuration from multiple files in a directory by specifying only the directory.
-2. [`LoadSourcesExample.java`](./src/main/java/io/helidon/config/examples/sources/LoadSourcesExample.java)
+2. [`LoadSourcesExample.java`](src/main/java/io/helidon/examples/config/sources/LoadSourcesExample.java)
uses _meta-configuration_ files [`conf/meta-config.yaml`](./conf/meta-config.yaml)
and [`src/main/resources/meta-config.yaml`](./src/main/resources/meta-config.yaml)
which contain not the configuration itself but
_instructions for loading_ the configuration: what type, from where, etc. It also
applies a filter to modify config values whose keys match a certain pattern.
-3. [`WithSourcesExample.java`](./src/main/java/io/helidon/config/examples/sources/WithSourcesExample.java)
+3. [`WithSourcesExample.java`](src/main/java/io/helidon/examples/config/sources/WithSourcesExample.java)
combines multiple config sources into a single configuration instance (and adds a
filter.
diff --git a/examples/config/sources/pom.xml b/examples/config/sources/pom.xml
index 212fc6dcaf4..61e59f19940 100644
--- a/examples/config/sources/pom.xml
+++ b/examples/config/sources/pom.xml
@@ -28,14 +28,14 @@
io.helidon.examples.confighelidon-examples-config-sources
- Helidon Config Examples Sources
+ Helidon Examples Config Sources
This example shows how to merge the configuration from different sources.
- io.helidon.config.examples.sources.Main
+ io.helidon.examples.config.sources.Main
diff --git a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/Main.java b/examples/config/sources/src/main/java/io/helidon/config/examples/sources/Main.java
deleted file mode 100644
index bea16ec6dec..00000000000
--- a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/Main.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.config.examples.sources;
-
-/**
- * Runs every example main class in this module/package.
- */
-public class Main {
-
- private Main() {
- }
-
- /**
- * Executes the example.
- *
- * @param args arguments
- */
- public static void main(String[] args) {
- WithSourcesExample.main(args);
- LoadSourcesExample.main(args);
- DirectorySourceExample.main(args);
- }
-
-}
diff --git a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/package-info.java b/examples/config/sources/src/main/java/io/helidon/config/examples/sources/package-info.java
deleted file mode 100644
index 44958945786..00000000000
--- a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * This example shows how to merge the configuration from different sources.
- */
-package io.helidon.config.examples.sources;
diff --git a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/DirectorySourceExample.java b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/DirectorySourceExample.java
similarity index 94%
rename from examples/config/sources/src/main/java/io/helidon/config/examples/sources/DirectorySourceExample.java
rename to examples/config/sources/src/main/java/io/helidon/examples/config/sources/DirectorySourceExample.java
index 6f469ac998f..cd54b0d4fde 100644
--- a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/DirectorySourceExample.java
+++ b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/DirectorySourceExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.sources;
+package io.helidon.examples.config.sources;
import io.helidon.config.Config;
diff --git a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/LoadSourcesExample.java b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/LoadSourcesExample.java
similarity index 96%
rename from examples/config/sources/src/main/java/io/helidon/config/examples/sources/LoadSourcesExample.java
rename to examples/config/sources/src/main/java/io/helidon/examples/config/sources/LoadSourcesExample.java
index ead744ce6a1..fec701180bd 100644
--- a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/LoadSourcesExample.java
+++ b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/LoadSourcesExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.sources;
+package io.helidon.examples.config.sources;
import io.helidon.config.Config;
import io.helidon.config.ConfigValue;
diff --git a/examples/config/sources/src/main/java/io/helidon/examples/config/sources/Main.java b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/Main.java
new file mode 100644
index 00000000000..a7a9aa19901
--- /dev/null
+++ b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/Main.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.config.sources;
+
+/**
+ * Runs every example main class in this module/package.
+ */
+public class Main {
+
+ private Main() {
+ }
+
+ /**
+ * Executes the example.
+ *
+ * @param args arguments
+ */
+ public static void main(String[] args) {
+ WithSourcesExample.main(args);
+ LoadSourcesExample.main(args);
+ DirectorySourceExample.main(args);
+ }
+
+}
diff --git a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/WithSourcesExample.java b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/WithSourcesExample.java
similarity index 96%
rename from examples/config/sources/src/main/java/io/helidon/config/examples/sources/WithSourcesExample.java
rename to examples/config/sources/src/main/java/io/helidon/examples/config/sources/WithSourcesExample.java
index 8de8a3aaaa9..1d214572e5e 100644
--- a/examples/config/sources/src/main/java/io/helidon/config/examples/sources/WithSourcesExample.java
+++ b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/WithSourcesExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.config.examples.sources;
+package io.helidon.examples.config.sources;
import io.helidon.config.Config;
import io.helidon.config.ConfigValue;
diff --git a/examples/config/sources/src/main/java/io/helidon/examples/config/sources/package-info.java b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/package-info.java
new file mode 100644
index 00000000000..aa3a06ec8d4
--- /dev/null
+++ b/examples/config/sources/src/main/java/io/helidon/examples/config/sources/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This example shows how to merge the configuration from different sources.
+ */
+package io.helidon.examples.config.sources;
diff --git a/examples/cors/pom.xml b/examples/cors/pom.xml
index 28a393ca0d5..3ad5fd2ecdf 100644
--- a/examples/cors/pom.xml
+++ b/examples/cors/pom.xml
@@ -28,7 +28,7 @@
io.helidon.exampleshelidon-examples-cors
- Helidon SE Examples CORS
+ Helidon Examples CORS SE
Basic illustration of CORS support in Helidon SE
@@ -54,28 +54,28 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
- io.helidon.nima.observe
- helidon-nima-observe-health
+ io.helidon.webserver.observe
+ helidon-webserver-observe-health
- io.helidon.nima.observe
- helidon-nima-observe-metrics
+ io.helidon.webserver.observe
+ helidon-webserver-observe-metricsio.helidon.confighelidon-config-yaml
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonpio.helidon.health
@@ -90,8 +90,8 @@
jakarta.json-api
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/cors/src/main/java/io/helidon/examples/cors/GreetService.java b/examples/cors/src/main/java/io/helidon/examples/cors/GreetService.java
index e01d300a2d3..8ade766ef23 100644
--- a/examples/cors/src/main/java/io/helidon/examples/cors/GreetService.java
+++ b/examples/cors/src/main/java/io/helidon/examples/cors/GreetService.java
@@ -18,12 +18,12 @@
import java.util.Collections;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.Json;
import jakarta.json.JsonBuilderFactory;
diff --git a/examples/cors/src/main/java/io/helidon/examples/cors/Main.java b/examples/cors/src/main/java/io/helidon/examples/cors/Main.java
index 273e73b42e0..133b5460acf 100644
--- a/examples/cors/src/main/java/io/helidon/examples/cors/Main.java
+++ b/examples/cors/src/main/java/io/helidon/examples/cors/Main.java
@@ -21,11 +21,11 @@
import io.helidon.config.Config;
import io.helidon.cors.CrossOriginConfig;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.cors.CorsSupport;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.cors.CorsSupport;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
/**
* Simple Hello World rest application.
diff --git a/examples/cors/src/main/resources/logging.properties b/examples/cors/src/main/resources/logging.properties
index c0b2db7febe..2c828e180b8 100644
--- a/examples/cors/src/main/resources/logging.properties
+++ b/examples/cors/src/main/resources/logging.properties
@@ -27,4 +27,4 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
.level=INFO
# Uncomment the following to see CORS-related decision-making
-# io.helidon.nima.webserver.cors.level=FINE
+# io.helidon.webserver.cors.level=FINE
diff --git a/examples/cors/src/test/java/io/helidon/examples/cors/MainTest.java b/examples/cors/src/test/java/io/helidon/examples/cors/MainTest.java
index d8938bf4789..ec46604b2a4 100644
--- a/examples/cors/src/test/java/io/helidon/examples/cors/MainTest.java
+++ b/examples/cors/src/test/java/io/helidon/examples/cors/MainTest.java
@@ -19,17 +19,17 @@
import java.util.List;
import java.util.Optional;
-import io.helidon.common.http.Headers;
-import io.helidon.common.http.WritableHeaders;
+import io.helidon.http.Headers;
+import io.helidon.http.WritableHeaders;
import io.helidon.common.media.type.MediaTypes;
import io.helidon.config.Config;
import io.helidon.cors.CrossOriginConfig;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientRequest;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientRequest;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.WebServerConfig;
import jakarta.json.JsonObject;
import org.junit.jupiter.api.MethodOrderer;
@@ -37,11 +37,11 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
-import static io.helidon.common.http.Http.HeaderNames.ACCESS_CONTROL_ALLOW_METHODS;
-import static io.helidon.common.http.Http.HeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN;
-import static io.helidon.common.http.Http.HeaderNames.ACCESS_CONTROL_REQUEST_METHOD;
-import static io.helidon.common.http.Http.HeaderNames.HOST;
-import static io.helidon.common.http.Http.HeaderNames.ORIGIN;
+import static io.helidon.http.Http.HeaderNames.ACCESS_CONTROL_ALLOW_METHODS;
+import static io.helidon.http.Http.HeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN;
+import static io.helidon.http.Http.HeaderNames.ACCESS_CONTROL_REQUEST_METHOD;
+import static io.helidon.http.Http.HeaderNames.HOST;
+import static io.helidon.http.Http.HeaderNames.ORIGIN;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.CoreMatchers.is;
diff --git a/examples/dbclient/common/pom.xml b/examples/dbclient/common/pom.xml
index 90e49b6a65c..70a72b2d4e9 100644
--- a/examples/dbclient/common/pom.xml
+++ b/examples/dbclient/common/pom.xml
@@ -34,16 +34,16 @@
helidon-dbclient
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonp
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonb
+ io.helidon.http.media
+ helidon-http-media-jsonb
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverjakarta.json
diff --git a/examples/dbclient/common/src/main/java/io/helidon/examples/dbclient/common/AbstractPokemonService.java b/examples/dbclient/common/src/main/java/io/helidon/examples/dbclient/common/AbstractPokemonService.java
index d8c7e6c6b14..43bce5f832c 100644
--- a/examples/dbclient/common/src/main/java/io/helidon/examples/dbclient/common/AbstractPokemonService.java
+++ b/examples/dbclient/common/src/main/java/io/helidon/examples/dbclient/common/AbstractPokemonService.java
@@ -15,15 +15,15 @@
*/
package io.helidon.examples.dbclient.common;
-import io.helidon.common.http.NotFoundException;
import io.helidon.common.parameters.Parameters;
import io.helidon.dbclient.DbClient;
import io.helidon.dbclient.DbTransaction;
-import io.helidon.nima.webserver.http.Handler;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.NotFoundException;
+import io.helidon.webserver.http.Handler;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.JsonObject;
diff --git a/examples/dbclient/jdbc/pom.xml b/examples/dbclient/jdbc/pom.xml
index 3acefe58c4c..7dd7574bf34 100644
--- a/examples/dbclient/jdbc/pom.xml
+++ b/examples/dbclient/jdbc/pom.xml
@@ -89,16 +89,16 @@
slf4j-jdk14
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonb
+ io.helidon.http.media
+ helidon-http-media-jsonb
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
- io.helidon.nima.webserver
- helidon-nima-webserver-tracing
+ io.helidon.webserver
+ helidon-webserver-tracingio.helidon.config
diff --git a/examples/dbclient/jdbc/src/main/java/io/helidon/examples/dbclient/jdbc/JdbcExampleMain.java b/examples/dbclient/jdbc/src/main/java/io/helidon/examples/dbclient/jdbc/JdbcExampleMain.java
index 203a6a68d90..9e50ea2b0b2 100644
--- a/examples/dbclient/jdbc/src/main/java/io/helidon/examples/dbclient/jdbc/JdbcExampleMain.java
+++ b/examples/dbclient/jdbc/src/main/java/io/helidon/examples/dbclient/jdbc/JdbcExampleMain.java
@@ -19,11 +19,11 @@
import io.helidon.config.Config;
import io.helidon.dbclient.DbClient;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
-import io.helidon.nima.webserver.tracing.TracingFeature;
import io.helidon.tracing.TracerBuilder;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
+import io.helidon.webserver.tracing.TracingFeature;
/**
* Simple Hello World rest application.
diff --git a/examples/dbclient/jdbc/src/main/java/io/helidon/examples/dbclient/jdbc/PokemonService.java b/examples/dbclient/jdbc/src/main/java/io/helidon/examples/dbclient/jdbc/PokemonService.java
index e2409afeada..743357ebbef 100644
--- a/examples/dbclient/jdbc/src/main/java/io/helidon/examples/dbclient/jdbc/PokemonService.java
+++ b/examples/dbclient/jdbc/src/main/java/io/helidon/examples/dbclient/jdbc/PokemonService.java
@@ -18,8 +18,8 @@
import io.helidon.dbclient.DbClient;
import io.helidon.examples.dbclient.common.AbstractPokemonService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
/**
* Example service using a database.
diff --git a/examples/dbclient/jdbc/src/main/resources/logging.properties b/examples/dbclient/jdbc/src/main/resources/logging.properties
index 3d8fb0008b0..28d23fd6c57 100644
--- a/examples/dbclient/jdbc/src/main/resources/logging.properties
+++ b/examples/dbclient/jdbc/src/main/resources/logging.properties
@@ -29,7 +29,7 @@ io.helidon.logging.jul.HelidonConsoleHandler.level=ALL
java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$s %3$s !thread!: %5$s%6$s%n
#Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.common.level=INFO
diff --git a/examples/dbclient/mongodb/pom.xml b/examples/dbclient/mongodb/pom.xml
index e72852f4644..6ca819a5a56 100644
--- a/examples/dbclient/mongodb/pom.xml
+++ b/examples/dbclient/mongodb/pom.xml
@@ -63,16 +63,16 @@
helidon-dbclient-jsonp
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
- io.helidon.nima.webserver
- helidon-nima-webserver-tracing
+ io.helidon.webserver
+ helidon-webserver-tracingio.helidon.metrics
diff --git a/examples/dbclient/mongodb/src/main/java/io/helidon/examples/dbclient/mongo/MongoDbExampleMain.java b/examples/dbclient/mongodb/src/main/java/io/helidon/examples/dbclient/mongo/MongoDbExampleMain.java
index 571a3913c4a..a34aca81009 100644
--- a/examples/dbclient/mongodb/src/main/java/io/helidon/examples/dbclient/mongo/MongoDbExampleMain.java
+++ b/examples/dbclient/mongodb/src/main/java/io/helidon/examples/dbclient/mongo/MongoDbExampleMain.java
@@ -22,12 +22,12 @@
import io.helidon.dbclient.metrics.DbClientMetrics;
import io.helidon.dbclient.tracing.DbClientTracing;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
-import io.helidon.nima.webserver.tracing.TracingFeature;
import io.helidon.tracing.Tracer;
import io.helidon.tracing.TracerBuilder;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
+import io.helidon.webserver.tracing.TracingFeature;
/**
* Simple Hello World rest application.
diff --git a/examples/dbclient/mongodb/src/main/java/io/helidon/examples/dbclient/mongo/PokemonService.java b/examples/dbclient/mongodb/src/main/java/io/helidon/examples/dbclient/mongo/PokemonService.java
index e66e3821683..ee286ff8c94 100644
--- a/examples/dbclient/mongodb/src/main/java/io/helidon/examples/dbclient/mongo/PokemonService.java
+++ b/examples/dbclient/mongodb/src/main/java/io/helidon/examples/dbclient/mongo/PokemonService.java
@@ -18,8 +18,8 @@
import io.helidon.dbclient.DbClient;
import io.helidon.examples.dbclient.common.AbstractPokemonService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
/**
* A simple service to greet you. Examples:
diff --git a/examples/dbclient/mongodb/src/main/resources/logging.properties b/examples/dbclient/mongodb/src/main/resources/logging.properties
index 3d8fb0008b0..28d23fd6c57 100644
--- a/examples/dbclient/mongodb/src/main/resources/logging.properties
+++ b/examples/dbclient/mongodb/src/main/resources/logging.properties
@@ -29,7 +29,7 @@ io.helidon.logging.jul.HelidonConsoleHandler.level=ALL
java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$s %3$s !thread!: %5$s%6$s%n
#Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.common.level=INFO
diff --git a/examples/dbclient/pokemons/pom.xml b/examples/dbclient/pokemons/pom.xml
index 83b00a01f62..27c8349710c 100644
--- a/examples/dbclient/pokemons/pom.xml
+++ b/examples/dbclient/pokemons/pom.xml
@@ -101,12 +101,12 @@
runtime
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
diff --git a/examples/dbclient/pokemons/src/main/java/io/helidon/examples/dbclient/pokemons/PokemonMain.java b/examples/dbclient/pokemons/src/main/java/io/helidon/examples/dbclient/pokemons/PokemonMain.java
index 6de364d73cb..85c14f9f194 100644
--- a/examples/dbclient/pokemons/src/main/java/io/helidon/examples/dbclient/pokemons/PokemonMain.java
+++ b/examples/dbclient/pokemons/src/main/java/io/helidon/examples/dbclient/pokemons/PokemonMain.java
@@ -20,9 +20,9 @@
import io.helidon.config.ConfigSources;
import io.helidon.dbclient.DbClient;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
/**
* Simple Hello World rest application.
diff --git a/examples/dbclient/pokemons/src/main/java/io/helidon/examples/dbclient/pokemons/PokemonService.java b/examples/dbclient/pokemons/src/main/java/io/helidon/examples/dbclient/pokemons/PokemonService.java
index 69229dfde43..6500e20f692 100644
--- a/examples/dbclient/pokemons/src/main/java/io/helidon/examples/dbclient/pokemons/PokemonService.java
+++ b/examples/dbclient/pokemons/src/main/java/io/helidon/examples/dbclient/pokemons/PokemonService.java
@@ -18,15 +18,15 @@
import java.util.Map;
-import io.helidon.common.http.BadRequestException;
-import io.helidon.common.http.NotFoundException;
import io.helidon.common.media.type.MediaTypes;
import io.helidon.dbclient.DbClient;
-import io.helidon.nima.webserver.http.Handler;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.BadRequestException;
+import io.helidon.http.NotFoundException;
+import io.helidon.webserver.http.Handler;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.Json;
import jakarta.json.JsonArray;
diff --git a/examples/dbclient/pokemons/src/main/resources/logging.properties b/examples/dbclient/pokemons/src/main/resources/logging.properties
index 3d8fb0008b0..28d23fd6c57 100644
--- a/examples/dbclient/pokemons/src/main/resources/logging.properties
+++ b/examples/dbclient/pokemons/src/main/resources/logging.properties
@@ -29,7 +29,7 @@ io.helidon.logging.jul.HelidonConsoleHandler.level=ALL
java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$s %3$s !thread!: %5$s%6$s%n
#Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.common.level=INFO
diff --git a/examples/employee-app/pom.xml b/examples/employee-app/pom.xml
index 7b9b4d47d73..4681ef2bbdd 100644
--- a/examples/employee-app/pom.xml
+++ b/examples/employee-app/pom.xml
@@ -33,7 +33,7 @@
Helidon Examples Employee App
- io.helidon.service.employee.Main
+ io.helidon.examples.employee.Main
@@ -43,20 +43,20 @@
pom
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
- io.helidon.nima.webserver
- helidon-nima-webserver-static-content
+ io.helidon.webserver
+ helidon-webserver-static-content
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonb
+ io.helidon.http.media
+ helidon-http-media-jsonbio.helidon.config
@@ -79,8 +79,8 @@
helidon-dbclient-jdbc
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/employee-app/src/main/java/io/helidon/service/employee/Employee.java b/examples/employee-app/src/main/java/io/helidon/examples/employee/Employee.java
similarity index 97%
rename from examples/employee-app/src/main/java/io/helidon/service/employee/Employee.java
rename to examples/employee-app/src/main/java/io/helidon/examples/employee/Employee.java
index 8f3a09eb7e9..f61e587defb 100644
--- a/examples/employee-app/src/main/java/io/helidon/service/employee/Employee.java
+++ b/examples/employee-app/src/main/java/io/helidon/examples/employee/Employee.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.service.employee;
+package io.helidon.examples.employee;
import java.util.UUID;
diff --git a/examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepository.java b/examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepository.java
similarity index 98%
rename from examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepository.java
rename to examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepository.java
index 637f1940467..b53cef37ed2 100644
--- a/examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepository.java
+++ b/examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepository.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.service.employee;
+package io.helidon.examples.employee;
import java.util.List;
import java.util.Optional;
diff --git a/examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepositoryImpl.java b/examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepositoryImpl.java
similarity index 99%
rename from examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepositoryImpl.java
rename to examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepositoryImpl.java
index ee4a4ed3d62..e5641fc5852 100644
--- a/examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepositoryImpl.java
+++ b/examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepositoryImpl.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.service.employee;
+package io.helidon.examples.employee;
import java.io.InputStream;
import java.util.Arrays;
diff --git a/examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepositoryImplDB.java b/examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepositoryImplDB.java
similarity index 99%
rename from examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepositoryImplDB.java
rename to examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepositoryImplDB.java
index 4ec8fe82ce0..17c0c6caeb6 100644
--- a/examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeRepositoryImplDB.java
+++ b/examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeRepositoryImplDB.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.service.employee;
+package io.helidon.examples.employee;
import java.util.List;
import java.util.Optional;
diff --git a/examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeService.java b/examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeService.java
similarity index 96%
rename from examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeService.java
rename to examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeService.java
index a04411a98dc..ff2f01cf5df 100644
--- a/examples/employee-app/src/main/java/io/helidon/service/employee/EmployeeService.java
+++ b/examples/employee-app/src/main/java/io/helidon/examples/employee/EmployeeService.java
@@ -13,17 +13,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.service.employee;
+package io.helidon.examples.employee;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
import io.helidon.config.Config;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
/**
* The Employee service endpoints.
diff --git a/examples/employee-app/src/main/java/io/helidon/examples/employee/Main.java b/examples/employee-app/src/main/java/io/helidon/examples/employee/Main.java
new file mode 100644
index 00000000000..3a90cdd89de
--- /dev/null
+++ b/examples/employee-app/src/main/java/io/helidon/examples/employee/Main.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.employee;
+
+import io.helidon.config.Config;
+import io.helidon.logging.common.LogConfig;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
+import io.helidon.webserver.staticcontent.StaticContentService;
+
+/**
+ * Simple Employee rest application.
+ */
+public final class Main {
+
+ /**
+ * Cannot be instantiated.
+ */
+ private Main() {
+ }
+
+ /**
+ * Application main entry point.
+ *
+ * @param args command line arguments.
+ */
+ public static void main(final String[] args) {
+ WebServerConfig.Builder builder = WebServer.builder();
+ setup(builder);
+ WebServer server = builder.build().start();
+ System.out.printf("""
+ WEB server is up!
+ Web client at: http://localhost:%1$d/public/index.html
+ """, server.port());
+ }
+
+ /**
+ * Set up the server.
+ *
+ * @param server server builder
+ */
+ static void setup(WebServerConfig.Builder server) {
+
+ // load logging configuration
+ LogConfig.configureRuntime();
+
+ // By default, this will pick up application.yaml from the classpath
+ Config config = Config.create();
+
+ // Get webserver config from the "server" section of application.yaml and JSON support registration
+ server.config(config.get("server"))
+ .routing(r -> routing(r, config));
+ }
+
+ /**
+ * Setup routing.
+ *
+ * @param routing routing builder
+ * @param config configuration of this server
+ */
+ static void routing(HttpRouting.Builder routing, Config config) {
+ routing.addFeature(ObserveFeature.create())
+ .register("/public", StaticContentService.builder("public")
+ .welcomeFileName("index.html"))
+ .register("/employees", new EmployeeService(config));
+ }
+
+}
diff --git a/examples/employee-app/src/main/java/io/helidon/examples/employee/package-info.java b/examples/employee-app/src/main/java/io/helidon/examples/employee/package-info.java
new file mode 100644
index 00000000000..af67b8932d8
--- /dev/null
+++ b/examples/employee-app/src/main/java/io/helidon/examples/employee/package-info.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Employee example application
+ *
+ * Start with {@link io.helidon.examples.employee.Main} class.
+ *
+ * @see io.helidon.examples.employee.Main
+ */
+package io.helidon.examples.employee;
diff --git a/examples/employee-app/src/main/java/io/helidon/service/employee/Main.java b/examples/employee-app/src/main/java/io/helidon/service/employee/Main.java
deleted file mode 100644
index 48bfd7b2fde..00000000000
--- a/examples/employee-app/src/main/java/io/helidon/service/employee/Main.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.service.employee;
-
-import io.helidon.config.Config;
-import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.http.HttpRouting;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
-
-/**
- * Simple Employee rest application.
- */
-public final class Main {
-
- /**
- * Cannot be instantiated.
- */
- private Main() {
- }
-
- /**
- * Application main entry point.
- *
- * @param args command line arguments.
- */
- public static void main(final String[] args) {
- WebServerConfig.Builder builder = WebServer.builder();
- setup(builder);
- WebServer server = builder.build().start();
- System.out.printf("""
- WEB server is up!
- Web client at: http://localhost:%1$d/public/index.html
- """, server.port());
- }
-
- /**
- * Set up the server.
- *
- * @param server server builder
- */
- static void setup(WebServerConfig.Builder server) {
-
- // load logging configuration
- LogConfig.configureRuntime();
-
- // By default, this will pick up application.yaml from the classpath
- Config config = Config.create();
-
- // Get webserver config from the "server" section of application.yaml and JSON support registration
- server.config(config.get("server"))
- .routing(r -> routing(r, config));
- }
-
- /**
- * Setup routing.
- *
- * @param routing routing builder
- * @param config configuration of this server
- */
- static void routing(HttpRouting.Builder routing, Config config) {
- routing.addFeature(ObserveFeature.create())
- .register("/public", StaticContentService.builder("public")
- .welcomeFileName("index.html"))
- .register("/employees", new EmployeeService(config));
- }
-
-}
diff --git a/examples/employee-app/src/main/java/io/helidon/service/employee/package-info.java b/examples/employee-app/src/main/java/io/helidon/service/employee/package-info.java
deleted file mode 100644
index addc5ad6ce2..00000000000
--- a/examples/employee-app/src/main/java/io/helidon/service/employee/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Employee example application
- *
- * Start with {@link io.helidon.service.employee.Main} class.
- *
- * @see io.helidon.service.employee.Main
- */
-package io.helidon.service.employee;
diff --git a/examples/employee-app/src/main/resources/logging.properties b/examples/employee-app/src/main/resources/logging.properties
index a83e9d0bce6..57a34e4663c 100644
--- a/examples/employee-app/src/main/resources/logging.properties
+++ b/examples/employee-app/src/main/resources/logging.properties
@@ -27,7 +27,7 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
.level=INFO
# Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.common.level=INFO
diff --git a/examples/employee-app/src/test/java/io/helidon/examples/employee/MainTest.java b/examples/employee-app/src/test/java/io/helidon/examples/employee/MainTest.java
new file mode 100644
index 00000000000..dcdd81d267a
--- /dev/null
+++ b/examples/employee-app/src/test/java/io/helidon/examples/employee/MainTest.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.employee;
+
+import io.helidon.http.Http;
+import io.helidon.config.Config;
+import io.helidon.webserver.testing.junit5.DirectClient;
+import io.helidon.webserver.testing.junit5.RoutingTest;
+import io.helidon.webserver.testing.junit5.SetUpRoute;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.http.HttpRouting;
+
+import jakarta.json.JsonArray;
+import org.junit.jupiter.api.Test;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+@RoutingTest
+public class MainTest {
+
+ private final DirectClient client;
+
+ public MainTest(DirectClient client) {
+ this.client = client;
+ }
+
+ @SetUpRoute
+ public static void setup(HttpRouting.Builder routing) {
+ Main.routing(routing, Config.empty());
+ }
+
+ @Test
+ public void testEmployees() {
+ try (Http1ClientResponse response = client.get("/employees")
+ .request()) {
+ assertThat("HTTP response2", response.status(), is(Http.Status.OK_200));
+ assertThat(response.as(JsonArray.class).size(), is(40));
+ }
+ }
+
+}
diff --git a/examples/employee-app/src/test/java/io/helidon/service/employee/MainTest.java b/examples/employee-app/src/test/java/io/helidon/service/employee/MainTest.java
deleted file mode 100644
index 9ad87157e00..00000000000
--- a/examples/employee-app/src/test/java/io/helidon/service/employee/MainTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.service.employee;
-
-import io.helidon.common.http.Http;
-import io.helidon.config.Config;
-import io.helidon.nima.testing.junit5.webserver.DirectClient;
-import io.helidon.nima.testing.junit5.webserver.RoutingTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpRoute;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.http.HttpRouting;
-
-import jakarta.json.JsonArray;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-@RoutingTest
-public class MainTest {
-
- private final DirectClient client;
-
- public MainTest(DirectClient client) {
- this.client = client;
- }
-
- @SetUpRoute
- public static void setup(HttpRouting.Builder routing) {
- Main.routing(routing, Config.empty());
- }
-
- @Test
- public void testEmployees() {
- try (Http1ClientResponse response = client.get("/employees")
- .request()) {
- assertThat("HTTP response2", response.status(), is(Http.Status.OK_200));
- assertThat(response.as(JsonArray.class).size(), is(40));
- }
- }
-
-}
diff --git a/examples/fault-tolerance/pom.xml b/examples/fault-tolerance/pom.xml
new file mode 100644
index 00000000000..3e591e75fcd
--- /dev/null
+++ b/examples/fault-tolerance/pom.xml
@@ -0,0 +1,138 @@
+
+
+
+ 4.0.0
+
+ io.helidon.applications
+ helidon-se
+ 4.0.0-SNAPSHOT
+ ../../applications/se/pom.xml
+
+
+ io.helidon.examples
+ helidon-examples-fault-tolerance
+ Helidon Examples Fault Tolerance
+
+
+ io.helidon.Main
+
+
+
+
+ io.helidon
+ helidon
+
+
+ io.helidon.webserver
+ helidon-webserver
+
+
+ io.helidon.webclient
+ helidon-webclient
+
+
+ io.helidon.inject
+ helidon-inject-api
+
+
+ io.helidon.inject
+ helidon-inject-runtime
+
+
+ io.helidon.inject.configdriven
+ helidon-inject-configdriven-runtime
+
+
+ io.helidon.config
+ helidon-config-yaml
+
+
+ io.helidon.fault-tolerance
+ helidon-fault-tolerance
+
+
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.hamcrest
+ hamcrest-all
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ true
+
+
+ io.helidon.inject
+ helidon-inject-processor
+ ${helidon.version}
+
+
+ io.helidon.http
+ helidon-http-processor
+ ${helidon.version}
+
+
+ io.helidon.fault-tolerance
+ helidon-fault-tolerance-processor
+ ${helidon.version}
+
+
+
+ -Aio.helidon.inject.autoAddNonContractInterfaces=true
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-libs
+
+
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+
+
+
+ integration-test
+ verify
+
+
+
+
+
+
+
diff --git a/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/AdminEndpoint.java b/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/AdminEndpoint.java
similarity index 90%
rename from examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/AdminEndpoint.java
rename to examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/AdminEndpoint.java
index a1430d70985..2e15380bcd9 100644
--- a/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/AdminEndpoint.java
+++ b/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/AdminEndpoint.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package io.helidon.examples.nima.faulttolerance;
+package io.helidon.examples.faulttolerance;
-import io.helidon.common.http.Endpoint;
+import io.helidon.http.Endpoint;
import jakarta.inject.Singleton;
diff --git a/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/GreetEndpoint.java b/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/GreetEndpoint.java
similarity index 92%
rename from examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/GreetEndpoint.java
rename to examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/GreetEndpoint.java
index 407481f791c..a1b70348d18 100644
--- a/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/GreetEndpoint.java
+++ b/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/GreetEndpoint.java
@@ -14,14 +14,14 @@
* limitations under the License.
*/
-package io.helidon.examples.nima.faulttolerance;
+package io.helidon.examples.faulttolerance;
import java.time.temporal.ChronoUnit;
-import io.helidon.common.http.Endpoint;
-import io.helidon.common.http.Http;
+import io.helidon.faulttolerance.FaultTolerance;
+import io.helidon.http.Endpoint;
+import io.helidon.http.Http;
import io.helidon.inject.api.InjectionException;
-import io.helidon.nima.faulttolerance.FaultTolerance;
import jakarta.inject.Singleton;
diff --git a/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/PlatformExecutorProvider.java b/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/PlatformExecutorProvider.java
similarity index 88%
rename from examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/PlatformExecutorProvider.java
rename to examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/PlatformExecutorProvider.java
index c1bb400f30f..f463a5f404d 100644
--- a/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/PlatformExecutorProvider.java
+++ b/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/PlatformExecutorProvider.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.examples.nima.faulttolerance;
+package io.helidon.examples.faulttolerance;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -27,8 +27,7 @@
import jakarta.inject.Singleton;
/**
- * This service will be part of Níma on Injection module.
- * It may use Injection to get config sources exposed through injection.
+ * Injection provider that provides a "platform" executor.
*/
@Singleton
@Named("platform-executor")
diff --git a/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/package-info.java b/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/package-info.java
new file mode 100644
index 00000000000..62bb56cb0ff
--- /dev/null
+++ b/examples/fault-tolerance/src/main/java/io/helidon/examples/faulttolerance/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example showing usage of HTTP endpoints with Fault Tolerance annotations.
+ */
+package io.helidon.examples.faulttolerance;
diff --git a/examples/nima/fault-tolerance/src/main/resources/application.yaml b/examples/fault-tolerance/src/main/resources/application.yaml
similarity index 100%
rename from examples/nima/fault-tolerance/src/main/resources/application.yaml
rename to examples/fault-tolerance/src/main/resources/application.yaml
diff --git a/examples/nima/fault-tolerance/src/main/resources/logging.properties b/examples/fault-tolerance/src/main/resources/logging.properties
similarity index 100%
rename from examples/nima/fault-tolerance/src/main/resources/logging.properties
rename to examples/fault-tolerance/src/main/resources/logging.properties
diff --git a/examples/fault-tolerance/src/test/java/io/helidon/examples/faulttolerance/FaultToleranceTest.java b/examples/fault-tolerance/src/test/java/io/helidon/examples/faulttolerance/FaultToleranceTest.java
new file mode 100644
index 00000000000..f1f7efe19c8
--- /dev/null
+++ b/examples/fault-tolerance/src/test/java/io/helidon/examples/faulttolerance/FaultToleranceTest.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.faulttolerance;
+
+import io.helidon.Main;
+import io.helidon.http.Http;
+import io.helidon.inject.api.InjectionServices;
+import io.helidon.webclient.api.ClientResponseTyped;
+import io.helidon.webclient.api.WebClient;
+import io.helidon.webserver.WebServer;
+
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.fail;
+
+class FaultToleranceTest {
+ private static WebClient webClient;
+ private static WebClient adminWebClient;
+
+ @BeforeAll
+ static void init() {
+ Main.main(new String[0]);
+ WebServer webServer = InjectionServices.realizedServices()
+ .lookup(WebServer.class)
+ .get();
+
+ if (!webServer.isRunning()) {
+ fail("Webserver should be running, but is shut down");
+ }
+
+ webClient = WebClient.builder()
+ .baseUri("http://localhost:" + webServer.port())
+ .build();
+
+ adminWebClient = WebClient.builder()
+ .baseUri("http://localhost:" + webServer.port("admin"))
+ .build();
+ }
+
+ @AfterAll
+ static void shutDown() {
+ InjectionServices.injectionServices()
+ .map(InjectionServices::shutdown);
+ }
+
+ @Test
+ void testAdminEndpointIsOnAdminSocket() {
+ String response = adminWebClient.get("/admin")
+ .requestEntity(String.class);
+
+ assertThat(response, startsWith("This is the admin endpoint"));
+ }
+
+ @Test
+ void testAdminEndpointIsNotOnDefaultSocket() {
+ ClientResponseTyped response = webClient.get("/admin")
+ .request(String.class);
+ assertThat(response.entity(), response.status(), is(Http.Status.NOT_FOUND_404));
+ }
+
+ @Test
+ void testGreetSimple() {
+ String response = webClient.get("/greet")
+ .requestEntity(String.class);
+ assertThat(response, is("Hello World!"));
+ }
+
+ @Test
+ void testGreetNamed() {
+ String response = webClient.get("/greet/helidon")
+ .requestEntity(String.class);
+
+ assertThat(response, startsWith("Hello helidon! Requested host: localhost:"));
+ }
+
+ @Test
+ void testGreetNamedFallback() {
+ String response = webClient.get("/greet/helidon")
+ .queryParam("throw", "true")
+ .requestEntity(String.class);
+
+ assertThat(response, startsWith("Fallback for"));
+ }
+}
diff --git a/examples/graphql/basics/pom.xml b/examples/graphql/basics/pom.xml
index 49df218c469..1e5be437a38 100644
--- a/examples/graphql/basics/pom.xml
+++ b/examples/graphql/basics/pom.xml
@@ -27,7 +27,7 @@
io.helidon.examples.graphqlhelidon-examples-graphql-basics
- Helidon GraphQL Examples Basics
+ Helidon Examples GraphQL Basics
Basic usage of GraphQL in helidon SE
@@ -39,12 +39,12 @@
- io.helidon.nima.graphql
- helidon-nima-graphql-server
+ io.helidon.webserver
+ helidon-webserver-graphql
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.common
diff --git a/examples/graphql/basics/src/main/java/io/helidon/examples/graphql/basics/Main.java b/examples/graphql/basics/src/main/java/io/helidon/examples/graphql/basics/Main.java
index 888f26d59cd..ba5911e61ab 100644
--- a/examples/graphql/basics/src/main/java/io/helidon/examples/graphql/basics/Main.java
+++ b/examples/graphql/basics/src/main/java/io/helidon/examples/graphql/basics/Main.java
@@ -18,8 +18,8 @@
import java.util.List;
-import io.helidon.nima.graphql.server.GraphQlService;
-import io.helidon.nima.webserver.WebServer;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.graphql.GraphQlService;
import graphql.schema.DataFetcher;
import graphql.schema.GraphQLSchema;
diff --git a/examples/graphql/pom.xml b/examples/graphql/pom.xml
index 063f00f798a..3926f2a7ecf 100644
--- a/examples/graphql/pom.xml
+++ b/examples/graphql/pom.xml
@@ -27,7 +27,7 @@
io.helidon.examples.graphqlhelidon-examples-graphql-projectpom
- Helidon GraphQL Examples
+ Helidon Examples GraphQLbasics
diff --git a/examples/health/basics/pom.xml b/examples/health/basics/pom.xml
index 36414b3ff33..7e35f8ddff9 100644
--- a/examples/health/basics/pom.xml
+++ b/examples/health/basics/pom.xml
@@ -27,7 +27,7 @@
io.helidon.examples.healthhelidon-examples-health-basics
- Helidon Health Examples Basics
+ Helidon Examples Health Basics
Basic usage of health checks in helidon SE
@@ -39,12 +39,12 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.observe
- helidon-nima-observe-health
+ io.helidon.webserver.observe
+ helidon-webserver-observe-healthio.helidon.health
diff --git a/examples/health/basics/src/main/java/io/helidon/examples/health/basics/Main.java b/examples/health/basics/src/main/java/io/helidon/examples/health/basics/Main.java
index 4638bf1916d..55b055ca933 100644
--- a/examples/health/basics/src/main/java/io/helidon/examples/health/basics/Main.java
+++ b/examples/health/basics/src/main/java/io/helidon/examples/health/basics/Main.java
@@ -20,11 +20,11 @@
import io.helidon.health.HealthCheckResponse;
import io.helidon.health.HealthCheckType;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.observe.health.HealthFeature;
-import io.helidon.nima.observe.health.HealthObserveProvider;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
+import io.helidon.webserver.observe.health.HealthFeature;
+import io.helidon.webserver.observe.health.HealthObserveProvider;
/**
* Main class of health check integration example.
diff --git a/examples/health/pom.xml b/examples/health/pom.xml
index 31312e2e598..7ad1008c435 100644
--- a/examples/health/pom.xml
+++ b/examples/health/pom.xml
@@ -27,7 +27,7 @@
io.helidon.examples.healthhelidon-examples-health-projectpom
- Helidon Health Examples
+ Helidon Examples Healthbasics
diff --git a/examples/inject/README.md b/examples/inject/README.md
index 19ad7bd4504..081854eeae7 100644
--- a/examples/inject/README.md
+++ b/examples/inject/README.md
@@ -1,5 +1,5 @@
-# Helidon Injection Examples
+# Helidon Examples Injection
Each subdirectory contains example code that highlights specific aspects of
Helidon Injection.
diff --git a/examples/inject/application/pom.xml b/examples/inject/application/pom.xml
index 5d01aa58162..ffb98f326a9 100644
--- a/examples/inject/application/pom.xml
+++ b/examples/inject/application/pom.xml
@@ -22,13 +22,13 @@
4.0.0io.helidon.applications
- helidon-nima
+ helidon-se4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
+ ../../../applications/se/pom.xmlio.helidon.examples.injecthelidon-examples-inject-application
- Helidon Injection Examples Application
+ Helidon Examples Injection Application
Example usages of an Injection Application.
diff --git a/examples/inject/basics/pom.xml b/examples/inject/basics/pom.xml
index 779dd882c98..2f29aa24431 100644
--- a/examples/inject/basics/pom.xml
+++ b/examples/inject/basics/pom.xml
@@ -22,13 +22,13 @@
4.0.0io.helidon.applications
- helidon-nima
+ helidon-se4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
+ ../../../applications/se/pom.xmlio.helidon.examples.injecthelidon-examples-inject-basics
- Helidon Injection Examples Basics
+ Helidon Examples Injection Basics
Examples of programmatic and declarative usages of Injection.
diff --git a/examples/inject/configdriven/pom.xml b/examples/inject/configdriven/pom.xml
index bdfa4cb820e..221e6ff69e3 100644
--- a/examples/inject/configdriven/pom.xml
+++ b/examples/inject/configdriven/pom.xml
@@ -22,13 +22,13 @@
4.0.0io.helidon.applications
- helidon-nima
+ helidon-se4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
+ ../../../applications/se/pom.xmlio.helidon.examples.injecthelidon-examples-inject-configdriven
- Helidon Injection Examples Config-Driven
+ Helidon Examples Injection Config-Driven
Examples of Config-driven services in Injection.
diff --git a/examples/inject/interceptors/pom.xml b/examples/inject/interceptors/pom.xml
index c3ae8a9321c..bc7515345de 100644
--- a/examples/inject/interceptors/pom.xml
+++ b/examples/inject/interceptors/pom.xml
@@ -22,13 +22,13 @@
4.0.0io.helidon.applications
- helidon-nima
+ helidon-se4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
+ ../../../applications/se/pom.xmlio.helidon.examples.injecthelidon-examples-inject-interceptors
- Helidon Injection Examples Interceptors
+ Helidon Examples Injection Interceptors
Example usages of Injection in Interceptors.
diff --git a/examples/inject/pom.xml b/examples/inject/pom.xml
index 78b789a3ac9..07ee8d010c7 100644
--- a/examples/inject/pom.xml
+++ b/examples/inject/pom.xml
@@ -28,7 +28,7 @@
io.helidon.examples.injecthelidon-examples-inject-projectpom
- Helidon Injection Examples
+ Helidon Examples Injectionbasics
diff --git a/examples/inject/providers/pom.xml b/examples/inject/providers/pom.xml
index 0f5a83629b9..3445464e1fb 100644
--- a/examples/inject/providers/pom.xml
+++ b/examples/inject/providers/pom.xml
@@ -22,13 +22,13 @@
4.0.0io.helidon.applications
- helidon-nima
+ helidon-se4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
+ ../../../applications/se/pom.xmlio.helidon.examples.injecthelidon-examples-inject-providers
- Helidon Injection Examples Providers
+ Helidon Examples Injection Providers
Example usages of Injection Providers.
diff --git a/examples/integrations/cdi/datasource-hikaricp-h2/pom.xml b/examples/integrations/cdi/datasource-hikaricp-h2/pom.xml
index d4d05758adf..c979fc688fb 100644
--- a/examples/integrations/cdi/datasource-hikaricp-h2/pom.xml
+++ b/examples/integrations/cdi/datasource-hikaricp-h2/pom.xml
@@ -14,7 +14,7 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
+
-->
io.helidon.examples.integrations.cdihelidon-integrations-examples-datasource-hikaricp-h2
- Helidon CDI Extensions Examples DataSource/HikariCP H2
+ Helidon Examples CDI Extensions DataSource/HikariCP H2
diff --git a/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java b/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java
new file mode 100644
index 00000000000..35fcaeac4f2
--- /dev/null
+++ b/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.helidon.examples.integrations.datasource.hikaricp.jaxrs;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Objects;
+
+import javax.sql.DataSource;
+
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+
+/**
+ * A JAX-RS resource class in {@linkplain ApplicationScoped
+ * application scope} rooted at {@code /tables}.
+ *
+ * @see #get()
+ */
+@Path("/tables")
+@ApplicationScoped
+public class TablesResource {
+
+ private final DataSource dataSource;
+
+ /**
+ * Creates a new {@link TablesResource}.
+ *
+ * @param dataSource the {@link DataSource} to use to acquire
+ * database table names; must not be {@code null}
+ *
+ * @exception NullPointerException if {@code dataSource} is {@code
+ * null}
+ */
+ @Inject
+ public TablesResource(@Named("example") final DataSource dataSource) {
+ super();
+ this.dataSource = Objects.requireNonNull(dataSource);
+ }
+
+ /**
+ * Returns a {@link Response} which, if successful, contains a
+ * newline-separated list of Oracle database table names.
+ *
+ *
This method never returns {@code null}.
+ *
+ * @return a non-{@code null} {@link Response}
+ *
+ * @exception SQLException if a database error occurs
+ */
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public Response get() throws SQLException {
+ final StringBuilder sb = new StringBuilder();
+ try (Connection connection = this.dataSource.getConnection();
+ PreparedStatement ps =
+ connection.prepareStatement(" SELECT TABLE_NAME"
+ + " FROM INFORMATION_SCHEMA.TABLES "
+ + "ORDER BY TABLE_NAME ASC");
+ ResultSet rs = ps.executeQuery()) {
+ while (rs.next()) {
+ sb.append(rs.getString(1)).append("\n");
+ }
+ }
+ final Response returnValue = Response.ok()
+ .entity(sb.toString())
+ .build();
+ return returnValue;
+ }
+
+}
diff --git a/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java b/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java
new file mode 100644
index 00000000000..1dfba973d57
--- /dev/null
+++ b/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Provides JAX-RS-related classes and interfaces for this example
+ * project.
+ */
+package io.helidon.examples.integrations.datasource.hikaricp.jaxrs;
diff --git a/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java b/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java
deleted file mode 100644
index 76c6d33acba..00000000000
--- a/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.helidon.integrations.examples.datasource.hikaricp.jaxrs;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Objects;
-
-import javax.sql.DataSource;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-import jakarta.inject.Named;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.Response;
-
-/**
- * A JAX-RS resource class in {@linkplain ApplicationScoped
- * application scope} rooted at {@code /tables}.
- *
- * @see #get()
- */
-@Path("/tables")
-@ApplicationScoped
-public class TablesResource {
-
- private final DataSource dataSource;
-
- /**
- * Creates a new {@link TablesResource}.
- *
- * @param dataSource the {@link DataSource} to use to acquire
- * database table names; must not be {@code null}
- *
- * @exception NullPointerException if {@code dataSource} is {@code
- * null}
- */
- @Inject
- public TablesResource(@Named("example") final DataSource dataSource) {
- super();
- this.dataSource = Objects.requireNonNull(dataSource);
- }
-
- /**
- * Returns a {@link Response} which, if successful, contains a
- * newline-separated list of Oracle database table names.
- *
- *
This method never returns {@code null}.
- *
- * @return a non-{@code null} {@link Response}
- *
- * @exception SQLException if a database error occurs
- */
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public Response get() throws SQLException {
- final StringBuilder sb = new StringBuilder();
- try (Connection connection = this.dataSource.getConnection();
- PreparedStatement ps =
- connection.prepareStatement(" SELECT TABLE_NAME"
- + " FROM INFORMATION_SCHEMA.TABLES "
- + "ORDER BY TABLE_NAME ASC");
- ResultSet rs = ps.executeQuery()) {
- while (rs.next()) {
- sb.append(rs.getString(1)).append("\n");
- }
- }
- final Response returnValue = Response.ok()
- .entity(sb.toString())
- .build();
- return returnValue;
- }
-
-}
diff --git a/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java b/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java
deleted file mode 100644
index 5814f096ad2..00000000000
--- a/examples/integrations/cdi/datasource-hikaricp-h2/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Provides JAX-RS-related classes and interfaces for this example
- * project.
- */
-package io.helidon.integrations.examples.datasource.hikaricp.jaxrs;
diff --git a/examples/integrations/cdi/datasource-hikaricp-mysql/pom.xml b/examples/integrations/cdi/datasource-hikaricp-mysql/pom.xml
index c802b4e21fa..9d5fdd66c6c 100644
--- a/examples/integrations/cdi/datasource-hikaricp-mysql/pom.xml
+++ b/examples/integrations/cdi/datasource-hikaricp-mysql/pom.xml
@@ -14,7 +14,7 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
+
-->
io.helidon.examples.integrations.cdihelidon-integrations-examples-datasource-hikaricp-mysql
- Helidon CDI Extensions Examples DataSource/HikariCP MySQL
+ Helidon Examples CDI Extensions DataSource/HikariCP MySQL
diff --git a/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java b/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java
new file mode 100644
index 00000000000..35fcaeac4f2
--- /dev/null
+++ b/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.helidon.examples.integrations.datasource.hikaricp.jaxrs;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Objects;
+
+import javax.sql.DataSource;
+
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+
+/**
+ * A JAX-RS resource class in {@linkplain ApplicationScoped
+ * application scope} rooted at {@code /tables}.
+ *
+ * @see #get()
+ */
+@Path("/tables")
+@ApplicationScoped
+public class TablesResource {
+
+ private final DataSource dataSource;
+
+ /**
+ * Creates a new {@link TablesResource}.
+ *
+ * @param dataSource the {@link DataSource} to use to acquire
+ * database table names; must not be {@code null}
+ *
+ * @exception NullPointerException if {@code dataSource} is {@code
+ * null}
+ */
+ @Inject
+ public TablesResource(@Named("example") final DataSource dataSource) {
+ super();
+ this.dataSource = Objects.requireNonNull(dataSource);
+ }
+
+ /**
+ * Returns a {@link Response} which, if successful, contains a
+ * newline-separated list of Oracle database table names.
+ *
+ *
This method never returns {@code null}.
+ *
+ * @return a non-{@code null} {@link Response}
+ *
+ * @exception SQLException if a database error occurs
+ */
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public Response get() throws SQLException {
+ final StringBuilder sb = new StringBuilder();
+ try (Connection connection = this.dataSource.getConnection();
+ PreparedStatement ps =
+ connection.prepareStatement(" SELECT TABLE_NAME"
+ + " FROM INFORMATION_SCHEMA.TABLES "
+ + "ORDER BY TABLE_NAME ASC");
+ ResultSet rs = ps.executeQuery()) {
+ while (rs.next()) {
+ sb.append(rs.getString(1)).append("\n");
+ }
+ }
+ final Response returnValue = Response.ok()
+ .entity(sb.toString())
+ .build();
+ return returnValue;
+ }
+
+}
diff --git a/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java b/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java
new file mode 100644
index 00000000000..1dfba973d57
--- /dev/null
+++ b/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Provides JAX-RS-related classes and interfaces for this example
+ * project.
+ */
+package io.helidon.examples.integrations.datasource.hikaricp.jaxrs;
diff --git a/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java b/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java
deleted file mode 100644
index 76c6d33acba..00000000000
--- a/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.helidon.integrations.examples.datasource.hikaricp.jaxrs;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Objects;
-
-import javax.sql.DataSource;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-import jakarta.inject.Named;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.Response;
-
-/**
- * A JAX-RS resource class in {@linkplain ApplicationScoped
- * application scope} rooted at {@code /tables}.
- *
- * @see #get()
- */
-@Path("/tables")
-@ApplicationScoped
-public class TablesResource {
-
- private final DataSource dataSource;
-
- /**
- * Creates a new {@link TablesResource}.
- *
- * @param dataSource the {@link DataSource} to use to acquire
- * database table names; must not be {@code null}
- *
- * @exception NullPointerException if {@code dataSource} is {@code
- * null}
- */
- @Inject
- public TablesResource(@Named("example") final DataSource dataSource) {
- super();
- this.dataSource = Objects.requireNonNull(dataSource);
- }
-
- /**
- * Returns a {@link Response} which, if successful, contains a
- * newline-separated list of Oracle database table names.
- *
- *
This method never returns {@code null}.
- *
- * @return a non-{@code null} {@link Response}
- *
- * @exception SQLException if a database error occurs
- */
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public Response get() throws SQLException {
- final StringBuilder sb = new StringBuilder();
- try (Connection connection = this.dataSource.getConnection();
- PreparedStatement ps =
- connection.prepareStatement(" SELECT TABLE_NAME"
- + " FROM INFORMATION_SCHEMA.TABLES "
- + "ORDER BY TABLE_NAME ASC");
- ResultSet rs = ps.executeQuery()) {
- while (rs.next()) {
- sb.append(rs.getString(1)).append("\n");
- }
- }
- final Response returnValue = Response.ok()
- .entity(sb.toString())
- .build();
- return returnValue;
- }
-
-}
diff --git a/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java b/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java
deleted file mode 100644
index 5814f096ad2..00000000000
--- a/examples/integrations/cdi/datasource-hikaricp-mysql/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Provides JAX-RS-related classes and interfaces for this example
- * project.
- */
-package io.helidon.integrations.examples.datasource.hikaricp.jaxrs;
diff --git a/examples/integrations/cdi/datasource-hikaricp/pom.xml b/examples/integrations/cdi/datasource-hikaricp/pom.xml
index c2850ca4680..a919202d9fb 100644
--- a/examples/integrations/cdi/datasource-hikaricp/pom.xml
+++ b/examples/integrations/cdi/datasource-hikaricp/pom.xml
@@ -14,7 +14,7 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
+
-->
io.helidon.examples.integrations.cdihelidon-examples-integrations-datasource-hikaricp
- Helidon CDI Extensions Examples DataSource/HikariCP
+ Helidon Examples CDI Extensions DataSource/HikariCP
diff --git a/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java b/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java
new file mode 100644
index 00000000000..74026bc5a0c
--- /dev/null
+++ b/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/TablesResource.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.helidon.examples.integrations.datasource.hikaricp.jaxrs;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Objects;
+
+import javax.sql.DataSource;
+
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+
+/**
+ * A JAX-RS resource class in {@linkplain ApplicationScoped
+ * application scope} rooted at {@code /tables}.
+ *
+ * @see #get()
+ */
+@Path("/tables")
+@ApplicationScoped
+public class TablesResource {
+
+ private final DataSource dataSource;
+
+ /**
+ * Creates a new {@link TablesResource}.
+ *
+ * @param dataSource the {@link DataSource} to use to acquire
+ * database table names; must not be {@code null}
+ *
+ * @exception NullPointerException if {@code dataSource} is {@code
+ * null}
+ */
+ @Inject
+ public TablesResource(@Named("example") final DataSource dataSource) {
+ super();
+ this.dataSource = Objects.requireNonNull(dataSource);
+ }
+
+ /**
+ * Returns a {@link Response} which, if successful, contains a
+ * newline-separated list of Oracle database table names.
+ *
+ *
This method never returns {@code null}.
+ *
+ * @return a non-{@code null} {@link Response}
+ *
+ * @exception SQLException if a database error occurs
+ */
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public Response get() throws SQLException {
+ final StringBuilder sb = new StringBuilder();
+ try (Connection connection = this.dataSource.getConnection();
+ PreparedStatement ps =
+ connection.prepareStatement(" SELECT TABLE_NAME"
+ + " FROM ALL_TABLES "
+ + "ORDER BY TABLE_NAME ASC");
+ ResultSet rs = ps.executeQuery()) {
+ while (rs.next()) {
+ sb.append(rs.getString(1)).append("\n");
+ }
+ }
+ final Response returnValue = Response.ok()
+ .entity(sb.toString())
+ .build();
+ return returnValue;
+ }
+
+}
diff --git a/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java b/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java
new file mode 100644
index 00000000000..f0ef82d2308
--- /dev/null
+++ b/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/examples/integrations/datasource/hikaricp/jaxrs/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Provides JAX-RS-related classes and interfaces for this example
+ * project.
+ */
+package io.helidon.examples.integrations.datasource.hikaricp.jaxrs;
diff --git a/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java b/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java
deleted file mode 100644
index a8a9b5bd2d0..00000000000
--- a/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/TablesResource.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.helidon.integrations.examples.datasource.hikaricp.jaxrs;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Objects;
-
-import javax.sql.DataSource;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-import jakarta.inject.Named;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.Response;
-
-/**
- * A JAX-RS resource class in {@linkplain ApplicationScoped
- * application scope} rooted at {@code /tables}.
- *
- * @see #get()
- */
-@Path("/tables")
-@ApplicationScoped
-public class TablesResource {
-
- private final DataSource dataSource;
-
- /**
- * Creates a new {@link TablesResource}.
- *
- * @param dataSource the {@link DataSource} to use to acquire
- * database table names; must not be {@code null}
- *
- * @exception NullPointerException if {@code dataSource} is {@code
- * null}
- */
- @Inject
- public TablesResource(@Named("example") final DataSource dataSource) {
- super();
- this.dataSource = Objects.requireNonNull(dataSource);
- }
-
- /**
- * Returns a {@link Response} which, if successful, contains a
- * newline-separated list of Oracle database table names.
- *
- *
This method never returns {@code null}.
- *
- * @return a non-{@code null} {@link Response}
- *
- * @exception SQLException if a database error occurs
- */
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public Response get() throws SQLException {
- final StringBuilder sb = new StringBuilder();
- try (Connection connection = this.dataSource.getConnection();
- PreparedStatement ps =
- connection.prepareStatement(" SELECT TABLE_NAME"
- + " FROM ALL_TABLES "
- + "ORDER BY TABLE_NAME ASC");
- ResultSet rs = ps.executeQuery()) {
- while (rs.next()) {
- sb.append(rs.getString(1)).append("\n");
- }
- }
- final Response returnValue = Response.ok()
- .entity(sb.toString())
- .build();
- return returnValue;
- }
-
-}
diff --git a/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java b/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java
deleted file mode 100644
index 2b4f85b6e0f..00000000000
--- a/examples/integrations/cdi/datasource-hikaricp/src/main/java/io/helidon/integrations/examples/datasource/hikaricp/jaxrs/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Provides JAX-RS-related classes and interfaces for this example
- * project.
- */
-package io.helidon.integrations.examples.datasource.hikaricp.jaxrs;
diff --git a/examples/integrations/cdi/jedis/pom.xml b/examples/integrations/cdi/jedis/pom.xml
index 02fb490a043..23f8f2608b2 100644
--- a/examples/integrations/cdi/jedis/pom.xml
+++ b/examples/integrations/cdi/jedis/pom.xml
@@ -14,7 +14,7 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
+
-->
io.helidon.examples.integrations.cdihelidon-examples-integrations-cdi-jedis
- Helidon CDI Extensions Examples Jedis
+ Helidon Examples CDI Extensions Jedis
diff --git a/examples/integrations/cdi/jedis/src/main/java/io/helidon/integrations/examples/jedis/jaxrs/RedisClientResource.java b/examples/integrations/cdi/jedis/src/main/java/io/helidon/examples/integrations/jedis/jaxrs/RedisClientResource.java
similarity index 97%
rename from examples/integrations/cdi/jedis/src/main/java/io/helidon/integrations/examples/jedis/jaxrs/RedisClientResource.java
rename to examples/integrations/cdi/jedis/src/main/java/io/helidon/examples/integrations/jedis/jaxrs/RedisClientResource.java
index 49d2143bf42..13c40b8ea39 100644
--- a/examples/integrations/cdi/jedis/src/main/java/io/helidon/integrations/examples/jedis/jaxrs/RedisClientResource.java
+++ b/examples/integrations/cdi/jedis/src/main/java/io/helidon/examples/integrations/jedis/jaxrs/RedisClientResource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.integrations.examples.jedis.jaxrs;
+package io.helidon.examples.integrations.jedis.jaxrs;
import java.util.Objects;
diff --git a/examples/integrations/cdi/jedis/src/main/java/io/helidon/examples/integrations/jedis/jaxrs/package-info.java b/examples/integrations/cdi/jedis/src/main/java/io/helidon/examples/integrations/jedis/jaxrs/package-info.java
new file mode 100644
index 00000000000..32df6b57c72
--- /dev/null
+++ b/examples/integrations/cdi/jedis/src/main/java/io/helidon/examples/integrations/jedis/jaxrs/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Provides JAX-RS-related classes and interfaces for this example
+ * project.
+ */
+package io.helidon.examples.integrations.jedis.jaxrs;
diff --git a/examples/integrations/cdi/jedis/src/main/java/io/helidon/integrations/examples/jedis/jaxrs/package-info.java b/examples/integrations/cdi/jedis/src/main/java/io/helidon/integrations/examples/jedis/jaxrs/package-info.java
deleted file mode 100644
index 526557b043a..00000000000
--- a/examples/integrations/cdi/jedis/src/main/java/io/helidon/integrations/examples/jedis/jaxrs/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Provides JAX-RS-related classes and interfaces for this example
- * project.
- */
-package io.helidon.integrations.examples.jedis.jaxrs;
diff --git a/examples/integrations/cdi/jpa/pom.xml b/examples/integrations/cdi/jpa/pom.xml
index 359982a67ee..2dbb0339239 100644
--- a/examples/integrations/cdi/jpa/pom.xml
+++ b/examples/integrations/cdi/jpa/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.integrations.cdihelidon-integrations-examples-jpa
- Helidon CDI Extensions Examples JPA
+ Helidon Examples CDI Extensions JPA
diff --git a/examples/integrations/cdi/pokemons/pom.xml b/examples/integrations/cdi/pokemons/pom.xml
index ecae02349fe..a31ab00aea6 100644
--- a/examples/integrations/cdi/pokemons/pom.xml
+++ b/examples/integrations/cdi/pokemons/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.integrations.cdihelidon-integrations-examples-pokemons
- Helidon CDI Extensions Examples Pokemons JPA
+ Helidon Examples CDI Extensions Pokemons JPA
diff --git a/examples/integrations/cdi/pom.xml b/examples/integrations/cdi/pom.xml
index f36747ee181..7199bb78890 100644
--- a/examples/integrations/cdi/pom.xml
+++ b/examples/integrations/cdi/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.integrations.cdihelidon-examples-integrations-cdi-projectpom
- Helidon CDI Extensions Examples
+ Helidon Examples CDI Extensionsdatasource-hikaricp
diff --git a/examples/integrations/micrometer/mp/pom.xml b/examples/integrations/micrometer/mp/pom.xml
index 3f5694dab9d..19a4ddab24b 100644
--- a/examples/integrations/micrometer/mp/pom.xml
+++ b/examples/integrations/micrometer/mp/pom.xml
@@ -27,7 +27,7 @@
4.0.0
- Helidon MP Examples Micrometer
+ Helidon Examples Integration Micrometer MP
Basic illustration of Micrometer integration in Helidon MP
@@ -65,8 +65,8 @@
test
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclienttest
diff --git a/examples/integrations/micrometer/mp/src/main/resources/logging.properties b/examples/integrations/micrometer/mp/src/main/resources/logging.properties
index a1a217d795d..ac4c451f1be 100644
--- a/examples/integrations/micrometer/mp/src/main/resources/logging.properties
+++ b/examples/integrations/micrometer/mp/src/main/resources/logging.properties
@@ -27,7 +27,7 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
.level=INFO
# Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.microprofile.level=INFO
diff --git a/examples/integrations/micrometer/pom.xml b/examples/integrations/micrometer/pom.xml
index bed7a37ed19..634809db534 100644
--- a/examples/integrations/micrometer/pom.xml
+++ b/examples/integrations/micrometer/pom.xml
@@ -26,7 +26,7 @@
helidon-examples-micrometer-project
- Helidon Micrometer Examples
+ Helidon Examples Integration Micrometerpom
diff --git a/examples/integrations/micrometer/se/pom.xml b/examples/integrations/micrometer/se/pom.xml
index 3652e31c070..1de664153f4 100644
--- a/examples/integrations/micrometer/se/pom.xml
+++ b/examples/integrations/micrometer/se/pom.xml
@@ -29,14 +29,14 @@
io.helidon.examples.integrations.micrometer-projecthelidon-examples-integrations-micrometer-se
- Helidon SE Examples Micrometer
+ Helidon Examples Integration Micrometer SE
Basic illustration of Micrometer integration in Helidon SE
- io.helidon.examples.micrometer.se.Main
+ io.helidon.examples.integrations.micrometer.se.Main
@@ -55,29 +55,29 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.confighelidon-config-yaml
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonpio.helidon.integrations.micrometerhelidon-integrations-micrometer
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclienttest
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/GreetService.java b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/GreetService.java
new file mode 100644
index 00000000000..4317bf1f7b4
--- /dev/null
+++ b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/GreetService.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.integrations.micrometer.se;
+
+import java.util.Collections;
+
+import io.helidon.config.Config;
+import io.helidon.http.Http;
+import io.helidon.webserver.http.HttpRequest;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
+
+import io.micrometer.core.instrument.Counter;
+import io.micrometer.core.instrument.Timer;
+import jakarta.json.Json;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+
+/**
+ * A simple service to greet you.
+ *
+ * Examples:
+ *
{@code
+ * Get default greeting message:
+ * curl -X GET http://localhost:8080/greet
+ *
+ * Get greeting message for Joe:
+ * curl -X GET http://localhost:8080/greet/Joe
+ *
+ * Change greeting
+ * curl -X PUT -H "Content-Type: application/json" -d '{"greeting" : "Howdy"}' http://localhost:8080/greet/greeting
+ *
+ * }
+ * The greeting message is returned as a JSON object.
+ *
+ *
+ */
+
+public class GreetService implements HttpService {
+
+ /**
+ * The config value for the key {@code greeting}.
+ */
+ private String greeting;
+
+ private final Timer getTimer;
+ private final Counter personalizedGetCounter;
+
+ private static final JsonBuilderFactory JSON_BF = Json.createBuilderFactory(Collections.emptyMap());
+
+ GreetService(Config config, Timer getTimer, Counter personalizedGetCounter) {
+ this.greeting = config.get("app.greeting").asString().orElse("Ciao");
+ this.getTimer = getTimer;
+ this.personalizedGetCounter = personalizedGetCounter;
+ }
+
+ /**
+ * A service registers itself by updating the routine rules.
+ * @param rules the routing rules.
+ */
+ @Override
+ public void routing(HttpRules rules) {
+ rules
+ .get((req, resp) -> getTimer.record(resp::next)) // Update the timer with every GET.
+ .get("/", this::getDefaultMessageHandler)
+ .get("/{name}",
+ (req, resp) -> {
+ personalizedGetCounter.increment();
+ resp.next();
+ }, // Count personalized GETs...
+ this::getMessageHandler) // ...and process them.
+ .put("/greeting", this::updateGreetingHandler);
+ }
+
+ /**
+ * Return a worldly greeting message.
+ * @param request the server request
+ * @param response the server response
+ */
+ private void getDefaultMessageHandler(HttpRequest request,
+ ServerResponse response) {
+ sendResponse(response, "World");
+ }
+
+ /**
+ * Return a greeting message using the name that was provided.
+ * @param request the server request
+ * @param response the server response
+ */
+ private void getMessageHandler(ServerRequest request,
+ ServerResponse response) {
+ String name = request.path().pathParameters().first("name").get();
+ sendResponse(response, name);
+ }
+
+ private void sendResponse(ServerResponse response, String name) {
+ GreetingMessage msg = new GreetingMessage(String.format("%s %s!", greeting, name));
+ response.send(msg.forRest());
+ }
+
+ private void updateGreetingFromJson(JsonObject jo, ServerResponse response) {
+
+ if (!jo.containsKey(GreetingMessage.JSON_LABEL)) {
+ JsonObject jsonErrorObject = JSON_BF.createObjectBuilder()
+ .add("error", "No greeting provided")
+ .build();
+ response.status(Http.Status.BAD_REQUEST_400)
+ .send(jsonErrorObject);
+ return;
+ }
+
+ greeting = GreetingMessage.fromRest(jo).getMessage();
+ response.status(Http.Status.NO_CONTENT_204).send();
+ }
+
+ /**
+ * Set the greeting to use in future messages.
+ * @param request the server request
+ * @param response the server response
+ */
+ private void updateGreetingHandler(ServerRequest request,
+ ServerResponse response) {
+ JsonObject obj = request.content().as(JsonObject.class);
+ updateGreetingFromJson(obj, response);
+ }
+}
diff --git a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/GreetingMessage.java b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/GreetingMessage.java
similarity index 95%
rename from examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/GreetingMessage.java
rename to examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/GreetingMessage.java
index 055a06774be..f7a71f8203f 100644
--- a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/GreetingMessage.java
+++ b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/GreetingMessage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.examples.micrometer.se;
+package io.helidon.examples.integrations.micrometer.se;
import java.util.Collections;
diff --git a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/Main.java b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/Main.java
new file mode 100644
index 00000000000..f605cda5e94
--- /dev/null
+++ b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/Main.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.integrations.micrometer.se;
+
+import io.helidon.config.Config;
+import io.helidon.integrations.micrometer.MicrometerFeature;
+import io.helidon.logging.common.LogConfig;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
+
+import io.micrometer.core.instrument.Counter;
+import io.micrometer.core.instrument.Timer;
+
+/**
+ * Simple Hello World rest application.
+ */
+public final class Main {
+
+ static final String PERSONALIZED_GETS_COUNTER_NAME = "personalizedGets";
+ static final String ALL_GETS_TIMER_NAME = "allGets";
+
+ /**
+ * Cannot be instantiated.
+ */
+ private Main() {
+ }
+
+ /**
+ * Application main entry point.
+ *
+ * @param args command line arguments.
+ */
+ public static void main(final String[] args) {
+ startServer();
+ }
+
+ /**
+ * Start the server.
+ */
+ static WebServer startServer() {
+
+ // load logging configuration
+ LogConfig.configureRuntime();
+
+ // By default, this will pick up application.yaml from the classpath
+ Config config = Config.create();
+
+ WebServer server = WebServer.builder()
+ .config(config.get("server"))
+ .routing(r -> setupRouting(r, config))
+ .build()
+ .start();
+
+ System.out.println("WEB server is up! http://localhost:" + server.port() + "/greet");
+ return server;
+ }
+
+ /**
+ * Setup routing.
+ *
+ * @param routing routing builder
+ * @param config config
+ */
+ static void setupRouting(HttpRouting.Builder routing, Config config) {
+ MicrometerFeature micrometerSupport = MicrometerFeature.create(config);
+ Counter personalizedGetCounter = micrometerSupport.registry()
+ .counter(PERSONALIZED_GETS_COUNTER_NAME);
+ Timer getTimer = Timer.builder(ALL_GETS_TIMER_NAME)
+ .publishPercentileHistogram()
+ .register(micrometerSupport.registry());
+
+ GreetService greetService = new GreetService(config, getTimer, personalizedGetCounter);
+
+ routing.register("/greet", greetService)
+ .addFeature(micrometerSupport);
+ }
+}
diff --git a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/package-info.java b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/package-info.java
new file mode 100644
index 00000000000..26aaa61b34c
--- /dev/null
+++ b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/integrations/micrometer/se/package-info.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example application showing Micrometer support in Helidon SE
+ *
+ * Start with {@link io.helidon.examples.integrations.micrometer.se.Main} class.
+ *
+ * @see io.helidon.examples.integrations.micrometer.se.Main
+ */
+package io.helidon.examples.integrations.micrometer.se;
diff --git a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/GreetService.java b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/GreetService.java
deleted file mode 100644
index 6701b9bf84c..00000000000
--- a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/GreetService.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.micrometer.se;
-
-import java.util.Collections;
-
-import io.helidon.common.http.Http;
-import io.helidon.config.Config;
-import io.helidon.nima.webserver.http.HttpRequest;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
-
-import io.micrometer.core.instrument.Counter;
-import io.micrometer.core.instrument.Timer;
-import jakarta.json.Json;
-import jakarta.json.JsonBuilderFactory;
-import jakarta.json.JsonObject;
-
-/**
- * A simple service to greet you.
- *
- * Examples:
- *
{@code
- * Get default greeting message:
- * curl -X GET http://localhost:8080/greet
- *
- * Get greeting message for Joe:
- * curl -X GET http://localhost:8080/greet/Joe
- *
- * Change greeting
- * curl -X PUT -H "Content-Type: application/json" -d '{"greeting" : "Howdy"}' http://localhost:8080/greet/greeting
- *
- * }
- * The greeting message is returned as a JSON object.
- *
- *
- */
-
-public class GreetService implements HttpService {
-
- /**
- * The config value for the key {@code greeting}.
- */
- private String greeting;
-
- private final Timer getTimer;
- private final Counter personalizedGetCounter;
-
- private static final JsonBuilderFactory JSON_BF = Json.createBuilderFactory(Collections.emptyMap());
-
- GreetService(Config config, Timer getTimer, Counter personalizedGetCounter) {
- this.greeting = config.get("app.greeting").asString().orElse("Ciao");
- this.getTimer = getTimer;
- this.personalizedGetCounter = personalizedGetCounter;
- }
-
- /**
- * A service registers itself by updating the routine rules.
- * @param rules the routing rules.
- */
- @Override
- public void routing(HttpRules rules) {
- rules
- .get((req, resp) -> getTimer.record(resp::next)) // Update the timer with every GET.
- .get("/", this::getDefaultMessageHandler)
- .get("/{name}",
- (req, resp) -> {
- personalizedGetCounter.increment();
- resp.next();
- }, // Count personalized GETs...
- this::getMessageHandler) // ...and process them.
- .put("/greeting", this::updateGreetingHandler);
- }
-
- /**
- * Return a worldly greeting message.
- * @param request the server request
- * @param response the server response
- */
- private void getDefaultMessageHandler(HttpRequest request,
- ServerResponse response) {
- sendResponse(response, "World");
- }
-
- /**
- * Return a greeting message using the name that was provided.
- * @param request the server request
- * @param response the server response
- */
- private void getMessageHandler(ServerRequest request,
- ServerResponse response) {
- String name = request.path().pathParameters().first("name").get();
- sendResponse(response, name);
- }
-
- private void sendResponse(ServerResponse response, String name) {
- GreetingMessage msg = new GreetingMessage(String.format("%s %s!", greeting, name));
- response.send(msg.forRest());
- }
-
- private void updateGreetingFromJson(JsonObject jo, ServerResponse response) {
-
- if (!jo.containsKey(GreetingMessage.JSON_LABEL)) {
- JsonObject jsonErrorObject = JSON_BF.createObjectBuilder()
- .add("error", "No greeting provided")
- .build();
- response.status(Http.Status.BAD_REQUEST_400)
- .send(jsonErrorObject);
- return;
- }
-
- greeting = GreetingMessage.fromRest(jo).getMessage();
- response.status(Http.Status.NO_CONTENT_204).send();
- }
-
- /**
- * Set the greeting to use in future messages.
- * @param request the server request
- * @param response the server response
- */
- private void updateGreetingHandler(ServerRequest request,
- ServerResponse response) {
- JsonObject obj = request.content().as(JsonObject.class);
- updateGreetingFromJson(obj, response);
- }
-}
diff --git a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/Main.java b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/Main.java
deleted file mode 100644
index 0fb3d65fb0b..00000000000
--- a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/Main.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.micrometer.se;
-
-import io.helidon.config.Config;
-import io.helidon.integrations.micrometer.MicrometerFeature;
-import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
-
-import io.micrometer.core.instrument.Counter;
-import io.micrometer.core.instrument.Timer;
-
-/**
- * Simple Hello World rest application.
- */
-public final class Main {
-
- static final String PERSONALIZED_GETS_COUNTER_NAME = "personalizedGets";
- static final String ALL_GETS_TIMER_NAME = "allGets";
-
- /**
- * Cannot be instantiated.
- */
- private Main() {
- }
-
- /**
- * Application main entry point.
- *
- * @param args command line arguments.
- */
- public static void main(final String[] args) {
- startServer();
- }
-
- /**
- * Start the server.
- */
- static WebServer startServer() {
-
- // load logging configuration
- LogConfig.configureRuntime();
-
- // By default, this will pick up application.yaml from the classpath
- Config config = Config.create();
-
- WebServer server = WebServer.builder()
- .config(config.get("server"))
- .routing(r -> setupRouting(r, config))
- .build()
- .start();
-
- System.out.println("WEB server is up! http://localhost:" + server.port() + "/greet");
- return server;
- }
-
- /**
- * Setup routing.
- *
- * @param routing routing builder
- * @param config config
- */
- static void setupRouting(HttpRouting.Builder routing, Config config) {
- MicrometerFeature micrometerSupport = MicrometerFeature.create(config);
- Counter personalizedGetCounter = micrometerSupport.registry()
- .counter(PERSONALIZED_GETS_COUNTER_NAME);
- Timer getTimer = Timer.builder(ALL_GETS_TIMER_NAME)
- .publishPercentileHistogram()
- .register(micrometerSupport.registry());
-
- GreetService greetService = new GreetService(config, getTimer, personalizedGetCounter);
-
- routing.register("/greet", greetService)
- .addFeature(micrometerSupport);
- }
-}
diff --git a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/package-info.java b/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/package-info.java
deleted file mode 100644
index eb46268faa5..00000000000
--- a/examples/integrations/micrometer/se/src/main/java/io/helidon/examples/micrometer/se/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example application showing Micrometer support in Helidon SE
- *
- * Start with {@link io.helidon.examples.micrometer.se.Main} class.
- *
- * @see io.helidon.examples.micrometer.se.Main
- */
-package io.helidon.examples.micrometer.se;
diff --git a/examples/integrations/micrometer/se/src/test/java/io/helidon/examples/integrations/micrometer/se/MainTest.java b/examples/integrations/micrometer/se/src/test/java/io/helidon/examples/integrations/micrometer/se/MainTest.java
new file mode 100644
index 00000000000..baaef19aaa7
--- /dev/null
+++ b/examples/integrations/micrometer/se/src/test/java/io/helidon/examples/integrations/micrometer/se/MainTest.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.helidon.examples.integrations.micrometer.se;
+
+import java.util.Collections;
+
+import io.helidon.http.Http;
+import io.helidon.config.Config;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.WebServerConfig.Builder;
+
+import jakarta.json.Json;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.MethodOrderer;
+import org.junit.jupiter.api.Order;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestMethodOrder;
+
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+// we need to first call the methods, before validating metrics
+@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
+@ServerTest
+public class MainTest {
+
+ private static final JsonBuilderFactory JSON_BF = Json.createBuilderFactory(Collections.emptyMap());
+ private static final JsonObject TEST_JSON_OBJECT;
+
+ private static double expectedPersonalizedGets;
+ private static double expectedAllGets;
+ private final Http1Client client;
+
+ static {
+ TEST_JSON_OBJECT = JSON_BF.createObjectBuilder()
+ .add("greeting", "Hola")
+ .build();
+ }
+
+ public MainTest(Http1Client client) {
+ this.client = client;
+ }
+
+ @SetUpServer
+ public static void setup(Builder builder) {
+ builder.routing(r -> Main.setupRouting(r, Config.create()));
+ }
+
+ @Test
+ @Order(1)
+ void testDefaultGreeting() {
+ JsonObject jsonObject = get();
+ assertThat(jsonObject.getString("greeting"), is("Hello World!"));
+ }
+
+ @Test
+ @Order(2)
+ void testNamedGreeting() {
+ JsonObject jsonObject = personalizedGet("Joe");
+ Assertions.assertEquals("Hello Joe!", jsonObject.getString("greeting"));
+ }
+
+ @Test
+ @Order(3)
+ void testUpdateGreeting() {
+ try (Http1ClientResponse response = client.put()
+ .path("/greet/greeting")
+ .submit(TEST_JSON_OBJECT)) {
+
+ assertThat(response.status(), is(Http.Status.NO_CONTENT_204));
+ }
+
+ JsonObject jsonObject = personalizedGet("Joe");
+ assertThat(jsonObject.getString("greeting"), is("Hola Joe!"));
+ }
+
+ @Test
+ @Order(4)
+ void testMicrometer() {
+ Http1ClientResponse response = client.get()
+ .path("/micrometer")
+ .request();
+
+ assertThat(response.status().code(), is(200));
+
+ String output = response.as(String.class);
+ String expected = Main.ALL_GETS_TIMER_NAME + "_seconds_count " + expectedAllGets;
+ assertThat("Unable to find expected all-gets timer count " + expected + "; output is " + output,
+ output, containsString(expected)); // all gets; the put
+ // is not counted
+ assertThat("Unable to find expected all-gets timer sum", output,
+ containsString(Main.ALL_GETS_TIMER_NAME + "_seconds_sum"));
+ expected = Main.PERSONALIZED_GETS_COUNTER_NAME + "_total " + expectedPersonalizedGets;
+ assertThat("Unable to find expected counter result " + expected + "; output is " + output,
+ output, containsString(expected));
+ response.close();
+ }
+
+ private JsonObject get() {
+ return get("/greet");
+ }
+
+ private JsonObject get(String path) {
+ JsonObject jsonObject = client.get()
+ .path(path)
+ .requestEntity(JsonObject.class);
+ expectedAllGets++;
+ return jsonObject;
+ }
+
+ private JsonObject personalizedGet(String name) {
+ JsonObject result = get("/greet/" + name);
+ expectedPersonalizedGets++;
+ return result;
+ }
+}
diff --git a/examples/integrations/micrometer/se/src/test/java/io/helidon/examples/micrometer/se/MainTest.java b/examples/integrations/micrometer/se/src/test/java/io/helidon/examples/micrometer/se/MainTest.java
deleted file mode 100644
index 88ba04edd8c..00000000000
--- a/examples/integrations/micrometer/se/src/test/java/io/helidon/examples/micrometer/se/MainTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2021, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.helidon.examples.micrometer.se;
-
-import java.util.Collections;
-
-import io.helidon.common.http.Http;
-import io.helidon.config.Config;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.WebServerConfig.Builder;
-
-import jakarta.json.Json;
-import jakarta.json.JsonBuilderFactory;
-import jakarta.json.JsonObject;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.MethodOrderer;
-import org.junit.jupiter.api.Order;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.TestMethodOrder;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-// we need to first call the methods, before validating metrics
-@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
-@ServerTest
-public class MainTest {
-
- private static final JsonBuilderFactory JSON_BF = Json.createBuilderFactory(Collections.emptyMap());
- private static final JsonObject TEST_JSON_OBJECT;
-
- private static double expectedPersonalizedGets;
- private static double expectedAllGets;
- private final Http1Client client;
-
- static {
- TEST_JSON_OBJECT = JSON_BF.createObjectBuilder()
- .add("greeting", "Hola")
- .build();
- }
-
- public MainTest(Http1Client client) {
- this.client = client;
- }
-
- @SetUpServer
- public static void setup(Builder builder) {
- builder.routing(r -> Main.setupRouting(r, Config.create()));
- }
-
- @Test
- @Order(1)
- void testDefaultGreeting() {
- JsonObject jsonObject = get();
- assertThat(jsonObject.getString("greeting"), is("Hello World!"));
- }
-
- @Test
- @Order(2)
- void testNamedGreeting() {
- JsonObject jsonObject = personalizedGet("Joe");
- Assertions.assertEquals("Hello Joe!", jsonObject.getString("greeting"));
- }
-
- @Test
- @Order(3)
- void testUpdateGreeting() {
- try (Http1ClientResponse response = client.put()
- .path("/greet/greeting")
- .submit(TEST_JSON_OBJECT)) {
-
- assertThat(response.status(), is(Http.Status.NO_CONTENT_204));
- }
-
- JsonObject jsonObject = personalizedGet("Joe");
- assertThat(jsonObject.getString("greeting"), is("Hola Joe!"));
- }
-
- @Test
- @Order(4)
- void testMicrometer() {
- Http1ClientResponse response = client.get()
- .path("/micrometer")
- .request();
-
- assertThat(response.status().code(), is(200));
-
- String output = response.as(String.class);
- String expected = Main.ALL_GETS_TIMER_NAME + "_seconds_count " + expectedAllGets;
- assertThat("Unable to find expected all-gets timer count " + expected + "; output is " + output,
- output, containsString(expected)); // all gets; the put
- // is not counted
- assertThat("Unable to find expected all-gets timer sum", output,
- containsString(Main.ALL_GETS_TIMER_NAME + "_seconds_sum"));
- expected = Main.PERSONALIZED_GETS_COUNTER_NAME + "_total " + expectedPersonalizedGets;
- assertThat("Unable to find expected counter result " + expected + "; output is " + output,
- output, containsString(expected));
- response.close();
- }
-
- private JsonObject get() {
- return get("/greet");
- }
-
- private JsonObject get(String path) {
- JsonObject jsonObject = client.get()
- .path(path)
- .requestEntity(JsonObject.class);
- expectedAllGets++;
- return jsonObject;
- }
-
- private JsonObject personalizedGet(String name) {
- JsonObject result = get("/greet/" + name);
- expectedPersonalizedGets++;
- return result;
- }
-}
diff --git a/examples/integrations/micronaut/data/pom.xml b/examples/integrations/micronaut/data/pom.xml
index d53c303aafd..3c3dca008bd 100644
--- a/examples/integrations/micronaut/data/pom.xml
+++ b/examples/integrations/micronaut/data/pom.xml
@@ -28,7 +28,7 @@
../../../../applications/mp/pom.xmlhelidon-examples-integrations-micronaut-data
- Helidon Example Integration Micronaut Data
+ Helidon Examples Integration Micronaut Data
diff --git a/examples/integrations/micronaut/pom.xml b/examples/integrations/micronaut/pom.xml
index 07049c16f69..fa033131e44 100644
--- a/examples/integrations/micronaut/pom.xml
+++ b/examples/integrations/micronaut/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.integrations.micronauthelidon-examples-integrations-micronaut-projectpom
- Helidon Micronaut Integration Examples
+ Helidon Examples Integration Micronautdata
diff --git a/examples/integrations/microstream/greetings-mp/pom.xml b/examples/integrations/microstream/greetings-mp/pom.xml
index 320cfd01226..ca72b8b7368 100644
--- a/examples/integrations/microstream/greetings-mp/pom.xml
+++ b/examples/integrations/microstream/greetings-mp/pom.xml
@@ -28,7 +28,7 @@
helidon-examples-integrations-microstream-greetings-mp
- Helidon Microstream Integration Example Greetings mp
+ Helidon Examples Integration Microstream Greetings mp
diff --git a/examples/integrations/microstream/greetings-se/pom.xml b/examples/integrations/microstream/greetings-se/pom.xml
index 1aea4c520b4..a39c9a63946 100644
--- a/examples/integrations/microstream/greetings-se/pom.xml
+++ b/examples/integrations/microstream/greetings-se/pom.xml
@@ -28,7 +28,7 @@
helidon-examples-integrations-microstream-greetings-se
- Helidon Microstream Integration Example Greetings se
+ Helidon Examples Integration Microstream Greetings seio.helidon.examples.integrations.microstream.greetings.se.Main
@@ -36,20 +36,20 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.integrations.microstreamhelidon-integrations-microstream
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonpio.helidon.config
@@ -64,8 +64,8 @@
helidon-metrics
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/integrations/microstream/greetings-se/src/main/java/io/helidon/examples/integrations/microstream/greetings/se/GreetingService.java b/examples/integrations/microstream/greetings-se/src/main/java/io/helidon/examples/integrations/microstream/greetings/se/GreetingService.java
index f0a0929ffac..fa549fe6af8 100644
--- a/examples/integrations/microstream/greetings-se/src/main/java/io/helidon/examples/integrations/microstream/greetings/se/GreetingService.java
+++ b/examples/integrations/microstream/greetings-se/src/main/java/io/helidon/examples/integrations/microstream/greetings/se/GreetingService.java
@@ -20,13 +20,13 @@
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Logger;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
+import io.helidon.http.Http;
import io.helidon.integrations.microstream.core.EmbeddedStorageManagerBuilder;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.Json;
import jakarta.json.JsonArrayBuilder;
diff --git a/examples/integrations/microstream/greetings-se/src/main/java/io/helidon/examples/integrations/microstream/greetings/se/Main.java b/examples/integrations/microstream/greetings-se/src/main/java/io/helidon/examples/integrations/microstream/greetings/se/Main.java
index 56fb4bc8ec8..a7f0300a249 100644
--- a/examples/integrations/microstream/greetings-se/src/main/java/io/helidon/examples/integrations/microstream/greetings/se/Main.java
+++ b/examples/integrations/microstream/greetings-se/src/main/java/io/helidon/examples/integrations/microstream/greetings/se/Main.java
@@ -19,10 +19,10 @@
import io.helidon.config.ClasspathConfigSource;
import io.helidon.config.Config;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
/**
* Microstream demo with a simple rest application.
diff --git a/examples/integrations/microstream/greetings-se/src/test/java/io/helidon/examples/integrations/microstream/greetings/se/MicrostreamExampleGreetingsSeTest.java b/examples/integrations/microstream/greetings-se/src/test/java/io/helidon/examples/integrations/microstream/greetings/se/MicrostreamExampleGreetingsSeTest.java
index b8671ca6604..4c080135bc1 100644
--- a/examples/integrations/microstream/greetings-se/src/test/java/io/helidon/examples/integrations/microstream/greetings/se/MicrostreamExampleGreetingsSeTest.java
+++ b/examples/integrations/microstream/greetings-se/src/test/java/io/helidon/examples/integrations/microstream/greetings/se/MicrostreamExampleGreetingsSeTest.java
@@ -18,11 +18,11 @@
import java.nio.file.Path;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.WebServerConfig;
import jakarta.json.JsonArray;
import jakarta.json.JsonObject;
diff --git a/examples/integrations/microstream/pom.xml b/examples/integrations/microstream/pom.xml
index 3f4e453766e..7f4a45c971f 100644
--- a/examples/integrations/microstream/pom.xml
+++ b/examples/integrations/microstream/pom.xml
@@ -28,7 +28,7 @@
io.helidon.examples.integrations.microstreamhelidon-examples-integrations-microstream-project
- Helidon Microstream Integration Examples
+ Helidon Examples Integration Microstreamspom
diff --git a/examples/integrations/neo4j/pom.xml b/examples/integrations/neo4j/pom.xml
index 3a3c60fef69..40d20723ebc 100644
--- a/examples/integrations/neo4j/pom.xml
+++ b/examples/integrations/neo4j/pom.xml
@@ -23,12 +23,12 @@
4.0.0io.helidon.applications
- helidon-nima
+ helidon-se4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
+ ../../../applications/se/pom.xmlhelidon-examples-integration-neo4j
- Helidon Integrations Neo4j Example
+ Helidon Examples Integrations Neo4jio.helidon.examples.integrations.neo4j.Main
@@ -37,36 +37,36 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.healthhelidon-health-checks
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonp
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonb
+ io.helidon.http.media
+ helidon-http-media-jsonbio.helidon.confighelidon-config-yaml
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
- io.helidon.nima.observe
- helidon-nima-observe-health
+ io.helidon.webserver.observe
+ helidon-webserver-observe-health
- io.helidon.nima.observe
- helidon-nima-observe-metrics
+ io.helidon.webserver.observe
+ helidon-webserver-observe-metricsio.helidon.metrics
@@ -85,8 +85,8 @@
helidon-integrations-neo4j-metrics
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/integrations/neo4j/src/main/java/io/helidon/examples/integrations/neo4j/Main.java b/examples/integrations/neo4j/src/main/java/io/helidon/examples/integrations/neo4j/Main.java
index eeab73a859b..d9f78a8529f 100644
--- a/examples/integrations/neo4j/src/main/java/io/helidon/examples/integrations/neo4j/Main.java
+++ b/examples/integrations/neo4j/src/main/java/io/helidon/examples/integrations/neo4j/Main.java
@@ -25,14 +25,14 @@
import io.helidon.integrations.neo4j.health.Neo4jHealthCheck;
import io.helidon.integrations.neo4j.metrics.Neo4jMetricsSupport;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.observe.health.HealthFeature;
-import io.helidon.nima.observe.health.HealthObserveProvider;
-import io.helidon.nima.webserver.WebServer;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.observe.ObserveFeature;
+import io.helidon.webserver.observe.health.HealthFeature;
+import io.helidon.webserver.observe.health.HealthObserveProvider;
import org.neo4j.driver.Driver;
-import static io.helidon.nima.webserver.http.HttpRouting.Builder;
+import static io.helidon.webserver.http.HttpRouting.Builder;
/**
* The application main class.
diff --git a/examples/integrations/neo4j/src/main/java/io/helidon/examples/integrations/neo4j/MovieService.java b/examples/integrations/neo4j/src/main/java/io/helidon/examples/integrations/neo4j/MovieService.java
index 5c8a87611dd..b73879cdc67 100644
--- a/examples/integrations/neo4j/src/main/java/io/helidon/examples/integrations/neo4j/MovieService.java
+++ b/examples/integrations/neo4j/src/main/java/io/helidon/examples/integrations/neo4j/MovieService.java
@@ -17,10 +17,10 @@
package io.helidon.examples.integrations.neo4j;
import io.helidon.examples.integrations.neo4j.domain.MovieRepository;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
/**
* The Movie service.
diff --git a/examples/integrations/neo4j/src/main/resources/logging.properties b/examples/integrations/neo4j/src/main/resources/logging.properties
index 164c69e8d0b..41ffb45a3be 100644
--- a/examples/integrations/neo4j/src/main/resources/logging.properties
+++ b/examples/integrations/neo4j/src/main/resources/logging.properties
@@ -27,7 +27,7 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
.level=INFO
# Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.common.level=INFO
diff --git a/examples/integrations/neo4j/src/test/java/io/helidon/examples/integrations/neo4j/MainTest.java b/examples/integrations/neo4j/src/test/java/io/helidon/examples/integrations/neo4j/MainTest.java
index 6a472d31081..2365576926b 100644
--- a/examples/integrations/neo4j/src/test/java/io/helidon/examples/integrations/neo4j/MainTest.java
+++ b/examples/integrations/neo4j/src/test/java/io/helidon/examples/integrations/neo4j/MainTest.java
@@ -16,12 +16,12 @@
package io.helidon.examples.integrations.neo4j;
-import io.helidon.common.http.Http;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpRoute;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.http.Http;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpRoute;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.http.HttpRouting;
import jakarta.json.JsonArray;
import org.junit.jupiter.api.AfterAll;
@@ -35,7 +35,7 @@
import static org.hamcrest.MatcherAssert.assertThat;
/**
- * Main test class for Neo4j Helidon Nima app.
+ * Main test class for Neo4j Helidon SE application.
*/
@ServerTest
public class MainTest {
diff --git a/examples/integrations/oci/atp-cdi/src/main/resources/logging.properties b/examples/integrations/oci/atp-cdi/src/main/resources/logging.properties
index 80f8dd3f380..b4eb284e666 100644
--- a/examples/integrations/oci/atp-cdi/src/main/resources/logging.properties
+++ b/examples/integrations/oci/atp-cdi/src/main/resources/logging.properties
@@ -25,4 +25,4 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
io.helidon.level=INFO
io.helidon.integrations.level=INFO
-io.helidon.nima.webclient.level=INFO
+io.helidon.webclient.level=INFO
diff --git a/examples/integrations/oci/atp/README.md b/examples/integrations/oci/atp/README.md
index bcba8b88a77..c3e27d7c6bf 100644
--- a/examples/integrations/oci/atp/README.md
+++ b/examples/integrations/oci/atp/README.md
@@ -1,4 +1,4 @@
-# Helidon ATP Nima Examples
+# Helidon ATP SE Examples
This example demonstrates how user can easily retrieve wallet from their ATP instance running in OCI and use information from that wallet to setup DataSource to do Database operations.
diff --git a/examples/integrations/oci/atp/pom.xml b/examples/integrations/oci/atp/pom.xml
index f502a804026..f701f584c40 100644
--- a/examples/integrations/oci/atp/pom.xml
+++ b/examples/integrations/oci/atp/pom.xml
@@ -30,8 +30,8 @@
io.helidon.examples.integrations.ocihelidon-examples-integrations-oci-atp
- Helidon Examples Integration OCI ATP Nima
- Nima integration with OCI ATP.
+ Helidon Examples Integration OCI ATP
+ Integration with OCI ATP.io.helidon.examples.integrations.oci.atp.OciAtpMain
@@ -39,8 +39,8 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.dbclient
diff --git a/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/AtpService.java b/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/AtpService.java
index ab827c2b0f8..e8595937361 100644
--- a/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/AtpService.java
+++ b/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/AtpService.java
@@ -32,15 +32,15 @@
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
import io.helidon.dbclient.DbClient;
import io.helidon.dbclient.DbRow;
import io.helidon.dbclient.jdbc.JdbcClientProvider;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import com.oracle.bmc.database.Database;
import com.oracle.bmc.database.model.GenerateAutonomousDatabaseWalletDetails;
diff --git a/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/OciAtpMain.java b/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/OciAtpMain.java
index 0227c0a2eed..b14edebdc66 100644
--- a/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/OciAtpMain.java
+++ b/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/OciAtpMain.java
@@ -20,7 +20,7 @@
import io.helidon.config.Config;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
+import io.helidon.webserver.WebServer;
import com.oracle.bmc.ConfigFileReader;
import com.oracle.bmc.auth.AuthenticationDetailsProvider;
diff --git a/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/package-info.java b/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/package-info.java
index 35e3363181b..e09431d39be 100644
--- a/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/package-info.java
+++ b/examples/integrations/oci/atp/src/main/java/io/helidon/examples/integrations/oci/atp/package-info.java
@@ -15,6 +15,6 @@
*/
/**
- * Example of integration with OCI ATP in Nima application.
+ * Example of integration with OCI ATP in a Helidon SE application.
*/
package io.helidon.examples.integrations.oci.atp;
diff --git a/examples/integrations/oci/atp/src/main/resources/logging.properties b/examples/integrations/oci/atp/src/main/resources/logging.properties
index 80f8dd3f380..b4eb284e666 100644
--- a/examples/integrations/oci/atp/src/main/resources/logging.properties
+++ b/examples/integrations/oci/atp/src/main/resources/logging.properties
@@ -25,4 +25,4 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
io.helidon.level=INFO
io.helidon.integrations.level=INFO
-io.helidon.nima.webclient.level=INFO
+io.helidon.webclient.level=INFO
diff --git a/examples/integrations/oci/objectstorage-cdi/src/main/java/io/helidon/examples/integrations/oci/objectstorage/cdi/ObjectStorageResource.java b/examples/integrations/oci/objectstorage-cdi/src/main/java/io/helidon/examples/integrations/oci/objectstorage/cdi/ObjectStorageResource.java
index a728a0de80d..b62fa0ed71e 100644
--- a/examples/integrations/oci/objectstorage-cdi/src/main/java/io/helidon/examples/integrations/oci/objectstorage/cdi/ObjectStorageResource.java
+++ b/examples/integrations/oci/objectstorage-cdi/src/main/java/io/helidon/examples/integrations/oci/objectstorage/cdi/ObjectStorageResource.java
@@ -24,7 +24,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import com.oracle.bmc.objectstorage.ObjectStorage;
import com.oracle.bmc.objectstorage.requests.DeleteObjectRequest;
diff --git a/examples/integrations/oci/objectstorage-cdi/src/main/resources/logging.properties b/examples/integrations/oci/objectstorage-cdi/src/main/resources/logging.properties
index 80f8dd3f380..b4eb284e666 100644
--- a/examples/integrations/oci/objectstorage-cdi/src/main/resources/logging.properties
+++ b/examples/integrations/oci/objectstorage-cdi/src/main/resources/logging.properties
@@ -25,4 +25,4 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
io.helidon.level=INFO
io.helidon.integrations.level=INFO
-io.helidon.nima.webclient.level=INFO
+io.helidon.webclient.level=INFO
diff --git a/examples/integrations/oci/objectstorage/pom.xml b/examples/integrations/oci/objectstorage/pom.xml
index f7df51ccec8..8c636de1471 100644
--- a/examples/integrations/oci/objectstorage/pom.xml
+++ b/examples/integrations/oci/objectstorage/pom.xml
@@ -31,7 +31,7 @@
io.helidon.examples.integrations.ocihelidon-examples-integrations-oci-objectstorageHelidon Examples Integration OCI Object Storage
- Nima integration with OCI Object Storage.
+ Integration with OCI Object Storage.io.helidon.examples.integrations.oci.objecstorage.OciObjectStorageMain
@@ -39,8 +39,8 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.config
diff --git a/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/ObjectStorageService.java b/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/ObjectStorageService.java
index fa20a88b0b8..7b32d44a3bb 100644
--- a/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/ObjectStorageService.java
+++ b/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/ObjectStorageService.java
@@ -24,13 +24,13 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
import io.helidon.config.ConfigException;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import com.oracle.bmc.ConfigFileReader;
import com.oracle.bmc.auth.AuthenticationDetailsProvider;
diff --git a/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/OciObjectStorageMain.java b/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/OciObjectStorageMain.java
index c2ec34a7f3a..5df3f1d19d9 100644
--- a/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/OciObjectStorageMain.java
+++ b/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/OciObjectStorageMain.java
@@ -25,8 +25,8 @@
import io.helidon.config.Config;
import io.helidon.config.spi.ConfigSource;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
import static io.helidon.config.ConfigSources.classpath;
import static io.helidon.config.ConfigSources.file;
diff --git a/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/package-info.java b/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/package-info.java
index 1a91fa72fe8..ac79e32f44f 100644
--- a/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/package-info.java
+++ b/examples/integrations/oci/objectstorage/src/main/java/io/helidon/examples/integrations/oci/objecstorage/package-info.java
@@ -15,6 +15,6 @@
*/
/**
- * Example of integration with OCI object storage in Nima application.
+ * Example of integration with OCI object storage in a Helidon SE application.
*/
package io.helidon.examples.integrations.oci.objecstorage;
diff --git a/examples/integrations/oci/objectstorage/src/main/resources/logging.properties b/examples/integrations/oci/objectstorage/src/main/resources/logging.properties
index 80f8dd3f380..b4eb284e666 100644
--- a/examples/integrations/oci/objectstorage/src/main/resources/logging.properties
+++ b/examples/integrations/oci/objectstorage/src/main/resources/logging.properties
@@ -25,4 +25,4 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
io.helidon.level=INFO
io.helidon.integrations.level=INFO
-io.helidon.nima.webclient.level=INFO
+io.helidon.webclient.level=INFO
diff --git a/examples/integrations/oci/vault/pom.xml b/examples/integrations/oci/vault/pom.xml
index 588d6642305..ae8ff57bc74 100644
--- a/examples/integrations/oci/vault/pom.xml
+++ b/examples/integrations/oci/vault/pom.xml
@@ -31,7 +31,7 @@
io.helidon.examples.integrations.ocihelidon-examples-integrations-oci-vaultHelidon Examples Integration OCI Vault
- Nima integration with OCI Vault.
+ Integration with OCI Vault.io.helidon.examples.integrations.oci.vault.OciVaultMain
@@ -39,8 +39,8 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.config
diff --git a/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/OciVaultMain.java b/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/OciVaultMain.java
index d53bfc777b1..8185f5c6aaa 100644
--- a/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/OciVaultMain.java
+++ b/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/OciVaultMain.java
@@ -20,7 +20,7 @@
import io.helidon.config.Config;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
+import io.helidon.webserver.WebServer;
import com.oracle.bmc.ConfigFileReader;
import com.oracle.bmc.auth.AuthenticationDetailsProvider;
diff --git a/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/VaultService.java b/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/VaultService.java
index 3b7bf256858..6acaead52a4 100644
--- a/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/VaultService.java
+++ b/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/VaultService.java
@@ -24,11 +24,11 @@
import java.util.logging.Logger;
import io.helidon.common.Base64Value;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import com.oracle.bmc.keymanagement.KmsCrypto;
import com.oracle.bmc.keymanagement.model.DecryptDataDetails;
diff --git a/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/package-info.java b/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/package-info.java
index deea60af35b..82d96ad4736 100644
--- a/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/package-info.java
+++ b/examples/integrations/oci/vault/src/main/java/io/helidon/examples/integrations/oci/vault/package-info.java
@@ -15,6 +15,6 @@
*/
/**
- * Example of OCI Vault integration in a Nima application.
+ * Example of OCI Vault integration in a SE application.
*/
package io.helidon.examples.integrations.oci.vault;
diff --git a/examples/integrations/pom.xml b/examples/integrations/pom.xml
index a9dc60d189c..879d8c803f7 100644
--- a/examples/integrations/pom.xml
+++ b/examples/integrations/pom.xml
@@ -27,7 +27,7 @@
io.helidon.examples.integrationshelidon-examples-integrations-project
- Helidon Integrations Examples
+ Helidon Examples Integrationspom
diff --git a/examples/integrations/vault/hcp/pom.xml b/examples/integrations/vault/hcp/pom.xml
index f7941723f76..f6e242e8554 100644
--- a/examples/integrations/vault/hcp/pom.xml
+++ b/examples/integrations/vault/hcp/pom.xml
@@ -38,8 +38,8 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.integrations.vault
diff --git a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/CubbyholeService.java b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/CubbyholeService.java
index 27bccb74d22..4c07e430b99 100644
--- a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/CubbyholeService.java
+++ b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/CubbyholeService.java
@@ -19,14 +19,14 @@
import java.util.Map;
import java.util.Optional;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.integrations.vault.Secret;
import io.helidon.integrations.vault.secrets.cubbyhole.CubbyholeSecrets;
import io.helidon.integrations.vault.sys.Sys;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
class CubbyholeService implements HttpService {
private final Sys sys;
diff --git a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/Kv1Service.java b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/Kv1Service.java
index eb6ccf217d2..55770923621 100644
--- a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/Kv1Service.java
+++ b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/Kv1Service.java
@@ -19,14 +19,14 @@
import java.util.Map;
import java.util.Optional;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.integrations.vault.Secret;
import io.helidon.integrations.vault.secrets.kv1.Kv1Secrets;
import io.helidon.integrations.vault.sys.Sys;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
class Kv1Service implements HttpService {
private final Sys sys;
diff --git a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/Kv2Service.java b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/Kv2Service.java
index d0e05e2789a..5ef7fbb9d42 100644
--- a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/Kv2Service.java
+++ b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/Kv2Service.java
@@ -19,14 +19,14 @@
import java.util.Map;
import java.util.Optional;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.integrations.vault.secrets.kv2.Kv2Secret;
import io.helidon.integrations.vault.secrets.kv2.Kv2Secrets;
import io.helidon.integrations.vault.sys.Sys;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
class Kv2Service implements HttpService {
private final Sys sys;
diff --git a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/TransitService.java b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/TransitService.java
index 4d4b11fb2c0..5eb9e0376f2 100644
--- a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/TransitService.java
+++ b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/TransitService.java
@@ -31,10 +31,10 @@
import io.helidon.integrations.vault.secrets.transit.UpdateKeyConfig;
import io.helidon.integrations.vault.secrets.transit.Verify;
import io.helidon.integrations.vault.sys.Sys;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
class TransitService implements HttpService {
private static final String ENCRYPTION_KEY = "encryption-key";
diff --git a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/VaultMain.java b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/VaultMain.java
index ab3dd2c9b6b..b4d6c11b8d3 100644
--- a/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/VaultMain.java
+++ b/examples/integrations/vault/hcp/src/main/java/io/helidon/examples/integrations/vault/hcp/VaultMain.java
@@ -26,7 +26,7 @@
import io.helidon.integrations.vault.secrets.transit.TransitSecrets;
import io.helidon.integrations.vault.sys.Sys;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
+import io.helidon.webserver.WebServer;
import static io.helidon.config.ConfigSources.classpath;
import static io.helidon.config.ConfigSources.file;
diff --git a/examples/jbatch/pom.xml b/examples/jbatch/pom.xml
index fcb6c909d0f..82e3552d17b 100644
--- a/examples/jbatch/pom.xml
+++ b/examples/jbatch/pom.xml
@@ -28,7 +28,7 @@
io.helidon.examples.jbatchhelidon-examples-jbatch
- jbatch-example
+ Helidon Examples JBatch2.1.0
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/BatchResource.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/BatchResource.java
similarity index 97%
rename from examples/jbatch/src/main/java/io/helidon/jbatch/example/BatchResource.java
rename to examples/jbatch/src/main/java/io/helidon/examples/jbatch/BatchResource.java
index 7d5189d081c..dd7d2aaa3c0 100644
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/BatchResource.java
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/BatchResource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.jbatch.example;
+package io.helidon.examples.jbatch;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/HelidonExecutorServiceProvider.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/HelidonExecutorServiceProvider.java
similarity index 91%
rename from examples/jbatch/src/main/java/io/helidon/jbatch/example/HelidonExecutorServiceProvider.java
rename to examples/jbatch/src/main/java/io/helidon/examples/jbatch/HelidonExecutorServiceProvider.java
index d769b470c80..81ae527218e 100644
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/HelidonExecutorServiceProvider.java
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/HelidonExecutorServiceProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.jbatch.example;
+package io.helidon.examples.jbatch;
import java.util.concurrent.ExecutorService;
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyBatchlet.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyBatchlet.java
similarity index 90%
rename from examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyBatchlet.java
rename to examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyBatchlet.java
index 77ef6bec1cb..f430b6dfa02 100644
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyBatchlet.java
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyBatchlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.jbatch.example.jobs;
+package io.helidon.examples.jbatch.jobs;
import jakarta.batch.api.AbstractBatchlet;
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyInputRecord.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyInputRecord.java
similarity index 90%
rename from examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyInputRecord.java
rename to examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyInputRecord.java
index 7a4aab9ba66..65e59b4fcc4 100644
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyInputRecord.java
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyInputRecord.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.jbatch.example.jobs;
+package io.helidon.examples.jbatch.jobs;
/**
* Example of an Input Record.
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemProcessor.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemProcessor.java
similarity index 90%
rename from examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemProcessor.java
rename to examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemProcessor.java
index 03cf082d0bf..a57516d36c5 100644
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemProcessor.java
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.jbatch.example.jobs;
+package io.helidon.examples.jbatch.jobs;
import jakarta.batch.api.chunk.ItemProcessor;
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemReader.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemReader.java
similarity index 92%
rename from examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemReader.java
rename to examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemReader.java
index a66d2626537..daad53e70a4 100644
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemReader.java
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.jbatch.example.jobs;
+package io.helidon.examples.jbatch.jobs;
import java.util.StringTokenizer;
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemWriter.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemWriter.java
similarity index 89%
rename from examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemWriter.java
rename to examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemWriter.java
index 1d9a5927b5e..a4806af09f1 100644
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyItemWriter.java
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyItemWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.jbatch.example.jobs;
+package io.helidon.examples.jbatch.jobs;
import java.util.List;
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyOutputRecord.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyOutputRecord.java
similarity index 90%
rename from examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyOutputRecord.java
rename to examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyOutputRecord.java
index 8fa06b333c4..09a751c0ed5 100644
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/MyOutputRecord.java
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/MyOutputRecord.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.jbatch.example.jobs;
+package io.helidon.examples.jbatch.jobs;
/**
* Example Output Processor.
diff --git a/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/package-info.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/package-info.java
new file mode 100644
index 00000000000..406c301f930
--- /dev/null
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/jobs/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * JBatch specific classes.
+ */
+package io.helidon.examples.jbatch.jobs;
diff --git a/examples/jbatch/src/main/java/io/helidon/examples/jbatch/package-info.java b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/package-info.java
new file mode 100644
index 00000000000..a7921e38241
--- /dev/null
+++ b/examples/jbatch/src/main/java/io/helidon/examples/jbatch/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example application showing support for JBatch and HelidonMP.
+ */
+package io.helidon.examples.jbatch;
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/package-info.java b/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/package-info.java
deleted file mode 100644
index d9ad3724f99..00000000000
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/jobs/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * JBatch specific classes.
- */
-package io.helidon.jbatch.example.jobs;
diff --git a/examples/jbatch/src/main/java/io/helidon/jbatch/example/package-info.java b/examples/jbatch/src/main/java/io/helidon/jbatch/example/package-info.java
deleted file mode 100644
index 41c8bfd6c14..00000000000
--- a/examples/jbatch/src/main/java/io/helidon/jbatch/example/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example application showing support for JBatch and HelidonMP.
- */
-package io.helidon.jbatch.example;
diff --git a/examples/jbatch/src/main/resources/META-INF/batch-jobs/myJob.xml b/examples/jbatch/src/main/resources/META-INF/batch-jobs/myJob.xml
index 3b470f22241..4788e859b2b 100644
--- a/examples/jbatch/src/main/resources/META-INF/batch-jobs/myJob.xml
+++ b/examples/jbatch/src/main/resources/META-INF/batch-jobs/myJob.xml
@@ -1,7 +1,7 @@
-
- 4.0.0
-
- io.helidon.applications
- helidon-nima
- 4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-basic
- Helidon Níma Examples Basic
-
-
- io.helidon.examples.nima.basic.BasicMain
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
-
- integration-test
- verify
-
-
-
-
-
-
-
diff --git a/examples/nima/basic/src/main/java/io/helidon/examples/nima/basic/package-info.java b/examples/nima/basic/src/main/java/io/helidon/examples/nima/basic/package-info.java
deleted file mode 100644
index 1a25e406e94..00000000000
--- a/examples/nima/basic/src/main/java/io/helidon/examples/nima/basic/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Basic example.
- */
-package io.helidon.examples.nima.basic;
diff --git a/examples/nima/basic/src/main/resources/logging.properties b/examples/nima/basic/src/main/resources/logging.properties
deleted file mode 100644
index 3a2ccac5c46..00000000000
--- a/examples/nima/basic/src/main/resources/logging.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
-io.helidon.nima.level=INFO
diff --git a/examples/nima/basic/src/test/resources/logging-test.properties b/examples/nima/basic/src/test/resources/logging-test.properties
deleted file mode 100644
index d3360e3eaa2..00000000000
--- a/examples/nima/basic/src/test/resources/logging-test.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.ConsoleHandler.level=FINEST
-java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
-# java.util.logging.SimpleFormatter.format = [%1$tc] %5$s %6$s%n
-java.util.logging.SimpleFormatter.format=%1$tH:%1$tM:%1$tS %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=WARNING
diff --git a/examples/nima/echo/pom.xml b/examples/nima/echo/pom.xml
deleted file mode 100644
index dc02e1aa5f2..00000000000
--- a/examples/nima/echo/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-nima
- 4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-echo
- Helidon Níma Examples Echo
-
-
- io.helidon.examples.nima.echo.EchoMain
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.webclient
- helidon-nima-webclient
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
-
-
diff --git a/examples/nima/echo/src/main/java/io/helidon/examples/nima/echo/package-info.java b/examples/nima/echo/src/main/java/io/helidon/examples/nima/echo/package-info.java
deleted file mode 100644
index 09dd509da6b..00000000000
--- a/examples/nima/echo/src/main/java/io/helidon/examples/nima/echo/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Echo example.
- */
-package io.helidon.examples.nima.echo;
diff --git a/examples/nima/fault-tolerance/pom.xml b/examples/nima/fault-tolerance/pom.xml
deleted file mode 100644
index 13c125ddb6f..00000000000
--- a/examples/nima/fault-tolerance/pom.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-se
- 4.0.0-SNAPSHOT
- ../../../applications/se/pom.xml
-
-
- io.helidon.examples.nima
- helidon-examples-nima-fault-tolerance
- Helidon Examples Níma Fault Tolerance
-
-
- io.helidon.Main
-
-
-
-
- io.helidon
- helidon
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.webclient
- helidon-nima-webclient
-
-
- io.helidon.inject
- helidon-inject-api
-
-
- io.helidon.inject
- helidon-inject-runtime
-
-
- io.helidon.inject.configdriven
- helidon-inject-configdriven-runtime
-
-
- io.helidon.config
- helidon-config-yaml
-
-
- io.helidon.nima.fault-tolerance
- helidon-nima-fault-tolerance
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- true
-
-
- io.helidon.inject
- helidon-inject-processor
- ${helidon.version}
-
-
- io.helidon.nima.http
- helidon-nima-http-processor
- ${helidon.version}
-
-
- io.helidon.nima.fault-tolerance
- helidon-nima-fault-tolerance-processor
- ${helidon.version}
-
-
-
- -Aio.helidon.inject.autoAddNonContractInterfaces=true
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
-
- integration-test
- verify
-
-
-
-
-
-
-
diff --git a/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/package-info.java b/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/package-info.java
deleted file mode 100644
index 98a75280d97..00000000000
--- a/examples/nima/fault-tolerance/src/main/java/io/helidon/examples/nima/faulttolerance/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example showing usage of HTTP endpoints with Fault Tolerance annotations.
- */
-package io.helidon.examples.nima.faulttolerance;
diff --git a/examples/nima/fault-tolerance/src/test/java/io/helidon/examples/nima/faulttolerance/FaultToleranceTest.java b/examples/nima/fault-tolerance/src/test/java/io/helidon/examples/nima/faulttolerance/FaultToleranceTest.java
deleted file mode 100644
index ac55853d11c..00000000000
--- a/examples/nima/fault-tolerance/src/test/java/io/helidon/examples/nima/faulttolerance/FaultToleranceTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.faulttolerance;
-
-import io.helidon.Main;
-import io.helidon.common.http.Http;
-import io.helidon.inject.api.InjectionServices;
-import io.helidon.nima.webclient.api.ClientResponseTyped;
-import io.helidon.nima.webclient.api.WebClient;
-import io.helidon.nima.webserver.WebServer;
-
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.startsWith;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.fail;
-
-class FaultToleranceTest {
- private static WebClient webClient;
- private static WebClient adminWebClient;
-
- @BeforeAll
- static void init() {
- Main.main(new String[0]);
- WebServer webServer = InjectionServices.realizedServices()
- .lookup(WebServer.class)
- .get();
-
- if (!webServer.isRunning()) {
- fail("Webserver should be running, but is shut down");
- }
-
- webClient = WebClient.builder()
- .baseUri("http://localhost:" + webServer.port())
- .build();
-
- adminWebClient = WebClient.builder()
- .baseUri("http://localhost:" + webServer.port("admin"))
- .build();
- }
-
- @AfterAll
- static void shutDown() {
- InjectionServices.injectionServices()
- .map(InjectionServices::shutdown);
- }
-
- @Test
- void testAdminEndpointIsOnAdminSocket() {
- String response = adminWebClient.get("/admin")
- .requestEntity(String.class);
-
- assertThat(response, startsWith("This is the admin endpoint"));
- }
-
- @Test
- void testAdminEndpointIsNotOnDefaultSocket() {
- ClientResponseTyped response = webClient.get("/admin")
- .request(String.class);
- assertThat(response.entity(), response.status(), is(Http.Status.NOT_FOUND_404));
- }
-
- @Test
- void testGreetSimple() {
- String response = webClient.get("/greet")
- .requestEntity(String.class);
- assertThat(response, is("Hello World!"));
- }
-
- @Test
- void testGreetNamed() {
- String response = webClient.get("/greet/helidon")
- .requestEntity(String.class);
-
- assertThat(response, startsWith("Hello helidon! Requested host: localhost:"));
- }
-
- @Test
- void testGreetNamedFallback() {
- String response = webClient.get("/greet/helidon")
- .queryParam("throw", "true")
- .requestEntity(String.class);
-
- assertThat(response, startsWith("Fallback for"));
- }
-}
diff --git a/examples/nima/imperative/pom.xml b/examples/nima/imperative/pom.xml
deleted file mode 100644
index c963c54cc04..00000000000
--- a/examples/nima/imperative/pom.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-se
- 4.0.0-SNAPSHOT
- ../../../applications/se/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-imperative
- Helidon Níma Examples Imperative
- Example of imperative ("pure" programmatic) approach using Helidon SE
-
-
- io.helidon.examples.nima.imperative.ImperativeMain
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.config
- helidon-config-yaml
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
-
- integration-test
- verify
-
-
-
-
-
-
-
diff --git a/examples/nima/imperative/src/main/java/io/helidon/examples/nima/imperative/ImperativeMain.java b/examples/nima/imperative/src/main/java/io/helidon/examples/nima/imperative/ImperativeMain.java
deleted file mode 100644
index 864a9d097d1..00000000000
--- a/examples/nima/imperative/src/main/java/io/helidon/examples/nima/imperative/ImperativeMain.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.imperative;
-
-import io.helidon.common.config.Config;
-import io.helidon.common.config.GlobalConfig;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
-
-/**
- * Main class of this example, starts the server.
- */
-public final class ImperativeMain {
- private ImperativeMain() {
- }
-
- /**
- * Start the example.
- *
- * @param args ignored
- */
- public static void main(String[] args) {
- Config config = GlobalConfig.config();
-
- WebServer server = WebServer.create(ws -> ws.config(config.get("server"))
- .routing(ImperativeMain::routing))
- .start();
-
- System.out.println("Server started. Server configuration: " + server.prototype());
- }
-
- private static void routing(HttpRouting.Builder routing) {
- Http.Method list = Http.Method.create("LIST");
-
- routing.get("/", (req, res) -> res.send("Hello World!"))
- .route(list, "/", (req, res) -> res.send("lll"))
- .route(list, (req, res) -> res.send("listed"));
- }
-}
diff --git a/examples/nima/imperative/src/main/java/io/helidon/examples/nima/imperative/package-info.java b/examples/nima/imperative/src/main/java/io/helidon/examples/nima/imperative/package-info.java
deleted file mode 100644
index 11013cba776..00000000000
--- a/examples/nima/imperative/src/main/java/io/helidon/examples/nima/imperative/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example showing usage of HTTP web-server with pure imperative programming (no injection, no inversion of control).
- */
-package io.helidon.examples.nima.imperative;
diff --git a/examples/nima/media/pom.xml b/examples/nima/media/pom.xml
deleted file mode 100644
index eb2932634e5..00000000000
--- a/examples/nima/media/pom.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-nima
- 4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-media
- Helidon Níma Examples Media
-
-
- io.helidon.examples.nima.media.MediaMain
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-multipart
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver-static-content
-
-
- jakarta.json
- jakarta.json-api
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
-
- integration-test
- verify
-
-
-
-
-
-
-
diff --git a/examples/nima/media/src/main/java/io/helidon/examples/nima/media/FileService.java b/examples/nima/media/src/main/java/io/helidon/examples/nima/media/FileService.java
deleted file mode 100644
index ee1b0fbf565..00000000000
--- a/examples/nima/media/src/main/java/io/helidon/examples/nima/media/FileService.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 2020, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.media;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.StandardOpenOption;
-import java.util.Map;
-import java.util.stream.Stream;
-
-import io.helidon.common.http.ContentDisposition;
-import io.helidon.common.http.Http;
-import io.helidon.common.http.Http.HeaderNames;
-import io.helidon.common.http.ServerResponseHeaders;
-import io.helidon.common.media.type.MediaTypes;
-import io.helidon.nima.http.media.multipart.MultiPart;
-import io.helidon.nima.http.media.multipart.ReadablePart;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
-
-import jakarta.json.Json;
-import jakarta.json.JsonArrayBuilder;
-import jakarta.json.JsonBuilderFactory;
-
-import static io.helidon.common.http.Http.Status.BAD_REQUEST_400;
-import static io.helidon.common.http.Http.Status.MOVED_PERMANENTLY_301;
-import static io.helidon.common.http.Http.Status.NOT_FOUND_404;
-
-/**
- * File service.
- */
-final class FileService implements HttpService {
- private static final Http.Header UI_LOCATION = Http.Headers.createCached(HeaderNames.LOCATION, "/ui");
- private final JsonBuilderFactory jsonFactory;
- private final Path storage;
-
- /**
- * Create a new file upload service instance.
- */
- FileService() {
- jsonFactory = Json.createBuilderFactory(Map.of());
- storage = createStorage();
- System.out.println("Storage: " + storage);
- }
-
- @Override
- public void routing(HttpRules rules) {
- rules.get("/", this::list)
- .get("/{fname}", this::download)
- .post("/", this::upload);
- }
-
- private static Path createStorage() {
- try {
- return Files.createTempDirectory("fileupload");
- } catch (IOException ex) {
- throw new RuntimeException(ex);
- }
- }
-
- private static Stream listFiles(Path storage) {
-
- try (Stream walk = Files.walk(storage)) {
- return walk.filter(Files::isRegularFile)
- .map(storage::relativize)
- .map(Path::toString)
- .toList()
- .stream();
- } catch (IOException ex) {
- throw new RuntimeException(ex);
- }
- }
-
- private static OutputStream newOutputStream(Path storage, String fname) {
- try {
- return Files.newOutputStream(storage.resolve(fname),
- StandardOpenOption.CREATE,
- StandardOpenOption.WRITE,
- StandardOpenOption.TRUNCATE_EXISTING);
- } catch (IOException ex) {
- throw new RuntimeException(ex);
- }
- }
-
- private void list(ServerRequest req, ServerResponse res) {
- JsonArrayBuilder arrayBuilder = jsonFactory.createArrayBuilder();
- listFiles(storage).forEach(arrayBuilder::add);
- res.send(jsonFactory.createObjectBuilder().add("files", arrayBuilder).build());
- }
-
- private void download(ServerRequest req, ServerResponse res) {
- Path filePath = storage.resolve(req.path().pathParameters().value("fname"));
- if (!filePath.getParent().equals(storage)) {
- res.status(BAD_REQUEST_400).send("Invalid file name");
- return;
- }
- if (!Files.exists(filePath)) {
- res.status(NOT_FOUND_404).send();
- return;
- }
- if (!Files.isRegularFile(filePath)) {
- res.status(BAD_REQUEST_400).send("Not a file");
- return;
- }
- ServerResponseHeaders headers = res.headers();
- headers.contentType(MediaTypes.APPLICATION_OCTET_STREAM);
- headers.set(ContentDisposition.builder()
- .filename(filePath.getFileName().toString())
- .build());
- res.send(filePath);
- }
-
- private void upload(ServerRequest req, ServerResponse res) {
- MultiPart mp = req.content().as(MultiPart.class);
-
- while (mp.hasNext()) {
- ReadablePart part = mp.next();
-
- if ("file[]".equals(part.name())) {
- try (InputStream in = part.inputStream(); OutputStream out = newOutputStream(storage, part.fileName().get())) {
- in.transferTo(out);
- } catch (IOException e) {
- throw new RuntimeException("Failed to write content", e);
- }
- }
- }
-
- res.status(MOVED_PERMANENTLY_301)
- .header(UI_LOCATION)
- .send();
- }
-}
diff --git a/examples/nima/media/src/main/java/io/helidon/examples/nima/media/MediaMain.java b/examples/nima/media/src/main/java/io/helidon/examples/nima/media/MediaMain.java
deleted file mode 100644
index dac375c2f78..00000000000
--- a/examples/nima/media/src/main/java/io/helidon/examples/nima/media/MediaMain.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.media;
-
-import io.helidon.common.http.Http;
-import io.helidon.common.http.Http.HeaderNames;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
-
-/**
- * This application provides a simple file upload service with a UI to exercise multipart.
- */
-public class MediaMain {
- private static final Http.Header UI_LOCATION = Http.Headers.createCached(HeaderNames.LOCATION, "/ui");
-
- private MediaMain() {
- }
-
- /**
- * Executes the example.
- *
- * @param args command line arguments, ignored
- */
- public static void main(String[] args) {
- WebServer server = WebServer.builder()
- .routing(MediaMain::routing)
- .port(8080)
- .build()
- .start();
-
- System.out.println("WEB server is up! http://localhost:" + server.port());
- }
-
- /**
- * Updates the routing rules.
- *
- * @param rules routing rules
- */
- static void routing(HttpRules rules) {
- rules.any("/", (req, res) -> {
- res.status(Http.Status.MOVED_PERMANENTLY_301);
- res.header(UI_LOCATION);
- res.send();
- })
- .register("/ui", StaticContentService.builder("WEB")
- .welcomeFileName("index.html")
- .build())
- .register("/api", new FileService());
- }
-}
diff --git a/examples/nima/media/src/main/java/io/helidon/examples/nima/media/package-info.java b/examples/nima/media/src/main/java/io/helidon/examples/nima/media/package-info.java
deleted file mode 100644
index d04dfed4c18..00000000000
--- a/examples/nima/media/src/main/java/io/helidon/examples/nima/media/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Media support example.
- */
-package io.helidon.examples.nima.media;
diff --git a/examples/nima/media/src/main/resources/WEB/index.html b/examples/nima/media/src/main/resources/WEB/index.html
deleted file mode 100644
index 0bb040331d0..00000000000
--- a/examples/nima/media/src/main/resources/WEB/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
- Helidon Examples Media Multipart
-
-
-
-
-
-
Uploaded files
-
-
-
Upload (buffered)
-
-
-
Upload (stream)
-
-
-
-
-
diff --git a/examples/nima/media/src/main/resources/logging.properties b/examples/nima/media/src/main/resources/logging.properties
deleted file mode 100644
index 3a2ccac5c46..00000000000
--- a/examples/nima/media/src/main/resources/logging.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
-io.helidon.nima.level=INFO
diff --git a/examples/nima/observe/pom.xml b/examples/nima/observe/pom.xml
deleted file mode 100644
index b3d8168536e..00000000000
--- a/examples/nima/observe/pom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-nima
- 4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-observe
- Helidon Níma Examples Observe
-
-
- io.helidon.examples.nima.observe.ObserveMain
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.observe
- helidon-nima-observe-health
-
-
- io.helidon.nima.observe
- helidon-nima-observe-config
-
-
- io.helidon.nima.observe
- helidon-nima-observe-info
-
-
- io.helidon.nima.observe
- helidon-nima-observe-log
-
-
- io.helidon.security.integration
- helidon-security-integration-nima
-
-
- io.helidon.security.providers
- helidon-security-providers-http-auth
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver-context
-
-
- io.helidon.config
- helidon-config-yaml
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
-
- integration-test
- verify
-
-
-
-
-
-
-
diff --git a/examples/nima/observe/src/main/java/io/helidon/examples/nima/observe/package-info.java b/examples/nima/observe/src/main/java/io/helidon/examples/nima/observe/package-info.java
deleted file mode 100644
index 708f61aaf83..00000000000
--- a/examples/nima/observe/src/main/java/io/helidon/examples/nima/observe/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Observability example.
- */
-package io.helidon.examples.nima.observe;
diff --git a/examples/nima/observe/src/main/resources/application.yaml b/examples/nima/observe/src/main/resources/application.yaml
deleted file mode 100644
index 0139c38d623..00000000000
--- a/examples/nima/observe/src/main/resources/application.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-server:
- host: "127.0.0.1"
- port: 8080
-observe:
- info:
- values:
- name: "Observe Example"
- version: "1.0.0"
-security:
- providers:
- - http-basic-auth:
- users:
- - login: "admin"
- password: "password"
- roles: ["nima-observe"]
- web-server:
- paths:
- - path: "/observe/log/*"
- authenticate: true
- - path: "/observe/config/*"
- authenticate: true
-
-app:
- greeting: "Hello!"
- app-secret: "Do not print this in observe"
- app-password: "Do not print this in observe"
diff --git a/examples/nima/observe/src/main/resources/logging.properties b/examples/nima/observe/src/main/resources/logging.properties
deleted file mode 100644
index bcecf0d6825..00000000000
--- a/examples/nima/observe/src/main/resources/logging.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
-io.helidon.nima.level=INFO
-
-java.util.logging.ConsoleHandler.level=ALL
-# to enable security audit logging for Helidon:
-# AUDIT.level=FINEST
diff --git a/examples/nima/observe/src/test/resources/logging-test.properties b/examples/nima/observe/src/test/resources/logging-test.properties
deleted file mode 100644
index d3360e3eaa2..00000000000
--- a/examples/nima/observe/src/test/resources/logging-test.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.ConsoleHandler.level=FINEST
-java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
-# java.util.logging.SimpleFormatter.format = [%1$tc] %5$s %6$s%n
-java.util.logging.SimpleFormatter.format=%1$tH:%1$tM:%1$tS %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=WARNING
diff --git a/examples/nima/pom.xml b/examples/nima/pom.xml
deleted file mode 100644
index 98039f82bc5..00000000000
--- a/examples/nima/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
- 4.0.0
-
- io.helidon.examples
- helidon-examples-project
- 4.0.0-SNAPSHOT
-
- io.helidon.examples.nima
- helidon-examples-nima-project
- Helidon Examples Níma Project
- pom
-
-
- basic
- quickstart
- quickstart-standalone
- echo
- media
- protocols
- tracing
- observe
- static-content
- fault-tolerance
- imperative
-
-
-
diff --git a/examples/nima/protocols/pom.xml b/examples/nima/protocols/pom.xml
deleted file mode 100644
index a04297d0b8c..00000000000
--- a/examples/nima/protocols/pom.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-nima
- 4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-protocols
- Helidon Níma Examples Protocols
-
-
- io.helidon.examples.nima.protocols.ProtocolsMain
-
-
-
-
-
- javax.annotation
- javax.annotation-api
- 1.3.2
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.grpc
- helidon-nima-grpc-webserver
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webclient
-
-
- io.helidon.nima.websocket
- helidon-nima-websocket-webserver
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webserver
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- kr.motd.maven
- os-maven-plugin
- ${version.plugin.os}
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
- org.xolstice.maven.plugins
- protobuf-maven-plugin
- 0.6.1
-
-
-
- compile
- compile-custom
-
-
-
-
- com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}
- grpc-java
- io.grpc:protoc-gen-grpc-java:${version.lib.grpc}:exe:${os.detected.classifier}
-
-
-
-
-
-
diff --git a/examples/nima/protocols/src/main/java/io/helidon/examples/nima/protocols/package-info.java b/examples/nima/protocols/src/main/java/io/helidon/examples/nima/protocols/package-info.java
deleted file mode 100644
index d14e9b9cc5a..00000000000
--- a/examples/nima/protocols/src/main/java/io/helidon/examples/nima/protocols/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Various supported protocols example.
- */
-package io.helidon.examples.nima.protocols;
diff --git a/examples/nima/protocols/src/main/proto/strings.proto b/examples/nima/protocols/src/main/proto/strings.proto
deleted file mode 100644
index 09312cf4f96..00000000000
--- a/examples/nima/protocols/src/main/proto/strings.proto
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-syntax = "proto3";
-option java_package = "io.helidon.examples.nima.grpc.strings";
-
-service StringService {
- rpc Upper (StringMessage) returns (StringMessage) {}
- rpc Lower (StringMessage) returns (StringMessage) {}
- rpc Split (StringMessage) returns (stream StringMessage) {}
- rpc Join (stream StringMessage) returns (StringMessage) {}
- rpc Echo (stream StringMessage) returns (stream StringMessage) {}
-}
-
-message StringMessage {
- string text = 1;
-}
diff --git a/examples/nima/protocols/src/main/resources/logging.properties b/examples/nima/protocols/src/main/resources/logging.properties
deleted file mode 100644
index 3a2ccac5c46..00000000000
--- a/examples/nima/protocols/src/main/resources/logging.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
-io.helidon.nima.level=INFO
diff --git a/examples/nima/quickstart-standalone/pom.xml b/examples/nima/quickstart-standalone/pom.xml
deleted file mode 100644
index 9e4b18610db..00000000000
--- a/examples/nima/quickstart-standalone/pom.xml
+++ /dev/null
@@ -1,291 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.examples.nima
- helidon-nima-examples-quickstart-standalone
- 4.0.0-SNAPSHOT
-
- Helidon Níma Examples Quickstart Standalone
- Example demonstrating a standalone project without an application parent.
-
-
- UTF-8
- UTF-8
- 21
- ${maven.compiler.source}
- ${maven.compiler.source}
-
- 4.0.0-SNAPSHOT
- io.helidon.examples.nima.quickstart.standalone.StandaloneQuickstartMain
-
-
- 3.8.1
- 3.0.0
- 1.6.0
- 3.0.0-M5
- 4.0.0-M1
- 4.0.0-M1
- 3.0.2
- 1.5.0.Final
- 2.7
- 3.0.0-M5
-
-
-
-
-
-
- io.helidon
- helidon-dependencies
- ${helidon.version}
- pom
- import
-
-
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.webclient
- helidon-nima-webclient
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webclient
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webserver
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
-
-
- io.helidon.nima.observe
- helidon-nima-observe-health
-
-
- io.helidon.config
- helidon-config-yaml
-
-
- io.helidon.health
- helidon-health-checks
-
-
- jakarta.json
- jakarta.json-api
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
- ${project.artifactId}
-
-
- kr.motd.maven
- os-maven-plugin
- ${version.plugin.os}
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${version.plugin.surefire}
-
- false
- false
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
- ${version.plugin.failsafe}
-
- false
- true
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
- ${version.plugin.dependency}
-
-
- copy-libs
- prepare-package
-
- copy-dependencies
-
-
- ${project.build.directory}/libs
- false
- false
- true
- true
- runtime
- test
- true
-
-
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
- ${version.plugin.resources}
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- ${version.plugin.jar}
-
-
-
- true
- libs
- ${mainClass}
- false
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- ${version.plugin.exec}
-
- java
- true
-
- -classpath
-
- ${mainClass}
-
-
-
-
- io.helidon.build-tools
- helidon-maven-plugin
- ${version.plugin.helidon}
-
-
- io.helidon.build-tools
- helidon-cli-maven-plugin
- ${version.plugin.helidon-cli}
-
-
- org.apache.maven.plugins
- maven-source-plugin
- ${version.plugin.source}
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
-
- integration-test
- verify
-
-
-
-
-
-
-
-
- native-image
-
-
-
- io.helidon.build-tools
- helidon-maven-plugin
-
-
-
- native-image
-
-
-
-
-
-
-
-
- io.helidon.integrations.graal
- helidon-graal-native-image-extension
-
-
-
-
- jlink-image
-
-
-
- io.helidon.build-tools
- helidon-maven-plugin
-
-
-
- jlink-image
-
-
-
-
-
-
-
-
-
diff --git a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetClientHttp.java b/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetClientHttp.java
deleted file mode 100644
index 43a6d3540ac..00000000000
--- a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetClientHttp.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart.standalone;
-
-import io.helidon.common.http.Http;
-import io.helidon.nima.webclient.api.WebClient;
-
-/**
- * Executable class that invokes HTTP/1 requests against the server.
- */
-public class GreetClientHttp {
- private GreetClientHttp() {
- }
-
- /**
- * Main method.
- *
- * @param args ignored
- */
- public static void main(String[] args) {
- WebClient client = WebClient.builder()
- .baseUri("http://localhost:8080/greet")
- .build();
-
- String response = client.method(Http.Method.GET)
- .requestEntity(String.class);
-
- System.out.println(response);
-
- response = client.get("Nima")
- .requestEntity(String.class);
-
- System.out.println(response);
- }
-}
diff --git a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetClientHttp2.java b/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetClientHttp2.java
deleted file mode 100644
index 37f270e60c9..00000000000
--- a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetClientHttp2.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart.standalone;
-
-/**
- * Executable class that invokes server using HTTP/2 client.
- */
-public class GreetClientHttp2 {
- private GreetClientHttp2() {
- }
-
- /**
- * Main method.
- *
- * @param args ignored
- */
- public static void main(String[] args) {
- // TODO finish HTTP/2 client
- throw new UnsupportedOperationException("HTTP/2 client is not yet implemented");
- /*
- Http2Client client = WebClient.builder()
- .build()
- .protocol(Http2.PROTOCOL)
- .baseUri("http://localhost:8080/greet")
- .priorKnowledge(true);
-
- String response = client.method(Http.Method.GET)
- .request()
- .as(String.class);
-
- System.out.println(response);
-
- response = client.get("Nima")
- .request()
- .as(String.class);
-
- System.out.println(response);
- */
- }
-}
diff --git a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetService.java b/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetService.java
deleted file mode 100644
index f710e0844e2..00000000000
--- a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/GreetService.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 2018, 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart.standalone;
-
-import java.util.Collections;
-import java.util.concurrent.atomic.AtomicReference;
-
-import io.helidon.common.http.Http;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
-
-import jakarta.json.Json;
-import jakarta.json.JsonBuilderFactory;
-import jakarta.json.JsonObject;
-
-/**
- * A simple service to greet you. Examples:
- *
- * Get default greeting message:
- * {@code curl -X GET http://localhost:8080/greet}
- *
- * Get greeting message for Joe:
- * {@code curl -X GET http://localhost:8080/greet/Joe}
- *
- * The message is returned as a JSON object
- */
-class GreetService implements HttpService {
-
- private static final JsonBuilderFactory JSON = Json.createBuilderFactory(Collections.emptyMap());
-
- /**
- * The config value for the key {@code greeting}.
- */
- private final AtomicReference greeting = new AtomicReference<>();
-
- GreetService() {
- greeting.set("Hello");
- }
-
- /**
- * A service registers itself by updating the routing rules.
- *
- * @param rules the routing rules.
- */
- @Override
- public void routing(HttpRules rules) {
- rules
- .get("/", this::getDefaultMessageHandler)
- .get("/{name}", this::getMessageHandler)
- .put("/greeting", this::updateGreetingHandler);
- }
-
- /**
- * Return a worldly greeting message.
- *
- * @param request the server request
- * @param response the server response
- */
- private void getDefaultMessageHandler(ServerRequest request,
- ServerResponse response) {
- sendResponse(response, "World");
- }
-
- /**
- * Return a greeting message using the name that was provided.
- *
- * @param request the server request
- * @param response the server response
- */
- private void getMessageHandler(ServerRequest request,
- ServerResponse response) {
- String name = request.path().pathParameters().value("name");
- sendResponse(response, name);
- }
-
- private void sendResponse(ServerResponse response, String name) {
- String msg = String.format("%s %s!", greeting.get(), name);
-
- JsonObject returnObject = JSON.createObjectBuilder()
- .add("message", msg)
- .build();
- response.send(returnObject);
- }
-
- private void updateGreetingFromJson(JsonObject jo, ServerResponse response) {
-
- if (!jo.containsKey("greeting")) {
- JsonObject jsonErrorObject = JSON.createObjectBuilder()
- .add("error", "No greeting provided")
- .build();
- response.status(Http.Status.BAD_REQUEST_400)
- .send(jsonErrorObject);
- return;
- }
-
- greeting.set(jo.getString("greeting"));
- response.status(Http.Status.NO_CONTENT_204).send();
- }
-
- /**
- * Set the greeting to use in future messages.
- *
- * @param request the server request
- * @param response the server response
- */
- private void updateGreetingHandler(ServerRequest request,
- ServerResponse response) {
- updateGreetingFromJson(request.content().as(JsonObject.class), response);
- }
-
-}
diff --git a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/StandaloneQuickstartMain.java b/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/StandaloneQuickstartMain.java
deleted file mode 100644
index a02c5eee6e9..00000000000
--- a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/StandaloneQuickstartMain.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart.standalone;
-
-import io.helidon.health.checks.DeadlockHealthCheck;
-import io.helidon.health.checks.DiskSpaceHealthCheck;
-import io.helidon.health.checks.HeapMemoryHealthCheck;
-import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.observe.health.HealthFeature;
-import io.helidon.nima.observe.health.HealthObserveProvider;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
-
-/**
- * The application main class.
- */
-public class StandaloneQuickstartMain {
- /**
- * Cannot be instantiated.
- */
- private StandaloneQuickstartMain() {
- }
-
- /**
- * Application main entry point.
- *
- * @param args command line arguments.
- */
- public static void main(String[] args) {
- // load logging configuration
- LogConfig.configureRuntime();
-
- WebServer server = WebServer.builder()
- .routing(StandaloneQuickstartMain::routing)
- .build()
- .start();
-
- System.out.println("WEB server is up! http://localhost:" + server.port() + "/greet");
- }
-
- /**
- * Updates HTTP Routing.
- */
- static void routing(HttpRouting.Builder routing) {
- ObserveFeature observe = ObserveFeature.builder()
- .useSystemServices(true)
- .addProvider(HealthObserveProvider.create(HealthFeature.builder()
- .useSystemServices(false)
- .addCheck(HeapMemoryHealthCheck.create())
- .addCheck(DiskSpaceHealthCheck.create())
- .addCheck(DeadlockHealthCheck.create())
- .build()))
- .build();
-
- GreetService greetService = new GreetService();
-
- routing.register("/greet", greetService)
- .addFeature(observe);
- }
-}
diff --git a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/package-info.java b/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/package-info.java
deleted file mode 100644
index 8d885db1760..00000000000
--- a/examples/nima/quickstart-standalone/src/main/java/io/helidon/examples/nima/quickstart/standalone/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Standalone quickstart example.
- */
-package io.helidon.examples.nima.quickstart.standalone;
diff --git a/examples/nima/quickstart-standalone/src/main/resources/application.yaml b/examples/nima/quickstart-standalone/src/main/resources/application.yaml
deleted file mode 100644
index a4b00b628b4..00000000000
--- a/examples/nima/quickstart-standalone/src/main/resources/application.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-server:
- host: "127.0.0.1"
- port: 8080
diff --git a/examples/nima/quickstart-standalone/src/main/resources/logging.properties b/examples/nima/quickstart-standalone/src/main/resources/logging.properties
deleted file mode 100644
index 3a2ccac5c46..00000000000
--- a/examples/nima/quickstart-standalone/src/main/resources/logging.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
-io.helidon.nima.level=INFO
diff --git a/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/AbstractQuickstartTest.java b/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/AbstractQuickstartTest.java
deleted file mode 100644
index d357fdc4a21..00000000000
--- a/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/AbstractQuickstartTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart.standalone;
-
-import io.helidon.common.http.Http;
-import io.helidon.nima.testing.junit5.webserver.SetUpRoute;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.http.HttpRouting;
-
-import jakarta.json.JsonObject;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-abstract class AbstractQuickstartTest {
- private final Http1Client client;
-
- protected AbstractQuickstartTest(Http1Client client) {
- this.client = client;
- }
-
- @SetUpRoute
- static void routing(HttpRouting.Builder builder) {
- StandaloneQuickstartMain.routing(builder);
- }
-
- @Test
- void testRootRoute() {
- try (Http1ClientResponse response = client.get("/greet")
- .request()) {
-
- assertThat(response.status(), is(Http.Status.OK_200));
- JsonObject json = response.as(JsonObject.class);
- assertThat(json.getString("message"), is("Hello World!"));
- }
- }
-
- @Test
- void testHealthObserver() {
- try (Http1ClientResponse response = client.get("/observe/health").request()) {
- assertThat(response.status(), is(Http.Status.NO_CONTENT_204));
- }
- }
-
- @Test
- void testDeadlockHealthCheck() {
- try (Http1ClientResponse response = client.get("/observe/health/live/deadlock").request()) {
- assertThat(response.status(), is(Http.Status.NO_CONTENT_204));
- }
- }
-
-}
diff --git a/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/QuickstartRoutingIT.java b/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/QuickstartRoutingIT.java
deleted file mode 100644
index b20470663fa..00000000000
--- a/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/QuickstartRoutingIT.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart.standalone;
-
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.webclient.http1.Http1Client;
-
-@ServerTest
-class QuickstartRoutingIT extends AbstractQuickstartTest {
- QuickstartRoutingIT(Http1Client client) {
- super(client);
- }
-}
diff --git a/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/QuickstartRoutingTest.java b/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/QuickstartRoutingTest.java
deleted file mode 100644
index 62be3870269..00000000000
--- a/examples/nima/quickstart-standalone/src/test/java/io/helidon/examples/nima/quickstart/standalone/QuickstartRoutingTest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart.standalone;
-
-import io.helidon.nima.testing.junit5.webserver.DirectClient;
-import io.helidon.nima.testing.junit5.webserver.RoutingTest;
-
-@RoutingTest
-class QuickstartRoutingTest extends AbstractQuickstartTest {
- QuickstartRoutingTest(DirectClient client) {
- super(client);
- }
-}
-
-
diff --git a/examples/nima/quickstart/pom.xml b/examples/nima/quickstart/pom.xml
deleted file mode 100644
index db9152450fc..00000000000
--- a/examples/nima/quickstart/pom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-nima
- 4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-quickstart
- Helidon Níma Examples Quickstart
-
-
- io.helidon.examples.nima.quickstart.QuickstartMain
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.webclient
- helidon-nima-webclient
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webclient
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webserver
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
-
-
- io.helidon.nima.observe
- helidon-nima-observe-health
-
-
- io.helidon.config
- helidon-config-yaml
-
-
- io.helidon.health
- helidon-health-checks
-
-
- jakarta.json
- jakarta.json-api
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
-
- integration-test
- verify
-
-
-
-
-
-
-
diff --git a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetClientHttp.java b/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetClientHttp.java
deleted file mode 100644
index 9efb40127c5..00000000000
--- a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetClientHttp.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart;
-
-import io.helidon.common.http.Http;
-import io.helidon.nima.webclient.api.WebClient;
-
-/**
- * Executable class that invokes HTTP/1 requests against the server.
- */
-public class GreetClientHttp {
- private GreetClientHttp() {
- }
-
- /**
- * Main method.
- *
- * @param args ignored
- */
- public static void main(String[] args) {
- WebClient client = WebClient.builder()
- .baseUri("http://localhost:8080/greet")
- .build();
-
- String response = client.method(Http.Method.GET)
- .requestEntity(String.class);
-
- System.out.println(response);
-
- response = client.get("Nima")
- .requestEntity(String.class);
-
- System.out.println(response);
- }
-}
diff --git a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetClientHttp2.java b/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetClientHttp2.java
deleted file mode 100644
index fbf8bbcc3bf..00000000000
--- a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetClientHttp2.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart;
-
-/**
- * Executable class that invokes server using HTTP/2 client.
- */
-public class GreetClientHttp2 {
- private GreetClientHttp2() {
- }
-
- /**
- * Main method.
- *
- * @param args ignored
- */
- public static void main(String[] args) {
- // TODO finish HTTP/2 client
- throw new UnsupportedOperationException("HTTP/2 client is not yet implemented");
- /*
- Http2Client client = WebClient.builder()
- .build()
- .protocol(Http2.PROTOCOL)
- .baseUri("http://localhost:8080/greet")
- .priorKnowledge(true);
-
- String response = client.method(Http.Method.GET)
- .request()
- .as(String.class);
-
- System.out.println(response);
-
- response = client.get("Nima")
- .request()
- .as(String.class);
-
- System.out.println(response);
- */
- }
-}
diff --git a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetService.java b/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetService.java
deleted file mode 100644
index c4e23963f6e..00000000000
--- a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/GreetService.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 2018, 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart;
-
-import java.util.Collections;
-import java.util.concurrent.atomic.AtomicReference;
-
-import io.helidon.common.http.Http;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
-
-import jakarta.json.Json;
-import jakarta.json.JsonBuilderFactory;
-import jakarta.json.JsonObject;
-
-/**
- * A simple service to greet you. Examples:
- *
- * Get default greeting message:
- * {@code curl -X GET http://localhost:8080/greet}
- *
- * Get greeting message for Joe:
- * {@code curl -X GET http://localhost:8080/greet/Joe}
- *
- * The message is returned as a JSON object
- */
-class GreetService implements HttpService {
-
- private static final JsonBuilderFactory JSON = Json.createBuilderFactory(Collections.emptyMap());
-
- /**
- * The config value for the key {@code greeting}.
- */
- private final AtomicReference greeting = new AtomicReference<>();
-
- GreetService() {
- greeting.set("Hello");
- }
-
- /**
- * A service registers itself by updating the routing rules.
- *
- * @param rules the routing rules.
- */
- @Override
- public void routing(HttpRules rules) {
- rules
- .get("/", this::getDefaultMessageHandler)
- .get("/{name}", this::getMessageHandler)
- .put("/greeting", this::updateGreetingHandler);
- }
-
- /**
- * Return a worldly greeting message.
- *
- * @param request the server request
- * @param response the server response
- */
- private void getDefaultMessageHandler(ServerRequest request,
- ServerResponse response) {
- sendResponse(response, "World");
- }
-
- /**
- * Return a greeting message using the name that was provided.
- *
- * @param request the server request
- * @param response the server response
- */
- private void getMessageHandler(ServerRequest request,
- ServerResponse response) {
- String name = request.path().pathParameters().value("name");
- sendResponse(response, name);
- }
-
- private void sendResponse(ServerResponse response, String name) {
- String msg = String.format("%s %s!", greeting.get(), name);
-
- JsonObject returnObject = JSON.createObjectBuilder()
- .add("message", msg)
- .build();
- response.send(returnObject);
- }
-
- private void updateGreetingFromJson(JsonObject jo, ServerResponse response) {
-
- if (!jo.containsKey("greeting")) {
- JsonObject jsonErrorObject = JSON.createObjectBuilder()
- .add("error", "No greeting provided")
- .build();
- response.status(Http.Status.BAD_REQUEST_400)
- .send(jsonErrorObject);
- return;
- }
-
- greeting.set(jo.getString("greeting"));
- response.status(Http.Status.NO_CONTENT_204).send();
- }
-
- /**
- * Set the greeting to use in future messages.
- *
- * @param request the server request
- * @param response the server response
- */
- private void updateGreetingHandler(ServerRequest request,
- ServerResponse response) {
- updateGreetingFromJson(request.content().as(JsonObject.class), response);
- }
-
-}
diff --git a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/QuickstartMain.java b/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/QuickstartMain.java
deleted file mode 100644
index 7d59044424f..00000000000
--- a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/QuickstartMain.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart;
-
-import io.helidon.health.checks.DeadlockHealthCheck;
-import io.helidon.health.checks.DiskSpaceHealthCheck;
-import io.helidon.health.checks.HeapMemoryHealthCheck;
-import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.observe.health.HealthFeature;
-import io.helidon.nima.observe.health.HealthObserveProvider;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
-
-/**
- * The application main class.
- */
-public class QuickstartMain {
- /**
- * Cannot be instantiated.
- */
- private QuickstartMain() {
- }
-
- /**
- * Application main entry point.
- *
- * @param args command line arguments.
- */
- public static void main(String[] args) {
- // load logging configuration
- LogConfig.configureRuntime();
-
- WebServer server = WebServer.builder()
- .routing(QuickstartMain::routing)
- .build()
- .start();
-
- System.out.println("WEB server is up! http://localhost:" + server.port() + "/greet");
- }
-
- /**
- * Updates HTTP Routing.
- */
- static void routing(HttpRouting.Builder routing) {
- ObserveFeature observe = ObserveFeature.builder()
- .useSystemServices(false)
- .addProvider(HealthObserveProvider.create(HealthFeature.builder()
- .useSystemServices(false)
- .addCheck(HeapMemoryHealthCheck.create())
- .addCheck(DiskSpaceHealthCheck.create())
- .addCheck(DeadlockHealthCheck.create())
- .build()))
- .build();
-
- GreetService greetService = new GreetService();
-
- routing.register("/greet", greetService)
- .addFeature(observe);
- }
-}
diff --git a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/package-info.java b/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/package-info.java
deleted file mode 100644
index 7639cc1e929..00000000000
--- a/examples/nima/quickstart/src/main/java/io/helidon/examples/nima/quickstart/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Standalone quickstart example.
- */
-package io.helidon.examples.nima.quickstart;
diff --git a/examples/nima/quickstart/src/main/resources/application.yaml b/examples/nima/quickstart/src/main/resources/application.yaml
deleted file mode 100644
index a4b00b628b4..00000000000
--- a/examples/nima/quickstart/src/main/resources/application.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-server:
- host: "127.0.0.1"
- port: 8080
diff --git a/examples/nima/quickstart/src/main/resources/logging.properties b/examples/nima/quickstart/src/main/resources/logging.properties
deleted file mode 100644
index 3a2ccac5c46..00000000000
--- a/examples/nima/quickstart/src/main/resources/logging.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
-io.helidon.nima.level=INFO
diff --git a/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/AbstractQuickstartTest.java b/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/AbstractQuickstartTest.java
deleted file mode 100644
index 43ebcb86f20..00000000000
--- a/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/AbstractQuickstartTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart;
-
-import io.helidon.common.http.Http;
-import io.helidon.nima.testing.junit5.webserver.SetUpRoute;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.http.HttpRouting;
-
-import jakarta.json.JsonObject;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-abstract class AbstractQuickstartTest {
- private final Http1Client client;
-
- protected AbstractQuickstartTest(Http1Client client) {
- this.client = client;
- }
-
- @SetUpRoute
- static void routing(HttpRouting.Builder builder) {
- QuickstartMain.routing(builder);
- }
-
- @Test
- void testRootRoute() {
- try (Http1ClientResponse response = client.get("/greet")
- .request()) {
-
- assertThat(response.status(), is(Http.Status.OK_200));
- JsonObject json = response.as(JsonObject.class);
- assertThat(json.getString("message"), is("Hello World!"));
- }
- }
-
- @Test
- void testHealthObserver() {
- try (Http1ClientResponse response = client.get("/observe/health").request()) {
- assertThat(response.status(), is(Http.Status.NO_CONTENT_204));
- }
- }
-
- @Test
- void testDeadlockHealthCheck() {
- try (Http1ClientResponse response = client.get("/observe/health/live/deadlock").request()) {
- assertThat(response.status(), is(Http.Status.NO_CONTENT_204));
- }
- }
-
-}
diff --git a/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/QuickstartRoutingIT.java b/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/QuickstartRoutingIT.java
deleted file mode 100644
index ecb6796bbb2..00000000000
--- a/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/QuickstartRoutingIT.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart;
-
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.webclient.http1.Http1Client;
-
-@ServerTest
-class QuickstartRoutingIT extends AbstractQuickstartTest {
- QuickstartRoutingIT(Http1Client client) {
- super(client);
- }
-}
diff --git a/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/QuickstartRoutingTest.java b/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/QuickstartRoutingTest.java
deleted file mode 100644
index c1899da0a6f..00000000000
--- a/examples/nima/quickstart/src/test/java/io/helidon/examples/nima/quickstart/QuickstartRoutingTest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.quickstart;
-
-import io.helidon.nima.testing.junit5.webserver.DirectClient;
-import io.helidon.nima.testing.junit5.webserver.RoutingTest;
-
-@RoutingTest
-class QuickstartRoutingTest extends AbstractQuickstartTest {
- QuickstartRoutingTest(DirectClient client) {
- super(client);
- }
-}
-
-
diff --git a/examples/nima/quickstart/src/test/resources/logging-test.properties b/examples/nima/quickstart/src/test/resources/logging-test.properties
deleted file mode 100644
index d3360e3eaa2..00000000000
--- a/examples/nima/quickstart/src/test/resources/logging-test.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.ConsoleHandler.level=FINEST
-java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
-# java.util.logging.SimpleFormatter.format = [%1$tc] %5$s %6$s%n
-java.util.logging.SimpleFormatter.format=%1$tH:%1$tM:%1$tS %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=WARNING
diff --git a/examples/nima/static-content/pom.xml b/examples/nima/static-content/pom.xml
deleted file mode 100644
index 40afe601091..00000000000
--- a/examples/nima/static-content/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-nima
- 4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-staticcontent
- Helidon Níma Examples Static Content
-
-
- io.helidon.examples.nima.staticcontent.StaticContentMain
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver-static-content
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
-
-
diff --git a/examples/nima/static-content/src/main/java/io/helidon/examples/nima/staticcontent/StaticContentMain.java b/examples/nima/static-content/src/main/java/io/helidon/examples/nima/staticcontent/StaticContentMain.java
deleted file mode 100644
index 68e1c4f02fe..00000000000
--- a/examples/nima/static-content/src/main/java/io/helidon/examples/nima/staticcontent/StaticContentMain.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.examples.nima.staticcontent;
-
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
-
-/**
- * Static content example.
- */
-public class StaticContentMain {
- private StaticContentMain() {
- }
-
- /**
- * Main methods.
- *
- * @param args ignored
- */
- public static void main(String[] args) {
- WebServer.builder()
- .host("127.0.0.1")
- .port(8080)
- .routing(StaticContentMain::routing)
- .build()
- .start();
- System.out.println("You can access static content on http://localhost:8080/favicon.ico");
- System.out.println("You can access static endpoint on http://localhost:8080/api/greet");
- }
-
- static void routing(HttpRouting.Builder routing) {
- // register static content on root path of the server
- // use classpath /web to look for resources
- routing.register("/", StaticContentService.builder("web"))
- .get("/api/greet", (req, res) -> res.send("Hello World!"));
- }
-}
-
diff --git a/examples/nima/static-content/src/main/java/io/helidon/examples/nima/staticcontent/package-info.java b/examples/nima/static-content/src/main/java/io/helidon/examples/nima/staticcontent/package-info.java
deleted file mode 100644
index eee4d8befbf..00000000000
--- a/examples/nima/static-content/src/main/java/io/helidon/examples/nima/staticcontent/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Static content example. Uses static content from classpath.
- */
-package io.helidon.examples.nima.staticcontent;
diff --git a/examples/nima/tracing/pom.xml b/examples/nima/tracing/pom.xml
deleted file mode 100644
index 86e1d0a7632..00000000000
--- a/examples/nima/tracing/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-nima
- 4.0.0-SNAPSHOT
- ../../../applications/nima/pom.xml
-
-
- io.helidon.examples.nima
- helidon-nima-examples-tracing
- Helidon Níma Examples Tracing
-
-
- io.helidon.examples.nima.tracing.TracingMain
-
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webserver
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver-tracing
-
-
- io.helidon.nima.webclient
- helidon-nima-webclient
-
-
- io.helidon.nima.webclient
- helidon-nima-webclient-tracing
-
-
- io.helidon.tracing.providers
- helidon-tracing-providers-jaeger
-
-
- io.helidon.config
- helidon-config-yaml
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
-
-
diff --git a/examples/nima/tracing/src/main/java/io/helidon/examples/nima/tracing/package-info.java b/examples/nima/tracing/src/main/java/io/helidon/examples/nima/tracing/package-info.java
deleted file mode 100644
index 6b72b1d1b75..00000000000
--- a/examples/nima/tracing/src/main/java/io/helidon/examples/nima/tracing/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Tracing example.
- */
-package io.helidon.examples.nima.tracing;
diff --git a/examples/nima/tracing/src/main/resources/application.yaml b/examples/nima/tracing/src/main/resources/application.yaml
deleted file mode 100644
index b9ae3e22db1..00000000000
--- a/examples/nima/tracing/src/main/resources/application.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tracing:
- service: "helidon-server"
- sampler-type: "const"
- sampler-param: 1
\ No newline at end of file
diff --git a/examples/nima/tracing/src/main/resources/logging.properties b/examples/nima/tracing/src/main/resources/logging.properties
deleted file mode 100644
index 3a2ccac5c46..00000000000
--- a/examples/nima/tracing/src/main/resources/logging.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
-io.helidon.nima.level=INFO
diff --git a/examples/openapi-tools/pom.xml b/examples/openapi-tools/pom.xml
index cc7e8c56605..664fd17670f 100644
--- a/examples/openapi-tools/pom.xml
+++ b/examples/openapi-tools/pom.xml
@@ -29,7 +29,7 @@
pomio.helidon.examples.openapi.toolshelidon-examples-openapi-tools-project
- Helidon OpenApi Tools Examples
+ Helidon Examples OpenApi Tools
diff --git a/examples/openapi/pom.xml b/examples/openapi/pom.xml
index 8f2a18102d7..d39d96915fa 100644
--- a/examples/openapi/pom.xml
+++ b/examples/openapi/pom.xml
@@ -48,20 +48,20 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonp
- io.helidon.nima.observe
- helidon-nima-observe-health
+ io.helidon.webserver.observe
+ helidon-webserver-observe-health
- io.helidon.nima.observe
- helidon-nima-observe-metrics
+ io.helidon.webserver.observe
+ helidon-webserver-observe-metricsio.helidon.metrics
@@ -89,13 +89,13 @@
test
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclienttest
diff --git a/examples/openapi/src/main/java/io/helidon/examples/openapi/GreetService.java b/examples/openapi/src/main/java/io/helidon/examples/openapi/GreetService.java
index c44d3572171..6fb9eff26fd 100644
--- a/examples/openapi/src/main/java/io/helidon/examples/openapi/GreetService.java
+++ b/examples/openapi/src/main/java/io/helidon/examples/openapi/GreetService.java
@@ -18,12 +18,12 @@
import java.util.Map;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.Json;
import jakarta.json.JsonBuilderFactory;
diff --git a/examples/openapi/src/main/java/io/helidon/examples/openapi/Main.java b/examples/openapi/src/main/java/io/helidon/examples/openapi/Main.java
index 5b181f95443..e3cb960487e 100644
--- a/examples/openapi/src/main/java/io/helidon/examples/openapi/Main.java
+++ b/examples/openapi/src/main/java/io/helidon/examples/openapi/Main.java
@@ -18,11 +18,11 @@
import io.helidon.config.Config;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.http.HttpRouting;
import io.helidon.openapi.OpenApiFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
/**
* Simple Hello World rest application.
diff --git a/examples/openapi/src/main/resources/logging.properties b/examples/openapi/src/main/resources/logging.properties
index b41579b07df..c0b8486695d 100644
--- a/examples/openapi/src/main/resources/logging.properties
+++ b/examples/openapi/src/main/resources/logging.properties
@@ -27,7 +27,7 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
.level=INFO
# Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.common.level=INFO
diff --git a/examples/openapi/src/test/java/io/helidon/examples/openapi/MainTest.java b/examples/openapi/src/test/java/io/helidon/examples/openapi/MainTest.java
index efced9bf3eb..fbed258d3e7 100644
--- a/examples/openapi/src/test/java/io/helidon/examples/openapi/MainTest.java
+++ b/examples/openapi/src/test/java/io/helidon/examples/openapi/MainTest.java
@@ -18,14 +18,14 @@
import java.util.Map;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.common.media.type.MediaTypes;
import io.helidon.examples.openapi.internal.SimpleAPIModelReader;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.WebServerConfig;
import jakarta.json.Json;
import jakarta.json.JsonBuilderFactory;
diff --git a/examples/pom.xml b/examples/pom.xml
index b946f2e25e4..fe4adbd9d43 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -41,28 +41,28 @@
config
+ cors
+ dbclient
+ employee-app
+ fault-tolerancegraphqlhealth
- quickstarts
- microprofile
+ integrations
+ inject
+ jbatch
+ loggingmedia
+ messaging
+ metrics
+ microprofileopenapiopenapi-tools
+ quickstartssecuritytodo-apptranslator-app
- webserver
- integrations
- employee-app
- dbclientwebclient
- cors
- messaging
- logging
- metrics
- jbatch
- nima
- inject
+ webserver
diff --git a/examples/quickstarts/README.md b/examples/quickstarts/README.md
index 33b80c93b54..83f2f7d6eec 100644
--- a/examples/quickstarts/README.md
+++ b/examples/quickstarts/README.md
@@ -1,4 +1,4 @@
-# Helidon Quickstart Examples
+# Helidon Examples Quickstart
These are the examples used by the Helidon Getting Started guide, and
the quickstart Maven archetypes. All examples implement the same
diff --git a/examples/quickstarts/helidon-quickstart-mp/pom.xml b/examples/quickstarts/helidon-quickstart-mp/pom.xml
index e214a8b1100..4d31166d077 100644
--- a/examples/quickstarts/helidon-quickstart-mp/pom.xml
+++ b/examples/quickstarts/helidon-quickstart-mp/pom.xml
@@ -29,7 +29,7 @@
io.helidon.exampleshelidon-quickstart-mp
- Helidon Quickstart MP Example
+ Helidon Examples Quickstart MP
diff --git a/examples/quickstarts/helidon-quickstart-mp/src/main/resources/logging.properties b/examples/quickstarts/helidon-quickstart-mp/src/main/resources/logging.properties
index 64bcc6ce960..da1998a9d36 100644
--- a/examples/quickstarts/helidon-quickstart-mp/src/main/resources/logging.properties
+++ b/examples/quickstarts/helidon-quickstart-mp/src/main/resources/logging.properties
@@ -30,7 +30,7 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
org.jboss.level=WARNING
# Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.microprofile.level=INFO
diff --git a/examples/quickstarts/helidon-quickstart-se/build.gradle b/examples/quickstarts/helidon-quickstart-se/build.gradle
index d019d9b8233..8de33e9e1a7 100644
--- a/examples/quickstarts/helidon-quickstart-se/build.gradle
+++ b/examples/quickstarts/helidon-quickstart-se/build.gradle
@@ -47,15 +47,15 @@ repositories {
dependencies {
// import Helidon BOM
implementation enforcedPlatform("io.helidon:helidon-dependencies:${project.helidonversion}")
- implementation 'io.helidon.nima.webserver:helidon-nima-webserver'
- implementation 'io.helidon.nima.http.media:helidon-nima-http-media-jsonp'
- implementation 'io.helidon.nima.observe:helidon-nima-observe-health'
+ implementation 'io.helidon.webserver:helidon-webserver'
+ implementation 'io.helidon.http.media:helidon-http-media-jsonp'
+ implementation 'io.helidon.webserver.observe:helidon-observe-health'
implementation 'io.helidon.config:helidon-config-yaml'
implementation 'io.helidon.health:helidon-health-checks'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
- testImplementation 'io.helidon.nima.testing.junit5:helidon-nima-testing-junit5-webserver'
- testImplementation 'io.helidon.nima.webclient:helidon-nima-webclient'
+ testImplementation 'io.helidon.webserver.testing.junit5:helidon-webserver-testing-junit5'
+ testImplementation 'io.helidon.webclient:helidon-webclient'
testImplementation 'org.hamcrest:hamcrest-all'
}
diff --git a/examples/quickstarts/helidon-quickstart-se/pom.xml b/examples/quickstarts/helidon-quickstart-se/pom.xml
index be5296bba47..aeb93222cca 100644
--- a/examples/quickstarts/helidon-quickstart-se/pom.xml
+++ b/examples/quickstarts/helidon-quickstart-se/pom.xml
@@ -30,7 +30,7 @@
io.helidon.exampleshelidon-quickstart-se4.0.0-SNAPSHOT
- Helidon Quickstart SE Example
+ Helidon Examples Quickstart SEio.helidon.examples.quickstart.se.Main
@@ -38,20 +38,20 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonp
- io.helidon.nima.observe
- helidon-nima-observe-health
+ io.helidon.webserver.observe
+ helidon-webserver-observe-health
- io.helidon.nima.observe
- helidon-nima-observe-metrics
+ io.helidon.webserver.observe
+ helidon-webserver-observe-metricsio.helidon.metrics
@@ -79,13 +79,13 @@
test
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclienttest
diff --git a/examples/quickstarts/helidon-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/GreetService.java b/examples/quickstarts/helidon-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/GreetService.java
index 26ec5df3aad..5aad051edbe 100644
--- a/examples/quickstarts/helidon-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/GreetService.java
+++ b/examples/quickstarts/helidon-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/GreetService.java
@@ -19,11 +19,11 @@
import java.util.Collections;
import java.util.concurrent.atomic.AtomicReference;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.Json;
import jakarta.json.JsonBuilderFactory;
diff --git a/examples/quickstarts/helidon-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/Main.java b/examples/quickstarts/helidon-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/Main.java
index d11ab6ebb0f..ea1dc5e31e3 100644
--- a/examples/quickstarts/helidon-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/Main.java
+++ b/examples/quickstarts/helidon-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/Main.java
@@ -17,10 +17,10 @@
package io.helidon.examples.quickstart.se;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
import io.helidon.openapi.OpenApiFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
/**
* The application main class.
diff --git a/examples/quickstarts/helidon-quickstart-se/src/main/resources/logging.properties b/examples/quickstarts/helidon-quickstart-se/src/main/resources/logging.properties
index b761cfd92e6..175767778e7 100644
--- a/examples/quickstarts/helidon-quickstart-se/src/main/resources/logging.properties
+++ b/examples/quickstarts/helidon-quickstart-se/src/main/resources/logging.properties
@@ -19,4 +19,4 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$
# Global logging level. Can be overridden by specific loggers
.level=INFO
-io.helidon.nima.level=INFO
+io.helidon.level=INFO
diff --git a/examples/quickstarts/helidon-quickstart-se/src/test/java/io/helidon/examples/quickstart/se/MainTest.java b/examples/quickstarts/helidon-quickstart-se/src/test/java/io/helidon/examples/quickstart/se/MainTest.java
index 30d3415cb35..52cf71d2aa7 100644
--- a/examples/quickstarts/helidon-quickstart-se/src/test/java/io/helidon/examples/quickstart/se/MainTest.java
+++ b/examples/quickstarts/helidon-quickstart-se/src/test/java/io/helidon/examples/quickstart/se/MainTest.java
@@ -16,12 +16,12 @@
package io.helidon.examples.quickstart.se;
-import io.helidon.common.http.Http;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpRoute;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.http.Http;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpRoute;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.http.HttpRouting;
import jakarta.json.JsonObject;
import org.junit.jupiter.api.Test;
diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/README.md b/examples/quickstarts/helidon-standalone-quickstart-mp/README.md
index 5a7d5c00cf2..f0d0ad8e4e7 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-mp/README.md
+++ b/examples/quickstarts/helidon-standalone-quickstart-mp/README.md
@@ -1,4 +1,4 @@
-# Helidon Standalone Quickstart MP Example
+# Helidon Examples Standalone Quickstart MP
This example implements a simple Hello World REST service using MicroProfile
with a standalone Maven pom.
diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml b/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml
index ab7d4a2eaac..4daa728610f 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml
+++ b/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml
@@ -23,7 +23,7 @@
io.helidon.examples.quickstartshelidon-standalone-quickstart-mp4.0.0-SNAPSHOT
- Helidon Standalone Quickstart MP Example
+ Helidon Examples Standalone Quickstart MP4.0.0-SNAPSHOT
diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/src/main/resources/logging.properties b/examples/quickstarts/helidon-standalone-quickstart-mp/src/main/resources/logging.properties
index 0c4c6e54932..7b5bc371f29 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-mp/src/main/resources/logging.properties
+++ b/examples/quickstarts/helidon-standalone-quickstart-mp/src/main/resources/logging.properties
@@ -31,7 +31,7 @@ org.jboss.level=WARNING
#
# Component specific log levels
-#io.helidon.nima.webserver.level=INFO
+#io.helidon.webserver.level=INFO
#io.helidon.config.level=INFO
#io.helidon.security.level=INFO
#io.helidon.microprofile.level=INFO
diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/README.md b/examples/quickstarts/helidon-standalone-quickstart-se/README.md
index 08887994d89..708fea5f8e4 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-se/README.md
+++ b/examples/quickstarts/helidon-standalone-quickstart-se/README.md
@@ -1,4 +1,4 @@
-# Helidon Standalone Quickstart SE Example
+# Helidon Examples Standalone Quickstart SE
This project implements a simple Hello World REST service using Helidon SE with
a standalone Maven pom.
diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml b/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml
index acbb8f6f524..63de209661f 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml
+++ b/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml
@@ -24,7 +24,7 @@
io.helidon.examples.quickstartshelidon-standalone-quickstart-se4.0.0-SNAPSHOT
- Helidon Standalone Quickstart SE Example
+ Helidon Examples Standalone Quickstart SE4.0.0-SNAPSHOT
@@ -64,20 +64,20 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonp
- io.helidon.nima.observe
- helidon-nima-observe-health
+ io.helidon.webserver.observe
+ helidon-webserver-observe-health
- io.helidon.nima.observe
- helidon-nima-observe-metrics
+ io.helidon.webserver.observe
+ helidon-webserver-observe-metricsio.helidon.metrics
@@ -101,13 +101,13 @@
test
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclienttest
diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/GreetService.java b/examples/quickstarts/helidon-standalone-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/GreetService.java
index 26ec5df3aad..5aad051edbe 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/GreetService.java
+++ b/examples/quickstarts/helidon-standalone-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/GreetService.java
@@ -19,11 +19,11 @@
import java.util.Collections;
import java.util.concurrent.atomic.AtomicReference;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.Json;
import jakarta.json.JsonBuilderFactory;
diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/Main.java b/examples/quickstarts/helidon-standalone-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/Main.java
index 923af659af6..fb1809677bb 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/Main.java
+++ b/examples/quickstarts/helidon-standalone-quickstart-se/src/main/java/io/helidon/examples/quickstart/se/Main.java
@@ -17,9 +17,9 @@
package io.helidon.examples.quickstart.se;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
/**
* The application main class.
diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/src/main/resources/logging.properties b/examples/quickstarts/helidon-standalone-quickstart-se/src/main/resources/logging.properties
index b761cfd92e6..175767778e7 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-se/src/main/resources/logging.properties
+++ b/examples/quickstarts/helidon-standalone-quickstart-se/src/main/resources/logging.properties
@@ -19,4 +19,4 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$
# Global logging level. Can be overridden by specific loggers
.level=INFO
-io.helidon.nima.level=INFO
+io.helidon.level=INFO
diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/src/test/java/io/helidon/examples/quickstart/se/MainTest.java b/examples/quickstarts/helidon-standalone-quickstart-se/src/test/java/io/helidon/examples/quickstart/se/MainTest.java
index ad546580caa..3d33b31ed54 100644
--- a/examples/quickstarts/helidon-standalone-quickstart-se/src/test/java/io/helidon/examples/quickstart/se/MainTest.java
+++ b/examples/quickstarts/helidon-standalone-quickstart-se/src/test/java/io/helidon/examples/quickstart/se/MainTest.java
@@ -16,12 +16,12 @@
package io.helidon.examples.quickstart.se;
-import io.helidon.common.http.Http;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpRoute;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.http.Http;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpRoute;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.http.HttpRouting;
import jakarta.json.JsonObject;
import org.junit.jupiter.api.Test;
diff --git a/examples/quickstarts/pom.xml b/examples/quickstarts/pom.xml
index 0a5d34d9530..ca67dfe3831 100644
--- a/examples/quickstarts/pom.xml
+++ b/examples/quickstarts/pom.xml
@@ -27,7 +27,7 @@
io.helidon.examples.quickstartsexamples-quickstarts-project
- Helidon Quickstart Examples
+ Helidon Examples Quickstartpom
diff --git a/examples/security/attribute-based-access-control/pom.xml b/examples/security/attribute-based-access-control/pom.xml
index b569ba3be76..f751d29c92d 100644
--- a/examples/security/attribute-based-access-control/pom.xml
+++ b/examples/security/attribute-based-access-control/pom.xml
@@ -29,14 +29,14 @@
io.helidon.examples.securityhelidon-examples-security-abac
- Helidon Security Examples ABAC
+ Helidon Examples Security ABAC
Example of attribute based access control.
- io.helidon.security.examples.abac.AbacJerseyMain
+ io.helidon.examples.security.abac.AbacJerseyMain
diff --git a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacApplication.java b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacApplication.java
similarity index 90%
rename from examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacApplication.java
rename to examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacApplication.java
index 47ea7961ee9..69e7ab95b28 100644
--- a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacApplication.java
+++ b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacApplication.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.security.examples.abac;
+package io.helidon.examples.security.abac;
import java.util.Set;
diff --git a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacExplicitResource.java b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacExplicitResource.java
similarity index 97%
rename from examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacExplicitResource.java
rename to examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacExplicitResource.java
index 5e9120745fa..313d2c32934 100644
--- a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacExplicitResource.java
+++ b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacExplicitResource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.security.examples.abac;
+package io.helidon.examples.security.abac;
import java.time.DayOfWeek;
diff --git a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacJerseyMain.java b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacJerseyMain.java
similarity index 95%
rename from examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacJerseyMain.java
rename to examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacJerseyMain.java
index 9536c13bd0a..b1d9aa7ba09 100644
--- a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacJerseyMain.java
+++ b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacJerseyMain.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.security.examples.abac;
+package io.helidon.examples.security.abac;
import io.helidon.config.Config;
import io.helidon.microprofile.server.Server;
diff --git a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacResource.java b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacResource.java
similarity index 96%
rename from examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacResource.java
rename to examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacResource.java
index 475509cc86f..50bc7dbf97e 100644
--- a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AbacResource.java
+++ b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AbacResource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2019, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.security.examples.abac;
+package io.helidon.examples.security.abac;
import java.time.DayOfWeek;
diff --git a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AtnProvider.java b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AtnProvider.java
similarity index 99%
rename from examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AtnProvider.java
rename to examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AtnProvider.java
index ca2ab9e8747..bd3a34df0f6 100644
--- a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/AtnProvider.java
+++ b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/AtnProvider.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.security.examples.abac;
+package io.helidon.examples.security.abac;
import java.lang.annotation.Annotation;
import java.lang.annotation.Documented;
diff --git a/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/package-info.java b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/package-info.java
new file mode 100644
index 00000000000..19f2fcbcb69
--- /dev/null
+++ b/examples/security/attribute-based-access-control/src/main/java/io/helidon/examples/security/abac/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example of Attribute based access control (ABAC).
+ */
+package io.helidon.examples.security.abac;
diff --git a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/package-info.java b/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/package-info.java
deleted file mode 100644
index 34c99f05d42..00000000000
--- a/examples/security/attribute-based-access-control/src/main/java/io/helidon/security/examples/abac/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example of Attribute based access control (ABAC).
- */
-package io.helidon.security.examples.abac;
diff --git a/examples/security/basic-auth-with-static-content/pom.xml b/examples/security/basic-auth-with-static-content/pom.xml
index 9ae3d147131..093608d606c 100644
--- a/examples/security/basic-auth-with-static-content/pom.xml
+++ b/examples/security/basic-auth-with-static-content/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.securityhelidon-examples-security-webserver-basic-auth
- Helidon Security Examples HTTP Basic Authentication with Static Content
+ Helidon Examples Security HTTP Basic Auth with Static Content
This example demonstrates Integration of Web Server based application with Security component, HTTP Basic
@@ -37,13 +37,13 @@
- io.helidon.security.examples.webserver.basic.BasicExampleConfigMain
+ io.helidon.examples.security.basicauth.BasicExampleConfigMain
- io.helidon.security.integration
- helidon-security-integration-nima
+ io.helidon.webserver
+ helidon-webserver-securityio.helidon.config
@@ -54,12 +54,12 @@
helidon-security-providers-http-auth
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.webserver
- helidon-nima-webserver-static-content
+ io.helidon.webserver
+ helidon-webserver-static-contentio.helidon.config
@@ -70,13 +70,13 @@
helidon-config-yaml
- io.helidon.nima.webclient
- helidon-nima-webclient-security
+ io.helidon.webclient
+ helidon-webclient-securitytest
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/BasicExampleBuilderMain.java b/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/BasicExampleBuilderMain.java
similarity index 93%
rename from examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/BasicExampleBuilderMain.java
rename to examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/BasicExampleBuilderMain.java
index 14610b49cac..5e477ee680e 100644
--- a/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/BasicExampleBuilderMain.java
+++ b/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/BasicExampleBuilderMain.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.basic;
+package io.helidon.examples.security.basicauth;
import java.util.Arrays;
import java.util.HashMap;
@@ -23,17 +23,17 @@
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import io.helidon.common.http.HttpMediaTypes;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
import io.helidon.security.Security;
import io.helidon.security.SecurityContext;
-import io.helidon.security.integration.nima.SecurityFeature;
import io.helidon.security.providers.httpauth.HttpBasicAuthProvider;
import io.helidon.security.providers.httpauth.SecureUserStore;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.security.SecurityFeature;
+import io.helidon.webserver.staticcontent.StaticContentService;
/**
* Example using {@link io.helidon.common.Builder} approach instead of configuration based approach.
diff --git a/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/BasicExampleConfigMain.java b/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/BasicExampleConfigMain.java
similarity index 90%
rename from examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/BasicExampleConfigMain.java
rename to examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/BasicExampleConfigMain.java
index e42e6b3a5da..f9ebffa6333 100644
--- a/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/BasicExampleConfigMain.java
+++ b/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/BasicExampleConfigMain.java
@@ -14,20 +14,20 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.basic;
+package io.helidon.examples.security.basicauth;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import io.helidon.common.http.HttpMediaTypes;
import io.helidon.config.Config;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
import io.helidon.security.SecurityContext;
-import io.helidon.security.integration.nima.SecurityFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.security.SecurityFeature;
+import io.helidon.webserver.staticcontent.StaticContentService;
/**
* Example using configuration based approach.
diff --git a/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/package-info.java b/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/package-info.java
new file mode 100644
index 00000000000..6dfa24d18cc
--- /dev/null
+++ b/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/examples/security/basicauth/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2020, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example of basic authentication used with static content.
+ */
+package io.helidon.examples.security.basicauth;
diff --git a/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/package-info.java b/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/package-info.java
deleted file mode 100644
index 95bf9df0bd5..00000000000
--- a/examples/security/basic-auth-with-static-content/src/main/java/io/helidon/security/examples/webserver/basic/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2020 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example of basic authentication used with static content.
- */
-package io.helidon.security.examples.webserver.basic;
diff --git a/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleBuilderTest.java b/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleBuilderTest.java
similarity index 85%
rename from examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleBuilderTest.java
rename to examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleBuilderTest.java
index f66893bb006..369fe835890 100644
--- a/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleBuilderTest.java
+++ b/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleBuilderTest.java
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.basic;
+package io.helidon.examples.security.basicauth;
import java.net.URI;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webserver.WebServerConfig;
/**
* Unit test for {@link BasicExampleBuilderMain}.
diff --git a/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleConfigTest.java b/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleConfigTest.java
similarity index 85%
rename from examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleConfigTest.java
rename to examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleConfigTest.java
index 9ba97bb0016..94dcf7a6839 100644
--- a/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleConfigTest.java
+++ b/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleConfigTest.java
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.basic;
+package io.helidon.examples.security.basicauth;
import java.net.URI;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webserver.WebServerConfig;
/**
* Unit test for {@link BasicExampleConfigMain}.
diff --git a/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleTest.java b/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleTest.java
similarity index 94%
rename from examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleTest.java
rename to examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleTest.java
index a03b29ce75e..7b3cc73014e 100644
--- a/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/security/examples/webserver/basic/BasicExampleTest.java
+++ b/examples/security/basic-auth-with-static-content/src/test/java/io/helidon/examples/security/basicauth/BasicExampleTest.java
@@ -14,16 +14,16 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.basic;
+package io.helidon.examples.security.basicauth;
import java.net.URI;
import java.util.Set;
-import io.helidon.common.http.Http;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webclient.security.WebClientSecurity;
+import io.helidon.http.Http;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webclient.security.WebClientSecurity;
import io.helidon.security.Security;
import io.helidon.security.providers.httpauth.HttpBasicAuthProvider;
diff --git a/examples/security/google-login/pom.xml b/examples/security/google-login/pom.xml
index fdef5e5e53c..927ff586eae 100644
--- a/examples/security/google-login/pom.xml
+++ b/examples/security/google-login/pom.xml
@@ -29,20 +29,20 @@
io.helidon.examples.securityhelidon-examples-security-google-login
- Helidon Security Examples Google Login
+ Helidon Examples Security Google Login
Example of Google login button integration with Security.
- io.helidon.security.examples.google.GoogleConfigMain
+ io.helidon.examples.security.google.GoogleConfigMain
- io.helidon.security.integration
- helidon-security-integration-nima
+ io.helidon.webserver
+ helidon-webserver-securityio.helidon.security.providers
@@ -53,20 +53,20 @@
helidon-config-encryption
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.webserver
- helidon-nima-webserver-static-content
+ io.helidon.webserver
+ helidon-webserver-static-contentio.helidon.bundleshelidon-bundles-config
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/security/google-login/src/main/java/io/helidon/security/examples/google/GoogleBuilderMain.java b/examples/security/google-login/src/main/java/io/helidon/examples/security/google/GoogleBuilderMain.java
similarity index 89%
rename from examples/security/google-login/src/main/java/io/helidon/security/examples/google/GoogleBuilderMain.java
rename to examples/security/google-login/src/main/java/io/helidon/examples/security/google/GoogleBuilderMain.java
index 361c4c5f1e3..3b35d01b441 100644
--- a/examples/security/google-login/src/main/java/io/helidon/security/examples/google/GoogleBuilderMain.java
+++ b/examples/security/google-login/src/main/java/io/helidon/examples/security/google/GoogleBuilderMain.java
@@ -14,22 +14,22 @@
* limitations under the License.
*/
-package io.helidon.security.examples.google;
+package io.helidon.examples.security.google;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import io.helidon.common.http.HttpMediaTypes;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
import io.helidon.security.Security;
import io.helidon.security.SecurityContext;
import io.helidon.security.Subject;
-import io.helidon.security.integration.nima.SecurityFeature;
import io.helidon.security.providers.google.login.GoogleTokenProvider;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.security.SecurityFeature;
+import io.helidon.webserver.staticcontent.StaticContentService;
/**
* Google login button example main class using builders.
diff --git a/examples/security/google-login/src/main/java/io/helidon/security/examples/google/GoogleConfigMain.java b/examples/security/google-login/src/main/java/io/helidon/examples/security/google/GoogleConfigMain.java
similarity index 89%
rename from examples/security/google-login/src/main/java/io/helidon/security/examples/google/GoogleConfigMain.java
rename to examples/security/google-login/src/main/java/io/helidon/examples/security/google/GoogleConfigMain.java
index 29b281d181a..1c194f8a261 100644
--- a/examples/security/google-login/src/main/java/io/helidon/security/examples/google/GoogleConfigMain.java
+++ b/examples/security/google-login/src/main/java/io/helidon/examples/security/google/GoogleConfigMain.java
@@ -14,21 +14,21 @@
* limitations under the License.
*/
-package io.helidon.security.examples.google;
+package io.helidon.examples.security.google;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import io.helidon.common.http.HttpMediaTypes;
import io.helidon.config.Config;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
import io.helidon.security.SecurityContext;
import io.helidon.security.Subject;
-import io.helidon.security.integration.nima.SecurityFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.security.SecurityFeature;
+import io.helidon.webserver.staticcontent.StaticContentService;
import static io.helidon.config.ConfigSources.classpath;
import static io.helidon.config.ConfigSources.file;
diff --git a/examples/security/google-login/src/main/java/io/helidon/examples/security/google/package-info.java b/examples/security/google-login/src/main/java/io/helidon/examples/security/google/package-info.java
new file mode 100644
index 00000000000..44ad9e8fde2
--- /dev/null
+++ b/examples/security/google-login/src/main/java/io/helidon/examples/security/google/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example of integration of Google Login button with security.
+ */
+package io.helidon.examples.security.google;
diff --git a/examples/security/google-login/src/main/java/io/helidon/security/examples/google/package-info.java b/examples/security/google-login/src/main/java/io/helidon/security/examples/google/package-info.java
deleted file mode 100644
index eeef4147c5b..00000000000
--- a/examples/security/google-login/src/main/java/io/helidon/security/examples/google/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example of integration of Google Login button with security.
- */
-package io.helidon.security.examples.google;
diff --git a/examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleBuilderMainTest.java b/examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleBuilderMainTest.java
similarity index 78%
rename from examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleBuilderMainTest.java
rename to examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleBuilderMainTest.java
index a4259957417..10afcd2fab4 100644
--- a/examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleBuilderMainTest.java
+++ b/examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleBuilderMainTest.java
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package io.helidon.security.examples.google;
+package io.helidon.examples.security.google;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webserver.WebServerConfig;
/**
* Unit test for {@link GoogleBuilderMain}.
diff --git a/examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleConfigMainTest.java b/examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleConfigMainTest.java
similarity index 78%
rename from examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleConfigMainTest.java
rename to examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleConfigMainTest.java
index 5f5477f842c..cc60df9b764 100644
--- a/examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleConfigMainTest.java
+++ b/examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleConfigMainTest.java
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package io.helidon.security.examples.google;
+package io.helidon.examples.security.google;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webserver.WebServerConfig;
/**
* Unit test for {@link GoogleConfigMain}.
diff --git a/examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleMainTest.java b/examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleMainTest.java
similarity index 88%
rename from examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleMainTest.java
rename to examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleMainTest.java
index 3d8827ac72d..b1691adf143 100644
--- a/examples/security/google-login/src/test/java/io/helidon/security/examples/google/GoogleMainTest.java
+++ b/examples/security/google-login/src/test/java/io/helidon/examples/security/google/GoogleMainTest.java
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package io.helidon.security.examples.google;
+package io.helidon.examples.security.google;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
+import io.helidon.http.Http;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
import org.junit.jupiter.api.Test;
diff --git a/examples/security/idcs-login/pom.xml b/examples/security/idcs-login/pom.xml
index ca8dc02b1f5..7a04d84bac9 100644
--- a/examples/security/idcs-login/pom.xml
+++ b/examples/security/idcs-login/pom.xml
@@ -29,24 +29,24 @@
io.helidon.examples.securityhelidon-examples-security-oidc
- Helidon Security Examples IDCS Login
+ Helidon Examples Security IDCS Login
Example of login with IDCS using the OIDC provider, storing the identity in a cookie
- io.helidon.security.examples.idcs.IdcsMain
+ io.helidon.examples.security.idcs.IdcsMain
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonp
@@ -78,8 +78,8 @@
- io.helidon.security.integration
- helidon-security-integration-nima
+ io.helidon.webserver
+ helidon-webserver-security
diff --git a/examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/IdcsBuilderMain.java b/examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/IdcsBuilderMain.java
similarity index 95%
rename from examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/IdcsBuilderMain.java
rename to examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/IdcsBuilderMain.java
index ec45a0d3bd4..0a1d6cc3470 100644
--- a/examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/IdcsBuilderMain.java
+++ b/examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/IdcsBuilderMain.java
@@ -14,25 +14,25 @@
* limitations under the License.
*/
-package io.helidon.security.examples.idcs;
+package io.helidon.examples.security.idcs;
import java.net.URI;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import io.helidon.common.http.HttpMediaTypes;
import io.helidon.config.Config;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
import io.helidon.security.Security;
import io.helidon.security.SecurityContext;
import io.helidon.security.Subject;
-import io.helidon.security.integration.nima.SecurityFeature;
import io.helidon.security.providers.idcs.mapper.IdcsRoleMapperProvider;
import io.helidon.security.providers.oidc.OidcFeature;
import io.helidon.security.providers.oidc.OidcProvider;
import io.helidon.security.providers.oidc.common.OidcConfig;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.security.SecurityFeature;
import static io.helidon.config.ConfigSources.classpath;
import static io.helidon.config.ConfigSources.file;
diff --git a/examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/IdcsMain.java b/examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/IdcsMain.java
similarity index 94%
rename from examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/IdcsMain.java
rename to examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/IdcsMain.java
index 7a60b6b3dab..366b5dae9bb 100644
--- a/examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/IdcsMain.java
+++ b/examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/IdcsMain.java
@@ -14,22 +14,22 @@
* limitations under the License.
*/
-package io.helidon.security.examples.idcs;
+package io.helidon.examples.security.idcs;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import io.helidon.common.context.Contexts;
-import io.helidon.common.http.HttpMediaTypes;
import io.helidon.config.Config;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
import io.helidon.security.Security;
import io.helidon.security.SecurityContext;
import io.helidon.security.Subject;
-import io.helidon.security.integration.nima.SecurityFeature;
import io.helidon.security.providers.oidc.OidcFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.security.SecurityFeature;
import static io.helidon.config.ConfigSources.classpath;
import static io.helidon.config.ConfigSources.file;
diff --git a/examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/package-info.java b/examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/package-info.java
new file mode 100644
index 00000000000..715b09269c1
--- /dev/null
+++ b/examples/security/idcs-login/src/main/java/io/helidon/examples/security/idcs/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example showcasing integration of web server with IDCS server, using Open ID Connect security provider.
+ * There is another example in "microprofile" directory that shows the same integration for
+ * a MicroProfile based application.
+ */
+package io.helidon.examples.security.idcs;
diff --git a/examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/package-info.java b/examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/package-info.java
deleted file mode 100644
index 34bfc6b52f5..00000000000
--- a/examples/security/idcs-login/src/main/java/io/helidon/security/examples/idcs/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example showcasing integration of web server with IDCS server, using Open ID Connect security provider.
- * There is another example in "microprofile" directory that shows the same integration for
- * a MicroProfile based application.
- */
-package io.helidon.security.examples.idcs;
diff --git a/examples/security/nohttp-programmatic/pom.xml b/examples/security/nohttp-programmatic/pom.xml
deleted file mode 100644
index 669f85d66b4..00000000000
--- a/examples/security/nohttp-programmatic/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
- 4.0.0
-
- io.helidon.applications
- helidon-se
- 4.0.0-SNAPSHOT
- ../../../applications/se/pom.xml
-
- io.helidon.examples.security
- helidon-examples-security-nohttp-programmatic
- Helidon Security Examples No-HTTP programmatic
-
-
- Example of programmatic security without an HTTP resource.
-
-
-
- io.helidon.security.examples.security.ProgrammaticSecurity
-
-
-
-
- io.helidon.security
- helidon-security
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-libs
-
-
-
-
-
-
diff --git a/examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/package-info.java b/examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/package-info.java
deleted file mode 100644
index 24e45212b9b..00000000000
--- a/examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example of programmatic approach to security.
- */
-package io.helidon.security.examples.security;
diff --git a/examples/security/nohttp-programmatic/src/main/resources/logging.properties b/examples/security/nohttp-programmatic/src/main/resources/logging.properties
deleted file mode 100644
index 28f6591733f..00000000000
--- a/examples/security/nohttp-programmatic/src/main/resources/logging.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2018, 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-handlers=io.helidon.logging.jul.HelidonConsoleHandler
-.level=INFO
-AUDIT.level=FINEST
diff --git a/examples/security/outbound-override/pom.xml b/examples/security/outbound-override/pom.xml
index 763a21574ba..df82556ec83 100644
--- a/examples/security/outbound-override/pom.xml
+++ b/examples/security/outbound-override/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.security4.0.0helidon-examples-security-outbound-override
- Helidon Security Examples Outbound Override
+ Helidon Examples Security Outbound Overrideio.helidon.security.examples.outbound.OutboundOverrideExample
@@ -37,20 +37,20 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.security.integration
- helidon-security-integration-nima
+ io.helidon.webserver
+ helidon-webserver-security
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclient
- io.helidon.nima.webclient
- helidon-nima-webclient-security
+ io.helidon.webclient
+ helidon-webclient-securityio.helidon.security.providers
@@ -65,8 +65,8 @@
helidon-bundles-config
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/JwtOverrideService.java b/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/JwtOverrideService.java
index 0ae54e7349b..f891315f3e4 100644
--- a/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/JwtOverrideService.java
+++ b/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/JwtOverrideService.java
@@ -15,15 +15,15 @@
*/
package io.helidon.security.examples.outbound;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.security.WebClientSecurity;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
import io.helidon.security.SecurityContext;
import io.helidon.security.providers.jwt.JwtProvider;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.security.WebClientSecurity;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
final class JwtOverrideService implements HttpService {
diff --git a/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OutboundOverrideExample.java b/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OutboundOverrideExample.java
index d4cb846cf4e..714c8c0a974 100644
--- a/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OutboundOverrideExample.java
+++ b/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OutboundOverrideExample.java
@@ -19,13 +19,13 @@
import io.helidon.config.Config;
import io.helidon.config.ConfigSources;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
import io.helidon.security.Principal;
import io.helidon.security.SecurityContext;
import io.helidon.security.Subject;
-import io.helidon.security.integration.nima.SecurityFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.security.SecurityFeature;
/**
* Creates two services.
diff --git a/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OutboundOverrideJwtExample.java b/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OutboundOverrideJwtExample.java
index 06ad02c5ccd..f2fb672c8d3 100644
--- a/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OutboundOverrideJwtExample.java
+++ b/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OutboundOverrideJwtExample.java
@@ -17,16 +17,16 @@
import java.util.concurrent.TimeUnit;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
import io.helidon.config.ConfigSources;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
+import io.helidon.http.Http;
import io.helidon.security.Principal;
import io.helidon.security.SecurityContext;
import io.helidon.security.Subject;
-import io.helidon.security.integration.nima.SecurityFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.security.SecurityFeature;
/**
* Creates two services.
diff --git a/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OverrideService.java b/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OverrideService.java
index 26405140f45..545926f5f25 100644
--- a/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OverrideService.java
+++ b/examples/security/outbound-override/src/main/java/io/helidon/security/examples/outbound/OverrideService.java
@@ -15,15 +15,15 @@
*/
package io.helidon.security.examples.outbound;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.security.WebClientSecurity;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
import io.helidon.security.SecurityContext;
import io.helidon.security.providers.httpauth.HttpBasicAuthProvider;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.security.WebClientSecurity;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
class OverrideService implements HttpService {
diff --git a/examples/security/outbound-override/src/test/java/io/helidon/security/examples/outbound/OutboundOverrideExampleTest.java b/examples/security/outbound-override/src/test/java/io/helidon/security/examples/outbound/OutboundOverrideExampleTest.java
index 4a26a6274b5..c0244134b45 100644
--- a/examples/security/outbound-override/src/test/java/io/helidon/security/examples/outbound/OutboundOverrideExampleTest.java
+++ b/examples/security/outbound-override/src/test/java/io/helidon/security/examples/outbound/OutboundOverrideExampleTest.java
@@ -17,12 +17,12 @@
import java.net.URI;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.security.WebClientSecurity;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.security.WebClientSecurity;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
import io.helidon.security.Security;
import io.helidon.security.providers.httpauth.HttpBasicAuthProvider;
diff --git a/examples/security/outbound-override/src/test/java/io/helidon/security/examples/outbound/OutboundOverrideJwtExampleTest.java b/examples/security/outbound-override/src/test/java/io/helidon/security/examples/outbound/OutboundOverrideJwtExampleTest.java
index 0aa741c6ee7..580c38dd79c 100644
--- a/examples/security/outbound-override/src/test/java/io/helidon/security/examples/outbound/OutboundOverrideJwtExampleTest.java
+++ b/examples/security/outbound-override/src/test/java/io/helidon/security/examples/outbound/OutboundOverrideJwtExampleTest.java
@@ -17,14 +17,13 @@
import java.net.URI;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientRequest;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webclient.security.WebClientSecurity;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webclient.security.WebClientSecurity;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
import io.helidon.security.Security;
import io.helidon.security.providers.httpauth.HttpBasicAuthProvider;
diff --git a/examples/security/pom.xml b/examples/security/pom.xml
index cfedfd7e333..a805022eb11 100644
--- a/examples/security/pom.xml
+++ b/examples/security/pom.xml
@@ -28,7 +28,7 @@
io.helidon.examples.securityhelidon-examples-security-project
- Helidon Security Examples
+ Helidon Examples Securitypom
@@ -36,15 +36,15 @@
- nohttp-programmatic
- webserver-digest-auth
- webserver-signatures
- google-login
- spi-examplesattribute-based-access-control
+ basic-auth-with-static-content
+ google-loginidcs-loginoutbound-override
- basic-auth-with-static-content
+ programmatic
+ spi-examplesvaults
+ webserver-digest-auth
+ webserver-signatures
diff --git a/examples/security/nohttp-programmatic/README.md b/examples/security/programmatic/README.md
similarity index 100%
rename from examples/security/nohttp-programmatic/README.md
rename to examples/security/programmatic/README.md
diff --git a/examples/security/programmatic/pom.xml b/examples/security/programmatic/pom.xml
new file mode 100644
index 00000000000..65855646ccd
--- /dev/null
+++ b/examples/security/programmatic/pom.xml
@@ -0,0 +1,62 @@
+
+
+
+
+ 4.0.0
+
+ io.helidon.applications
+ helidon-se
+ 4.0.0-SNAPSHOT
+ ../../../applications/se/pom.xml
+
+ io.helidon.examples.security
+ helidon-examples-security-nohttp-programmatic
+ Helidon Examples Security No-HTTP programmatic
+
+
+ Example of programmatic security without an HTTP resource.
+
+
+
+ io.helidon.examples.security.programmatic.ProgrammaticSecurity
+
+
+
+
+ io.helidon.security
+ helidon-security
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-libs
+
+
+
+
+
+
diff --git a/examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/MyProvider.java b/examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/MyProvider.java
similarity index 99%
rename from examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/MyProvider.java
rename to examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/MyProvider.java
index 7eb3ed82dec..28ef5f5b0ed 100644
--- a/examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/MyProvider.java
+++ b/examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/MyProvider.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.security.examples.security;
+package io.helidon.examples.security.programmatic;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
diff --git a/examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/ProgrammaticSecurity.java b/examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/ProgrammaticSecurity.java
similarity index 98%
rename from examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/ProgrammaticSecurity.java
rename to examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/ProgrammaticSecurity.java
index f2f144c767e..fac90c64987 100644
--- a/examples/security/nohttp-programmatic/src/main/java/io/helidon/security/examples/security/ProgrammaticSecurity.java
+++ b/examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/ProgrammaticSecurity.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.security.examples.security;
+package io.helidon.examples.security.programmatic;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
diff --git a/examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/package-info.java b/examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/package-info.java
new file mode 100644
index 00000000000..0ed2a116082
--- /dev/null
+++ b/examples/security/programmatic/src/main/java/io/helidon/examples/security/programmatic/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example of programmatic approach to security.
+ */
+package io.helidon.examples.security.programmatic;
diff --git a/examples/security/programmatic/src/main/resources/logging.properties b/examples/security/programmatic/src/main/resources/logging.properties
new file mode 100644
index 00000000000..993d3d42d45
--- /dev/null
+++ b/examples/security/programmatic/src/main/resources/logging.properties
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+handlers=io.helidon.logging.jul.HelidonConsoleHandler
+.level=INFO
+AUDIT.level=FINEST
diff --git a/examples/security/spi-examples/pom.xml b/examples/security/spi-examples/pom.xml
index ba4f668a69f..2e73d0eb537 100644
--- a/examples/security/spi-examples/pom.xml
+++ b/examples/security/spi-examples/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.securityhelidon-examples-security-spi
- Helidon Security Examples SPI Implementation
+ Helidon Examples Security SPI Implementation
Example of implementation of custom providers and other SPI implementations
diff --git a/examples/security/vaults/pom.xml b/examples/security/vaults/pom.xml
index 12996128ee1..2a48b65428a 100644
--- a/examples/security/vaults/pom.xml
+++ b/examples/security/vaults/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.securityhelidon-examples-security-vaults
- Helidon Security Examples Vaults
+ Helidon Examples Security Vaults
This example demonstrates usage of vault implementations - OCI, Hashicorp Vault, and Config based vault
@@ -61,8 +61,8 @@
helidon-security-providers-config-vault
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.integrations.vault.secrets
diff --git a/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/DigestService.java b/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/DigestService.java
index 7eb309501d3..e42da009b16 100644
--- a/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/DigestService.java
+++ b/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/DigestService.java
@@ -16,11 +16,11 @@
package io.helidon.examples.security.vaults;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
import io.helidon.security.Security;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import static java.nio.charset.StandardCharsets.UTF_8;
diff --git a/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/EncryptionService.java b/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/EncryptionService.java
index 7f65daf9a6b..8ec0970a7f7 100644
--- a/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/EncryptionService.java
+++ b/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/EncryptionService.java
@@ -16,11 +16,11 @@
package io.helidon.examples.security.vaults;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
import io.helidon.security.Security;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import static java.nio.charset.StandardCharsets.UTF_8;
diff --git a/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/SecretsService.java b/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/SecretsService.java
index beb7386917f..7e2f812aeb6 100644
--- a/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/SecretsService.java
+++ b/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/SecretsService.java
@@ -16,11 +16,11 @@
package io.helidon.examples.security.vaults;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
import io.helidon.security.Security;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
class SecretsService implements HttpService {
private final Security security;
diff --git a/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/VaultsExampleMain.java b/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/VaultsExampleMain.java
index a79a79f30a7..315954f7d5c 100644
--- a/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/VaultsExampleMain.java
+++ b/examples/security/vaults/src/main/java/io/helidon/examples/security/vaults/VaultsExampleMain.java
@@ -18,8 +18,8 @@
import io.helidon.config.Config;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
import io.helidon.security.Security;
+import io.helidon.webserver.WebServer;
import static io.helidon.config.ConfigSources.classpath;
import static io.helidon.config.ConfigSources.file;
diff --git a/examples/security/webserver-digest-auth/pom.xml b/examples/security/webserver-digest-auth/pom.xml
index a0f722634fc..db9610de06e 100644
--- a/examples/security/webserver-digest-auth/pom.xml
+++ b/examples/security/webserver-digest-auth/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.securityhelidon-examples-security-webserver-digest-auth
- Helidon Security Examples Digest Authentication
+ Helidon Examples Security Digest Authentication
This example demonstrates Integration of Web Server based application with Security component and Digest
@@ -37,17 +37,17 @@
- io.helidon.security.examples.webserver.digest.DigestExampleConfigMain
+ io.helidon.examples.security.digest.DigestExampleConfigMain
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.security.integration
- helidon-security-integration-nima
+ io.helidon.webserver
+ helidon-webserver-securityio.helidon.config
@@ -66,13 +66,13 @@
helidon-config-yaml
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclienttest
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/DigestExampleBuilderMain.java b/examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/DigestExampleBuilderMain.java
similarity index 95%
rename from examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/DigestExampleBuilderMain.java
rename to examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/DigestExampleBuilderMain.java
index d362b722ec5..a4bf7170367 100644
--- a/examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/DigestExampleBuilderMain.java
+++ b/examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/DigestExampleBuilderMain.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.digest;
+package io.helidon.examples.security.digest;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
@@ -26,17 +26,17 @@
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import io.helidon.common.http.HttpMediaTypes;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
import io.helidon.security.Security;
import io.helidon.security.SecurityContext;
-import io.helidon.security.integration.nima.SecurityFeature;
import io.helidon.security.providers.httpauth.HttpDigest;
import io.helidon.security.providers.httpauth.HttpDigestAuthProvider;
import io.helidon.security.providers.httpauth.SecureUserStore;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.security.SecurityFeature;
/**
* Example of HTTP digest authentication with WebServer fully configured programmatically.
diff --git a/examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/DigestExampleConfigMain.java b/examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/DigestExampleConfigMain.java
similarity index 91%
rename from examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/DigestExampleConfigMain.java
rename to examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/DigestExampleConfigMain.java
index 9daa2074eff..495412239a2 100644
--- a/examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/DigestExampleConfigMain.java
+++ b/examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/DigestExampleConfigMain.java
@@ -14,19 +14,19 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.digest;
+package io.helidon.examples.security.digest;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import io.helidon.common.http.HttpMediaTypes;
import io.helidon.config.Config;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
import io.helidon.security.SecurityContext;
-import io.helidon.security.integration.nima.SecurityFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.security.SecurityFeature;
/**
* Example of HTTP digest authentication with Web Server fully configured in config file.
diff --git a/examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/package-info.java b/examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/package-info.java
new file mode 100644
index 00000000000..7403fd34d8a
--- /dev/null
+++ b/examples/security/webserver-digest-auth/src/main/java/io/helidon/examples/security/digest/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example of Digest authentication on top of RX web server.
+ *
+ * @see io.helidon.examples.security.digest.DigestExampleConfigMain Configuration based example
+ * @see io.helidon.examples.security.digest.DigestExampleBuilderMain Programmatic example
+ */
+package io.helidon.examples.security.digest;
diff --git a/examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/package-info.java b/examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/package-info.java
deleted file mode 100644
index 775d49bbfee..00000000000
--- a/examples/security/webserver-digest-auth/src/main/java/io/helidon/security/examples/webserver/digest/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example of Digest authentication on top of RX web server.
- *
- * @see io.helidon.security.examples.webserver.digest.DigestExampleConfigMain Configuration based example
- * @see io.helidon.security.examples.webserver.digest.DigestExampleBuilderMain Programmatic example
- */
-package io.helidon.security.examples.webserver.digest;
diff --git a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestAuthenticator.java b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestAuthenticator.java
similarity index 99%
rename from examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestAuthenticator.java
rename to examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestAuthenticator.java
index bb53bcc2844..04bf5c9186e 100644
--- a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestAuthenticator.java
+++ b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestAuthenticator.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.digest;
+package io.helidon.examples.security.digest;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
diff --git a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleBuilderTest.java b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleBuilderTest.java
similarity index 78%
rename from examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleBuilderTest.java
rename to examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleBuilderTest.java
index c9eebfba20a..7f49c17ca44 100644
--- a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleBuilderTest.java
+++ b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleBuilderTest.java
@@ -14,14 +14,14 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.digest;
+package io.helidon.examples.security.digest;
import java.net.URI;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webserver.WebServerConfig;
/**
* Unit test for {@link DigestExampleBuilderMain}.
diff --git a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleConfigTest.java b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleConfigTest.java
similarity index 78%
rename from examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleConfigTest.java
rename to examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleConfigTest.java
index ff0157a7f85..64957fd856b 100644
--- a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleConfigTest.java
+++ b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleConfigTest.java
@@ -14,14 +14,14 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.digest;
+package io.helidon.examples.security.digest;
import java.net.URI;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webserver.WebServerConfig;
/**
* Unit test for {@link DigestExampleConfigMain}.
diff --git a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleTest.java b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleTest.java
similarity index 92%
rename from examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleTest.java
rename to examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleTest.java
index 8cd110cdec7..d43d6f2ceab 100644
--- a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/DigestExampleTest.java
+++ b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/DigestExampleTest.java
@@ -14,19 +14,19 @@
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.digest;
+package io.helidon.examples.security.digest;
import java.net.URI;
import java.util.Set;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
+import io.helidon.http.Http;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
import org.junit.jupiter.api.Test;
-import static io.helidon.security.examples.webserver.digest.WebClientAuthenticationService.HTTP_AUTHENTICATION_PASSWORD;
-import static io.helidon.security.examples.webserver.digest.WebClientAuthenticationService.HTTP_AUTHENTICATION_USERNAME;
+import static io.helidon.examples.security.digest.WebClientAuthenticationService.HTTP_AUTHENTICATION_PASSWORD;
+import static io.helidon.examples.security.digest.WebClientAuthenticationService.HTTP_AUTHENTICATION_USERNAME;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
diff --git a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/WebClientAuthenticationService.java b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/WebClientAuthenticationService.java
similarity index 89%
rename from examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/WebClientAuthenticationService.java
rename to examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/WebClientAuthenticationService.java
index 45fb6fbebba..fff71d63cf5 100644
--- a/examples/security/webserver-digest-auth/src/test/java/io/helidon/security/examples/webserver/digest/WebClientAuthenticationService.java
+++ b/examples/security/webserver-digest-auth/src/test/java/io/helidon/examples/security/digest/WebClientAuthenticationService.java
@@ -13,14 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.security.examples.webserver.digest;
+package io.helidon.examples.security.digest;
import java.util.Map;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webclient.api.WebClientServiceRequest;
-import io.helidon.nima.webclient.api.WebClientServiceResponse;
-import io.helidon.nima.webclient.spi.WebClientService;
+import io.helidon.http.Http;
+import io.helidon.webclient.api.WebClientServiceRequest;
+import io.helidon.webclient.api.WebClientServiceResponse;
+import io.helidon.webclient.spi.WebClientService;
/**
* Web client service that supports digest authentication.
diff --git a/examples/security/webserver-signatures/pom.xml b/examples/security/webserver-signatures/pom.xml
index 40d69c86265..d20dc57e277 100644
--- a/examples/security/webserver-signatures/pom.xml
+++ b/examples/security/webserver-signatures/pom.xml
@@ -29,7 +29,7 @@
io.helidon.examples.securityhelidon-examples-security-webserver-signatures
- Helidon Security Examples HTTP Signatures
+ Helidon Examples Security HTTP Signatures
This example demonstrates Integration of Web Server based application with Security component and HTTP
@@ -37,25 +37,25 @@
- io.helidon.security.examples.signatures.SignatureExampleConfigMain
+ io.helidon.examples.security.signatures.SignatureExampleConfigMain
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.security.integration
- helidon-security-integration-nima
+ io.helidon.webserver
+ helidon-webserver-securityio.helidon.security.providershelidon-security-providers-http-sign
- io.helidon.nima.webclient
- helidon-nima-webclient-security
+ io.helidon.webclient
+ helidon-webclient-securityio.helidon.bundles
@@ -70,8 +70,8 @@
helidon-config-hocon
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/Service1.java b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/Service1.java
similarity index 82%
rename from examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/Service1.java
rename to examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/Service1.java
index bc4f8a91fd3..429dd65bc0d 100644
--- a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/Service1.java
+++ b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/Service1.java
@@ -13,20 +13,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.security.examples.signatures;
+package io.helidon.examples.security.signatures;
import io.helidon.common.LazyValue;
import io.helidon.common.context.Contexts;
-import io.helidon.common.http.Http;
-import io.helidon.common.http.HttpMediaTypes;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.security.SecurityContext;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
class Service1 implements HttpService {
diff --git a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/Service2.java b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/Service2.java
similarity index 82%
rename from examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/Service2.java
rename to examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/Service2.java
index 6c5e1a76cfb..82f1092c187 100644
--- a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/Service2.java
+++ b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/Service2.java
@@ -13,17 +13,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.helidon.security.examples.signatures;
+package io.helidon.examples.security.signatures;
import java.util.Optional;
-import io.helidon.common.http.HttpMediaTypes;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.HttpMediaTypes;
import io.helidon.security.SecurityContext;
import io.helidon.security.Subject;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
class Service2 implements HttpService {
diff --git a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/SignatureExampleBuilderMain.java b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/SignatureExampleBuilderMain.java
similarity index 96%
rename from examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/SignatureExampleBuilderMain.java
rename to examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/SignatureExampleBuilderMain.java
index c302ffb0cd8..b09b211a57e 100644
--- a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/SignatureExampleBuilderMain.java
+++ b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/SignatureExampleBuilderMain.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package io.helidon.security.examples.signatures;
+package io.helidon.examples.security.signatures;
import java.util.Arrays;
import java.util.Collection;
@@ -27,14 +27,9 @@
import io.helidon.common.configurable.Resource;
import io.helidon.common.pki.Keys;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
-import io.helidon.nima.webserver.http.HttpRouting;
import io.helidon.security.CompositeProviderFlag;
import io.helidon.security.CompositeProviderSelectionPolicy;
import io.helidon.security.Security;
-import io.helidon.security.integration.nima.SecurityFeature;
import io.helidon.security.providers.common.OutboundConfig;
import io.helidon.security.providers.common.OutboundTarget;
import io.helidon.security.providers.httpauth.HttpBasicAuthProvider;
@@ -42,6 +37,11 @@
import io.helidon.security.providers.httpsign.HttpSignProvider;
import io.helidon.security.providers.httpsign.InboundClientDefinition;
import io.helidon.security.providers.httpsign.OutboundTargetDefinition;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.security.SecurityFeature;
/**
* Example of authentication of service with http signatures, using configuration file as much as possible.
diff --git a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/SignatureExampleConfigMain.java b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/SignatureExampleConfigMain.java
similarity index 91%
rename from examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/SignatureExampleConfigMain.java
rename to examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/SignatureExampleConfigMain.java
index c8846e80fc7..b0f0e676f0f 100644
--- a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/SignatureExampleConfigMain.java
+++ b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/SignatureExampleConfigMain.java
@@ -14,17 +14,17 @@
* limitations under the License.
*/
-package io.helidon.security.examples.signatures;
+package io.helidon.examples.security.signatures;
import java.util.concurrent.TimeUnit;
import io.helidon.config.Config;
import io.helidon.config.ConfigSources;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
-import io.helidon.nima.webserver.http.HttpRouting;
-import io.helidon.security.integration.nima.SecurityFeature;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.security.SecurityFeature;
/**
* Example of authentication of service with http signatures, using configuration file as much as possible.
diff --git a/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/package-info.java b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/package-info.java
new file mode 100644
index 00000000000..16061e6356e
--- /dev/null
+++ b/examples/security/webserver-signatures/src/main/java/io/helidon/examples/security/signatures/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Example of HTTP Signatures (both inbound and outbound).
+ * Based on RFC draft: https://tools.ietf
+ * .org/html/draft-cavage-http-signatures-03
+ */
+package io.helidon.examples.security.signatures;
diff --git a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/package-info.java b/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/package-info.java
deleted file mode 100644
index c8338448c4e..00000000000
--- a/examples/security/webserver-signatures/src/main/java/io/helidon/security/examples/signatures/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Example of HTTP Signatures (both inbound and outbound).
- * Based on RFC draft: https://tools.ietf
- * .org/html/draft-cavage-http-signatures-03
- */
-package io.helidon.security.examples.signatures;
diff --git a/examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleBuilderMainTest.java b/examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleBuilderMainTest.java
similarity index 79%
rename from examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleBuilderMainTest.java
rename to examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleBuilderMainTest.java
index 0bbfa68a235..e054f19d881 100644
--- a/examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleBuilderMainTest.java
+++ b/examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleBuilderMainTest.java
@@ -14,14 +14,14 @@
* limitations under the License.
*/
-package io.helidon.security.examples.signatures;
+package io.helidon.examples.security.signatures;
import java.net.URI;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
/**
* Unit test for {@link SignatureExampleBuilderMain}.
diff --git a/examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleConfigMainTest.java b/examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleConfigMainTest.java
similarity index 79%
rename from examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleConfigMainTest.java
rename to examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleConfigMainTest.java
index e7425941fc4..e14fab44ada 100644
--- a/examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleConfigMainTest.java
+++ b/examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleConfigMainTest.java
@@ -14,14 +14,14 @@
* limitations under the License.
*/
-package io.helidon.security.examples.signatures;
+package io.helidon.examples.security.signatures;
import java.net.URI;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
/**
* Unit test for {@link SignatureExampleBuilderMain}.
diff --git a/examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleTest.java b/examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleTest.java
similarity index 89%
rename from examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleTest.java
rename to examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleTest.java
index 4d876c3fd98..8d1a3450c4d 100644
--- a/examples/security/webserver-signatures/src/test/java/io/helidon/security/examples/signatures/SignatureExampleTest.java
+++ b/examples/security/webserver-signatures/src/test/java/io/helidon/examples/security/signatures/SignatureExampleTest.java
@@ -14,16 +14,16 @@
* limitations under the License.
*/
-package io.helidon.security.examples.signatures;
+package io.helidon.examples.security.signatures;
import java.net.URI;
import java.util.Set;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webclient.security.WebClientSecurity;
-import io.helidon.nima.webserver.WebServer;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webclient.security.WebClientSecurity;
+import io.helidon.webserver.WebServer;
import io.helidon.security.Security;
import io.helidon.security.providers.httpauth.HttpBasicAuthProvider;
diff --git a/examples/todo-app/backend/pom.xml b/examples/todo-app/backend/pom.xml
index eefcf340e1d..5793100a8db 100644
--- a/examples/todo-app/backend/pom.xml
+++ b/examples/todo-app/backend/pom.xml
@@ -36,7 +36,7 @@
- io.helidon.demo.todos.backend.Main
+ io.helidon.examples.todos.backend.Main3.10.24.3.1.04.9.0
diff --git a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/Main.java b/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/Main.java
deleted file mode 100644
index 2fadfca8ff6..00000000000
--- a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/Main.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2017, 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.demo.todos.backend;
-
-import java.util.List;
-
-import io.helidon.config.Config;
-import io.helidon.logging.common.LogConfig;
-import io.helidon.microprofile.server.Server;
-
-import static io.helidon.config.ConfigSources.classpath;
-import static io.helidon.config.ConfigSources.environmentVariables;
-import static io.helidon.config.ConfigSources.file;
-
-/**
- * Main class to start the service.
- */
-public final class Main {
-
- /**
- * Cannot be instantiated.
- */
- private Main() {
- }
-
- /**
- * Application main entry point.
- *
- * @param args command line arguments
- */
- public static void main(final String[] args) {
-
- // load logging configuration
- LogConfig.configureRuntime();
-
- Config config = buildConfig();
-
- // as we need to use custom filter
- // we need to build Server with custom config
- Server server = Server.builder()
- .config(config)
- .build();
-
- server.start();
- }
-
- /**
- * Load the configuration from all sources.
- * @return the configuration root
- */
- static Config buildConfig() {
- return Config.builder()
- .sources(List.of(
- environmentVariables(),
- // expected on development machine
- // to override props for dev
- file("dev.yaml").optional(),
- // expected in k8s runtime
- // to configure testing/production values
- file("prod.yaml").optional(),
- // in jar file
- // (see src/main/resources/application.yaml)
- classpath("application.yaml")))
- // support for passwords in configuration
-// .addFilter(SecureConfigFilter.fromConfig())
- .build();
- }
-}
diff --git a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/package-info.java b/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/package-info.java
deleted file mode 100644
index 55439852c06..00000000000
--- a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * TODOs Demo application backend.
- */
-package io.helidon.demo.todos.backend;
diff --git a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/DbService.java b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/DbService.java
similarity index 99%
rename from examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/DbService.java
rename to examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/DbService.java
index 4752ccebb1f..2c744e373fc 100644
--- a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/DbService.java
+++ b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/DbService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.demo.todos.backend;
+package io.helidon.examples.todos.backend;
import java.util.ArrayList;
import java.util.Date;
diff --git a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/JaxRsBackendResource.java b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/JaxRsBackendResource.java
similarity index 98%
rename from examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/JaxRsBackendResource.java
rename to examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/JaxRsBackendResource.java
index d6efe1cf7fc..7e15f5023c2 100644
--- a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/JaxRsBackendResource.java
+++ b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/JaxRsBackendResource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.demo.todos.backend;
+package io.helidon.examples.todos.backend;
import java.util.Collections;
import java.util.UUID;
diff --git a/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/Main.java b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/Main.java
new file mode 100644
index 00000000000..281d6722d2d
--- /dev/null
+++ b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/Main.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.todos.backend;
+
+import java.util.List;
+
+import io.helidon.config.Config;
+import io.helidon.logging.common.LogConfig;
+import io.helidon.microprofile.server.Server;
+
+import static io.helidon.config.ConfigSources.classpath;
+import static io.helidon.config.ConfigSources.environmentVariables;
+import static io.helidon.config.ConfigSources.file;
+
+/**
+ * Main class to start the service.
+ */
+public final class Main {
+
+ /**
+ * Cannot be instantiated.
+ */
+ private Main() {
+ }
+
+ /**
+ * Application main entry point.
+ *
+ * @param args command line arguments
+ */
+ public static void main(final String[] args) {
+
+ // load logging configuration
+ LogConfig.configureRuntime();
+
+ Config config = buildConfig();
+
+ // as we need to use custom filter
+ // we need to build Server with custom config
+ Server server = Server.builder()
+ .config(config)
+ .build();
+
+ server.start();
+ }
+
+ /**
+ * Load the configuration from all sources.
+ * @return the configuration root
+ */
+ static Config buildConfig() {
+ return Config.builder()
+ .sources(List.of(
+ environmentVariables(),
+ // expected on development machine
+ // to override props for dev
+ file("dev.yaml").optional(),
+ // expected in k8s runtime
+ // to configure testing/production values
+ file("prod.yaml").optional(),
+ // in jar file
+ // (see src/main/resources/application.yaml)
+ classpath("application.yaml")))
+ // support for passwords in configuration
+// .addFilter(SecureConfigFilter.fromConfig())
+ .build();
+ }
+}
diff --git a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/Todo.java b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/Todo.java
similarity index 98%
rename from examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/Todo.java
rename to examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/Todo.java
index f4262bf5629..12128f391b6 100644
--- a/examples/todo-app/backend/src/main/java/io/helidon/demo/todos/backend/Todo.java
+++ b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/Todo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates.
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package io.helidon.demo.todos.backend;
+package io.helidon.examples.todos.backend;
import java.time.Instant;
import java.time.format.DateTimeFormatter;
diff --git a/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/package-info.java b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/package-info.java
new file mode 100644
index 00000000000..662a11d74f9
--- /dev/null
+++ b/examples/todo-app/backend/src/main/java/io/helidon/examples/todos/backend/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * TODOs Demo application backend.
+ */
+package io.helidon.examples.todos.backend;
diff --git a/examples/todo-app/backend/src/main/resources/logging.properties b/examples/todo-app/backend/src/main/resources/logging.properties
index 0dbac3eb301..3543f0f4e1c 100644
--- a/examples/todo-app/backend/src/main/resources/logging.properties
+++ b/examples/todo-app/backend/src/main/resources/logging.properties
@@ -20,7 +20,7 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
#All log level details
.level=WARNING
-io.helidon.nima.webserver.level=INFO
+io.helidon.webserver.level=INFO
io.helidon.security.level=INFO
io.helidon.tracing.level=FINE
AUDIT.level=FINEST
diff --git a/examples/todo-app/backend/src/test/java/io/helidon/demo/todos/backend/BackendTests.java b/examples/todo-app/backend/src/test/java/io/helidon/examples/todos/backend/BackendTests.java
similarity index 98%
rename from examples/todo-app/backend/src/test/java/io/helidon/demo/todos/backend/BackendTests.java
rename to examples/todo-app/backend/src/test/java/io/helidon/examples/todos/backend/BackendTests.java
index 519b6b6d86a..1ff2b1acc21 100644
--- a/examples/todo-app/backend/src/test/java/io/helidon/demo/todos/backend/BackendTests.java
+++ b/examples/todo-app/backend/src/test/java/io/helidon/examples/todos/backend/BackendTests.java
@@ -14,13 +14,13 @@
* limitations under the License.
*/
-package io.helidon.demo.todos.backend;
+package io.helidon.examples.todos.backend;
import java.io.IOException;
import java.util.Base64;
import java.util.Properties;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.config.mp.MpConfigSources;
import io.helidon.config.yaml.mp.YamlMpConfigSource;
import io.helidon.microprofile.tests.junit5.Configuration;
diff --git a/examples/todo-app/frontend/pom.xml b/examples/todo-app/frontend/pom.xml
index 15ee08c7957..c65ead66da7 100644
--- a/examples/todo-app/frontend/pom.xml
+++ b/examples/todo-app/frontend/pom.xml
@@ -36,7 +36,7 @@
- io.helidon.demo.todos.frontend.Main
+ io.helidon.examples.todos.frontend.Main${mainClass}v12.16.16.13.4
@@ -46,24 +46,24 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.webclient
- helidon-nima-webclient-security
+ io.helidon.webclient
+ helidon-webclient-security
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonp
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
- io.helidon.security.integration
- helidon-security-integration-nima
+ io.helidon.webserver
+ helidon-webserver-securityio.helidon.common
@@ -74,12 +74,12 @@
helidon-metrics
- io.helidon.nima.webserver
- helidon-nima-webserver-static-content
+ io.helidon.webserver
+ helidon-webserver-static-content
- io.helidon.nima.webserver
- helidon-nima-webserver-access-log
+ io.helidon.webserver
+ helidon-webserver-access-logio.helidon.tracing
@@ -102,8 +102,8 @@
helidon-security-providers-google-login
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/Main.java b/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/Main.java
deleted file mode 100644
index 6e1f68aaea1..00000000000
--- a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/Main.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.demo.todos.frontend;
-
-import java.util.List;
-
-import io.helidon.config.Config;
-import io.helidon.config.FileSystemWatcher;
-import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.security.WebClientSecurity;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.accesslog.AccessLogFeature;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
-import io.helidon.security.Security;
-import io.helidon.security.integration.nima.SecurityFeature;
-import io.helidon.tracing.Tracer;
-import io.helidon.tracing.TracerBuilder;
-
-import static io.helidon.config.ConfigSources.classpath;
-import static io.helidon.config.ConfigSources.environmentVariables;
-import static io.helidon.config.ConfigSources.file;
-import static io.helidon.config.PollingStrategies.regular;
-import static java.time.Duration.ofSeconds;
-
-/**
- * Main class to start the service.
- */
-public final class Main {
-
- /**
- * Interval for config polling.
- */
- private static final Long POLLING_INTERVAL = 5L;
-
- /**
- * Cannot be instantiated.
- */
- private Main() {
- }
-
- /**
- * Application main entry point.
- *
- * @param args command line arguments
- */
- public static void main(final String[] args) {
-
- // load logging configuration
- LogConfig.configureRuntime();
-
- // needed for default connection of Jersey client
- // to allow our headers to be set
- System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
-
- // to allow us to set host header explicitly
- System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
-
- WebServerConfig.Builder builder = WebServer.builder();
- setup(builder);
- WebServer server = builder.build();
-
- // start the web server
- server.start();
- System.out.println("WEB server is up! http://localhost:" + server.port());
- }
-
- private static void setup(WebServerConfig.Builder server) {
-
- Config config = buildConfig();
-
- Security security = Security.create(config.get("security"));
-
- Http1Client client = Http1Client.builder().baseUri(config.get("services.backend.endpoint").asString().get())
- .addService(WebClientSecurity.create())
- .build();
-
- BackendServiceClient bsc = new BackendServiceClient(client);
-
- Tracer tracer = TracerBuilder.create(config.get("tracing")).build();
-
- server.config(config.get("webserver"))
- .routing(routing -> routing
- .addFeature(AccessLogFeature.create())
- .addFeature(ObserveFeature.create())
- .addFeature(SecurityFeature.create(security, config.get("security")))
- // register static content support (on "/")
- .register(StaticContentService.builder("/WEB").welcomeFileName("index.html"))
- // register API handler (on "/api") - this path is secured (see application.yaml)
- .register("/api", new TodosHandler(bsc, tracer))
- // and a simple environment handler to see where we are
- .register("/env", new EnvHandler(config)));
- }
-
- /**
- * Load the configuration from all sources.
- * @return the configuration root
- */
- private static Config buildConfig() {
- return Config.builder()
- .sources(List.of(
- environmentVariables(),
- // expected on development machine
- // to override props for dev
- file("dev.yaml")
- .changeWatcher(FileSystemWatcher.create())
- .optional(),
- // expected in k8s runtime
- // to configure testing/production values
- file("prod.yaml")
- .pollingStrategy(regular(
- ofSeconds(POLLING_INTERVAL)))
- .optional(),
- // in jar file
- // (see src/main/resources/application.yaml)
- classpath("application.yaml")))
- .build();
- }
-}
diff --git a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/package-info.java b/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/package-info.java
deleted file mode 100644
index 666616a7b8c..00000000000
--- a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2018, 2021 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * TODOs Demo application frontend.
- */
-package io.helidon.demo.todos.frontend;
diff --git a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/BackendServiceClient.java b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/BackendServiceClient.java
similarity index 94%
rename from examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/BackendServiceClient.java
rename to examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/BackendServiceClient.java
index 216e6904d14..c0386f9ad57 100644
--- a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/BackendServiceClient.java
+++ b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/BackendServiceClient.java
@@ -14,17 +14,17 @@
* limitations under the License.
*/
-package io.helidon.demo.todos.frontend;
+package io.helidon.examples.todos.frontend;
import java.util.Optional;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
import io.helidon.tracing.Span;
import io.helidon.tracing.SpanContext;
import io.helidon.tracing.Tracer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.JsonArray;
import jakarta.json.JsonObject;
diff --git a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/EnvHandler.java b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/EnvHandler.java
similarity index 90%
rename from examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/EnvHandler.java
rename to examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/EnvHandler.java
index 763c2eab62e..7289259575f 100644
--- a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/EnvHandler.java
+++ b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/EnvHandler.java
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package io.helidon.demo.todos.frontend;
+package io.helidon.examples.todos.frontend;
import io.helidon.config.Config;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
/**
* Handles response to current environment name.
diff --git a/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/Main.java b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/Main.java
new file mode 100644
index 00000000000..2b1d2215159
--- /dev/null
+++ b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/Main.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.todos.frontend;
+
+import java.util.List;
+
+import io.helidon.config.Config;
+import io.helidon.config.FileSystemWatcher;
+import io.helidon.logging.common.LogConfig;
+import io.helidon.security.Security;
+import io.helidon.tracing.Tracer;
+import io.helidon.tracing.TracerBuilder;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.security.WebClientSecurity;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.accesslog.AccessLogFeature;
+import io.helidon.webserver.observe.ObserveFeature;
+import io.helidon.webserver.security.SecurityFeature;
+import io.helidon.webserver.staticcontent.StaticContentService;
+
+import static io.helidon.config.ConfigSources.classpath;
+import static io.helidon.config.ConfigSources.environmentVariables;
+import static io.helidon.config.ConfigSources.file;
+import static io.helidon.config.PollingStrategies.regular;
+import static java.time.Duration.ofSeconds;
+
+/**
+ * Main class to start the service.
+ */
+public final class Main {
+
+ /**
+ * Interval for config polling.
+ */
+ private static final Long POLLING_INTERVAL = 5L;
+
+ /**
+ * Cannot be instantiated.
+ */
+ private Main() {
+ }
+
+ /**
+ * Application main entry point.
+ *
+ * @param args command line arguments
+ */
+ public static void main(final String[] args) {
+
+ // load logging configuration
+ LogConfig.configureRuntime();
+
+ // needed for default connection of Jersey client
+ // to allow our headers to be set
+ System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
+
+ // to allow us to set host header explicitly
+ System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
+
+ WebServerConfig.Builder builder = WebServer.builder();
+ setup(builder);
+ WebServer server = builder.build();
+
+ // start the web server
+ server.start();
+ System.out.println("WEB server is up! http://localhost:" + server.port());
+ }
+
+ private static void setup(WebServerConfig.Builder server) {
+
+ Config config = buildConfig();
+
+ Security security = Security.create(config.get("security"));
+
+ Http1Client client = Http1Client.builder().baseUri(config.get("services.backend.endpoint").asString().get())
+ .addService(WebClientSecurity.create())
+ .build();
+
+ BackendServiceClient bsc = new BackendServiceClient(client);
+
+ Tracer tracer = TracerBuilder.create(config.get("tracing")).build();
+
+ server.config(config.get("webserver"))
+ .routing(routing -> routing
+ .addFeature(AccessLogFeature.create())
+ .addFeature(ObserveFeature.create())
+ .addFeature(SecurityFeature.create(security, config.get("security")))
+ // register static content support (on "/")
+ .register(StaticContentService.builder("/WEB").welcomeFileName("index.html"))
+ // register API handler (on "/api") - this path is secured (see application.yaml)
+ .register("/api", new TodosHandler(bsc, tracer))
+ // and a simple environment handler to see where we are
+ .register("/env", new EnvHandler(config)));
+ }
+
+ /**
+ * Load the configuration from all sources.
+ * @return the configuration root
+ */
+ private static Config buildConfig() {
+ return Config.builder()
+ .sources(List.of(
+ environmentVariables(),
+ // expected on development machine
+ // to override props for dev
+ file("dev.yaml")
+ .changeWatcher(FileSystemWatcher.create())
+ .optional(),
+ // expected in k8s runtime
+ // to configure testing/production values
+ file("prod.yaml")
+ .pollingStrategy(regular(
+ ofSeconds(POLLING_INTERVAL)))
+ .optional(),
+ // in jar file
+ // (see src/main/resources/application.yaml)
+ classpath("application.yaml")))
+ .build();
+ }
+}
diff --git a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/TodosHandler.java b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/TodosHandler.java
similarity index 95%
rename from examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/TodosHandler.java
rename to examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/TodosHandler.java
index 87304ea64ab..05971ec127b 100644
--- a/examples/todo-app/frontend/src/main/java/io/helidon/demo/todos/frontend/TodosHandler.java
+++ b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/TodosHandler.java
@@ -14,16 +14,16 @@
* limitations under the License.
*/
-package io.helidon.demo.todos.frontend;
+package io.helidon.examples.todos.frontend;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.metrics.api.RegistryFactory;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
import io.helidon.tracing.Span;
import io.helidon.tracing.Tracer;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.JsonArray;
import jakarta.json.JsonObject;
diff --git a/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/package-info.java b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/package-info.java
new file mode 100644
index 00000000000..e730de0746e
--- /dev/null
+++ b/examples/todo-app/frontend/src/main/java/io/helidon/examples/todos/frontend/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * TODOs Demo application frontend.
+ */
+package io.helidon.examples.todos.frontend;
diff --git a/examples/todo-app/frontend/src/main/resources/logging.properties b/examples/todo-app/frontend/src/main/resources/logging.properties
index 0dbac3eb301..3543f0f4e1c 100644
--- a/examples/todo-app/frontend/src/main/resources/logging.properties
+++ b/examples/todo-app/frontend/src/main/resources/logging.properties
@@ -20,7 +20,7 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
#All log level details
.level=WARNING
-io.helidon.nima.webserver.level=INFO
+io.helidon.webserver.level=INFO
io.helidon.security.level=INFO
io.helidon.tracing.level=FINE
AUDIT.level=FINEST
diff --git a/examples/todo-app/frontend/src/test/java/io/helidon/demo/todos/frontend/FrontendTest.java b/examples/todo-app/frontend/src/test/java/io/helidon/examples/todos/frontend/FrontendTest.java
similarity index 88%
rename from examples/todo-app/frontend/src/test/java/io/helidon/demo/todos/frontend/FrontendTest.java
rename to examples/todo-app/frontend/src/test/java/io/helidon/examples/todos/frontend/FrontendTest.java
index 293b6398b28..35f007d97e0 100644
--- a/examples/todo-app/frontend/src/test/java/io/helidon/demo/todos/frontend/FrontendTest.java
+++ b/examples/todo-app/frontend/src/test/java/io/helidon/examples/todos/frontend/FrontendTest.java
@@ -14,23 +14,23 @@
* limitations under the License.
*/
-package io.helidon.demo.todos.frontend;
+package io.helidon.examples.todos.frontend;
import java.util.Base64;
-import io.helidon.common.http.Http;
+import io.helidon.http.Http;
import io.helidon.config.Config;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
-import io.helidon.nima.webserver.http.HttpRoute;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.http.HttpRoute;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
import io.helidon.security.Security;
-import io.helidon.security.integration.nima.SecurityFeature;
+import io.helidon.webserver.security.SecurityFeature;
import io.helidon.tracing.Tracer;
import jakarta.json.Json;
diff --git a/examples/translator-app/backend/pom.xml b/examples/translator-app/backend/pom.xml
index 2c0657ca579..439e9c6aec7 100644
--- a/examples/translator-app/backend/pom.xml
+++ b/examples/translator-app/backend/pom.xml
@@ -42,8 +42,8 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserverio.helidon.config
@@ -54,8 +54,8 @@
helidon-tracing-providers-zipkin
- io.helidon.nima.webserver
- helidon-nima-webserver-tracing
+ io.helidon.webserver
+ helidon-webserver-tracing
diff --git a/examples/translator-app/backend/src/main/java/io/helidon/examples/translator/backend/Main.java b/examples/translator-app/backend/src/main/java/io/helidon/examples/translator/backend/Main.java
index 86c15538c99..8467f5957bb 100644
--- a/examples/translator-app/backend/src/main/java/io/helidon/examples/translator/backend/Main.java
+++ b/examples/translator-app/backend/src/main/java/io/helidon/examples/translator/backend/Main.java
@@ -19,11 +19,11 @@
import io.helidon.config.Config;
import io.helidon.config.ConfigSources;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.tracing.TracingFeature;
import io.helidon.tracing.Tracer;
import io.helidon.tracing.TracerBuilder;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.tracing.TracingFeature;
/**
* Translator application backend main class.
diff --git a/examples/translator-app/backend/src/main/java/io/helidon/examples/translator/backend/TranslatorBackendService.java b/examples/translator-app/backend/src/main/java/io/helidon/examples/translator/backend/TranslatorBackendService.java
index a8766663601..08de0ae432a 100644
--- a/examples/translator-app/backend/src/main/java/io/helidon/examples/translator/backend/TranslatorBackendService.java
+++ b/examples/translator-app/backend/src/main/java/io/helidon/examples/translator/backend/TranslatorBackendService.java
@@ -18,12 +18,12 @@
import java.util.HashMap;
import java.util.Map;
-import io.helidon.common.http.BadRequestException;
-import io.helidon.common.http.NotFoundException;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.BadRequestException;
+import io.helidon.http.NotFoundException;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
/**
* Translator backend service.
diff --git a/examples/translator-app/backend/src/main/resources/logging.properties b/examples/translator-app/backend/src/main/resources/logging.properties
index 1ed82007e7d..f5eaea51888 100644
--- a/examples/translator-app/backend/src/main/resources/logging.properties
+++ b/examples/translator-app/backend/src/main/resources/logging.properties
@@ -22,5 +22,5 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
#All log level details
.level=INFO
-io.helidon.nima.webserver.level=FINEST
+io.helidon.webserver.level=FINEST
org.glassfish.jersey.internal.Errors.level=SEVERE
diff --git a/examples/translator-app/frontend/pom.xml b/examples/translator-app/frontend/pom.xml
index 167c7b7ff91..e8e47b406a1 100644
--- a/examples/translator-app/frontend/pom.xml
+++ b/examples/translator-app/frontend/pom.xml
@@ -42,16 +42,16 @@
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.webserver
- helidon-nima-webserver-tracing
+ io.helidon.webserver
+ helidon-webserver-tracing
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclientio.helidon.config
@@ -66,8 +66,8 @@
helidon-common
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/translator-app/frontend/src/main/java/io/helidon/examples/translator/frontend/Main.java b/examples/translator-app/frontend/src/main/java/io/helidon/examples/translator/frontend/Main.java
index 18afc303dae..17ecde4aa74 100644
--- a/examples/translator-app/frontend/src/main/java/io/helidon/examples/translator/frontend/Main.java
+++ b/examples/translator-app/frontend/src/main/java/io/helidon/examples/translator/frontend/Main.java
@@ -19,11 +19,11 @@
import io.helidon.config.Config;
import io.helidon.config.ConfigSources;
import io.helidon.logging.common.LogConfig;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.tracing.TracingFeature;
import io.helidon.tracing.Tracer;
import io.helidon.tracing.TracerBuilder;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.tracing.TracingFeature;
/**
* Translator application frontend main class.
diff --git a/examples/translator-app/frontend/src/main/java/io/helidon/examples/translator/frontend/TranslatorFrontendService.java b/examples/translator-app/frontend/src/main/java/io/helidon/examples/translator/frontend/TranslatorFrontendService.java
index 3b7936bde1d..fec518b5681 100644
--- a/examples/translator-app/frontend/src/main/java/io/helidon/examples/translator/frontend/TranslatorFrontendService.java
+++ b/examples/translator-app/frontend/src/main/java/io/helidon/examples/translator/frontend/TranslatorFrontendService.java
@@ -18,14 +18,14 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import io.helidon.common.http.BadRequestException;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.BadRequestException;
+import io.helidon.http.Http;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
/**
* Translator frontend resource.
diff --git a/examples/translator-app/frontend/src/main/resources/logging.properties b/examples/translator-app/frontend/src/main/resources/logging.properties
index 1ed82007e7d..f5eaea51888 100644
--- a/examples/translator-app/frontend/src/main/resources/logging.properties
+++ b/examples/translator-app/frontend/src/main/resources/logging.properties
@@ -22,5 +22,5 @@ java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$
#All log level details
.level=INFO
-io.helidon.nima.webserver.level=FINEST
+io.helidon.webserver.level=FINEST
org.glassfish.jersey.internal.Errors.level=SEVERE
diff --git a/examples/translator-app/frontend/src/test/java/io/helidon/examples/translator/TranslatorTest.java b/examples/translator-app/frontend/src/test/java/io/helidon/examples/translator/TranslatorTest.java
index fb5373ab948..18783ac9cfa 100644
--- a/examples/translator-app/frontend/src/test/java/io/helidon/examples/translator/TranslatorTest.java
+++ b/examples/translator-app/frontend/src/test/java/io/helidon/examples/translator/TranslatorTest.java
@@ -18,11 +18,11 @@
import io.helidon.examples.translator.backend.TranslatorBackendService;
import io.helidon.examples.translator.frontend.TranslatorFrontendService;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webclient.http1.Http1ClientResponse;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webclient.http1.Http1ClientResponse;
+import io.helidon.webserver.WebServerConfig;
import org.junit.jupiter.api.Test;
diff --git a/examples/webclient/pom.xml b/examples/webclient/pom.xml
index 364108c1cb5..4bc21e7ea06 100644
--- a/examples/webclient/pom.xml
+++ b/examples/webclient/pom.xml
@@ -27,7 +27,7 @@
io.helidon.examples.webclienthelidon-examples-webclient-project
- Helidon WebClient Example
+ Helidon Examples WebClientpom
diff --git a/examples/webclient/standalone/pom.xml b/examples/webclient/standalone/pom.xml
index 2db3990b1d4..c3d543973b8 100644
--- a/examples/webclient/standalone/pom.xml
+++ b/examples/webclient/standalone/pom.xml
@@ -19,7 +19,6 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
-
io.helidon.applicationshelidon-se
@@ -28,7 +27,7 @@
helidon-examples-webclient-standalone
- Helidon WebClient Standalone Example
+ Helidon Examples WebClient Standaloneio.helidon.examples.webclient.standalone.ServerMain
@@ -40,8 +39,8 @@
helidon-config-yaml
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonpio.helidon.metrics
@@ -52,24 +51,24 @@
helidon-metrics
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclient
- io.helidon.nima.webclient
- helidon-nima-webclient-metrics
+ io.helidon.webclient
+ helidon-webclient-metrics
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.observe
- helidon-nima-observe
+ io.helidon.webserver.observe
+ helidon-webserver-observe
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
diff --git a/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/ClientMain.java b/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/ClientMain.java
index 8c1f751c417..e09ea7d89ac 100644
--- a/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/ClientMain.java
+++ b/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/ClientMain.java
@@ -22,15 +22,15 @@
import java.nio.file.Paths;
import java.util.Map;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
import io.helidon.config.ConfigValue;
+import io.helidon.http.Http;
import io.helidon.metrics.api.Registry;
import io.helidon.metrics.api.RegistryFactory;
-import io.helidon.nima.webclient.api.HttpClientResponse;
-import io.helidon.nima.webclient.api.WebClient;
-import io.helidon.nima.webclient.metrics.WebClientMetrics;
-import io.helidon.nima.webclient.spi.WebClientService;
+import io.helidon.webclient.api.HttpClientResponse;
+import io.helidon.webclient.api.WebClient;
+import io.helidon.webclient.metrics.WebClientMetrics;
+import io.helidon.webclient.spi.WebClientService;
import jakarta.json.Json;
import jakarta.json.JsonBuilderFactory;
diff --git a/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/GreetService.java b/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/GreetService.java
index ba491764fda..198f97b3f1d 100644
--- a/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/GreetService.java
+++ b/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/GreetService.java
@@ -18,13 +18,13 @@
import java.util.Collections;
import java.util.concurrent.atomic.AtomicReference;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.http.Http;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.json.Json;
import jakarta.json.JsonBuilderFactory;
diff --git a/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/ServerMain.java b/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/ServerMain.java
index 838c31208af..c2fed3a7553 100644
--- a/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/ServerMain.java
+++ b/examples/webclient/standalone/src/main/java/io/helidon/examples/webclient/standalone/ServerMain.java
@@ -16,10 +16,10 @@
package io.helidon.examples.webclient.standalone;
import io.helidon.config.Config;
-import io.helidon.nima.observe.ObserveFeature;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.observe.ObserveFeature;
/**
* The application main class.
diff --git a/examples/webclient/standalone/src/test/java/io/helidon/examples/webclient/standalone/ClientMainTest.java b/examples/webclient/standalone/src/test/java/io/helidon/examples/webclient/standalone/ClientMainTest.java
index 59fa615b8df..edd122532c5 100644
--- a/examples/webclient/standalone/src/test/java/io/helidon/examples/webclient/standalone/ClientMainTest.java
+++ b/examples/webclient/standalone/src/test/java/io/helidon/examples/webclient/standalone/ClientMainTest.java
@@ -24,12 +24,12 @@
import io.helidon.config.Config;
import io.helidon.metrics.api.Registry;
import io.helidon.metrics.api.RegistryFactory;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.testing.junit5.webserver.SetUpServer;
-import io.helidon.nima.webclient.api.WebClient;
-import io.helidon.nima.webclient.spi.WebClientService;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webserver.testing.junit5.SetUpServer;
+import io.helidon.webclient.api.WebClient;
+import io.helidon.webclient.spi.WebClientService;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
import org.eclipse.microprofile.metrics.Counter;
import org.eclipse.microprofile.metrics.MetricRegistry;
diff --git a/examples/webserver/basic/pom.xml b/examples/webserver/basic/pom.xml
new file mode 100644
index 00000000000..102d29726c3
--- /dev/null
+++ b/examples/webserver/basic/pom.xml
@@ -0,0 +1,83 @@
+
+
+
+ 4.0.0
+
+ io.helidon.applications
+ helidon-se
+ 4.0.0-SNAPSHOT
+ ../../../applications/se/pom.xml
+
+
+ io.helidon.examples.webserver
+ helidon-examples-webserver-basic
+ Helidon Examples WebServer Basic
+
+
+ io.helidon.examples.webserver.basic.BasicMain
+
+
+
+
+ io.helidon.webserver
+ helidon-webserver
+
+
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.hamcrest
+ hamcrest-all
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-libs
+
+
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+
+
+
+ integration-test
+ verify
+
+
+
+
+
+
+
diff --git a/examples/nima/basic/src/main/java/io/helidon/examples/nima/basic/BasicMain.java b/examples/webserver/basic/src/main/java/io/helidon/examples/webserver/basic/BasicMain.java
similarity index 87%
rename from examples/nima/basic/src/main/java/io/helidon/examples/nima/basic/BasicMain.java
rename to examples/webserver/basic/src/main/java/io/helidon/examples/webserver/basic/BasicMain.java
index 619f277226e..f74d2eb6f7c 100644
--- a/examples/nima/basic/src/main/java/io/helidon/examples/nima/basic/BasicMain.java
+++ b/examples/webserver/basic/src/main/java/io/helidon/examples/webserver/basic/BasicMain.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package io.helidon.examples.nima.basic;
+package io.helidon.examples.webserver.basic;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
/**
* As simple as possible with a fixed port.
@@ -39,7 +39,7 @@ public static void main(String[] args) {
/*
WebServer.builder()
.port(8080)
- .routing(router -> router.get("/*", (req, res) -> res.send("Níma Works!")))
+ .routing(router -> router.get("/*", (req, res) -> res.send("WebServer Works!")))
.start();
*/
WebServer.builder()
@@ -56,6 +56,6 @@ public static void main(String[] args) {
* @param router HTTP routing builder to configure routes for this service
*/
static void routing(HttpRouting.Builder router) {
- router.get("/*", (req, res) -> res.send("Níma Works!"));
+ router.get("/*", (req, res) -> res.send("WebServer Works!"));
}
}
diff --git a/examples/webserver/basic/src/main/java/io/helidon/examples/webserver/basic/package-info.java b/examples/webserver/basic/src/main/java/io/helidon/examples/webserver/basic/package-info.java
new file mode 100644
index 00000000000..1edd0ca72f3
--- /dev/null
+++ b/examples/webserver/basic/src/main/java/io/helidon/examples/webserver/basic/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Basic example.
+ */
+package io.helidon.examples.webserver.basic;
diff --git a/examples/webserver/basic/src/main/resources/logging.properties b/examples/webserver/basic/src/main/resources/logging.properties
new file mode 100644
index 00000000000..d09df1098a3
--- /dev/null
+++ b/examples/webserver/basic/src/main/resources/logging.properties
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2022, 2023 Oracle and/or its affiliates.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+handlers=java.util.logging.ConsoleHandler
+java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
+# Global logging level. Can be overridden by specific loggers
+.level=INFO
+io.helidon.webserver.level=INFO
diff --git a/examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/AbstractBasicRoutingTest.java b/examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/AbstractBasicRoutingTest.java
similarity index 78%
rename from examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/AbstractBasicRoutingTest.java
rename to examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/AbstractBasicRoutingTest.java
index f9a7037557b..d3900c59719 100644
--- a/examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/AbstractBasicRoutingTest.java
+++ b/examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/AbstractBasicRoutingTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package io.helidon.examples.nima.basic;
+package io.helidon.examples.webserver.basic;
-import io.helidon.nima.testing.junit5.webserver.SetUpRoute;
-import io.helidon.nima.webclient.http1.Http1Client;
-import io.helidon.nima.webserver.http.HttpRouting;
+import io.helidon.webserver.testing.junit5.SetUpRoute;
+import io.helidon.webclient.http1.Http1Client;
+import io.helidon.webserver.http.HttpRouting;
import org.junit.jupiter.api.Test;
@@ -43,7 +43,7 @@ void testRootRoute() {
.request()
.as(String.class);
- assertThat(response, is("Níma Works!"));
+ assertThat(response, is("WebServer Works!"));
}
@Test
@@ -52,6 +52,6 @@ void testOtherRoute() {
.request()
.as(String.class);
- assertThat(response, is("Níma Works!"));
+ assertThat(response, is("WebServer Works!"));
}
}
diff --git a/examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/BasicRoutingIT.java b/examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/BasicRoutingIT.java
similarity index 79%
rename from examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/BasicRoutingIT.java
rename to examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/BasicRoutingIT.java
index e5736fb495d..3fdb32e1bc1 100644
--- a/examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/BasicRoutingIT.java
+++ b/examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/BasicRoutingIT.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package io.helidon.examples.nima.basic;
+package io.helidon.examples.webserver.basic;
-import io.helidon.nima.testing.junit5.webserver.ServerTest;
-import io.helidon.nima.webclient.http1.Http1Client;
+import io.helidon.webserver.testing.junit5.ServerTest;
+import io.helidon.webclient.http1.Http1Client;
/**
* An integration test that starts the server and invokes the routing through HTTP.
diff --git a/examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/BasicRoutingTest.java b/examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/BasicRoutingTest.java
similarity index 79%
rename from examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/BasicRoutingTest.java
rename to examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/BasicRoutingTest.java
index c748c91aaf3..fd898ef8603 100644
--- a/examples/nima/basic/src/test/java/io/helidon/examples/nima/basic/BasicRoutingTest.java
+++ b/examples/webserver/basic/src/test/java/io/helidon/examples/webserver/basic/BasicRoutingTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package io.helidon.examples.nima.basic;
+package io.helidon.examples.webserver.basic;
-import io.helidon.nima.testing.junit5.webserver.DirectClient;
-import io.helidon.nima.testing.junit5.webserver.RoutingTest;
+import io.helidon.webserver.testing.junit5.DirectClient;
+import io.helidon.webserver.testing.junit5.RoutingTest;
/**
* A unit test that does not start the server and invokes the routing directly, with no network traffic.
diff --git a/examples/webserver/basic/src/test/resources/logging-test.properties b/examples/webserver/basic/src/test/resources/logging-test.properties
new file mode 100644
index 00000000000..e0e9004a51a
--- /dev/null
+++ b/examples/webserver/basic/src/test/resources/logging-test.properties
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 2022, 2023 Oracle and/or its affiliates.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+handlers=java.util.logging.ConsoleHandler
+java.util.logging.ConsoleHandler.level=FINEST
+java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
+# java.util.logging.SimpleFormatter.format = [%1$tc] %5$s %6$s%n
+java.util.logging.SimpleFormatter.format=%1$tH:%1$tM:%1$tS %5$s%6$s%n
+# Global logging level. Can be overridden by specific loggers
+.level=WARNING
diff --git a/examples/webserver/basics/pom.xml b/examples/webserver/basics/pom.xml
index ab3ef286d78..7603abd4993 100644
--- a/examples/webserver/basics/pom.xml
+++ b/examples/webserver/basics/pom.xml
@@ -29,33 +29,33 @@
io.helidon.examples.webserverhelidon-examples-webserver-basics
- Helidon WebServer Examples Basics
+ Helidon Examples WebServer Basics
Examples of elementary use of the Web Server
- io.helidon.webserver.examples.basics.Main
+ io.helidon.examples.webserver.basics.Main
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.webserver
- helidon-nima-webserver-static-content
+ io.helidon.webserver
+ helidon-webserver-static-content
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
+ io.helidon.webserver.testing.junit5
+ helidon-webserver-testing-junit5test
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
+ io.helidon.http.media
+ helidon-http-media-jsonporg.junit.jupiter
diff --git a/examples/webserver/basics/src/main/java/io/helidon/webserver/examples/basics/Catalog.java b/examples/webserver/basics/src/main/java/io/helidon/examples/webserver/basics/Catalog.java
similarity index 82%
rename from examples/webserver/basics/src/main/java/io/helidon/webserver/examples/basics/Catalog.java
rename to examples/webserver/basics/src/main/java/io/helidon/examples/webserver/basics/Catalog.java
index a1a8995457d..108e5d5af31 100644
--- a/examples/webserver/basics/src/main/java/io/helidon/webserver/examples/basics/Catalog.java
+++ b/examples/webserver/basics/src/main/java/io/helidon/examples/webserver/basics/Catalog.java
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package io.helidon.webserver.examples.basics;
+package io.helidon.examples.webserver.basics;
-import io.helidon.nima.webserver.http.HttpRules;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
/**
* Skeleton example of catalog resource use in {@link Main} class.
diff --git a/examples/webserver/basics/src/main/java/io/helidon/examples/webserver/basics/Main.java b/examples/webserver/basics/src/main/java/io/helidon/examples/webserver/basics/Main.java
new file mode 100644
index 00000000000..11d4f8bbecb
--- /dev/null
+++ b/examples/webserver/basics/src/main/java/io/helidon/examples/webserver/basics/Main.java
@@ -0,0 +1,368 @@
+/*
+ * Copyright (c) 2017, 2023 Oracle and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.helidon.examples.webserver.basics;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.lang.reflect.Parameter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import io.helidon.common.media.type.MediaTypes;
+import io.helidon.http.Http;
+import io.helidon.http.HttpException;
+import io.helidon.http.ServerRequestHeaders;
+import io.helidon.http.media.EntityReader;
+import io.helidon.http.media.MediaContext;
+import io.helidon.http.media.MediaContextConfig;
+import io.helidon.http.media.ReadableEntity;
+import io.helidon.http.media.jsonp.JsonpSupport;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.ErrorHandler;
+import io.helidon.webserver.http.Handler;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
+import io.helidon.webserver.staticcontent.StaticContentService;
+
+import jakarta.json.Json;
+import jakarta.json.JsonBuilderFactory;
+
+/**
+ * This example consists of few first tutorial steps of WebServer API. Each step is represented by a single method.
+ *
+ * Principles:
+ *
+ *
Reactive principles
+ *
Reflection free
+ *
Fluent
+ *
Integration platform
+ *
+ *
+ * It is also java executable main class. Use a method name as a command line parameter to execute.
+ */
+public class Main {
+
+ private static final JsonBuilderFactory JSON = Json.createBuilderFactory(Collections.emptyMap());
+ private static final Http.HeaderName BAR_HEADER = Http.HeaderNames.create("bar");
+ private static final Http.HeaderName FOO_HEADER = Http.HeaderNames.create("foo");
+
+ // ---------------- EXAMPLES
+
+ /**
+ * True heart of WebServer API is {@link HttpRouting}.
+ * It provides fluent way how to assign custom {@link Handler} to the routing rule.
+ * The rule consists from two main factors - HTTP method and path pattern.
+ *
+ * The (route) {@link Handler} is a functional interface which process HTTP {@link ServerRequest request} and
+ * writes to the {@link ServerResponse response}.
+ *
+ * @param routing routing builder
+ */
+ public static void firstRouting(HttpRouting.Builder routing) {
+ routing.post("/firstRouting/post-endpoint", (req, res) -> res.status(Http.Status.CREATED_201)
+ .send())
+ .get("/firstRouting/get-endpoint", (req, res) -> res.status(Http.Status.OK_200)
+ .send("Hello World!"));
+ }
+
+ /**
+ * All routing rules (routes) are evaluated in a definition order. The {@link Handler} assigned with the first valid route
+ * for given request is called. It is a responsibility of each handler to process in one of the following ways:
+ *
+ *
Respond using one of {@link ServerResponse#send() ServerResponse.send(...)} method.
+ *
Continue to next valid route using {@link ServerResponse#next() ServerRequest.next()} method.
+ * It is possible to define filtering handlers.
+ *
+ *
+ * If no valid {@link Handler} is found then routing respond by {@code HTTP 404} code.
+ *
+ * If selected {@link Handler} doesn't process request than the request stacks!
+ *
+ * Blocking operations:
+ * For performance reason, {@link Handler} can be called directly by a selector thread. It is not good idea to block
+ * such thread. If request must be processed by a blocking operation then such processing should be deferred to another
+ * thread.
+ *
+ * @param routing routing builder
+ */
+ public static void routingAsFilter(HttpRouting.Builder routing) {
+ routing.any("/routingAsFilter/*", (req, res) -> {
+ System.out.println(req.prologue().method() + " " + req.path());
+ // Filters are just routing handlers which calls next()
+ res.next();
+ })
+ .post("/routingAsFilter/post-endpoint", (req, res) -> res.status(Http.Status.CREATED_201)
+ .send())
+ .get("/routingAsFilter/get-endpoint", (req, res) -> res.status(Http.Status.OK_200)
+ .send("Hello World!"));
+ }
+
+ /**
+ * {@link ServerRequest} provides access to three types of "parameters":
+ *
+ *
Headers
+ *
Query parameters
+ *
Path parameters - Evaluated from provided {@code path pattern}
+ *
+ *
+ * {@link java.util.Optional Optional} API is heavily used to represent parameters optionality.
+ *
+ * WebServer {@link io.helidon.common.parameters.Parameters Parameters} API is used to represent fact, that headers and
+ * query parameters can contain multiple values.
+ *
+ * @param routing routing builder
+ */
+ public static void parametersAndHeaders(HttpRouting.Builder routing) {
+ routing.get("/parametersAndHeaders/context/{id}", (req, res) -> {
+ StringBuilder sb = new StringBuilder();
+ // Request headers
+ req.headers()
+ .first(FOO_HEADER)
+ .ifPresent(v -> sb.append("foo: ").append(v).append("\n"));
+ // Request parameters
+ req.query()
+ .first("bar")
+ .ifPresent(v -> sb.append("bar: ").append(v).append("\n"));
+ // Path parameters
+ sb.append("id: ").append(req.path().pathParameters().value("id"));
+ // Response headers
+ res.headers().contentType(MediaTypes.TEXT_PLAIN);
+ // Response entity (payload)
+ res.send(sb.toString());
+ });
+ }
+
+ /**
+ * Routing rules (routes) are limited on two criteria - HTTP method and path.
+ *
+ * @param routing routing builder
+ */
+ public static void advancedRouting(HttpRouting.Builder routing) {
+ routing.get("/advancedRouting/foo", (req, res) -> {
+ ServerRequestHeaders headers = req.headers();
+ if (headers.isAccepted(MediaTypes.TEXT_PLAIN)
+ && headers.contains(BAR_HEADER)) {
+
+ res.send();
+ } else {
+ res.next();
+ }
+ });
+ }
+
+ /**
+ * Larger applications with many routing rules can cause complicated readability (maintainability) if all rules are
+ * defined in a single fluent code. It is possible to register {@link HttpService} and organise
+ * the code into services and resources. {@code Service} is an interface which can register more routing rules (routes).
+ *
+ * @param routing routing builder
+ */
+ public static void organiseCode(HttpRouting.Builder routing) {
+ routing.register("/organiseCode/catalog-context-path", new Catalog());
+ }
+
+ /**
+ * Request payload (body/entity) is represented by {@link ReadableEntity}.
+ * But it is more convenient to process entity in some type specific form. WebServer supports few types which can be
+ * used te read the whole entity:
+ *
+ *
{@code byte[]}
+ *
{@code String}
+ *
{@code InputStream}
+ *
+ *
+ * Similar approach is used for the response entity.
+ *
+ * @param routing routing builder
+ */
+ public static void readContentEntity(HttpRouting.Builder routing) {
+ routing.post("/readContentEntity/foo", (req, res) -> {
+ try {
+ String data = req.content().as(String.class);
+ System.out.println("/foo DATA: " + data);
+ res.send(data);
+ } catch (Throwable th) {
+ res.status(Http.Status.BAD_REQUEST_400);
+ }
+ })
+ // It is possible to use Handler.of() method to automatically cover all error states.
+ .post("/readContentEntity/bar", Handler.create(String.class, (data, res) -> {
+ System.out.println("/foo DATA: " + data);
+ res.send(data);
+ }));
+ }
+
+ /**
+ * Use a custom {@link EntityReader reader} to convert the request content into an object of a given type.
+ *
+ * @param routing routing builder
+ * @param mediaContext media context builder
+ */
+ public static void mediaReader(HttpRouting.Builder routing, MediaContextConfig.Builder mediaContext) {
+ routing.post("/mediaReader/create-record", Handler.create(Name.class, (name, res) -> {
+ System.out.println("Name: " + name);
+ res.status(Http.Status.CREATED_201)
+ .send(name.toString());
+ }));
+
+ // add our custom Name reader
+ mediaContext.addMediaSupport(NameSupport.create());
+ }
+
+ /**
+ * Combination of filtering {@link Handler} pattern with {@link HttpService} registration capabilities
+ * can be used by other frameworks for the integration. WebServer is shipped with several integrated libraries (supports)
+ * including static content, JSON and Jersey. See {@code POM.xml} for requested dependencies.
+ *
+ * @param routing routing builder
+ * @param mediaContext mediaContext
+ */
+ public static void supports(HttpRouting.Builder routing, MediaContextConfig.Builder mediaContext) {
+ routing.register("/supports", StaticContentService.create("/static"))
+ .get("/supports/hello/{what}", (req, res) ->
+ res.send(JSON.createObjectBuilder()
+ .add("message", "Hello " + req.path()
+ .pathParameters()
+ .value("what"))
+ .build()));
+ mediaContext.addMediaSupport(JsonpSupport.create());
+ }
+
+ /**
+ * Request processing can cause error represented by {@link Throwable}. It is possible to register custom
+ * {@link ErrorHandler ErrorHandlers} for specific processing.
+ *
+ * If error is not processed by a custom {@link ErrorHandler ErrorHandler} than default one is used.
+ * It responds with HTTP 500 code unless error is not represented
+ * by {@link HttpException HttpException}. In such case it reflects its content.
+ *
+ * @param routing routing builder
+ */
+ public static void errorHandling(HttpRouting.Builder routing) {
+ routing.post("/errorHandling/compute", Handler.create(String.class, (str, res) -> {
+ int result = 100 / Integer.parseInt(str);
+ res.send("100 / " + str + " = " + result);
+ }))
+ .error(Throwable.class, (req, res, ex) -> {
+ ex.printStackTrace(System.out);
+ res.next();
+ })
+ .error(NumberFormatException.class,
+ (req, res, ex) -> res.status(Http.Status.BAD_REQUEST_400).send())
+ .error(ArithmeticException.class,
+ (req, res, ex) -> res.status(Http.Status.PRECONDITION_FAILED_412).send());
+ }
+
+
+ // ---------------- EXECUTION
+
+ private static final String EXAMPLE_NAME_SYS_PROP = "exampleName";
+ private static final String EXAMPLE_NAME_ENV_VAR = "EXAMPLE_NAME";
+
+ /**
+ * Prints usage instructions.
+ */
+ public void help() {
+ StringBuilder hlp = new StringBuilder();
+ hlp.append("java -jar example-basics.jar \n");
+ hlp.append("Example method names:\n");
+ Method[] methods = Main.class.getDeclaredMethods();
+ for (Method method : methods) {
+ if (Modifier.isPublic(method.getModifiers()) && !Modifier.isStatic(method.getModifiers())) {
+ hlp.append(" ").append(method.getName()).append('\n');
+ }
+ }
+ hlp.append('\n');
+ hlp.append("Example method name can be also provided as a\n");
+ hlp.append(" - -D").append(EXAMPLE_NAME_SYS_PROP).append(" jvm property.\n");
+ hlp.append(" - ").append(EXAMPLE_NAME_ENV_VAR).append(" environment variable.\n");
+ System.out.println(hlp);
+ }
+
+ /**
+ * Prints usage instructions. (Shortcut to {@link #help()} method.
+ */
+ public void h() {
+ help();
+ }
+
+ /**
+ * Java main method.
+ *
+ * @param args Command line arguments.
+ */
+ public static void main(String[] args) {
+ String exampleName;
+ if (args.length > 0) {
+ exampleName = args[0];
+ } else if (System.getProperty(EXAMPLE_NAME_SYS_PROP) != null) {
+ exampleName = System.getProperty(EXAMPLE_NAME_SYS_PROP);
+ } else if (System.getenv(EXAMPLE_NAME_ENV_VAR) != null) {
+ exampleName = System.getenv(EXAMPLE_NAME_ENV_VAR);
+ } else {
+ System.out.println("Missing example name. It can be provided as a \n"
+ + " - first command line argument.\n"
+ + " - -D" + EXAMPLE_NAME_SYS_PROP + " jvm property.\n"
+ + " - " + EXAMPLE_NAME_ENV_VAR + " environment variable.\n");
+ System.exit(1);
+ return;
+ }
+ while (exampleName.startsWith("-")) {
+ exampleName = exampleName.substring(1);
+ }
+ String methodName = exampleName;
+ Method method = Arrays.stream(Main.class.getMethods())
+ .filter(m -> m.getName().equals(methodName))
+ .findFirst()
+ .orElseThrow(() -> new IllegalArgumentException("Missing example method named: " + methodName));
+ HttpRouting.Builder routingBuilder = HttpRouting.builder();
+ MediaContextConfig.Builder mediaContextBuilder = MediaContext.builder()
+ .mediaSupportsDiscoverServices(false);
+ List
@@ -68,7 +68,7 @@
String CONFIG_KEY_PATH = "routing-path.path";
/**
- * Path of this WebServer service. Use the same path as would be used with {@link io.helidon.nima.webserver.http.HttpRules}.
+ * Path of this WebServer service. Use the same path as would be used with {@link io.helidon.webserver.http.HttpRules}.
*
* @return path to register the service on.
*/
diff --git a/microprofile/server/src/main/java/io/helidon/microprofile/server/ServerCdiExtension.java b/microprofile/server/src/main/java/io/helidon/microprofile/server/ServerCdiExtension.java
index 0bb96507483..eff1d827033 100644
--- a/microprofile/server/src/main/java/io/helidon/microprofile/server/ServerCdiExtension.java
+++ b/microprofile/server/src/main/java/io/helidon/microprofile/server/ServerCdiExtension.java
@@ -35,22 +35,22 @@
import io.helidon.common.context.Context;
import io.helidon.common.context.Contexts;
-import io.helidon.common.http.Http;
import io.helidon.config.Config;
import io.helidon.config.mp.Prioritized;
+import io.helidon.http.Http;
import io.helidon.microprofile.cdi.RuntimeStart;
-import io.helidon.nima.webserver.KeyPerformanceIndicatorSupport;
-import io.helidon.nima.webserver.ListenerConfig;
-import io.helidon.nima.webserver.Router;
-import io.helidon.nima.webserver.Routing;
-import io.helidon.nima.webserver.WebServer;
-import io.helidon.nima.webserver.WebServerConfig;
-import io.helidon.nima.webserver.context.ContextFeature;
-import io.helidon.nima.webserver.http.HttpRouting;
-import io.helidon.nima.webserver.http.HttpService;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
-import io.helidon.nima.webserver.staticcontent.StaticContentService;
+import io.helidon.webserver.KeyPerformanceIndicatorSupport;
+import io.helidon.webserver.ListenerConfig;
+import io.helidon.webserver.Router;
+import io.helidon.webserver.Routing;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.WebServerConfig;
+import io.helidon.webserver.context.ContextFeature;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.http.HttpService;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
+import io.helidon.webserver.staticcontent.StaticContentService;
import jakarta.annotation.Priority;
import jakarta.enterprise.context.ApplicationScoped;
@@ -421,7 +421,7 @@ private void startServer(@Observes @Priority(PLATFORM_AFTER + 100) @Initialized(
}
/**
- * Make Nima's {@code ServerRequest} and {@code ServerResponse} available for injection
+ * Make WebServer's {@code ServerRequest} and {@code ServerResponse} available for injection
* via CDI by registering them as beans.
*
* @param event after bean discovery event
diff --git a/microprofile/server/src/main/java/io/helidon/microprofile/server/WebServerBinder.java b/microprofile/server/src/main/java/io/helidon/microprofile/server/WebServerBinder.java
index 8f077082854..efab7d6db4f 100644
--- a/microprofile/server/src/main/java/io/helidon/microprofile/server/WebServerBinder.java
+++ b/microprofile/server/src/main/java/io/helidon/microprofile/server/WebServerBinder.java
@@ -16,8 +16,8 @@
package io.helidon.microprofile.server;
-import io.helidon.nima.webserver.http.ServerRequest;
-import io.helidon.nima.webserver.http.ServerResponse;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
import jakarta.inject.Inject;
import jakarta.inject.Provider;
diff --git a/microprofile/server/src/main/java/module-info.java b/microprofile/server/src/main/java/module-info.java
index c60859dddb5..bd06f74d075 100644
--- a/microprofile/server/src/main/java/module-info.java
+++ b/microprofile/server/src/main/java/module-info.java
@@ -30,7 +30,7 @@
module io.helidon.microprofile.server {
requires static io.helidon.common.features.api;
- requires transitive io.helidon.nima.webserver;
+ requires transitive io.helidon.webserver;
requires transitive io.helidon.common.context;
requires transitive io.helidon.jersey.server;
requires transitive io.helidon.common.configurable;
@@ -44,8 +44,8 @@
requires transitive jakarta.json;
requires io.helidon.jersey.media.jsonp;
- requires io.helidon.nima.webserver.staticcontent;
- requires transitive io.helidon.nima.webserver.context;
+ requires io.helidon.webserver.staticcontent;
+ requires transitive io.helidon.webserver.context;
// there is now a hardcoded dependency on Weld, to configure additional bean defining annotation
requires java.management;
diff --git a/microprofile/server/src/test/java/io/helidon/microprofile/server/ProducedRouteTest.java b/microprofile/server/src/test/java/io/helidon/microprofile/server/ProducedRouteTest.java
index d0f559172b0..d0e29496b70 100644
--- a/microprofile/server/src/test/java/io/helidon/microprofile/server/ProducedRouteTest.java
+++ b/microprofile/server/src/test/java/io/helidon/microprofile/server/ProducedRouteTest.java
@@ -20,14 +20,14 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import io.helidon.common.http.Http;
-import io.helidon.common.http.Http.HeaderName;
+import io.helidon.http.Http;
+import io.helidon.http.Http.HeaderName;
import io.helidon.microprofile.tests.junit5.AddBean;
import io.helidon.microprofile.tests.junit5.AddConfig;
import io.helidon.microprofile.tests.junit5.AddExtension;
import io.helidon.microprofile.tests.junit5.DisableDiscovery;
import io.helidon.microprofile.tests.junit5.HelidonTest;
-import io.helidon.nima.webserver.http.HttpService;
+import io.helidon.webserver.http.HttpService;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Produces;
diff --git a/microprofile/service-common/pom.xml b/microprofile/service-common/pom.xml
index 891bec778d6..048e3aff106 100644
--- a/microprofile/service-common/pom.xml
+++ b/microprofile/service-common/pom.xml
@@ -34,8 +34,8 @@
- io.helidon.nima.service-common
- helidon-nima-service-common
+ io.helidon.webserver
+ helidon-webserver-service-commonorg.eclipse.microprofile.config
@@ -61,8 +61,8 @@
test
- io.helidon.nima.webclient
- helidon-nima-webclient
+ io.helidon.webclient
+ helidon-webclienttest
diff --git a/microprofile/service-common/src/main/java/io/helidon/microprofile/servicecommon/HelidonRestCdiExtension.java b/microprofile/service-common/src/main/java/io/helidon/microprofile/servicecommon/HelidonRestCdiExtension.java
index 30ea6031179..58e252abb0b 100644
--- a/microprofile/service-common/src/main/java/io/helidon/microprofile/servicecommon/HelidonRestCdiExtension.java
+++ b/microprofile/service-common/src/main/java/io/helidon/microprofile/servicecommon/HelidonRestCdiExtension.java
@@ -32,8 +32,8 @@
import io.helidon.config.mp.MpConfig;
import io.helidon.microprofile.server.RoutingBuilders;
import io.helidon.microprofile.server.ServerCdiExtension;
-import io.helidon.nima.servicecommon.FeatureSupport;
-import io.helidon.nima.webserver.http.HttpRules;
+import io.helidon.webserver.http.HttpRules;
+import io.helidon.webserver.servicecommon.FeatureSupport;
import jakarta.annotation.Priority;
import jakarta.enterprise.context.ApplicationScoped;
@@ -63,7 +63,7 @@
*
*
* Each CDI extension is presumed to layer on an SE-style service support class which itself is a subclass of
- * {@link io.helidon.nima.servicecommon.HelidonFeatureSupport} with an associated {@code Builder} class.
+ * {@link io.helidon.webserver.servicecommon.HelidonFeatureSupport} with an associated {@code Builder} class.
* The service support base class and its builder are both type parameters to this class.
*
*
diff --git a/microprofile/service-common/src/main/java/module-info.java b/microprofile/service-common/src/main/java/module-info.java
index 0cd39139468..e41c16dcb60 100644
--- a/microprofile/service-common/src/main/java/module-info.java
+++ b/microprofile/service-common/src/main/java/module-info.java
@@ -22,7 +22,7 @@
module io.helidon.microprofile.servicecommon {
requires jakarta.cdi;
- requires io.helidon.nima.servicecommon;
+ requires io.helidon.servicecommon;
requires microprofile.config.api;
requires jakarta.inject;
requires io.helidon.config.mp;
diff --git a/microprofile/service-common/src/test/java/io/helidon/microprofile/servicecommon/ConfiguredTestSupport.java b/microprofile/service-common/src/test/java/io/helidon/microprofile/servicecommon/ConfiguredTestSupport.java
index 736b811b142..b6c81211657 100644
--- a/microprofile/service-common/src/test/java/io/helidon/microprofile/servicecommon/ConfiguredTestSupport.java
+++ b/microprofile/service-common/src/test/java/io/helidon/microprofile/servicecommon/ConfiguredTestSupport.java
@@ -17,8 +17,8 @@
import java.util.Optional;
-import io.helidon.nima.servicecommon.HelidonFeatureSupport;
-import io.helidon.nima.webserver.http.HttpService;
+import io.helidon.webserver.servicecommon.HelidonFeatureSupport;
+import io.helidon.webserver.http.HttpService;
/**
* Test SE service which does not really expose its own endpoint but does use config to set an "importance" value.
diff --git a/microprofile/tests/tck/tck-lra/src/test/resources/logging-test.properties b/microprofile/tests/tck/tck-lra/src/test/resources/logging-test.properties
index 5c7a9241cfc..8ad260481ec 100644
--- a/microprofile/tests/tck/tck-lra/src/test/resources/logging-test.properties
+++ b/microprofile/tests/tck/tck-lra/src/test/resources/logging-test.properties
@@ -19,7 +19,7 @@ java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%1$tH:%1$tM:%1$tS %4$s %3$s %5$s%6$s%n
# Global logging level. Can be overridden by specific loggers
.level=INFO
-io.helidon.nima.level=INFO
-io.helidon.nima.webserver.http.Http1Connection.level=INFO
-io.helidon.nima.webserver.http.HttpRouting.level=INFO
+io.helidon.webserver.level=INFO
+io.helidon.webserver.http.Http1Connection.level=INFO
+io.helidon.webserver.http.HttpRouting.level=INFO
io.helidon.lra.coordinator.level=INFO
diff --git a/microprofile/tracing/pom.xml b/microprofile/tracing/pom.xml
index 135dc116950..ae1c2108200 100644
--- a/microprofile/tracing/pom.xml
+++ b/microprofile/tracing/pom.xml
@@ -41,8 +41,8 @@
provided
- io.helidon.nima.webserver
- helidon-nima-webserver-tracing
+ io.helidon.webserver
+ helidon-webserver-tracingio.helidon.tracing.providers
diff --git a/microprofile/tracing/src/main/java/io/helidon/microprofile/tracing/MpTracingContextFilter.java b/microprofile/tracing/src/main/java/io/helidon/microprofile/tracing/MpTracingContextFilter.java
index 1b72795703b..962e28b693e 100644
--- a/microprofile/tracing/src/main/java/io/helidon/microprofile/tracing/MpTracingContextFilter.java
+++ b/microprofile/tracing/src/main/java/io/helidon/microprofile/tracing/MpTracingContextFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2018, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,11 +18,11 @@
import java.util.Optional;
import io.helidon.common.context.Contexts;
-import io.helidon.nima.webserver.http.ServerRequest;
import io.helidon.tracing.Span;
import io.helidon.tracing.SpanContext;
import io.helidon.tracing.Tracer;
import io.helidon.tracing.jersey.client.internal.TracingContext;
+import io.helidon.webserver.http.ServerRequest;
import jakarta.annotation.Priority;
import jakarta.enterprise.context.ApplicationScoped;
diff --git a/microprofile/tracing/src/main/java/io/helidon/microprofile/tracing/TracingCdiExtension.java b/microprofile/tracing/src/main/java/io/helidon/microprofile/tracing/TracingCdiExtension.java
index 9b20145ae36..09270e5913e 100644
--- a/microprofile/tracing/src/main/java/io/helidon/microprofile/tracing/TracingCdiExtension.java
+++ b/microprofile/tracing/src/main/java/io/helidon/microprofile/tracing/TracingCdiExtension.java
@@ -25,9 +25,9 @@
import io.helidon.microprofile.server.JaxRsApplication;
import io.helidon.microprofile.server.JaxRsCdiExtension;
import io.helidon.microprofile.server.ServerCdiExtension;
-import io.helidon.nima.webserver.tracing.TracingFeature;
import io.helidon.tracing.TracerBuilder;
import io.helidon.tracing.config.TracingConfig;
+import io.helidon.webserver.tracing.TracingFeature;
import io.opentelemetry.opentracingshim.OpenTracingShim;
import io.opentracing.Tracer;
diff --git a/microprofile/tracing/src/main/java/module-info.java b/microprofile/tracing/src/main/java/module-info.java
index 6976ed024eb..be0d2eae1a7 100644
--- a/microprofile/tracing/src/main/java/module-info.java
+++ b/microprofile/tracing/src/main/java/module-info.java
@@ -43,9 +43,9 @@
requires io.helidon.microprofile.server;
requires transitive io.helidon.microprofile.config;
requires io.helidon.common;
- requires io.helidon.nima.webserver;
+ requires io.helidon.webserver;
requires io.helidon.jersey.common;
- requires io.helidon.nima.webserver.tracing;
+ requires io.helidon.webserver.tracing;
requires transitive io.helidon.tracing;
requires io.helidon.tracing.config;
requires transitive io.helidon.tracing.jersey;
diff --git a/microprofile/tracing/src/test/resources/logging-test.properties b/microprofile/tracing/src/test/resources/logging-test.properties
index d9ec6c998d1..1118023f557 100644
--- a/microprofile/tracing/src/test/resources/logging-test.properties
+++ b/microprofile/tracing/src/test/resources/logging-test.properties
@@ -20,5 +20,5 @@ handlers=io.helidon.logging.jul.HelidonConsoleHandler
java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$s %3$s !thread!: %5$s%6$s%n
.level=INFO
-#io.helidon.nima.webserver.level=FINE
+#io.helidon.webserver.level=FINE
#org.glassfish.jersey.internal.Errors.level=SEVERE
diff --git a/microprofile/websocket/pom.xml b/microprofile/websocket/pom.xml
index 88737252cbc..108a2a7adb3 100644
--- a/microprofile/websocket/pom.xml
+++ b/microprofile/websocket/pom.xml
@@ -45,12 +45,12 @@
helidon-microprofile-server
- io.helidon.nima.webserver
- helidon-nima-webserver
+ io.helidon.webserver
+ helidon-webserver
- io.helidon.nima.websocket
- helidon-nima-websocket-webserver
+ io.helidon.webserver
+ helidon-webserver-websocketorg.glassfish.tyrus
diff --git a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusCdiExtension.java b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusCdiExtension.java
index e2c0e87b8fe..041b133dff3 100644
--- a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusCdiExtension.java
+++ b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusCdiExtension.java
@@ -25,7 +25,7 @@
import io.helidon.microprofile.server.RoutingName;
import io.helidon.microprofile.server.RoutingPath;
import io.helidon.microprofile.server.ServerCdiExtension;
-import io.helidon.nima.webserver.WebServer;
+import io.helidon.webserver.WebServer;
import jakarta.annotation.Priority;
import jakarta.enterprise.context.ApplicationScoped;
diff --git a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusConnection.java b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusConnection.java
index 8b5073b0846..f754ca29b4a 100644
--- a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusConnection.java
+++ b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusConnection.java
@@ -25,12 +25,12 @@
import io.helidon.common.buffers.BufferData;
import io.helidon.common.buffers.DataReader;
-import io.helidon.common.http.Http;
-import io.helidon.nima.webserver.ConnectionContext;
-import io.helidon.nima.webserver.spi.ServerConnection;
-import io.helidon.nima.websocket.WsCloseCodes;
-import io.helidon.nima.websocket.WsListener;
-import io.helidon.nima.websocket.WsSession;
+import io.helidon.http.Http;
+import io.helidon.webserver.ConnectionContext;
+import io.helidon.webserver.spi.ServerConnection;
+import io.helidon.websocket.WsCloseCodes;
+import io.helidon.websocket.WsListener;
+import io.helidon.websocket.WsSession;
import jakarta.websocket.CloseReason;
import org.glassfish.tyrus.spi.CompletionHandler;
diff --git a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusRoute.java b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusRoute.java
index 40714c74495..8b8c05dcccf 100644
--- a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusRoute.java
+++ b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusRoute.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,9 +16,9 @@
package io.helidon.microprofile.tyrus;
-import io.helidon.common.http.HttpPrologue;
-import io.helidon.common.http.PathMatcher;
-import io.helidon.common.http.PathMatchers;
+import io.helidon.http.HttpPrologue;
+import io.helidon.http.PathMatcher;
+import io.helidon.http.PathMatchers;
import jakarta.websocket.server.ServerEndpointConfig;
diff --git a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusRouting.java b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusRouting.java
index 69ae4892255..de47d903881 100644
--- a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusRouting.java
+++ b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusRouting.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
+ * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,9 +20,9 @@
import java.util.List;
import java.util.Set;
-import io.helidon.common.http.HttpPrologue;
-import io.helidon.common.http.PathMatchers;
-import io.helidon.nima.webserver.Routing;
+import io.helidon.http.HttpPrologue;
+import io.helidon.http.PathMatchers;
+import io.helidon.webserver.Routing;
import jakarta.websocket.Extension;
import jakarta.websocket.server.ServerEndpoint;
diff --git a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusUpgradeProvider.java b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusUpgradeProvider.java
index 464633829bc..3fce8e1bd0b 100644
--- a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusUpgradeProvider.java
+++ b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusUpgradeProvider.java
@@ -16,10 +16,10 @@
package io.helidon.microprofile.tyrus;
-import io.helidon.nima.webserver.ProtocolConfigs;
-import io.helidon.nima.webserver.http1.spi.Http1Upgrader;
-import io.helidon.nima.websocket.webserver.WsConfig;
-import io.helidon.nima.websocket.webserver.WsUpgradeProvider;
+import io.helidon.webserver.ProtocolConfigs;
+import io.helidon.webserver.http1.spi.Http1Upgrader;
+import io.helidon.webserver.websocket.WsConfig;
+import io.helidon.webserver.websocket.WsUpgradeProvider;
/**
* {@link java.util.ServiceLoader} provider implementation for upgrade from HTTP/1.1 to Tyrus connection.
diff --git a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusUpgrader.java b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusUpgrader.java
index b80dabf57ea..c053214ec16 100644
--- a/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusUpgrader.java
+++ b/microprofile/websocket/src/main/java/io/helidon/microprofile/tyrus/TyrusUpgrader.java
@@ -31,16 +31,16 @@
import io.helidon.common.Weighted;
import io.helidon.common.buffers.BufferData;
import io.helidon.common.buffers.DataWriter;
-import io.helidon.common.http.DirectHandler;
-import io.helidon.common.http.Http;
-import io.helidon.common.http.HttpPrologue;
-import io.helidon.common.http.RequestException;
-import io.helidon.common.http.WritableHeaders;
import io.helidon.common.uri.UriQuery;
-import io.helidon.nima.webserver.ConnectionContext;
-import io.helidon.nima.webserver.spi.ServerConnection;
-import io.helidon.nima.websocket.webserver.WsConfig;
-import io.helidon.nima.websocket.webserver.WsUpgrader;
+import io.helidon.http.DirectHandler;
+import io.helidon.http.Http;
+import io.helidon.http.HttpPrologue;
+import io.helidon.http.RequestException;
+import io.helidon.http.WritableHeaders;
+import io.helidon.webserver.ConnectionContext;
+import io.helidon.webserver.spi.ServerConnection;
+import io.helidon.webserver.websocket.WsConfig;
+import io.helidon.webserver.websocket.WsUpgrader;
import jakarta.enterprise.inject.spi.CDI;
import jakarta.websocket.DeploymentException;
@@ -226,7 +226,7 @@ WebSocketEngine.UpgradeInfo protocolHandshake(WritableHeaders> headers, UriQue
final TyrusUpgradeResponse upgradeResponse = new TyrusUpgradeResponse();
final WebSocketEngine.UpgradeInfo upgradeInfo = engine.upgrade(requestContext, upgradeResponse);
- // Map Tyrus response headers back to Nima
+ // Map Tyrus response headers back to Helidon
upgradeResponse.getHeaders()
.forEach((key, value) -> headers.add(
Http.Headers.create(
diff --git a/microprofile/websocket/src/main/java/module-info.java b/microprofile/websocket/src/main/java/module-info.java
index eaee841b4e6..2f0328fe633 100644
--- a/microprofile/websocket/src/main/java/module-info.java
+++ b/microprofile/websocket/src/main/java/module-info.java
@@ -17,6 +17,7 @@
import io.helidon.common.features.api.Aot;
import io.helidon.common.features.api.Feature;
import io.helidon.common.features.api.HelidonFlavor;
+import io.helidon.webserver.http1.spi.Http1UpgradeProvider;
/**
* MP Tyrus Integration
@@ -40,8 +41,8 @@
requires io.helidon.config;
requires io.helidon.microprofile.cdi;
requires io.helidon.microprofile.server;
- requires io.helidon.nima.webserver;
- requires io.helidon.nima.websocket.webserver;
+ requires io.helidon.webserver;
+ requires io.helidon.webserver.websocket;
requires org.glassfish.tyrus.core;
requires org.glassfish.tyrus.server;
@@ -56,6 +57,6 @@
with io.helidon.microprofile.tyrus.TyrusCdiExtension;
provides org.glassfish.tyrus.core.ComponentProvider
with io.helidon.microprofile.tyrus.HelidonComponentProvider;
- provides io.helidon.nima.webserver.http1.spi.Http1UpgradeProvider
+ provides Http1UpgradeProvider
with io.helidon.microprofile.tyrus.TyrusUpgradeProvider;
}
diff --git a/nima/common/pom.xml b/nima/common/pom.xml
deleted file mode 100644
index 16a7ed5a7ed..00000000000
--- a/nima/common/pom.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- 4.0.0
-
-
- io.helidon.nima
- helidon-nima-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- io.helidon.nima.common
- helidon-nima-common-project
- Helidon Níma Common Project
- Common modules shared by both Níma client and server
-
- pom
-
-
- tls
-
-
-
diff --git a/nima/common/tls/etc/spotbugs/exclude.xml b/nima/common/tls/etc/spotbugs/exclude.xml
deleted file mode 100644
index b30cd63acaf..00000000000
--- a/nima/common/tls/etc/spotbugs/exclude.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/nima/common/tls/pom.xml b/nima/common/tls/pom.xml
deleted file mode 100644
index c34c4ce3d57..00000000000
--- a/nima/common/tls/pom.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
-
- 4.0.0
-
-
- io.helidon.nima.common
- helidon-nima-common-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- helidon-nima-common-tls
- Helidon Níma Common TLS
-
-
- etc/spotbugs/exclude.xml
-
-
-
-
- io.helidon.common
- helidon-common
-
-
- io.helidon.config
- helidon-config
-
-
- io.helidon.common
- helidon-common-key-util
-
-
- io.helidon.common
- helidon-common-config
-
-
- io.helidon.config
- helidon-config-metadata
- true
-
-
- io.helidon.builder
- helidon-builder-api
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
-
diff --git a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/package-info.java b/nima/common/tls/src/main/java/io/helidon/nima/common/tls/package-info.java
deleted file mode 100644
index 6383bc30b9d..00000000000
--- a/nima/common/tls/src/main/java/io/helidon/nima/common/tls/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * TLS Configuration for client and server.
- */
-package io.helidon.nima.common.tls;
diff --git a/nima/common/tls/src/main/java/module-info.java b/nima/common/tls/src/main/java/module-info.java
deleted file mode 100644
index ce4638ea4f5..00000000000
--- a/nima/common/tls/src/main/java/module-info.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * TLS configuration for client and server.
- */
-module io.helidon.nima.common.tls {
- requires io.helidon.common;
- requires io.helidon.common.pki;
-
- requires io.helidon.common.config;
-
- requires static io.helidon.builder.api;
- requires static io.helidon.config.metadata;
-
- exports io.helidon.nima.common.tls;
-}
\ No newline at end of file
diff --git a/nima/fault-tolerance/fault-tolerance/etc/spotbugs/exclude.xml b/nima/fault-tolerance/fault-tolerance/etc/spotbugs/exclude.xml
deleted file mode 100644
index 1228944833c..00000000000
--- a/nima/fault-tolerance/fault-tolerance/etc/spotbugs/exclude.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/nima/fault-tolerance/fault-tolerance/pom.xml b/nima/fault-tolerance/fault-tolerance/pom.xml
deleted file mode 100644
index f65a1a7ca77..00000000000
--- a/nima/fault-tolerance/fault-tolerance/pom.xml
+++ /dev/null
@@ -1,189 +0,0 @@
-
-
-
-
- 4.0.0
-
-
- io.helidon.nima.fault-tolerance
- helidon-nima-fault-tolerance-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- helidon-nima-fault-tolerance
- Helidon Nima Fault Tolerance
-
-
- etc/spotbugs/exclude.xml
-
-
-
-
- io.helidon.config
- helidon-config
-
-
- io.helidon.common
- helidon-common-configurable
-
-
-
- io.helidon.inject
- helidon-inject-api
-
-
-
- io.helidon.inject
- helidon-inject-runtime
- true
-
-
-
- io.helidon.builder
- helidon-builder-api
-
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
-
- io.helidon.config
- helidon-config-metadata
- true
-
-
-
- io.helidon.inject.configdriven
- helidon-inject-configdriven-api
- true
-
-
-
- io.helidon.inject.configdriven
- helidon-inject-configdriven-runtime
- true
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- io.helidon.common.testing
- helidon-common-testing-junit5
- test
-
-
- io.helidon.logging
- helidon-logging-jul
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.inject.configdriven
- helidon-inject-configdriven-processor
- ${helidon.version}
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.inject.configdriven
- helidon-inject-configdriven-processor
- ${helidon.version}
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
-
diff --git a/nima/fault-tolerance/fault-tolerance/src/main/java/io/helidon/nima/faulttolerance/package-info.java b/nima/fault-tolerance/fault-tolerance/src/main/java/io/helidon/nima/faulttolerance/package-info.java
deleted file mode 100644
index c07d9d52a84..00000000000
--- a/nima/fault-tolerance/fault-tolerance/src/main/java/io/helidon/nima/faulttolerance/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2020, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Fault tolerance for Helidon Níma.
- *
- * All handlers are fully blocking and should be executed on virtual threads.
- */
-package io.helidon.nima.faulttolerance;
diff --git a/nima/fault-tolerance/fault-tolerance/src/main/java/module-info.java b/nima/fault-tolerance/fault-tolerance/src/main/java/module-info.java
deleted file mode 100644
index 1429e4c902a..00000000000
--- a/nima/fault-tolerance/fault-tolerance/src/main/java/module-info.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2020, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-
-/**
- * Fault tolerance module for Helidon Níma.
- */
-@Feature(value = "Fault Tolerance",
- description = "Fault Tolerance support",
- in = HelidonFlavor.SE,
- path = "FT"
-)
-module io.helidon.nima.faulttolerance {
- requires io.helidon.common;
- requires io.helidon.common.types;
- requires io.helidon.common.configurable;
- requires io.helidon.config;
- requires io.helidon.inject.api;
- requires io.helidon.builder.api;
-
- requires static jakarta.inject;
- requires static io.helidon.common.features.api;
- requires static io.helidon.config.metadata;
- requires static io.helidon.inject.configdriven.api;
- // needed to compile generated types
- requires static io.helidon.inject.configdriven.runtime;
- requires static io.helidon.inject.runtime;
-
-
- exports io.helidon.nima.faulttolerance;
-
- // inject module
- provides io.helidon.inject.api.ModuleComponent with io.helidon.nima.faulttolerance.Injection$$Module;
-}
diff --git a/nima/fault-tolerance/fault-tolerance/src/test/java/io/helidon/nima/faulttolerance/FaultToleranceTest.java b/nima/fault-tolerance/fault-tolerance/src/test/java/io/helidon/nima/faulttolerance/FaultToleranceTest.java
deleted file mode 100644
index 7b22d5131d3..00000000000
--- a/nima/fault-tolerance/fault-tolerance/src/test/java/io/helidon/nima/faulttolerance/FaultToleranceTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2020, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.faulttolerance;
-
-import java.time.Duration;
-import java.util.concurrent.CompletableFuture;
-
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-class FaultToleranceTest {
-
- @Test
- void testCustomCombination() {
- CircuitBreaker breaker = CircuitBreaker.create(CircuitBreakerConfig.create());
-
- Bulkhead bulkhead = Bulkhead.builder()
- .limit(1)
- .queueLength(0)
- .build();
-
- FtHandlerTyped faultTolerance = FaultTolerance.builder()
- .addBreaker(breaker)
- .addBulkhead(bulkhead)
- .addTimeout(TimeoutConfig.builder().timeout(Duration.ofMillis(1000)).build())
- .addFallback(Fallback.create(builder -> builder
- .fallback(this::fallback)))
- .build();
-
- // First call should not open breaker and execute call back
- String result = faultTolerance.invoke(this::primary);
- assertThat(result, is(MyException.class.getName())); // callback called
-
- // Manually open breaker
- breaker.state(CircuitBreaker.State.OPEN);
- assertThat(breaker.state(), is(CircuitBreaker.State.OPEN));
-
- // Next call should fail on breaker but still execute fallback
- result = faultTolerance.invoke(this::primary);
- assertThat(result, is(CircuitBreakerOpenException.class.getName()));
-
- // Manually close breaker
- breaker.state(CircuitBreaker.State.CLOSED);
- assertThat(breaker.state(), is(CircuitBreaker.State.CLOSED));
-
- // Second call forces timeout by calling a supplier that blocks indefinitely
- Manual m = new Manual();
- result = faultTolerance.invoke(m::call);
- assertThat(result, is(TimeoutException.class.getName())); // callback called
- }
-
- private String primary() {
- throw new MyException();
- }
-
- private String fallback(Throwable throwable) {
- if (throwable instanceof RuntimeException && throwable.getCause() != null) {
- throwable = throwable.getCause();
- }
- return throwable.getClass().getName();
- }
-
- private static class Manual {
- private final CompletableFuture future = new CompletableFuture<>();
-
- private String call() {
- try {
- return future.get(); // blocks indefinitely
- } catch (Throwable e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- private static class MyException extends RuntimeException {
- }
-}
diff --git a/nima/fault-tolerance/fault-tolerance/src/test/resources/logging.properties b/nima/fault-tolerance/fault-tolerance/src/test/resources/logging.properties
deleted file mode 100644
index 071e4716a49..00000000000
--- a/nima/fault-tolerance/fault-tolerance/src/test/resources/logging.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (c) 2020, 2023 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# Example Logging Configuration File
-# For more information see $JAVA_HOME/jre/lib/logging.properties
-# Send messages to the console
-handlers=io.helidon.logging.jul.HelidonConsoleHandler
-# HelidonConsoleHandler uses a SimpleFormatter subclass that replaces "!thread!" with the current thread
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$s %3$s !thread!: %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=WARNING
-io.helidon.level=INFO
-io.helidon.nima.faulttolerance.level=INFO
-
-
diff --git a/nima/fault-tolerance/pom.xml b/nima/fault-tolerance/pom.xml
deleted file mode 100644
index a8b2bc5fc11..00000000000
--- a/nima/fault-tolerance/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
- 4.0.0
-
-
- io.helidon.nima
- helidon-nima-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- io.helidon.nima.fault-tolerance
- helidon-nima-fault-tolerance-project
- Helidon Nima Fault Tolerance Project
- pom
-
-
- fault-tolerance
- processor
-
-
diff --git a/nima/fault-tolerance/processor/pom.xml b/nima/fault-tolerance/processor/pom.xml
deleted file mode 100644
index 3ae658bde20..00000000000
--- a/nima/fault-tolerance/processor/pom.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- 4.0.0
-
-
- io.helidon.nima.fault-tolerance
- helidon-nima-fault-tolerance-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- helidon-nima-fault-tolerance-processor
- Helidon Nima Fault Tolerance Annotation Processor
-
-
-
- io.helidon.inject
- helidon-inject-api
-
-
- io.helidon.inject
- helidon-inject-processor
-
-
-
diff --git a/nima/fault-tolerance/processor/src/main/java/io/helidon/nima/faulttolerance/processor/Templates.java b/nima/fault-tolerance/processor/src/main/java/io/helidon/nima/faulttolerance/processor/Templates.java
deleted file mode 100644
index 77a4a0f52e1..00000000000
--- a/nima/fault-tolerance/processor/src/main/java/io/helidon/nima/faulttolerance/processor/Templates.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.faulttolerance.processor;
-
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-
-final class Templates {
- private Templates() {
- }
-
- static String loadTemplate(String name) {
- String path = "templates/inject/nima/" + name;
- try {
- InputStream in = Templates.class.getClassLoader().getResourceAsStream(path);
- if (in == null) {
- throw new RuntimeException("Could not find template " + path + " on classpath.");
- }
- try (in) {
- return new String(in.readAllBytes(), StandardCharsets.UTF_8);
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/nima/fault-tolerance/processor/src/main/java/io/helidon/nima/faulttolerance/processor/package-info.java b/nima/fault-tolerance/processor/src/main/java/io/helidon/nima/faulttolerance/processor/package-info.java
deleted file mode 100644
index e26dc772cab..00000000000
--- a/nima/fault-tolerance/processor/src/main/java/io/helidon/nima/faulttolerance/processor/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Annotation processor that generates Fault tolerance services discoverable by Pico.
- */
-package io.helidon.nima.faulttolerance.processor;
diff --git a/nima/fault-tolerance/processor/src/main/java/module-info.java b/nima/fault-tolerance/processor/src/main/java/module-info.java
deleted file mode 100644
index 16e0f21fa79..00000000000
--- a/nima/fault-tolerance/processor/src/main/java/module-info.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.inject.tools.spi.CustomAnnotationTemplateCreator;
-
-/**
- * Annotation processor that generates HTTP Endpoints.
- */
-module io.helidon.nima.faulttolerance.processor {
- requires io.helidon.inject.api;
- requires io.helidon.inject.tools;
- requires io.helidon.inject.processor;
- requires java.compiler;
-
- exports io.helidon.nima.faulttolerance.processor;
- opens templates.inject.nima;
-
- provides CustomAnnotationTemplateCreator
- with io.helidon.nima.faulttolerance.processor.FallbackMethodCreator,
- io.helidon.nima.faulttolerance.processor.RetryMethodCreator,
- io.helidon.nima.faulttolerance.processor.CircuitBreakerMethodCreator;
-}
diff --git a/nima/graphql/pom.xml b/nima/graphql/pom.xml
deleted file mode 100644
index 87eca77abb8..00000000000
--- a/nima/graphql/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
- io.helidon.nima
- helidon-nima-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
- 4.0.0
-
- io.helidon.nima.graphql
- helidon-nima-graphql-project
- Helidon Níma GraphQL Project
- pom
-
-
- server
-
-
diff --git a/nima/graphql/server/pom.xml b/nima/graphql/server/pom.xml
deleted file mode 100644
index bbb96fb592e..00000000000
--- a/nima/graphql/server/pom.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
- io.helidon.nima.graphql
- helidon-nima-graphql-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
- 4.0.0
-
- io.helidon.nima.graphql
- helidon-nima-graphql-server
- Helidon Níma GraphQL Server
-
-
-
- io.helidon.graphql
- helidon-graphql-server
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver-cors
-
-
- org.eclipse
- yasson
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
- org.junit.jupiter
- junit-jupiter-params
- test
-
-
- io.helidon.config
- helidon-config-yaml
- test
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- io.helidon.nima.webclient
- helidon-nima-webclient
- test
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/graphql/server/src/main/java/io/helidon/nima/graphql/server/package-info.java b/nima/graphql/server/src/main/java/io/helidon/nima/graphql/server/package-info.java
deleted file mode 100644
index 30a87724edf..00000000000
--- a/nima/graphql/server/src/main/java/io/helidon/nima/graphql/server/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * GraphQL server integration with Helidon Níma WebServer.
- */
-package io.helidon.nima.graphql.server;
diff --git a/nima/graphql/server/src/main/java/module-info.java b/nima/graphql/server/src/main/java/module-info.java
deleted file mode 100644
index 6fc8a295224..00000000000
--- a/nima/graphql/server/src/main/java/module-info.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.common.features.api.Preview;
-
-
-/**
- * GraphQL server integration with Helidon Níma WebServer.
- */
-@Preview
-@Feature(value = "GraphQL",
- description = "GraphQL Support",
- in = HelidonFlavor.SE,
- invalidIn = HelidonFlavor.MP
-)
-module io.helidon.nima.graphql.server {
- requires static io.helidon.common.features.api;
-
- requires java.logging;
- requires io.helidon.common;
- requires io.helidon.common.uri;
- requires io.helidon.common.configurable;
- requires io.helidon.config;
- requires io.helidon.cors;
- requires io.helidon.nima.webserver.cors;
- requires io.helidon.graphql.server;
- requires io.helidon.nima.webserver;
- requires org.eclipse.yasson;
- requires jakarta.json.bind;
-
- exports io.helidon.nima.graphql.server;
-}
\ No newline at end of file
diff --git a/nima/grpc/pom.xml b/nima/grpc/pom.xml
deleted file mode 100644
index a864091c0be..00000000000
--- a/nima/grpc/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima
- helidon-nima-project
- 4.0.0-SNAPSHOT
-
-
- io.helidon.nima.grpc
- helidon-nima-grpc-project
- Helidon Níma gRPC Project
- pom
-
-
- webserver
-
-
diff --git a/nima/grpc/webserver/pom.xml b/nima/grpc/webserver/pom.xml
deleted file mode 100644
index 66e584ed035..00000000000
--- a/nima/grpc/webserver/pom.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.grpc
- helidon-nima-grpc-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-grpc-webserver
- Helidon Níma gRPC Server
-
-
-
-
- javax.annotation
- javax.annotation-api
- 1.3.2
- true
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webserver
-
-
- io.grpc
- grpc-core
-
-
- io.grpc
- grpc-stub
-
-
- io.grpc
- grpc-protobuf
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- io.helidon.config
- helidon-config-metadata
- true
-
-
- io.helidon.builder
- helidon-builder-api
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
-
diff --git a/nima/grpc/webserver/src/main/java/io/helidon/nima/grpc/webserver/package-info.java b/nima/grpc/webserver/src/main/java/io/helidon/nima/grpc/webserver/package-info.java
deleted file mode 100644
index e464e549e7b..00000000000
--- a/nima/grpc/webserver/src/main/java/io/helidon/nima/grpc/webserver/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * GRPC support for Helidon Níma WebServer.
- */
-package io.helidon.nima.grpc.webserver;
diff --git a/nima/grpc/webserver/src/main/java/module-info.java b/nima/grpc/webserver/src/main/java/module-info.java
deleted file mode 100644
index 4c462ec6360..00000000000
--- a/nima/grpc/webserver/src/main/java/module-info.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.common.features.api.Preview;
-
-/**
- * Helidon Níma gRPC server.
- */
-@Preview
-@Feature(value = "GRPC",
- description = "gRPC Support",
- in = HelidonFlavor.SE,
- path = {"GRPC", "WebServer"}
-)
-module io.helidon.nima.grpc.server {
- requires static io.helidon.common.features.api;
- requires static io.helidon.config.metadata;
-
- requires java.logging;
-
- requires io.helidon.builder.api;
- requires io.helidon.nima.http2.webserver;
-
- requires transitive grpc.stub;
- requires transitive com.google.protobuf;
- requires transitive grpc.api;
- requires grpc.protobuf.lite;
-
- exports io.helidon.nima.grpc.webserver;
-
- provides io.helidon.nima.http2.webserver.spi.Http2SubProtocolProvider
- with io.helidon.nima.grpc.webserver.GrpcProtocolProvider;
- provides io.helidon.nima.webserver.spi.ProtocolConfigProvider
- with io.helidon.nima.grpc.webserver.GrpcProtocolConfigProvider;
-}
diff --git a/nima/http/encoding/deflate/pom.xml b/nima/http/encoding/deflate/pom.xml
deleted file mode 100644
index 76ccdeef4a1..00000000000
--- a/nima/http/encoding/deflate/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http.encoding
- helidon-nima-http-encoding-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-encoding-deflate
- Helidon Níma HTTP Encoding deflate
-
-
-
- io.helidon.nima.http.encoding
- helidon-nima-http-encoding
-
-
- io.helidon.common
- helidon-common-http
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/http/encoding/deflate/src/main/java/io/helidon/nima/http/encoding/deflate/package-info.java b/nima/http/encoding/deflate/src/main/java/io/helidon/nima/http/encoding/deflate/package-info.java
deleted file mode 100644
index 75beb333b20..00000000000
--- a/nima/http/encoding/deflate/src/main/java/io/helidon/nima/http/encoding/deflate/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Deflate encoding support.
- */
-package io.helidon.nima.http.encoding.deflate;
diff --git a/nima/http/encoding/deflate/src/main/java/module-info.java b/nima/http/encoding/deflate/src/main/java/module-info.java
deleted file mode 100644
index cba353b0376..00000000000
--- a/nima/http/encoding/deflate/src/main/java/module-info.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.nima.http.encoding.deflate.DeflateEncodingProvider;
-
-/**
- * Deflate content encoding support.
- */
-@Feature(value = "Deflate",
- description = "Deflate content encoding support",
- in = HelidonFlavor.SE,
- path = {"Encoding", "Deflate"}
-)
-module io.helidon.nima.http.encoding.deflate {
- requires static io.helidon.common.features.api;
-
- requires io.helidon.common;
- requires io.helidon.nima.http.encoding;
-
- exports io.helidon.nima.http.encoding.deflate;
-
- provides io.helidon.nima.http.encoding.spi.ContentEncodingProvider with DeflateEncodingProvider;
-}
\ No newline at end of file
diff --git a/nima/http/encoding/encoding/pom.xml b/nima/http/encoding/encoding/pom.xml
deleted file mode 100644
index 2c967432aca..00000000000
--- a/nima/http/encoding/encoding/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http.encoding
- helidon-nima-http-encoding-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-encoding
- Helidon Níma HTTP Encoding
-
-
-
- io.helidon.common
- helidon-common-config
-
-
- io.helidon.common
- helidon-common-http
-
-
- io.helidon.common
- helidon-common-uri
-
-
- io.helidon.builder
- helidon-builder-api
-
-
-
- jakarta.annotation
- jakarta.annotation-api
- true
-
-
- io.helidon.config
- helidon-config-metadata
- true
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
-
diff --git a/nima/http/encoding/encoding/src/main/java/io/helidon/nima/http/encoding/package-info.java b/nima/http/encoding/encoding/src/main/java/io/helidon/nima/http/encoding/package-info.java
deleted file mode 100644
index 34a43baa37c..00000000000
--- a/nima/http/encoding/encoding/src/main/java/io/helidon/nima/http/encoding/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * HTTP Content encoding support, usually used to compress entity, such as {@code gzip}.
- */
-package io.helidon.nima.http.encoding;
diff --git a/nima/http/encoding/encoding/src/main/java/io/helidon/nima/http/encoding/spi/package-info.java b/nima/http/encoding/encoding/src/main/java/io/helidon/nima/http/encoding/spi/package-info.java
deleted file mode 100644
index fc914d384e7..00000000000
--- a/nima/http/encoding/encoding/src/main/java/io/helidon/nima/http/encoding/spi/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * SPI to create custom content encoding.
- */
-package io.helidon.nima.http.encoding.spi;
diff --git a/nima/http/encoding/encoding/src/main/java/module-info.java b/nima/http/encoding/encoding/src/main/java/module-info.java
deleted file mode 100644
index bc07e599336..00000000000
--- a/nima/http/encoding/encoding/src/main/java/module-info.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-
-/**
- * Content encoding support.
- */
-@Feature(value = "Encoding",
- description = "Content encoding support",
- in = HelidonFlavor.SE,
- path = "Encoding"
-)
-module io.helidon.nima.http.encoding {
- requires static io.helidon.common.features.api;
- requires io.helidon.builder.api;
- requires static io.helidon.config.metadata;
- requires static jakarta.annotation;
-
- requires io.helidon.common;
-
- requires transitive io.helidon.common.config;
- requires transitive io.helidon.common.http;
-
- exports io.helidon.nima.http.encoding;
- exports io.helidon.nima.http.encoding.spi;
-
- uses io.helidon.nima.http.encoding.spi.ContentEncodingProvider;
-}
\ No newline at end of file
diff --git a/nima/http/encoding/gzip/pom.xml b/nima/http/encoding/gzip/pom.xml
deleted file mode 100644
index a4a0d323c8b..00000000000
--- a/nima/http/encoding/gzip/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http.encoding
- helidon-nima-http-encoding-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-encoding-gzip
- Helidon Níma HTTP Encoding gzip
-
-
-
- io.helidon.nima.http.encoding
- helidon-nima-http-encoding
-
-
- io.helidon.common
- helidon-common-http
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/http/encoding/gzip/src/main/java/io/helidon/nima/http/encoding/gzip/package-info.java b/nima/http/encoding/gzip/src/main/java/io/helidon/nima/http/encoding/gzip/package-info.java
deleted file mode 100644
index a2ef55e8b4d..00000000000
--- a/nima/http/encoding/gzip/src/main/java/io/helidon/nima/http/encoding/gzip/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Gzip encoding support.
- */
-package io.helidon.nima.http.encoding.gzip;
diff --git a/nima/http/encoding/gzip/src/main/java/module-info.java b/nima/http/encoding/gzip/src/main/java/module-info.java
deleted file mode 100644
index 44c1b6f26d1..00000000000
--- a/nima/http/encoding/gzip/src/main/java/module-info.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.nima.http.encoding.gzip.GzipEncodingProvider;
-
-/**
- * GZip content encoding support.
- */
-@Feature(value = "GZip",
- description = "GZip content encoding support",
- in = HelidonFlavor.SE,
- path = {"Encoding", "GZip"}
-)
-module io.helidon.nima.http.encoding.gzip {
- requires static io.helidon.common.features.api;
-
- requires io.helidon.common;
- requires io.helidon.nima.http.encoding;
-
- exports io.helidon.nima.http.encoding.gzip;
-
- provides io.helidon.nima.http.encoding.spi.ContentEncodingProvider with GzipEncodingProvider;
-}
\ No newline at end of file
diff --git a/nima/http/encoding/pom.xml b/nima/http/encoding/pom.xml
deleted file mode 100644
index cb5f9fc8212..00000000000
--- a/nima/http/encoding/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http
- helidon-nima-http-project
- 4.0.0-SNAPSHOT
-
-
- io.helidon.nima.http.encoding
- helidon-nima-http-encoding-project
- Helidon Níma Encoding Project
- Content-Encoding schemes
- pom
-
-
- encoding
- gzip
- deflate
-
-
diff --git a/nima/http/media/jackson/pom.xml b/nima/http/media/jackson/pom.xml
deleted file mode 100644
index 4f873f55483..00000000000
--- a/nima/http/media/jackson/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http.media
- helidon-nima-http-media-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-media-jackson
- Helidon Níma HTTP Media Jackson
-
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.module
- jackson-module-parameter-names
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jdk8
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jsr310
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
- io.helidon.common.testing
- helidon-common-testing-http-junit5
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/http/media/jackson/src/main/java/io/helidon/nima/http/media/jackson/package-info.java b/nima/http/media/jackson/src/main/java/io/helidon/nima/http/media/jackson/package-info.java
deleted file mode 100644
index dd3923921cf..00000000000
--- a/nima/http/media/jackson/src/main/java/io/helidon/nima/http/media/jackson/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Jackson media type support.
- */
-package io.helidon.nima.http.media.jackson;
diff --git a/nima/http/media/jackson/src/main/java/module-info.java b/nima/http/media/jackson/src/main/java/module-info.java
deleted file mode 100644
index c3f75d987ae..00000000000
--- a/nima/http/media/jackson/src/main/java/module-info.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-
-/**
- * Jackson media support.
- */
-@Feature(value = "Jackson",
- description = "Jackson media support",
- in = HelidonFlavor.SE,
- path = {"Media", "Jackson"}
-)
-module io.helidon.nima.http.media.jackson {
- requires static io.helidon.common.features.api;
-
- requires io.helidon.nima.http.media;
-
- requires com.fasterxml.jackson.databind;
- requires com.fasterxml.jackson.core;
- requires com.fasterxml.jackson.datatype.jdk8;
- requires com.fasterxml.jackson.datatype.jsr310;
- requires com.fasterxml.jackson.module.paramnames;
-
- exports io.helidon.nima.http.media.jackson;
-
- provides io.helidon.nima.http.media.spi.MediaSupportProvider
- with io.helidon.nima.http.media.jackson.JacksonMediaSupportProvider;
-}
\ No newline at end of file
diff --git a/nima/http/media/jsonb/pom.xml b/nima/http/media/jsonb/pom.xml
deleted file mode 100644
index 8d65a6b2169..00000000000
--- a/nima/http/media/jsonb/pom.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http.media
- helidon-nima-http-media-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-media-jsonb
- Helidon Níma HTTP Media JSON-B
-
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media
-
-
- org.eclipse
- yasson
- runtime
-
-
- jakarta.json
- jakarta.json-api
-
-
- jakarta.json.bind
- jakarta.json.bind-api
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
- io.helidon.common.testing
- helidon-common-testing-http-junit5
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/http/media/jsonb/src/main/java/io/helidon/nima/http/media/jsonb/package-info.java b/nima/http/media/jsonb/src/main/java/io/helidon/nima/http/media/jsonb/package-info.java
deleted file mode 100644
index 65e5747724d..00000000000
--- a/nima/http/media/jsonb/src/main/java/io/helidon/nima/http/media/jsonb/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * JSON-Binding Entity Media handling support.
- */
-package io.helidon.nima.http.media.jsonb;
diff --git a/nima/http/media/jsonb/src/main/java/module-info.java b/nima/http/media/jsonb/src/main/java/module-info.java
deleted file mode 100644
index 8aaf8070a5f..00000000000
--- a/nima/http/media/jsonb/src/main/java/module-info.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.nima.http.media.jsonb.JsonbMediaSupportProvider;
-import io.helidon.nima.http.media.spi.MediaSupportProvider;
-
-/**
- * JSON-B media support.
- */
-@Feature(value = "JSONB",
- description = "JSON-B media support",
- in = HelidonFlavor.SE,
- path = {"Media", "JSON-B"}
-)
-module io.helidon.nima.http.media.jsonb {
- requires static io.helidon.common.features.api;
-
- requires io.helidon.nima.http.media;
- requires jakarta.json;
- requires jakarta.json.bind;
-
- exports io.helidon.nima.http.media.jsonb;
-
- provides MediaSupportProvider with JsonbMediaSupportProvider;
-}
\ No newline at end of file
diff --git a/nima/http/media/jsonb/src/main/resources/META-INF/native-image/io.helidon.nima.http.media/helidon-nima-http-media-jsonb/native-image.properties b/nima/http/media/jsonb/src/main/resources/META-INF/native-image/io.helidon.nima.http.media/helidon-nima-http-media-jsonb/native-image.properties
deleted file mode 100644
index d52683183e6..00000000000
--- a/nima/http/media/jsonb/src/main/resources/META-INF/native-image/io.helidon.nima.http.media/helidon-nima-http-media-jsonb/native-image.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (c) 2022 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-Args=--initialize-at-build-time=org.eclipse.yasson
diff --git a/nima/http/media/jsonp/pom.xml b/nima/http/media/jsonp/pom.xml
deleted file mode 100644
index ea7432801c8..00000000000
--- a/nima/http/media/jsonp/pom.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http.media
- helidon-nima-http-media-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-media-jsonp
- Helidon Níma HTTP Media JSON-P
-
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media
-
-
- org.eclipse.parsson
- parsson
- runtime
-
-
- jakarta.json
- jakarta.json-api
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
- io.helidon.common.testing
- helidon-common-testing-http-junit5
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/http/media/jsonp/src/main/java/io/helidon/nima/http/media/jsonp/package-info.java b/nima/http/media/jsonp/src/main/java/io/helidon/nima/http/media/jsonp/package-info.java
deleted file mode 100644
index 504fe373f85..00000000000
--- a/nima/http/media/jsonp/src/main/java/io/helidon/nima/http/media/jsonp/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * JSON-Processing Entity Media handling support.
- */
-package io.helidon.nima.http.media.jsonp;
diff --git a/nima/http/media/jsonp/src/main/java/module-info.java b/nima/http/media/jsonp/src/main/java/module-info.java
deleted file mode 100644
index 7ca965fc74c..00000000000
--- a/nima/http/media/jsonp/src/main/java/module-info.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.nima.http.media.jsonp.JsonpMediaSupportProvider;
-import io.helidon.nima.http.media.spi.MediaSupportProvider;
-
-/**
- * JSON-P media support.
- */
-@Feature(value = "JSONP",
- description = "JSON-P media support",
- in = HelidonFlavor.SE,
- path = {"Media", "JSON-P"}
-)
-module io.helidon.nima.http.media.jsonp {
- requires static io.helidon.common.features.api;
-
- requires io.helidon.nima.http.media;
- requires transitive jakarta.json;
-
- exports io.helidon.nima.http.media.jsonp;
-
- provides MediaSupportProvider with JsonpMediaSupportProvider;
-}
\ No newline at end of file
diff --git a/nima/http/media/media/pom.xml b/nima/http/media/media/pom.xml
deleted file mode 100644
index 50e351eb8ca..00000000000
--- a/nima/http/media/media/pom.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http.media
- helidon-nima-http-media-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-media
- Helidon Níma HTTP Media
-
-
-
- io.helidon.common
- helidon-common
-
-
- io.helidon.common
- helidon-common-uri
-
-
- io.helidon.common
- helidon-common-http
-
-
- io.helidon.common
- helidon-common-buffers
-
-
- io.helidon.config
- helidon-config-metadata
- true
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- io.helidon.builder
- helidon-builder-api
- true
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
-
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
diff --git a/nima/http/media/media/src/main/java/io/helidon/nima/http/media/package-info.java b/nima/http/media/media/src/main/java/io/helidon/nima/http/media/package-info.java
deleted file mode 100644
index 2a471dcba51..00000000000
--- a/nima/http/media/media/src/main/java/io/helidon/nima/http/media/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Entity Media handling support.
- */
-package io.helidon.nima.http.media;
diff --git a/nima/http/media/media/src/main/java/io/helidon/nima/http/media/spi/package-info.java b/nima/http/media/media/src/main/java/io/helidon/nima/http/media/spi/package-info.java
deleted file mode 100644
index d44e9973cfc..00000000000
--- a/nima/http/media/media/src/main/java/io/helidon/nima/http/media/spi/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Service provider interface(s) for entity media handling support.
- */
-package io.helidon.nima.http.media.spi;
diff --git a/nima/http/media/media/src/main/java/module-info.java b/nima/http/media/media/src/main/java/module-info.java
deleted file mode 100644
index 5e4f5211da2..00000000000
--- a/nima/http/media/media/src/main/java/module-info.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-
-/**
- * Common classes for Media Support (reading/writing entity as a specific type).
- */
-@Feature(value = "Media",
- description = "Media Support",
- in = HelidonFlavor.SE,
- path = "Media"
-)
-module io.helidon.nima.http.media {
- requires static io.helidon.common.features.api;
- requires static io.helidon.builder.api;
- requires static io.helidon.config.metadata;
-
- requires transitive io.helidon.common;
- requires transitive io.helidon.common.http;
- requires transitive io.helidon.common.media.type;
- requires io.helidon.common.buffers;
- requires io.helidon.common.uri;
-
- exports io.helidon.nima.http.media;
- exports io.helidon.nima.http.media.spi;
-
- uses io.helidon.nima.http.media.spi.MediaSupportProvider;
-}
diff --git a/nima/http/media/multipart/pom.xml b/nima/http/media/multipart/pom.xml
deleted file mode 100644
index 41b710d28de..00000000000
--- a/nima/http/media/multipart/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http.media
- helidon-nima-http-media-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-media-multipart
- Helidon Níma HTTP Media Multipart
-
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/http/media/multipart/src/main/java/io/helidon/nima/http/media/multipart/package-info.java b/nima/http/media/multipart/src/main/java/io/helidon/nima/http/media/multipart/package-info.java
deleted file mode 100644
index 39ec9bbd092..00000000000
--- a/nima/http/media/multipart/src/main/java/io/helidon/nima/http/media/multipart/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Multipart Entity Media handling support.
- */
-package io.helidon.nima.http.media.multipart;
diff --git a/nima/http/media/multipart/src/main/java/module-info.java b/nima/http/media/multipart/src/main/java/module-info.java
deleted file mode 100644
index 5f91ac9bcf6..00000000000
--- a/nima/http/media/multipart/src/main/java/module-info.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.nima.http.media.multipart.MultiPartSupportProvider;
-import io.helidon.nima.http.media.spi.MediaSupportProvider;
-
-/**
- * Multipart media support.
- */
-@Feature(value = "Multipart",
- description = "Multipart media support",
- in = HelidonFlavor.SE,
- path = {"Media", "Multipart"}
-)
-module io.helidon.nima.http.media.multipart {
- requires static io.helidon.common.features.api;
-
- requires io.helidon.common.http;
- requires io.helidon.nima.http.media;
- requires io.helidon.common.buffers;
-
- exports io.helidon.nima.http.media.multipart;
-
- provides MediaSupportProvider with MultiPartSupportProvider;
-}
\ No newline at end of file
diff --git a/nima/http/media/pom.xml b/nima/http/media/pom.xml
deleted file mode 100644
index 8e62ceafc5e..00000000000
--- a/nima/http/media/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http
- helidon-nima-http-project
- 4.0.0-SNAPSHOT
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-project
- Helidon Níma HTTP Media Project
- pom
-
-
- media
- jsonb
- jsonp
- jackson
- multipart
-
-
diff --git a/nima/http/pom.xml b/nima/http/pom.xml
deleted file mode 100644
index 8af9da5003d..00000000000
--- a/nima/http/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
- 4.0.0
-
-
- io.helidon.nima
- helidon-nima-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- io.helidon.nima.http
- helidon-nima-http-project
- Helidon Níma HTTP Project
-
- pom
-
-
- encoding
- media
- processor
-
-
-
diff --git a/nima/http/processor/pom.xml b/nima/http/processor/pom.xml
deleted file mode 100644
index 59a339145cc..00000000000
--- a/nima/http/processor/pom.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http
- helidon-nima-http-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http-processor
- Helidon Níma HTTP Annotation Processor
-
-
- true
-
-
-
-
- io.helidon.inject
- helidon-inject-api
-
-
- io.helidon.inject
- helidon-inject-processor
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
diff --git a/nima/http/processor/src/main/java/io/helidon/nima/http/processor/Templates.java b/nima/http/processor/src/main/java/io/helidon/nima/http/processor/Templates.java
deleted file mode 100644
index a71216e8c4c..00000000000
--- a/nima/http/processor/src/main/java/io/helidon/nima/http/processor/Templates.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.http.processor;
-
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-
-final class Templates {
- private Templates() {
- }
-
- static String loadTemplate(String templateProfile, String name) {
- String path = "templates/inject/" + templateProfile + "/" + name;
- try {
- InputStream in = Templates.class.getClassLoader().getResourceAsStream(path);
- if (in == null) {
- throw new RuntimeException("Could not find template " + path + " on classpath.");
- }
- try (in) {
- return new String(in.readAllBytes(), StandardCharsets.UTF_8);
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/nima/http/processor/src/main/java/io/helidon/nima/http/processor/package-info.java b/nima/http/processor/src/main/java/io/helidon/nima/http/processor/package-info.java
deleted file mode 100644
index 44e9b669c09..00000000000
--- a/nima/http/processor/src/main/java/io/helidon/nima/http/processor/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Annotation processor that generates HTTP Endpoints discoverable by Pico.
- */
-package io.helidon.nima.http.processor;
diff --git a/nima/http/processor/src/main/java/module-info.java b/nima/http/processor/src/main/java/module-info.java
deleted file mode 100644
index e11a8bcf537..00000000000
--- a/nima/http/processor/src/main/java/module-info.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.inject.tools.spi.CustomAnnotationTemplateCreator;
-import io.helidon.nima.http.processor.HttpEndpointCreator;
-import io.helidon.nima.http.processor.HttpMethodCreator;
-
-/**
- * Annotation processor that generates HTTP Endpoints.
- */
-module io.helidon.nima.http.processor {
- requires io.helidon.inject.api;
- requires io.helidon.inject.tools;
- requires io.helidon.inject.processor;
- requires java.compiler;
-
- exports io.helidon.nima.http.processor;
-
- provides CustomAnnotationTemplateCreator
- with HttpEndpointCreator, HttpMethodCreator;
-}
diff --git a/nima/http2/http2/pom.xml b/nima/http2/http2/pom.xml
deleted file mode 100644
index 36b5495c78c..00000000000
--- a/nima/http2/http2/pom.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http2
- helidon-nima-http2-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http2
- Helidon Níma HTTP/2
-
-
-
- io.helidon.common
- helidon-common-http
-
-
- io.helidon.common
- helidon-common-socket
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
- org.junit.jupiter
- junit-jupiter-params
- test
-
-
- io.helidon.logging
- helidon-logging-jul
- test
-
-
- org.mockito
- mockito-core
- test
-
-
-
-
diff --git a/nima/http2/http2/src/main/java/io/helidon/nima/http2/Http2FrameTypes.java b/nima/http2/http2/src/main/java/io/helidon/nima/http2/Http2FrameTypes.java
deleted file mode 100644
index 5cc7c91d5b2..00000000000
--- a/nima/http2/http2/src/main/java/io/helidon/nima/http2/Http2FrameTypes.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.http2;
-
-import io.helidon.nima.http2.Http2Flag.ContinuationFlags;
-import io.helidon.nima.http2.Http2Flag.DataFlags;
-import io.helidon.nima.http2.Http2Flag.HeaderFlags;
-import io.helidon.nima.http2.Http2Flag.NoFlags;
-import io.helidon.nima.http2.Http2Flag.PingFlags;
-import io.helidon.nima.http2.Http2Flag.PushPromiseFlags;
-import io.helidon.nima.http2.Http2Flag.SettingsFlags;
-
-/**
- * Frame types with types flags.
- *
- * @param type of flags
- */
-public interface Http2FrameTypes {
- /**
- * Data frame types.
- */
- Http2FrameTypes DATA = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.DATA, DataFlags::create);
- /**
- * Headers frame types.
- */
- Http2FrameTypes HEADERS = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.HEADERS, HeaderFlags::create);
- /**
- * Priority frame types.
- */
- Http2FrameTypes PRIORITY = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.PRIORITY, NoFlags::create);
- /**
- * RST stream frame types.
- */
- Http2FrameTypes RST_STREAM = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.RST_STREAM, NoFlags::create);
- /**
- * Settings frame types.
- */
- Http2FrameTypes SETTINGS = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.SETTINGS,
- SettingsFlags::create);
- /**
- * Push promise frame types.
- */
- Http2FrameTypes PUSH_PROMISE = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.PUSH_PROMISE,
- PushPromiseFlags::create);
- /**
- * Ping frame types.
- */
- Http2FrameTypes PING = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.PING, PingFlags::create);
- /**
- * Go away frame types.
- */
- Http2FrameTypes GO_AWAY = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.GO_AWAY, NoFlags::create);
- /**
- * Window update frame types.
- */
- Http2FrameTypes WINDOW_UPDATE = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.WINDOW_UPDATE,
- NoFlags::create);
- /**
- * Continuation frame types.
- */
- Http2FrameTypes CONTINUATION = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.CONTINUATION,
- ContinuationFlags::create);
- /**
- * Unknown frame types.
- */
- Http2FrameTypes UNKNOWN = new Http2FrameTypeUtil.FrameTypeImpl<>(Http2FrameType.UNKNOWN, NoFlags::create);
-
- /**
- * Get frame types based on frame type enum.
- *
- * @param frameType frame type
- * @return frame types
- */
- static Http2FrameTypes extends Http2Flag> get(Http2FrameType frameType) {
- return Http2FrameTypeUtil.get(frameType);
- }
-
- /**
- * Frame type enum.
- *
- * @return frame type
- */
- Http2FrameType type();
-
- /**
- * Typed flags.
- *
- * @param flags flags number
- * @return typed flags instances
- */
- T flags(int flags);
-}
diff --git a/nima/http2/http2/src/main/java/io/helidon/nima/http2/Http2Stream.java b/nima/http2/http2/src/main/java/io/helidon/nima/http2/Http2Stream.java
deleted file mode 100644
index 25ccf5df3dc..00000000000
--- a/nima/http2/http2/src/main/java/io/helidon/nima/http2/Http2Stream.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.http2;
-
-import io.helidon.common.buffers.BufferData;
-
-/**
- * HTTP/2 stream.
- * A stream represents a single request/response exchange in HTTP/2.
- */
-public interface Http2Stream {
- /**
- * Close the stream.
- *
- * @param rstStream rst stream frame
- */
- void rstStream(Http2RstStream rstStream);
-
- /**
- * Flow control window update.
- *
- * @param windowUpdate window update frame
- */
- void windowUpdate(Http2WindowUpdate windowUpdate);
-
- /**
- * Headers received.
- *
- * @param headers request headers
- * @param endOfStream whether these headers are the last data that would be received
- */
- void headers(Http2Headers headers, boolean endOfStream);
-
- /**
- * Data frame.
- *
- * @param header frame header
- * @param data frame data
- */
- void data(Http2FrameHeader header, BufferData data);
-
- /**
- * Priority.
- *
- * @param http2Priority priority frame
- */
- void priority(Http2Priority http2Priority);
-
- /**
- * Stream ID.
- *
- * @return id of this stream
- */
- int streamId();
-
- /**
- * State of this stream.
- *
- * @return state
- */
- Http2StreamState streamState();
-
- /**
- * Outbound flow control of this stream.
- *
- * @return flow control
- */
- StreamFlowControl flowControl();
-
-}
diff --git a/nima/http2/http2/src/main/java/io/helidon/nima/http2/package-info.java b/nima/http2/http2/src/main/java/io/helidon/nima/http2/package-info.java
deleted file mode 100644
index 26d1f24ea30..00000000000
--- a/nima/http2/http2/src/main/java/io/helidon/nima/http2/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * HTTP/2 types common for client and server.
- */
-package io.helidon.nima.http2;
diff --git a/nima/http2/http2/src/main/java/module-info.java b/nima/http2/http2/src/main/java/module-info.java
deleted file mode 100644
index 831e6906847..00000000000
--- a/nima/http2/http2/src/main/java/module-info.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * HTTP2 common classes.
- */
-module io.helidon.nima.http2 {
- requires transitive io.helidon.common.socket;
- requires transitive io.helidon.common.http;
- requires io.helidon.common;
-
- exports io.helidon.nima.http2;
-}
diff --git a/nima/http2/http2/src/test/resources/logging-test.properties b/nima/http2/http2/src/test/resources/logging-test.properties
deleted file mode 100644
index 12ca00d657e..00000000000
--- a/nima/http2/http2/src/test/resources/logging-test.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2023 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-handlers=io.helidon.logging.jul.HelidonConsoleHandler
-# HelidonConsoleHandler uses a SimpleFormatter subclass that replaces "!thread!" with the current thread
-java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$s %3$s !thread!: %5$s%6$s%n
-#java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
-io.helidon.nima.level=INFO
-#io.helidon.nima.http2.MaxFrameSizeSplitTest.level=ALL
diff --git a/nima/http2/pom.xml b/nima/http2/pom.xml
deleted file mode 100644
index b454601b915..00000000000
--- a/nima/http2/pom.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
- 4.0.0
-
-
- io.helidon.nima
- helidon-nima-project
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- io.helidon.nima.http2
- helidon-nima-http2-project
- Helidon Níma HTTP/2 Project
-
- pom
-
-
-
- true
-
-
-
- http2
- webclient
- webserver
-
-
-
diff --git a/nima/http2/webclient/etc/spotbugs/exclude.xml b/nima/http2/webclient/etc/spotbugs/exclude.xml
deleted file mode 100644
index cc99fdbb99b..00000000000
--- a/nima/http2/webclient/etc/spotbugs/exclude.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/nima/http2/webclient/pom.xml b/nima/http2/webclient/pom.xml
deleted file mode 100644
index 4d7fcb33752..00000000000
--- a/nima/http2/webclient/pom.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http2
- helidon-nima-http2-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http2-webclient
- Helidon Níma HTTP/2 WebClient
-
-
- etc/spotbugs/exclude.xml
-
-
-
-
- io.helidon.nima.http2
- helidon-nima-http2
-
-
- io.helidon.nima.http.encoding
- helidon-nima-http-encoding
-
-
- io.helidon.nima.webclient
- helidon-nima-webclient
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- io.helidon.config
- helidon-config-metadata
- true
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
- io.helidon.nima.http2
- helidon-nima-http2-webserver
- test
-
-
- io.helidon.nima.testing.junit5
-
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-params
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/http2/webclient/src/main/java/io/helidon/nima/http2/webclient/ConnectionContext.java b/nima/http2/webclient/src/main/java/io/helidon/nima/http2/webclient/ConnectionContext.java
deleted file mode 100644
index cd607ef7e80..00000000000
--- a/nima/http2/webclient/src/main/java/io/helidon/nima/http2/webclient/ConnectionContext.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.http2.webclient;
-
-import java.time.Duration;
-
-record ConnectionContext(int initialWindowSize,
- int maxFrameSize,
- long maxHeaderListSize,
- int connectionPrefetch,
- int requestPrefetch,
- Duration flowControlTimeout,
- Duration timeout) {
-}
diff --git a/nima/http2/webclient/src/main/java/io/helidon/nima/http2/webclient/package-info.java b/nima/http2/webclient/src/main/java/io/helidon/nima/http2/webclient/package-info.java
deleted file mode 100644
index 23808f6d593..00000000000
--- a/nima/http2/webclient/src/main/java/io/helidon/nima/http2/webclient/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * HTTP/2 WebClient.
- */
-package io.helidon.nima.http2.webclient;
diff --git a/nima/http2/webclient/src/main/java/module-info.java b/nima/http2/webclient/src/main/java/module-info.java
deleted file mode 100644
index bea9833ef5c..00000000000
--- a/nima/http2/webclient/src/main/java/module-info.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-
-/**
- * HTTP/2 WebClient.
- */
-@Feature(value = "HTTP/2",
- description = "HTTP/2 WebClient",
- in = HelidonFlavor.SE,
- path = {"WebClient", "HTTP/2"}
-)
-module io.helidon.nima.http2.webclient {
- requires static io.helidon.common.features.api;
- requires static io.helidon.config.metadata;
-
- requires transitive io.helidon.builder.api;
- requires transitive io.helidon.nima.http2;
- requires transitive io.helidon.nima.webclient;
- requires transitive io.helidon.common.pki;
-
- exports io.helidon.nima.http2.webclient;
-}
diff --git a/nima/http2/webclient/src/test/resources/logging-test.properties b/nima/http2/webclient/src/test/resources/logging-test.properties
deleted file mode 100644
index 27029468ef0..00000000000
--- a/nima/http2/webclient/src/test/resources/logging-test.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (c) 2022, 2023 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# Send messages to the console
-handlers=java.util.logging.ConsoleHandler
-java.util.logging.ConsoleHandler.level=FINEST
-java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
-# java.util.logging.SimpleFormatter.format = [%1$tc] %5$s %6$s%n
-java.util.logging.SimpleFormatter.format=%1$tH:%1$tM:%1$tS %4$s %3$s %5$s%6$s%n
-#java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS %4$s %3$s %5$s%6$s%n
-
-io.helidon.nima.level=INFO
-# Global logging level. Can be overridden by specific loggers
-.level=INFO
diff --git a/nima/http2/webserver/pom.xml b/nima/http2/webserver/pom.xml
deleted file mode 100644
index 3b2f9ff0f8f..00000000000
--- a/nima/http2/webserver/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.http2
- helidon-nima-http2-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-http2-webserver
- Helidon Níma HTTP/2 WebServer
-
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.nima.http2
- helidon-nima-http2
-
-
- io.helidon.builder
- helidon-builder-api
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- io.helidon.config
- helidon-config-metadata
- true
-
-
- io.helidon.config
- helidon-config-yaml
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
- org.mockito
- mockito-core
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
- io.helidon.builder
- helidon-builder-processor
- ${helidon.version}
-
-
- io.helidon.config
- helidon-config-metadata-processor
- ${helidon.version}
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
- io.helidon.common.processor
- helidon-common-processor-helidon-copyright
- ${helidon.version}
-
-
-
-
-
-
diff --git a/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/Http2Stream.java b/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/Http2Stream.java
deleted file mode 100644
index ca76b4df054..00000000000
--- a/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/Http2Stream.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.http2.webserver;
-
-import java.io.UncheckedIOException;
-import java.util.List;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.Semaphore;
-
-import io.helidon.common.buffers.BufferData;
-import io.helidon.common.http.DirectHandler;
-import io.helidon.common.http.Headers;
-import io.helidon.common.http.Http;
-import io.helidon.common.http.Http.HeaderNames;
-import io.helidon.common.http.HttpPrologue;
-import io.helidon.common.http.RequestException;
-import io.helidon.common.http.ServerResponseHeaders;
-import io.helidon.common.socket.SocketWriterException;
-import io.helidon.nima.http.encoding.ContentDecoder;
-import io.helidon.nima.http.encoding.ContentEncodingContext;
-import io.helidon.nima.http2.ConnectionFlowControl;
-import io.helidon.nima.http2.Http2ErrorCode;
-import io.helidon.nima.http2.Http2Exception;
-import io.helidon.nima.http2.Http2Flag;
-import io.helidon.nima.http2.Http2FrameData;
-import io.helidon.nima.http2.Http2FrameHeader;
-import io.helidon.nima.http2.Http2FrameTypes;
-import io.helidon.nima.http2.Http2Headers;
-import io.helidon.nima.http2.Http2Priority;
-import io.helidon.nima.http2.Http2RstStream;
-import io.helidon.nima.http2.Http2Settings;
-import io.helidon.nima.http2.Http2StreamState;
-import io.helidon.nima.http2.Http2StreamWriter;
-import io.helidon.nima.http2.Http2WindowUpdate;
-import io.helidon.nima.http2.StreamFlowControl;
-import io.helidon.nima.http2.WindowSize;
-import io.helidon.nima.http2.webserver.spi.Http2SubProtocolSelector;
-import io.helidon.nima.http2.webserver.spi.SubProtocolResult;
-import io.helidon.nima.webserver.CloseConnectionException;
-import io.helidon.nima.webserver.ConnectionContext;
-import io.helidon.nima.webserver.Router;
-import io.helidon.nima.webserver.http.HttpRouting;
-
-import static java.lang.System.Logger.Level.TRACE;
-
-/**
- * Server HTTP/2 stream implementation.
- */
-public class Http2Stream implements Runnable, io.helidon.nima.http2.Http2Stream {
- private static final DataFrame TERMINATING_FRAME =
- new DataFrame(Http2FrameHeader.create(0,
- Http2FrameTypes.DATA,
- Http2Flag.DataFlags.create(Http2Flag.DataFlags.END_OF_STREAM),
- 0), BufferData.empty());
- private static final System.Logger LOGGER = System.getLogger(Http2Stream.class.getName());
-
- private final ConnectionContext ctx;
- private final Http2Config http2Config;
- private final List subProviders;
- private final int streamId;
- private final Http2Settings serverSettings;
- private final Http2Settings clientSettings;
- private final Http2StreamWriter writer;
- private final Router router;
- private final ArrayBlockingQueue inboundData = new ArrayBlockingQueue<>(32);
- private final StreamFlowControl flowControl;
-
- private boolean wasLastDataFrame = false;
- private volatile Http2Headers headers;
- private volatile Http2Priority priority;
- // used from this instance and from connection
- private volatile Http2StreamState state = Http2StreamState.IDLE;
- private Http2SubProtocolSelector.SubProtocolHandler subProtocolHandler;
- private long expectedLength = -1;
- private HttpRouting routing;
- private HttpPrologue prologue;
- // create a semaphore if accessed before we get the one from connection
- // must be volatile, as it is accessed both from connection thread and from stream thread
- private volatile Semaphore requestSemaphore = new Semaphore(1);
- private boolean semaphoreAcquired;
-
- /**
- * A new HTTP/2 server stream.
- *
- * @param ctx connection context
- * @param routing HTTP routing
- * @param http2Config HTTP/2 configuration
- * @param subProviders HTTP/2 sub protocol selectors
- * @param streamId stream id
- * @param serverSettings server settings
- * @param clientSettings client settings
- * @param writer writer
- * @param connectionFlowControl connection flow control
- */
- public Http2Stream(ConnectionContext ctx,
- HttpRouting routing,
- Http2Config http2Config,
- List subProviders,
- int streamId,
- Http2Settings serverSettings,
- Http2Settings clientSettings,
- Http2StreamWriter writer,
- ConnectionFlowControl connectionFlowControl) {
- this.ctx = ctx;
- this.routing = routing;
- this.http2Config = http2Config;
- this.subProviders = subProviders;
- this.streamId = streamId;
- this.serverSettings = serverSettings;
- this.clientSettings = clientSettings;
- this.writer = writer;
- this.router = ctx.router();
- this.flowControl = connectionFlowControl.createStreamFlowControl(
- streamId,
- http2Config.initialWindowSize(),
- http2Config.maxFrameSize()
- );
- }
-
- /**
- * Check this stream is not closed.
- * This method is called from connection thread.
- *
- * @throws Http2Exception in case this stream is closed
- */
- public void checkNotClosed() throws Http2Exception {
- if (state == Http2StreamState.HALF_CLOSED_REMOTE
- || state == Http2StreamState.CLOSED) {
- throw new Http2Exception(Http2ErrorCode.STREAM_CLOSED,
- "Stream " + streamId + " is closed. State: " + state);
- }
- }
-
- /**
- * Check if data can be received on this stream.
- * This method is called from connection thread.
- *
- * @throws Http2Exception in case data cannot be received
- */
- public void checkDataReceivable() throws Http2Exception {
- if (state != Http2StreamState.OPEN) {
- throw new Http2Exception(Http2ErrorCode.PROTOCOL, "Received data for stream "
- + streamId + " in state " + state);
- }
- }
-
- /**
- * Check if headers can be received on this stream.
- * This method is called from connection thread.
- *
- * @throws Http2Exception in case headers cannot be received.
- */
- public void checkHeadersReceivable() throws Http2Exception {
- switch (state) {
- case IDLE:
- // this is OK
- break;
- case HALF_CLOSED_LOCAL:
- case HALF_CLOSED_REMOTE:
- case CLOSED:
- throw new Http2Exception(Http2ErrorCode.STREAM_CLOSED,
- "Stream " + streamId + " received headers when stream is " + state);
- case OPEN:
- throw new Http2Exception(Http2ErrorCode.PROTOCOL, "Received headers for open stream " + streamId);
- default:
- throw new Http2Exception(Http2ErrorCode.INTERNAL, "Unknown stream state: " + streamId + ", state: " + state);
- }
- }
-
- @Override
- public void rstStream(Http2RstStream rstStream) {
- if (state == Http2StreamState.IDLE) {
- throw new Http2Exception(Http2ErrorCode.PROTOCOL,
- "Received RST_STREAM for stream "
- + streamId + " in IDLE state");
- }
- // TODO interrupt
- this.state = Http2StreamState.CLOSED;
- }
-
- @Override
- public void windowUpdate(Http2WindowUpdate windowUpdate) {
- if (state == Http2StreamState.IDLE) {
- throw new Http2Exception(Http2ErrorCode.PROTOCOL, "Received WINDOW_UPDATE for stream "
- + streamId + " in state IDLE");
- }
- //6.9/2
- if (windowUpdate.windowSizeIncrement() == 0) {
- Http2RstStream frame = new Http2RstStream(Http2ErrorCode.PROTOCOL);
- writer.write(frame.toFrameData(clientSettings, streamId, Http2Flag.NoFlags.create()));
- }
- //6.9.1/3
- if (flowControl.outbound().incrementStreamWindowSize(windowUpdate.windowSizeIncrement()) > WindowSize.MAX_WIN_SIZE) {
- Http2RstStream frame = new Http2RstStream(Http2ErrorCode.FLOW_CONTROL);
- writer.write(frame.toFrameData(clientSettings, streamId, Http2Flag.NoFlags.create()));
- }
- }
-
- // this method is called from connection thread and start the
- // thread o this stream
- @Override
- public void headers(Http2Headers headers, boolean endOfStream) {
- this.headers = headers;
- this.state = endOfStream ? Http2StreamState.HALF_CLOSED_REMOTE : Http2StreamState.OPEN;
- if (state == Http2StreamState.HALF_CLOSED_REMOTE) {
- try {
- // we need to notify that there is no data coming
- inboundData.put(TERMINATING_FRAME);
- } catch (InterruptedException e) {
- throw new Http2Exception(Http2ErrorCode.INTERNAL, "Interrupted", e);
- }
- }
- }
-
- @Override
- public void data(Http2FrameHeader header, BufferData data) {
- // todo check number of queued items and modify flow control if we seem to be collecting messages
- if (expectedLength != -1 && expectedLength < header.length()) {
- state = Http2StreamState.CLOSED;
- Http2RstStream rst = new Http2RstStream(Http2ErrorCode.PROTOCOL);
- writer.write(rst.toFrameData(clientSettings, streamId, Http2Flag.NoFlags.create()));
- return;
- }
- if (expectedLength != -1) {
- expectedLength -= header.length();
- }
- try {
- inboundData.put(new DataFrame(header, data));
- } catch (InterruptedException e) {
- throw new Http2Exception(Http2ErrorCode.INTERNAL, "Interrupted", e);
- }
- }
-
- @Override
- public void priority(Http2Priority http2Priority) {
- int i = http2Priority.streamId();
- if (i == this.streamId) {
- throw new Http2Exception(Http2ErrorCode.PROTOCOL, "Stream depends on itself");
- }
- this.priority = http2Priority;
- }
-
- @Override
- public int streamId() {
- return streamId;
- }
-
- @Override
- public Http2StreamState streamState() {
- return state;
- }
-
- @Override
- public StreamFlowControl flowControl() {
- return this.flowControl;
- }
-
- @Override
- public void run() {
- Thread.currentThread()
- .setName("[" + ctx.socketId() + " "
- + ctx.childSocketId() + " ] - " + streamId);
- try {
- handle();
- } catch (SocketWriterException | CloseConnectionException | UncheckedIOException e) {
- Http2RstStream rst = new Http2RstStream(Http2ErrorCode.STREAM_CLOSED);
- writer.write(rst.toFrameData(serverSettings, streamId, Http2Flag.NoFlags.create()));
- // no sense in throwing an exception, as this is invoked from an executor service directly
- } catch (RequestException e) {
- DirectHandler handler = ctx.listenerContext()
- .directHandlers()
- .handler(e.eventType());
- DirectHandler.TransportResponse response = handler.handle(e.request(),
- e.eventType(),
- e.status(),
- e.responseHeaders(),
- e);
-
- ServerResponseHeaders headers = response.headers();
- byte[] message = response.entity().orElse(BufferData.EMPTY_BYTES);
- if (message.length != 0) {
- headers.set(Http.Headers.create(Http.HeaderNames.CONTENT_LENGTH, String.valueOf(message.length)));
- }
- Http2Headers http2Headers = Http2Headers.create(headers);
- if (message.length == 0) {
- writer.writeHeaders(http2Headers,
- streamId,
- Http2Flag.HeaderFlags.create(Http2Flag.END_OF_HEADERS | Http2Flag.END_OF_STREAM),
- flowControl.outbound());
- } else {
- Http2FrameHeader dataHeader = Http2FrameHeader.create(message.length,
- Http2FrameTypes.DATA,
- Http2Flag.DataFlags.create(Http2Flag.END_OF_STREAM),
- streamId);
- writer.writeHeaders(http2Headers,
- streamId,
- Http2Flag.HeaderFlags.create(Http2Flag.END_OF_HEADERS),
- new Http2FrameData(dataHeader, BufferData.create(message)),
- flowControl.outbound());
- }
- } finally {
- headers = null;
- subProtocolHandler = null;
- if (semaphoreAcquired) {
- requestSemaphore.release();
- }
- }
- }
-
- void requestSemaphore(Semaphore requestSemaphore) {
- this.requestSemaphore = requestSemaphore;
- }
-
- void prologue(HttpPrologue prologue) {
- this.prologue = prologue;
- }
-
- private BufferData readEntityFromPipeline() {
- if (wasLastDataFrame) {
- return BufferData.empty();
- }
-
- DataFrame frame;
- try {
- frame = inboundData.take();
- flowControl.inbound().incrementWindowSize(frame.header().length());
- } catch (InterruptedException e) {
- // this stream was interrupted, does not make sense to do anything else
- return BufferData.empty();
- }
-
- if (frame.header().flags(Http2FrameTypes.DATA).endOfStream()) {
- wasLastDataFrame = true;
- }
- return frame.data();
- }
-
- private void handle() {
- Headers httpHeaders = headers.httpHeaders();
- if (httpHeaders.contains(Http.HeaderNames.CONTENT_LENGTH)) {
- this.expectedLength = httpHeaders.get(HeaderNames.CONTENT_LENGTH).value(long.class);
- }
-
- subProtocolHandler = null;
-
- for (Http2SubProtocolSelector provider : subProviders) {
- SubProtocolResult subProtocolResult = provider.subProtocol(ctx,
- prologue,
- headers,
- writer,
- streamId,
- serverSettings,
- clientSettings,
- flowControl,
- state,
- router);
- if (subProtocolResult.supported()) {
- subProtocolHandler = subProtocolResult.subProtocol();
- break;
- }
- }
-
- if (subProtocolHandler == null) {
- ContentEncodingContext contentEncodingContext = ctx.listenerContext().contentEncodingContext();
- ContentDecoder decoder;
- if (contentEncodingContext.contentDecodingEnabled()) {
- if (httpHeaders.contains(Http.HeaderNames.CONTENT_ENCODING)) {
- String contentEncoding = httpHeaders.get(Http.HeaderNames.CONTENT_ENCODING).value();
- if (contentEncodingContext.contentDecodingSupported(contentEncoding)) {
- decoder = contentEncodingContext.decoder(contentEncoding);
- } else {
- throw RequestException.builder()
- .type(DirectHandler.EventType.OTHER)
- .status(Http.Status.UNSUPPORTED_MEDIA_TYPE_415)
- .message("Unsupported content encoding")
- .build();
- }
- } else {
- decoder = ContentDecoder.NO_OP;
- }
- } else {
- decoder = ContentDecoder.NO_OP;
- }
-
- Http2ServerRequest request = Http2ServerRequest.create(ctx,
- routing.security(),
- prologue,
- headers,
- decoder,
- streamId,
- this::readEntityFromPipeline);
- Http2ServerResponse response = new Http2ServerResponse(ctx, request, writer, streamId, flowControl.outbound());
- semaphoreAcquired = requestSemaphore.tryAcquire();
- try {
- if (semaphoreAcquired) {
- routing.route(ctx, request, response);
- } else {
- ctx.log(LOGGER, TRACE, "Too many concurrent requests, rejecting request.");
- response.status(Http.Status.SERVICE_UNAVAILABLE_503)
- .send("Too Many Concurrent Requests");
- response.commit();
- }
- } finally {
- this.state = Http2StreamState.CLOSED;
- }
- } else {
- subProtocolHandler.init();
- while (subProtocolHandler.streamState() != Http2StreamState.CLOSED
- && subProtocolHandler.streamState() != Http2StreamState.HALF_CLOSED_LOCAL) {
- DataFrame frame;
- try {
- frame = inboundData.take();
- flowControl.inbound().incrementWindowSize(frame.header().length());
- } catch (InterruptedException e) {
- // this stream was interrupted, does not make sense to do anything else
- String handlerName = subProtocolHandler.getClass().getSimpleName();
- ctx.log(LOGGER, System.Logger.Level.DEBUG, "%s interrupted stream %d", handlerName, streamId);
- return;
- }
- subProtocolHandler.data(frame.header, frame.data);
- this.state = subProtocolHandler.streamState();
- }
- }
- }
-
- private record DataFrame(Http2FrameHeader header, BufferData data) { }
-}
diff --git a/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/package-info.java b/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/package-info.java
deleted file mode 100644
index 9f8a0661835..00000000000
--- a/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * HTTP/2 WebServer.
- */
-package io.helidon.nima.http2.webserver;
diff --git a/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/spi/package-info.java b/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/spi/package-info.java
deleted file mode 100644
index 0b2327fc046..00000000000
--- a/nima/http2/webserver/src/main/java/io/helidon/nima/http2/webserver/spi/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * HTTP/2 WebServer SPI.
- */
-package io.helidon.nima.http2.webserver.spi;
diff --git a/nima/http2/webserver/src/main/java/module-info.java b/nima/http2/webserver/src/main/java/module-info.java
deleted file mode 100644
index f677d8d316e..00000000000
--- a/nima/http2/webserver/src/main/java/module-info.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.nima.http2.webserver.Http2ProtocolConfigProvider;
-import io.helidon.nima.webserver.spi.ServerConnectionSelectorProvider;
-
-/**
- * HTTP/2 WebServer.
- */
-@Feature(value = "HTTP/2",
- description = "HTTP/2 WebServer",
- in = HelidonFlavor.SE,
- path = {"WebServer", "HTTP/2"}
-)
-module io.helidon.nima.http2.webserver {
- requires static io.helidon.common.features.api;
- requires static io.helidon.config.metadata;
-
- requires transitive io.helidon.common;
- requires transitive io.helidon.common.uri;
- requires transitive io.helidon.common.socket;
- requires transitive io.helidon.common.task;
- requires transitive io.helidon.nima.webserver;
- requires transitive io.helidon.common.http;
- requires transitive io.helidon.nima.http2;
- requires transitive io.helidon.nima.http.encoding;
- requires transitive io.helidon.nima.http.media;
- requires io.helidon.builder.api;
-
- exports io.helidon.nima.http2.webserver;
- exports io.helidon.nima.http2.webserver.spi;
-
- // to support prior knowledge for h2c
- provides ServerConnectionSelectorProvider
- with io.helidon.nima.http2.webserver.Http2ConnectionProvider;
- // to support upgrade requests for h2c
- provides io.helidon.nima.webserver.http1.spi.Http1UpgradeProvider
- with io.helidon.nima.http2.webserver.Http2UpgradeProvider;
- provides io.helidon.nima.webserver.spi.ProtocolConfigProvider
- with Http2ProtocolConfigProvider;
-
- uses io.helidon.nima.http2.webserver.spi.Http2SubProtocolProvider;
-}
diff --git a/nima/http2/webserver/src/test/java/io/helidon/nima/http2/webserver/ConnectionConfigTest.java b/nima/http2/webserver/src/test/java/io/helidon/nima/http2/webserver/ConnectionConfigTest.java
deleted file mode 100644
index 214b8ef05fe..00000000000
--- a/nima/http2/webserver/src/test/java/io/helidon/nima/http2/webserver/ConnectionConfigTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.http2.webserver;
-
-import java.time.Duration;
-import java.util.Map;
-
-import io.helidon.config.Config;
-import io.helidon.nima.http2.Http2Setting;
-import io.helidon.nima.webserver.ConnectionContext;
-import io.helidon.nima.webserver.ListenerContext;
-import io.helidon.nima.webserver.Router;
-import io.helidon.nima.webserver.WebServer;
-
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.hasKey;
-import static org.junit.jupiter.api.Assertions.assertAll;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-class ConnectionConfigTest {
-
- // Verify that HTTP/2 connection provider is properly configured from config file
- @Test
- void testConnectionConfig() {
- TestConnectionSelectorProvider.reset();
- // This will pick up application.yaml from the classpath as default configuration file
- WebServer.builder().config(Config.create().get("server")).build();
-
- Map http2Configs = TestConnectionSelectorProvider.config();
- assertThat(http2Configs, hasKey("@default"));
-
- Http2Config http2Config = http2Configs.get("@default");
-
- assertAll(
- () -> assertThat("maxFrameSize", http2Config.maxFrameSize(), is(8192)),
- () -> assertThat("maxHeaderListSize", http2Config.maxHeaderListSize(), is(4096L)),
- () -> assertThat("maxConcurrentStreams", http2Config.maxConcurrentStreams(), is(16384L)),
- () -> assertThat("validatePath", http2Config.validatePath(), is(false)),
- () -> assertThat("initialWindowSize", http2Config.initialWindowSize(), is(8192)),
- () -> assertThat("flowControlTimeout", http2Config.flowControlTimeout(), is(Duration.ofMillis(700)))
- );
- }
-
- // Verify that HTTP/2 connection provider is properly configured from builder
- @Test
- void testProviderConfigBuilder() {
-
- Http2ConnectionSelector selector = Http2ConnectionSelector.builder()
- .http2Config(Http2Config.builder()
- .name("@default")
- .maxFrameSize(4096)
- .maxHeaderListSize(2048L)
- .build())
- .build();
-
- Http2Connection conn = (Http2Connection) selector.connection(mockContext());
- // Verify values to be updated from configuration file
- assertThat(conn.config().maxFrameSize(), is(4096));
- assertThat(conn.config().maxHeaderListSize(), is(2048L));
- // Verify Http2Settings values to be updated from configuration file
- assertThat(conn.serverSettings().value(Http2Setting.MAX_FRAME_SIZE), is(4096L));
- assertThat(conn.serverSettings().value(Http2Setting.MAX_HEADER_LIST_SIZE), is(2048L));
- }
-
- private static ConnectionContext mockContext() {
- ConnectionContext ctx = mock(ConnectionContext.class);
- when(ctx.router()).thenReturn(Router.empty());
- when(ctx.listenerContext()).thenReturn(mock(ListenerContext.class));
- return ctx;
- }
-}
diff --git a/nima/http2/webserver/src/test/java/io/helidon/nima/http2/webserver/TestConnectionSelectorProvider.java b/nima/http2/webserver/src/test/java/io/helidon/nima/http2/webserver/TestConnectionSelectorProvider.java
deleted file mode 100644
index 14b01391a29..00000000000
--- a/nima/http2/webserver/src/test/java/io/helidon/nima/http2/webserver/TestConnectionSelectorProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.helidon.nima.http2.webserver;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import io.helidon.nima.webserver.ProtocolConfigs;
-import io.helidon.nima.webserver.spi.ServerConnectionSelector;
-import io.helidon.nima.webserver.spi.ServerConnectionSelectorProvider;
-
-import static org.mockito.Mockito.mock;
-
-// class must be public, as it is a service provider implementation
-public class TestConnectionSelectorProvider implements ServerConnectionSelectorProvider {
- private static final Map CONFIGS = new ConcurrentHashMap<>();
-
- static Map config() {
- return CONFIGS;
- }
-
- static void reset() {
- CONFIGS.clear();
- }
-
- @Override
- public Class protocolConfigType() {
- return Http2Config.class;
- }
-
- @Override
- public String protocolType() {
- return "http_2";
- }
-
- @Override
- public ServerConnectionSelector create(String socketName, Http2Config config, ProtocolConfigs configs) {
- CONFIGS.put(socketName, config);
- return mock(ServerConnectionSelector.class);
- }
-
-}
diff --git a/nima/http2/webserver/src/test/resources/META-INF/services/io.helidon.nima.webserver.spi.ServerConnectionSelectorProvider b/nima/http2/webserver/src/test/resources/META-INF/services/io.helidon.nima.webserver.spi.ServerConnectionSelectorProvider
deleted file mode 100644
index 668a9388b05..00000000000
--- a/nima/http2/webserver/src/test/resources/META-INF/services/io.helidon.nima.webserver.spi.ServerConnectionSelectorProvider
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (c) 2023 Oracle and/or its affiliates.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-io.helidon.nima.http2.webserver.TestConnectionSelectorProvider
\ No newline at end of file
diff --git a/nima/observe/config/pom.xml b/nima/observe/config/pom.xml
deleted file mode 100644
index 9b9dbbb1499..00000000000
--- a/nima/observe/config/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.observe
- helidon-nima-observe-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-observe-config
- Helidon Níma Observe Config
-
-
-
-
- io.helidon.nima.observe
- helidon-nima-observe
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- jakarta.json
- jakarta.json-api
- provided
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
diff --git a/nima/observe/config/src/main/java/io/helidon/nima/observe/config/package-info.java b/nima/observe/config/src/main/java/io/helidon/nima/observe/config/package-info.java
deleted file mode 100644
index 4450ef42a08..00000000000
--- a/nima/observe/config/src/main/java/io/helidon/nima/observe/config/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Config observability feature.
- */
-package io.helidon.nima.observe.config;
diff --git a/nima/observe/config/src/main/java/module-info.java b/nima/observe/config/src/main/java/module-info.java
deleted file mode 100644
index c1e05278f61..00000000000
--- a/nima/observe/config/src/main/java/module-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.nima.observe.config.ConfigObserveProvider;
-import io.helidon.nima.observe.spi.ObserveProvider;
-
-/**
- * Observability features.
- */
-module io.helidon.nima.observe.config {
- requires transitive io.helidon.nima.observe;
- requires io.helidon.nima.webserver;
- requires io.helidon.nima.http.media.jsonp;
-
- exports io.helidon.nima.observe.config;
-
- provides ObserveProvider with ConfigObserveProvider;
-}
\ No newline at end of file
diff --git a/nima/observe/health/etc/spotbugs/exclude.xml b/nima/observe/health/etc/spotbugs/exclude.xml
deleted file mode 100644
index 0c27db8d4c0..00000000000
--- a/nima/observe/health/etc/spotbugs/exclude.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/nima/observe/health/pom.xml b/nima/observe/health/pom.xml
deleted file mode 100644
index 658d4e9bcff..00000000000
--- a/nima/observe/health/pom.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.observe
- helidon-nima-observe-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-observe-health
- Helidon Níma Observe Health
-
-
- etc/spotbugs/exclude.xml
-
-
-
-
- io.helidon.nima.observe
- helidon-nima-observe
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- io.helidon.health
- helidon-health
-
-
- io.helidon.nima.service-common
- helidon-nima-service-common
-
-
- jakarta.json
- jakarta.json-api
- provided
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
-
-
- io.helidon.common.features
- helidon-common-features-api
- true
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.helidon.common.features
- helidon-common-features-processor
- ${helidon.version}
-
-
-
-
-
-
-
diff --git a/nima/observe/health/src/main/java/io/helidon/nima/observe/health/package-info.java b/nima/observe/health/src/main/java/io/helidon/nima/observe/health/package-info.java
deleted file mode 100644
index 3d52b93c7ac..00000000000
--- a/nima/observe/health/src/main/java/io/helidon/nima/observe/health/package-info.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * Health checks for Níma observability.
- */
-package io.helidon.nima.observe.health;
diff --git a/nima/observe/health/src/main/java/module-info.java b/nima/observe/health/src/main/java/module-info.java
deleted file mode 100644
index ced456a2bc6..00000000000
--- a/nima/observe/health/src/main/java/module-info.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2022, 2023 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.common.features.api.Feature;
-import io.helidon.common.features.api.HelidonFlavor;
-import io.helidon.health.spi.HealthCheckProvider;
-import io.helidon.nima.observe.health.HealthObserveProvider;
-import io.helidon.nima.observe.spi.ObserveProvider;
-
-/**
- * Health checks for Níma observability.
- */
-@Feature(value = "Health",
- description = "Health check support",
- in = HelidonFlavor.SE)
-module io.helidon.nima.observe.health {
- requires java.management;
-
- requires transitive io.helidon.health;
- requires transitive io.helidon.nima.observe;
- requires io.helidon.nima.webserver;
- requires io.helidon.nima.http.media.jsonp;
- requires io.helidon.nima.servicecommon;
- requires static io.helidon.common.features.api;
-
- exports io.helidon.nima.observe.health;
-
- provides ObserveProvider with HealthObserveProvider;
-
- uses HealthCheckProvider;
-}
\ No newline at end of file
diff --git a/nima/observe/info/pom.xml b/nima/observe/info/pom.xml
deleted file mode 100644
index f7a00323626..00000000000
--- a/nima/observe/info/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.observe
- helidon-nima-observe-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-observe-info
- Helidon Níma Observe Info
- Application information
-
-
-
- io.helidon.nima.observe
- helidon-nima-observe
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- jakarta.json
- jakarta.json-api
- provided
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
diff --git a/nima/observe/info/src/main/java/io/helidon/nima/observe/info/package-info.java b/nima/observe/info/src/main/java/io/helidon/nima/observe/info/package-info.java
deleted file mode 100644
index a78b30e1592..00000000000
--- a/nima/observe/info/src/main/java/io/helidon/nima/observe/info/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Application information observability feature.
- */
-package io.helidon.nima.observe.info;
diff --git a/nima/observe/info/src/main/java/module-info.java b/nima/observe/info/src/main/java/module-info.java
deleted file mode 100644
index 530df749fac..00000000000
--- a/nima/observe/info/src/main/java/module-info.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import io.helidon.nima.observe.info.InfoObserveProvider;
-import io.helidon.nima.observe.spi.ObserveProvider;
-
-/**
- * Observe info module.
- * Info allows configuration of custom properties to be available to users.
- * Info endpoint is unprotected by default and is available at {@code /observe/info} (configurable).
- */
-module io.helidon.nima.observe.info {
- requires io.helidon.config;
- requires transitive io.helidon.nima.observe;
- requires io.helidon.nima.webserver;
- requires io.helidon.nima.http.media.jsonp;
-
- exports io.helidon.nima.observe.info;
-
- provides ObserveProvider with InfoObserveProvider;
-}
\ No newline at end of file
diff --git a/nima/observe/log/etc/spotbugs/exclude.xml b/nima/observe/log/etc/spotbugs/exclude.xml
deleted file mode 100644
index 910fcbc48f4..00000000000
--- a/nima/observe/log/etc/spotbugs/exclude.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/nima/observe/log/pom.xml b/nima/observe/log/pom.xml
deleted file mode 100644
index b6302b9a157..00000000000
--- a/nima/observe/log/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
- 4.0.0
-
- io.helidon.nima.observe
- helidon-nima-observe-project
- 4.0.0-SNAPSHOT
-
-
- helidon-nima-observe-log
- Helidon Níma Observe Log
- Logging setup and log files
-
-
- etc/spotbugs/exclude.xml
-
-
-
-
- io.helidon.nima.observe
- helidon-nima-observe
-
-
- io.helidon.nima.webserver
- helidon-nima-webserver
-
-
- jakarta.json
- jakarta.json-api
- provided
-
-
- io.helidon.nima.http.media
- helidon-nima-http-media-jsonp
-
-
- io.helidon.nima.testing.junit5
- helidon-nima-testing-junit5-webserver
- test
-
-
- org.junit.jupiter
- junit-jupiter-api
- test
-
-
- org.hamcrest
- hamcrest-all
- test
-
-
-
diff --git a/nima/observe/log/src/main/java/io/helidon/nima/observe/log/package-info.java b/nima/observe/log/src/main/java/io/helidon/nima/observe/log/package-info.java
deleted file mode 100644
index 9ee5eb53cc8..00000000000
--- a/nima/observe/log/src/main/java/io/helidon/nima/observe/log/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) 2022 Oracle and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Observe log module.
- * Log observability allows reading and configuring of log levels of various loggers and reading log messages.
- *