diff --git a/core/api/src/main/java/cloud/piranha/core/api/SecurityManager.java b/core/api/src/main/java/cloud/piranha/core/api/SecurityManager.java index b069d79113..0ce3026b2f 100644 --- a/core/api/src/main/java/cloud/piranha/core/api/SecurityManager.java +++ b/core/api/src/main/java/cloud/piranha/core/api/SecurityManager.java @@ -125,7 +125,9 @@ default void declareRoles(Collection roles) { * * @return the auth method. */ - String getAuthMethod(); + default String getAuthMethod() { + return null; + } /** * Gets the request object the security system wants to put in place. @@ -162,28 +164,36 @@ default HttpServletResponse getAuthenticatedResponse(HttpServletRequest request, * * @return true if we are, false otherwise. */ - boolean getDenyUncoveredHttpMethods(); + default boolean getDenyUncoveredHttpMethods() { + return false; + } /** * Get the form error page. * * @return the form error page. */ - String getFormErrorPage(); + default String getFormErrorPage() { + return null; + } /** * Get the form login page. * * @return the form login page. */ - String getFormLoginPage(); + default String getFormLoginPage() { + return null; + } /** * Get the realm name. * * @return the realm name. */ - String getRealmName(); + default String getRealmName() { + return null; + } /** * Get the declared roles @@ -296,35 +306,40 @@ default void postRequestProcess(HttpServletRequest request, HttpServletResponse * * @param authMethod the auth method. */ - void setAuthMethod(String authMethod); + default void setAuthMethod(String authMethod) { + } /** * Set if we are denying uncovered HTTP methods. * * @param denyUncoveredHttpMethods the boolean value. */ - void setDenyUncoveredHttpMethods(boolean denyUncoveredHttpMethods); + default void setDenyUncoveredHttpMethods(boolean denyUncoveredHttpMethods) { + } /** * Set the form error page. * * @param formErrorPage the form error page. */ - void setFormErrorPage(String formErrorPage); + default void setFormErrorPage(String formErrorPage) { + } /** * Set the form login page. * * @param formLoginPage the form login page. */ - void setFormLoginPage(String formLoginPage); + default void setFormLoginPage(String formLoginPage) { + } /** * Set the realm name. * * @param realmName the realm name. */ - void setRealmName(String realmName); + default void setRealmName(String realmName) { + } /** * Set the web application. diff --git a/extension/exousia/pom.xml b/extension/exousia/pom.xml index 58c6ddaeaa..769d02a2e6 100644 --- a/extension/exousia/pom.xml +++ b/extension/exousia/pom.xml @@ -16,6 +16,12 @@ + + cloud.piranha.core + piranha-core-impl + ${project.version} + compile + jakarta.authorization jakarta.authorization-api @@ -38,18 +44,5 @@ - - - cloud.piranha.core - piranha-core-impl - ${project.version} - provided - - - cloud.piranha.extension - piranha-extension-webxml - ${project.version} - provided - diff --git a/extension/exousia/src/main/java/module-info.java b/extension/exousia/src/main/java/module-info.java index eb4a392cf5..609b64e143 100644 --- a/extension/exousia/src/main/java/module-info.java +++ b/extension/exousia/src/main/java/module-info.java @@ -36,9 +36,7 @@ * @author Manfred Riem (mriem@manorrock.com) */ module cloud.piranha.extension.exousia { - exports cloud.piranha.extension.exousia; - requires cloud.piranha.extension.webxml; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; requires jakarta.security.jacc; diff --git a/extension/lite/pom.xml b/extension/lite/pom.xml index 81aece761e..68846ea25b 100644 --- a/extension/lite/pom.xml +++ b/extension/lite/pom.xml @@ -38,49 +38,49 @@ cloud.piranha.extension - piranha-extension-locale_encoding + piranha-extension-policy ${project.version} compile cloud.piranha.extension - piranha-extension-mimetype + piranha-extension-security-servlet ${project.version} compile cloud.piranha.extension - piranha-extension-policy + piranha-extension-standard-localeencoding ${project.version} compile cloud.piranha.extension - piranha-extension-scinitializer + piranha-extension-standard-mimetype ${project.version} compile cloud.piranha.extension - piranha-extension-security-servlet + piranha-extension-standard-servletannotations ${project.version} compile cloud.piranha.extension - piranha-extension-tempdir + piranha-extension-standard-scinitializer ${project.version} compile cloud.piranha.extension - piranha-extension-webannotations + piranha-extension-standard-tempdir ${project.version} compile cloud.piranha.extension - piranha-extension-webxml + piranha-extension-standard-webxml ${project.version} compile diff --git a/extension/lite/src/main/java/cloud/piranha/extension/lite/LiteExtension.java b/extension/lite/src/main/java/cloud/piranha/extension/lite/LiteExtension.java index 5714232c05..407c7b7bca 100644 --- a/extension/lite/src/main/java/cloud/piranha/extension/lite/LiteExtension.java +++ b/extension/lite/src/main/java/cloud/piranha/extension/lite/LiteExtension.java @@ -31,14 +31,14 @@ import cloud.piranha.core.api.WebApplicationExtensionContext; import cloud.piranha.extension.annotationscan.AnnotationScanExtension; import cloud.piranha.extension.herring.HerringExtension; -import cloud.piranha.extension.locale_encoding.LocaleEncodingExtension; -import cloud.piranha.extension.mimetype.MimeTypeExtension; import cloud.piranha.extension.policy.PolicyExtension; -import cloud.piranha.extension.scinitializer.ServletContainerInitializerExtension; import cloud.piranha.extension.security.servlet.ServletSecurityExtension; -import cloud.piranha.extension.tempdir.TempDirExtension; -import cloud.piranha.extension.webannotations.WebAnnotationsExtension; -import cloud.piranha.extension.webxml.WebXmlExtension; +import cloud.piranha.extension.standard.localeencoding.StandardLocaleEncodingExtension; +import cloud.piranha.extension.standard.mimetype.StandardMimeTypeExtension; +import cloud.piranha.extension.standard.scinitializer.StandardServletContainerInitializerExtension; +import cloud.piranha.extension.standard.servletannotations.StandardServletAnnotationsExtension; +import cloud.piranha.extension.standard.tempdir.StandardTempDirExtension; +import cloud.piranha.extension.standard.webxml.StandardWebXmlExtension; /** * The WebApplicationExtension that adds the extensions for a Lite version of @@ -50,15 +50,15 @@ public class LiteExtension implements WebApplicationExtension { @Override public void extend(WebApplicationExtensionContext context) { + context.add(StandardLocaleEncodingExtension.class); + context.add(StandardMimeTypeExtension.class); + context.add(StandardTempDirExtension.class); context.add(HerringExtension.class); - context.add(MimeTypeExtension.class); - context.add(LocaleEncodingExtension.class); context.add(PolicyExtension.class); context.add(AnnotationScanExtension.class); - context.add(WebXmlExtension.class); - context.add(WebAnnotationsExtension.class); - context.add(TempDirExtension.class); - context.add(ServletContainerInitializerExtension.class); + context.add(StandardWebXmlExtension.class); + context.add(StandardServletAnnotationsExtension.class); + context.add(StandardServletContainerInitializerExtension.class); context.add(ServletSecurityExtension.class); } } diff --git a/extension/lite/src/main/java/module-info.java b/extension/lite/src/main/java/module-info.java index 8cd70a8386..e37fec598d 100644 --- a/extension/lite/src/main/java/module-info.java +++ b/extension/lite/src/main/java/module-info.java @@ -36,14 +36,8 @@ * */ module cloud.piranha.extension.lite { @@ -52,12 +46,12 @@ requires cloud.piranha.core.api; requires transitive cloud.piranha.extension.annotationscan; requires transitive cloud.piranha.extension.herring; - requires transitive cloud.piranha.extension.locale_encoding; - requires transitive cloud.piranha.extension.mimetype; requires transitive cloud.piranha.extension.policy; - requires transitive cloud.piranha.extension.scinitializer; requires transitive cloud.piranha.extension.security.servlet; - requires transitive cloud.piranha.extension.tempdir; - requires transitive cloud.piranha.extension.webannotations; - requires transitive cloud.piranha.extension.webxml; + requires transitive cloud.piranha.extension.standard.localeencoding; + requires transitive cloud.piranha.extension.standard.mimetype; + requires transitive cloud.piranha.extension.standard.servletannotations; + requires transitive cloud.piranha.extension.standard.scinitializer; + requires transitive cloud.piranha.extension.standard.tempdir; + requires transitive cloud.piranha.extension.standard.webxml; } diff --git a/extension/logging/pom.xml b/extension/logging/pom.xml deleted file mode 100644 index a1aded0e09..0000000000 --- a/extension/logging/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - 4.0.0 - - cloud.piranha.extension - project - 22.1.0-SNAPSHOT - - piranha-extension-logging - jar - Piranha - Extension - Logging - - - - cloud.piranha.core - piranha-core-api - ${project.version} - provided - - - - org.junit.jupiter - junit-jupiter-api - test - - - diff --git a/extension/logging/src/test/java/module-info.java b/extension/logging/src/test/java/module-info.java deleted file mode 100644 index 7652968ca8..0000000000 --- a/extension/logging/src/test/java/module-info.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/** - * The tests module for the 'cloud.piranha.extension.logging' module. - * - * @author Manfred Riem (mriem@manorrock.com) - */ -module cloud.piranha.extension.logging.tests { - exports cloud.piranha.extension.logging.tests; - opens cloud.piranha.extension.logging.tests; - requires cloud.piranha.extension.logging; - requires org.junit.jupiter.api; -} diff --git a/extension/micro/pom.xml b/extension/micro/pom.xml index 6a57862dbd..e82f5535c3 100644 --- a/extension/micro/pom.xml +++ b/extension/micro/pom.xml @@ -19,8 +19,8 @@ - cloud.piranha.extension - piranha-extension-async + cloud.piranha.core + piranha-core-api ${project.version} compile @@ -38,70 +38,75 @@ cloud.piranha.extension - piranha-extension-locale_encoding + piranha-extension-policy ${project.version} compile cloud.piranha.extension - piranha-extension-mimetype + piranha-extension-wasp ${project.version} compile - + cloud.piranha.extension - piranha-extension-policy + piranha-extension-security-jakarta ${project.version} compile cloud.piranha.extension - piranha-extension-wasp + piranha-extension-standard-async ${project.version} compile cloud.piranha.extension - piranha-extension-scinitializer + piranha-extension-standard-localeencoding ${project.version} compile - + cloud.piranha.extension - piranha-extension-security-jakarta + piranha-extension-standard-mimetype ${project.version} compile cloud.piranha.extension - piranha-extension-webannotations + piranha-extension-standard-servletannotations ${project.version} compile cloud.piranha.extension - piranha-extension-webxml + piranha-extension-standard-scinitializer ${project.version} compile cloud.piranha.extension - piranha-extension-welcomefile + piranha-extension-standard-tempdir + ${project.version} + compile + + + cloud.piranha.extension + piranha-extension-standard-webxml ${project.version} compile - - cloud.piranha.core - piranha-core-api + cloud.piranha.extension + piranha-extension-standard-welcomefile ${project.version} - provided + compile cloud.piranha.resource piranha-resource-api ${project.version} - provided + compile diff --git a/extension/micro/src/main/java/cloud/piranha/extension/micro/MicroExtension.java b/extension/micro/src/main/java/cloud/piranha/extension/micro/MicroExtension.java index 3f5e998059..5975fa24e0 100644 --- a/extension/micro/src/main/java/cloud/piranha/extension/micro/MicroExtension.java +++ b/extension/micro/src/main/java/cloud/piranha/extension/micro/MicroExtension.java @@ -31,18 +31,19 @@ import cloud.piranha.core.api.WebApplicationExtension; import cloud.piranha.core.api.WebApplicationExtensionContext; import cloud.piranha.extension.apache.fileupload.ApacheMultiPartExtension; -import cloud.piranha.extension.async.AsyncExtension; import cloud.piranha.extension.herring.HerringExtension; -import cloud.piranha.extension.locale_encoding.LocaleEncodingExtension; -import cloud.piranha.extension.mimetype.MimeTypeExtension; import cloud.piranha.extension.policy.PolicyExtension; -import cloud.piranha.extension.scinitializer.ServletContainerInitializerExtension; import cloud.piranha.extension.security.jakarta.JakartaSecurityAllInitializer; import cloud.piranha.extension.security.servlet.ServletSecurityManagerExtension; +import cloud.piranha.extension.standard.async.StandardAsyncExtension; +import cloud.piranha.extension.standard.localeencoding.StandardLocaleEncodingExtension; +import cloud.piranha.extension.standard.mimetype.StandardMimeTypeExtension; +import cloud.piranha.extension.standard.scinitializer.StandardServletContainerInitializerExtension; +import cloud.piranha.extension.standard.servletannotations.StandardServletAnnotationsExtension; +import cloud.piranha.extension.standard.tempdir.StandardTempDirExtension; +import cloud.piranha.extension.standard.webxml.StandardWebXmlExtension; +import cloud.piranha.extension.standard.welcomefile.StandardWelcomeFileExtension; import cloud.piranha.extension.wasp.WaspInitializer; -import cloud.piranha.extension.webannotations.WebAnnotationsInitializer; -import cloud.piranha.extension.webxml.WebXmlExtension; -import cloud.piranha.extension.welcomefile.WelcomeFileExtension; import static java.util.Arrays.asList; /** @@ -54,23 +55,24 @@ public class MicroExtension implements WebApplicationExtension { @Override public void extend(WebApplicationExtensionContext context) { + context.add(StandardAsyncExtension.class); + context.add(StandardLocaleEncodingExtension.class); + context.add(StandardMimeTypeExtension.class); + context.add(StandardTempDirExtension.class); + context.add(StandardWelcomeFileExtension.class); context.add(ServletSecurityManagerExtension.class); context.add(ApacheMultiPartExtension.class); - context.add(AsyncExtension.class); - context.add(WelcomeFileExtension.class); - context.add(WebXmlExtension.class); + context.add(StandardWebXmlExtension.class); + context.add(StandardServletAnnotationsExtension.class); context.add(HerringExtension.class); - context.add(LocaleEncodingExtension.class); context.add(PolicyExtension.class); - context.add(MimeTypeExtension.class); } @Override public void configure(WebApplication webApplication) { - webApplication.addInitializer(new WebAnnotationsInitializer()); webApplication.addInitializer(new JakartaSecurityAllInitializer()); webApplication.addInitializer(new WaspInitializer()); - new ServletContainerInitializerExtension( + new StandardServletContainerInitializerExtension( true, asList("org.glassfish.soteria.servlet.SamRegistrationInstaller")) .configure(webApplication); } diff --git a/extension/micro/src/main/java/module-info.java b/extension/micro/src/main/java/module-info.java index 85c78e3dc7..426f0f8198 100644 --- a/extension/micro/src/main/java/module-info.java +++ b/extension/micro/src/main/java/module-info.java @@ -32,17 +32,18 @@ module cloud.piranha.extension.micro { provides WebApplicationExtension with MicroExtension; requires cloud.piranha.extension.apache.fileupload; - requires cloud.piranha.extension.async; requires cloud.piranha.extension.herring; - requires cloud.piranha.extension.locale_encoding; - requires cloud.piranha.extension.mimetype; requires cloud.piranha.extension.policy; - requires cloud.piranha.extension.scinitializer; requires cloud.piranha.extension.security.jakarta; requires cloud.piranha.extension.security.servlet; + requires cloud.piranha.extension.standard.async; + requires cloud.piranha.extension.standard.localeencoding; + requires cloud.piranha.extension.standard.mimetype; + requires cloud.piranha.extension.standard.servletannotations; + requires cloud.piranha.extension.standard.scinitializer; + requires cloud.piranha.extension.standard.tempdir; + requires cloud.piranha.extension.standard.webxml; + requires cloud.piranha.extension.standard.welcomefile; requires cloud.piranha.extension.wasp; - requires cloud.piranha.extension.webannotations; - requires cloud.piranha.extension.webxml; - requires cloud.piranha.extension.welcomefile; requires cloud.piranha.core.api; } diff --git a/extension/mimetype/src/main/java/module-info.java b/extension/mimetype/src/main/java/module-info.java deleted file mode 100644 index 9880a41406..0000000000 --- a/extension/mimetype/src/main/java/module-info.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/** - *

- * This module delivers the integration of mime-type handling. - *

- *

- * It includes the following: - *

- *
    - *
  • A WebApplicationExtension
  • - *
  • A MimeTypeManager
  • - *
- *

The WebApplicationExtension

- *

- * The extension is responsible for creating the DefaultMimeTypeManager and - * setting the correct context attribute for it. - *

- *

The MimeTypeManager

- *

- * This manager delivers the implementation of mime-type handling. - *

- * - * @author Manfred Riem (mriem@manorrock.com) - */ -module cloud.piranha.extension.mimetype { - exports cloud.piranha.extension.mimetype; - opens cloud.piranha.extension.mimetype; - requires cloud.piranha.core.api; -} diff --git a/extension/pom.xml b/extension/pom.xml index 7347519447..94b6cf3bbf 100644 --- a/extension/pom.xml +++ b/extension/pom.xml @@ -18,34 +18,35 @@ annotationscan apache-fileupload - async + bytesstreamhandler eleos exousia hazelcast herring lite - locale_encoding - logging micro - mimetype mojarra myfaces policy - scinitializer - security-slim security-servlet security-jakarta slim + slim-security soteria standard - tempdir + standard-localeencoding + standard-logging + standard-mimetype + standard-servletannotations + standard-scinitializer + standard-tempdir + standard-welcomefile wasp - webannotations - webxml - welcomefile weld weld-servlet + standard-async + standard-webxml diff --git a/extension/scinitializer/src/main/java/module-info.java b/extension/scinitializer/src/main/java/module-info.java deleted file mode 100644 index 3be05bd361..0000000000 --- a/extension/scinitializer/src/main/java/module-info.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -import jakarta.servlet.ServletContainerInitializer; - -/** - * The Piranha Extension - ServletContainerInitializer module. - * - *

- * This module delivers ServletContainerInitializer processing. - *

- * - * @author Manfred Riem (mriem@manorrock.com) - */ -module cloud.piranha.extension.scinitializer { - - exports cloud.piranha.extension.scinitializer; - opens cloud.piranha.extension.scinitializer; - requires cloud.piranha.core.api; - uses ServletContainerInitializer; -} diff --git a/extension/security-servlet/pom.xml b/extension/security-servlet/pom.xml index 6f95dd4d02..2c5d245317 100644 --- a/extension/security-servlet/pom.xml +++ b/extension/security-servlet/pom.xml @@ -16,6 +16,12 @@ + + cloud.piranha.core + piranha-core-impl + ${project.version} + compile + cloud.piranha.extension piranha-extension-eleos @@ -34,20 +40,6 @@ ${project.version} compile - - - cloud.piranha.core - piranha-core-impl - ${project.version} - provided - - - - cloud.piranha.extension - piranha-extension-webxml - ${project.version} - compile - org.junit.jupiter diff --git a/extension/security-slim/src/main/java/module-info.java b/extension/security-slim/src/main/java/module-info.java deleted file mode 100644 index 4c81562172..0000000000 --- a/extension/security-slim/src/main/java/module-info.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/** - * This module delivers the slimmest security integration into Piranha. It - * implements the methods in the Servlet API that deal with authenticate, - * login, logout, isUserInRole, etc. - * - * @author Manfred Riem (mriem@manorrock.com) - */ -module cloud.piranha.extension.security.slim { - - exports cloud.piranha.extension.security.slim; - opens cloud.piranha.extension.security.slim; - requires cloud.piranha.core.api; -} diff --git a/extension/security-slim/pom.xml b/extension/slim-security/pom.xml similarity index 74% rename from extension/security-slim/pom.xml rename to extension/slim-security/pom.xml index 19b6929990..8b64763801 100644 --- a/extension/security-slim/pom.xml +++ b/extension/slim-security/pom.xml @@ -10,28 +10,33 @@ project 22.1.0-SNAPSHOT - piranha-extension-security-slim + piranha-extension-slim-security jar - Piranha - Extension - Security - Slim + Piranha - Extension - Slim Security - + cloud.piranha.core piranha-core-api ${project.version} - provided + compile cloud.piranha.core piranha-core-impl ${project.version} - provided + test org.junit.jupiter junit-jupiter-api test + + org.junit.platform + junit-platform-launcher + test + diff --git a/extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManager.java b/extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManager.java similarity index 81% rename from extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManager.java rename to extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManager.java index 4078c66763..1a8aa4433f 100644 --- a/extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManager.java +++ b/extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManager.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.security.slim; +package cloud.piranha.extension.slim.security; import cloud.piranha.core.api.SecurityManager; import cloud.piranha.core.api.WebApplication; @@ -47,37 +47,12 @@ * @author Manfred Riem (mriem@manorrock.com) */ public class SlimSecurityManager implements SecurityManager { - - /** - * Stores the auth method. - */ - protected String authMethod; - - /** - * Stores if we are denying uncovered HTTP methods. - */ - protected boolean denyUncoveredHttpMethods = false; - - /** - * Stores the form error page. - */ - protected String formErrorPage; - - /** - * Stores the form login page. - */ - protected String formLoginPage; /** * Stores the logins. */ protected final HashMap logins = new HashMap<>(); - /** - * Stores the realm name. - */ - protected String realmName; - /** * Stores the roles. */ @@ -156,31 +131,6 @@ public boolean authenticate( public void declareRoles(String[] roles) { this.roles.addAll(Arrays.asList(roles)); } - - @Override - public String getAuthMethod() { - return authMethod; - } - - @Override - public boolean getDenyUncoveredHttpMethods() { - return denyUncoveredHttpMethods; - } - - @Override - public String getFormErrorPage() { - return formErrorPage; - } - - @Override - public String getFormLoginPage() { - return formLoginPage; - } - - @Override - public String getRealmName() { - return realmName; - } @Override public Set getRoles() { @@ -249,31 +199,6 @@ public void removeUser(String username) { logins.remove(username); userRoles.remove(username); } - - @Override - public void setAuthMethod(String authMethod) { - this.authMethod = authMethod; - } - - @Override - public void setDenyUncoveredHttpMethods(boolean denyUncoveredHttpMethods) { - this.denyUncoveredHttpMethods = denyUncoveredHttpMethods; - } - - @Override - public void setFormErrorPage(String formErrorPage) { - this.formErrorPage = formErrorPage; - } - - @Override - public void setFormLoginPage(String formLoginPage) { - this.formLoginPage = formLoginPage; - } - - @Override - public void setRealmName(String realmName) { - this.realmName = realmName; - } @Override public void setWebApplication(WebApplication webApplication) { diff --git a/extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerExtension.java b/extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerExtension.java similarity index 98% rename from extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerExtension.java rename to extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerExtension.java index 9e7bbd4d91..d33b53a98f 100644 --- a/extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerExtension.java +++ b/extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerExtension.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.security.slim; +package cloud.piranha.extension.slim.security; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebApplicationExtension; diff --git a/extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerInitializer.java b/extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerInitializer.java similarity index 98% rename from extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerInitializer.java rename to extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerInitializer.java index 9c763b2f28..3f373d96a5 100644 --- a/extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerInitializer.java +++ b/extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerInitializer.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.security.slim; +package cloud.piranha.extension.slim.security; import cloud.piranha.core.api.WebApplication; import jakarta.servlet.ServletContainerInitializer; diff --git a/extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerPrincipal.java b/extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerPrincipal.java similarity index 97% rename from extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerPrincipal.java rename to extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerPrincipal.java index 3f90f31d1f..e09c399569 100644 --- a/extension/security-slim/src/main/java/cloud/piranha/extension/security/slim/SlimSecurityManagerPrincipal.java +++ b/extension/slim-security/src/main/java/cloud/piranha/extension/slim/security/SlimSecurityManagerPrincipal.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.security.slim; +package cloud.piranha.extension.slim.security; import java.security.Principal; diff --git a/extension/welcomefile/src/main/java/module-info.java b/extension/slim-security/src/main/java/module-info.java similarity index 88% rename from extension/welcomefile/src/main/java/module-info.java rename to extension/slim-security/src/main/java/module-info.java index e3087c83fd..420b5010da 100644 --- a/extension/welcomefile/src/main/java/module-info.java +++ b/extension/slim-security/src/main/java/module-info.java @@ -27,12 +27,12 @@ */ /** - * The welcome-file module. + * The slim security extension module delivers the slimmest security handling. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.welcomefile { - exports cloud.piranha.extension.welcomefile; - opens cloud.piranha.extension.welcomefile; +module cloud.piranha.extension.slim.security { + exports cloud.piranha.extension.slim.security; + opens cloud.piranha.extension.slim.security; requires cloud.piranha.core.api; } diff --git a/extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerExtensionTest.java b/extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerExtensionTest.java similarity index 95% rename from extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerExtensionTest.java rename to extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerExtensionTest.java index b451dc2526..e765f30e46 100644 --- a/extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerExtensionTest.java +++ b/extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerExtensionTest.java @@ -25,10 +25,10 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.security.slim.tests; +package cloud.piranha.extension.slim.security.tests; import cloud.piranha.core.impl.DefaultWebApplication; -import cloud.piranha.extension.security.slim.SlimSecurityManagerExtension; +import cloud.piranha.extension.slim.security.SlimSecurityManagerExtension; import static org.junit.jupiter.api.Assertions.assertFalse; import org.junit.jupiter.api.Test; diff --git a/extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerInitializerTest.java b/extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerInitializerTest.java similarity index 93% rename from extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerInitializerTest.java rename to extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerInitializerTest.java index 08e4b9702e..1aae0bf72f 100644 --- a/extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerInitializerTest.java +++ b/extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerInitializerTest.java @@ -25,11 +25,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.security.slim.tests; +package cloud.piranha.extension.slim.security.tests; import cloud.piranha.core.impl.DefaultWebApplication; -import cloud.piranha.extension.security.slim.SlimSecurityManager; -import cloud.piranha.extension.security.slim.SlimSecurityManagerInitializer; +import cloud.piranha.extension.slim.security.SlimSecurityManager; +import cloud.piranha.extension.slim.security.SlimSecurityManagerInitializer; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; diff --git a/extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerPrincipalTest.java b/extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerPrincipalTest.java similarity index 94% rename from extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerPrincipalTest.java rename to extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerPrincipalTest.java index 2fdcdf93d6..a8c71d6331 100644 --- a/extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerPrincipalTest.java +++ b/extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerPrincipalTest.java @@ -25,9 +25,9 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.security.slim.tests; +package cloud.piranha.extension.slim.security.tests; -import cloud.piranha.extension.security.slim.SlimSecurityManagerPrincipal; +import cloud.piranha.extension.slim.security.SlimSecurityManagerPrincipal; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; diff --git a/extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerTest.java b/extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerTest.java similarity index 94% rename from extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerTest.java rename to extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerTest.java index 04db9ea8d8..8acec42f58 100644 --- a/extension/security-slim/src/test/java/cloud/piranha/extension/security/slim/tests/SlimSecurityManagerTest.java +++ b/extension/slim-security/src/test/java/cloud/piranha/extension/slim/security/tests/SlimSecurityManagerTest.java @@ -25,13 +25,13 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.security.slim.tests; +package cloud.piranha.extension.slim.security.tests; import cloud.piranha.core.impl.DefaultWebApplication; import cloud.piranha.core.impl.DefaultWebApplicationRequest; import cloud.piranha.core.impl.DefaultWebApplicationResponse; -import cloud.piranha.extension.security.slim.SlimSecurityManager; -import cloud.piranha.extension.security.slim.SlimSecurityManagerPrincipal; +import cloud.piranha.extension.slim.security.SlimSecurityManager; +import cloud.piranha.extension.slim.security.SlimSecurityManagerPrincipal; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import static jakarta.servlet.http.HttpServletRequest.BASIC_AUTH; @@ -344,26 +344,4 @@ void testGetWebApplication2() { securityManager.setWebApplication(new DefaultWebApplication()); assertNotNull(securityManager.getWebApplication()); } - - /** - * Test setDenyUncoveredHttpMethods method. - */ - @Test - void testSetDenyUncoveredHttpMethods() { - - SlimSecurityManager securityManager = new SlimSecurityManager(); - securityManager.setDenyUncoveredHttpMethods(true); - assertTrue(securityManager.getDenyUncoveredHttpMethods()); - } - - /** - * Test setDenyUncoveredHttpMethods method. - */ - @Test - void testSetDenyUncoveredHttpMethods2() { - - SlimSecurityManager securityManager = new SlimSecurityManager(); - securityManager.setDenyUncoveredHttpMethods(false); - assertFalse(securityManager.getDenyUncoveredHttpMethods()); - } } diff --git a/extension/security-slim/src/test/java/module-info.java b/extension/slim-security/src/test/java/module-info.java similarity index 84% rename from extension/security-slim/src/test/java/module-info.java rename to extension/slim-security/src/test/java/module-info.java index e14c936f89..39155ca8d4 100644 --- a/extension/security-slim/src/test/java/module-info.java +++ b/extension/slim-security/src/test/java/module-info.java @@ -27,18 +27,17 @@ */ /** - * This module delivers the tests for the - * 'cloud.piranha.extension.security.slim' module. - * + * The tests module for this project. + * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.security.slim.tests { - - exports cloud.piranha.extension.security.slim.tests; - opens cloud.piranha.extension.security.slim.tests; +module cloud.piranha.extension.slim.security.tests { + exports cloud.piranha.extension.slim.security.tests; + opens cloud.piranha.extension.slim.security.tests; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; - requires cloud.piranha.extension.security.slim; + requires cloud.piranha.extension.slim.security; requires jakarta.servlet; requires org.junit.jupiter.api; + requires org.junit.platform.launcher; } diff --git a/extension/slim/pom.xml b/extension/slim/pom.xml index efe5517bc8..e133e3efd7 100644 --- a/extension/slim/pom.xml +++ b/extension/slim/pom.xml @@ -22,11 +22,11 @@ cloud.piranha.core piranha-core-api ${project.version} - provided + compile cloud.piranha.extension - piranha-extension-scinitializer + piranha-extension-standard-scinitializer ${project.version} compile diff --git a/extension/slim/src/main/java/cloud/piranha/extension/slim/SlimExtension.java b/extension/slim/src/main/java/cloud/piranha/extension/slim/SlimExtension.java index 251a4e7416..9c7c0355f8 100644 --- a/extension/slim/src/main/java/cloud/piranha/extension/slim/SlimExtension.java +++ b/extension/slim/src/main/java/cloud/piranha/extension/slim/SlimExtension.java @@ -27,9 +27,9 @@ */ package cloud.piranha.extension.slim; -import cloud.piranha.extension.scinitializer.ServletContainerInitializerExtension; import cloud.piranha.core.api.WebApplicationExtension; import cloud.piranha.core.api.WebApplicationExtensionContext; +import cloud.piranha.extension.standard.scinitializer.StandardServletContainerInitializerExtension; /** * The WebApplicationExtension that delivers the @@ -41,6 +41,6 @@ public class SlimExtension implements WebApplicationExtension { @Override public void extend(WebApplicationExtensionContext context) { - context.add(ServletContainerInitializerExtension.class); + context.add(StandardServletContainerInitializerExtension.class); } } diff --git a/extension/slim/src/main/java/module-info.java b/extension/slim/src/main/java/module-info.java index c72ce5c049..4fe858332a 100644 --- a/extension/slim/src/main/java/module-info.java +++ b/extension/slim/src/main/java/module-info.java @@ -41,5 +41,5 @@ exports cloud.piranha.extension.slim; opens cloud.piranha.extension.slim; requires cloud.piranha.core.api; - requires transitive cloud.piranha.extension.scinitializer; + requires transitive cloud.piranha.extension.standard.scinitializer; } diff --git a/extension/async/pom.xml b/extension/standard-async/pom.xml similarity index 76% rename from extension/async/pom.xml rename to extension/standard-async/pom.xml index d25438a9ef..cffead3955 100644 --- a/extension/async/pom.xml +++ b/extension/standard-async/pom.xml @@ -2,18 +2,14 @@ 4.0.0 - cloud.piranha.extension project 22.1.0-SNAPSHOT - - piranha-extension-async + piranha-extension-standard-async jar - - Piranha - Extension - Async - + Piranha - Extension - Standard Async @@ -28,5 +24,10 @@ junit-jupiter-api test + + org.junit.platform + junit-platform-launcher + test + diff --git a/extension/async/src/main/java/cloud/piranha/extension/async/AsyncExtension.java b/extension/standard-async/src/main/java/cloud/piranha/extension/standard/async/StandardAsyncExtension.java similarity index 87% rename from extension/async/src/main/java/cloud/piranha/extension/async/AsyncExtension.java rename to extension/standard-async/src/main/java/cloud/piranha/extension/standard/async/StandardAsyncExtension.java index 5dd05771ab..03d16e4531 100644 --- a/extension/async/src/main/java/cloud/piranha/extension/async/AsyncExtension.java +++ b/extension/standard-async/src/main/java/cloud/piranha/extension/standard/async/StandardAsyncExtension.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.async; +package cloud.piranha.extension.standard.async; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebApplicationExtension; @@ -37,12 +37,12 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class AsyncExtension implements WebApplicationExtension { +public class StandardAsyncExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(AsyncExtension.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardAsyncExtension.class.getName()); /** * Configure the web application. @@ -52,6 +52,6 @@ public class AsyncExtension implements WebApplicationExtension { @Override public void configure(WebApplication webApplication) { LOGGER.log(DEBUG, "Setting AsyncManager"); - webApplication.getManager().setAsyncManager(new DefaultAsyncManager()); + webApplication.getManager().setAsyncManager(new StandardAsyncManager()); } } diff --git a/extension/async/src/main/java/cloud/piranha/extension/async/DefaultAsyncManager.java b/extension/standard-async/src/main/java/cloud/piranha/extension/standard/async/StandardAsyncManager.java similarity index 95% rename from extension/async/src/main/java/cloud/piranha/extension/async/DefaultAsyncManager.java rename to extension/standard-async/src/main/java/cloud/piranha/extension/standard/async/StandardAsyncManager.java index e5bd1ba81f..0f69fe16c7 100644 --- a/extension/async/src/main/java/cloud/piranha/extension/async/DefaultAsyncManager.java +++ b/extension/standard-async/src/main/java/cloud/piranha/extension/standard/async/StandardAsyncManager.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.async; +package cloud.piranha.extension.standard.async; import cloud.piranha.core.api.AsyncDispatcher; import cloud.piranha.core.api.AsyncManager; @@ -39,7 +39,7 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class DefaultAsyncManager implements AsyncManager { +public class StandardAsyncManager implements AsyncManager { @Override public AsyncDispatcher getDispatcher(WebApplication webApplication, String path, ServletRequest asyncStartRequest, ServletResponse asyncStartResponse) { diff --git a/extension/async/src/main/java/module-info.java b/extension/standard-async/src/main/java/module-info.java similarity index 91% rename from extension/async/src/main/java/module-info.java rename to extension/standard-async/src/main/java/module-info.java index b6ca94e985..af464302c0 100644 --- a/extension/async/src/main/java/module-info.java +++ b/extension/standard-async/src/main/java/module-info.java @@ -26,9 +26,9 @@ * POSSIBILITY OF SUCH DAMAGE. */ -module cloud.piranha.extension.async { - exports cloud.piranha.extension.async; - opens cloud.piranha.extension.async; +module cloud.piranha.extension.standard.async { + exports cloud.piranha.extension.standard.async; + opens cloud.piranha.extension.standard.async; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; } diff --git a/extension/async/src/test/java/cloud/piranha/extension/async/tests/AsyncContextTest.java b/extension/standard-async/src/test/java/cloud/piranha/extension/standard/async/tests/AsyncContextTest.java similarity index 93% rename from extension/async/src/test/java/cloud/piranha/extension/async/tests/AsyncContextTest.java rename to extension/standard-async/src/test/java/cloud/piranha/extension/standard/async/tests/AsyncContextTest.java index ecd8f82543..0f6ff3fd8f 100644 --- a/extension/async/src/test/java/cloud/piranha/extension/async/tests/AsyncContextTest.java +++ b/extension/standard-async/src/test/java/cloud/piranha/extension/standard/async/tests/AsyncContextTest.java @@ -25,12 +25,12 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.async.tests; +package cloud.piranha.extension.standard.async.tests; import cloud.piranha.core.impl.DefaultWebApplication; import cloud.piranha.core.impl.DefaultWebApplicationRequest; import cloud.piranha.core.impl.DefaultWebApplicationResponse; -import cloud.piranha.extension.async.DefaultAsyncManager; +import cloud.piranha.extension.standard.async.StandardAsyncManager; import jakarta.servlet.AsyncContext; import java.io.ByteArrayOutputStream; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -51,7 +51,7 @@ class AsyncContextTest { @Test void testDispatch() throws Exception { DefaultWebApplication webApp = new DefaultWebApplication(); - webApp.getManager().setAsyncManager(new DefaultAsyncManager()); + webApp.getManager().setAsyncManager(new StandardAsyncManager()); DefaultWebApplicationRequest request = new DefaultWebApplicationRequest(); request.setAsyncSupported(true); request.setWebApplication(webApp); @@ -76,7 +76,7 @@ void testDispatch() throws Exception { @Test void testDispatch2() throws Exception { DefaultWebApplication webApp = new DefaultWebApplication(); - webApp.getManager().setAsyncManager(new DefaultAsyncManager()); + webApp.getManager().setAsyncManager(new StandardAsyncManager()); DefaultWebApplicationRequest request = new DefaultWebApplicationRequest(); request.setAsyncSupported(true); request.setWebApplication(webApp); @@ -101,7 +101,7 @@ void testDispatch2() throws Exception { @Test void testDispatch3() throws Exception { DefaultWebApplication webApp = new DefaultWebApplication(); - webApp.getManager().setAsyncManager(new DefaultAsyncManager()); + webApp.getManager().setAsyncManager(new StandardAsyncManager()); DefaultWebApplicationRequest request = new DefaultWebApplicationRequest(); request.setAsyncSupported(true); request.setWebApplication(webApp); diff --git a/extension/async/src/test/java/module-info.java b/extension/standard-async/src/test/java/module-info.java similarity index 86% rename from extension/async/src/test/java/module-info.java rename to extension/standard-async/src/test/java/module-info.java index 4dd5ceea8f..f26b4c5944 100644 --- a/extension/async/src/test/java/module-info.java +++ b/extension/standard-async/src/test/java/module-info.java @@ -26,11 +26,12 @@ * POSSIBILITY OF SUCH DAMAGE. */ -module cloud.piranha.extension.async.tests { - exports cloud.piranha.extension.async.tests; - opens cloud.piranha.extension.async.tests; +module cloud.piranha.extension.standard.async.tests { + exports cloud.piranha.extension.standard.async.tests; + opens cloud.piranha.extension.standard.async.tests; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; - requires cloud.piranha.extension.async; + requires cloud.piranha.extension.standard.async; requires org.junit.jupiter.api; + requires org.junit.platform.launcher; } diff --git a/extension/scinitializer/pom.xml b/extension/standard-localeencoding/pom.xml similarity index 58% rename from extension/scinitializer/pom.xml rename to extension/standard-localeencoding/pom.xml index acd446f7b5..831edacb1f 100644 --- a/extension/scinitializer/pom.xml +++ b/extension/standard-localeencoding/pom.xml @@ -7,21 +7,27 @@ project 22.1.0-SNAPSHOT - piranha-extension-scinitializer + piranha-extension-standard-localeencoding jar - Piranha - Extension - ServletContainerInitializer + Piranha - Extension - Standard Locale Encoding - + cloud.piranha.core piranha-core-api ${project.version} - provided + compile - cloud.piranha.core - piranha-core-impl + cloud.piranha + piranha-embedded + ${project.version} + test + + + cloud.piranha.extension + piranha-extension-standard-webxml ${project.version} test @@ -30,5 +36,10 @@ junit-jupiter-api test
+ + org.junit.platform + junit-platform-launcher + test +
diff --git a/extension/locale_encoding/src/main/java/cloud/piranha/extension/locale_encoding/LocaleEncodingExtension.java b/extension/standard-localeencoding/src/main/java/cloud/piranha/extension/standard/localeencoding/StandardLocaleEncodingExtension.java similarity index 83% rename from extension/locale_encoding/src/main/java/cloud/piranha/extension/locale_encoding/LocaleEncodingExtension.java rename to extension/standard-localeencoding/src/main/java/cloud/piranha/extension/standard/localeencoding/StandardLocaleEncodingExtension.java index d866906aba..8507ec1dcb 100644 --- a/extension/locale_encoding/src/main/java/cloud/piranha/extension/locale_encoding/LocaleEncodingExtension.java +++ b/extension/standard-localeencoding/src/main/java/cloud/piranha/extension/standard/localeencoding/StandardLocaleEncodingExtension.java @@ -25,28 +25,27 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.locale_encoding; +package cloud.piranha.extension.standard.localeencoding; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebApplicationExtension; -import cloud.piranha.core.impl.DefaultLocaleEncodingManager; import static java.lang.System.Logger.Level.DEBUG; /** - * The WebApplicationExtension that sets up the LocaleEncodingManager + * The WebApplicationExtension that sets up the StandardLocaleEncodingManager. * * @author Manfred Riem (mriem@manorrock.com) */ -public class LocaleEncodingExtension implements WebApplicationExtension { +public class StandardLocaleEncodingExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final System.Logger LOGGER = System.getLogger(LocaleEncodingExtension.class.getName()); + private static final System.Logger LOGGER = System.getLogger(StandardLocaleEncodingExtension.class.getName()); @Override public void configure(WebApplication webApplication) { - LOGGER.log(DEBUG, "Configuring the LocaleEncodingManager"); - webApplication.getManager().setLocaleEncodingManager(new DefaultLocaleEncodingManager()); + LOGGER.log(DEBUG, "Configuring the StandardLocaleEncodingManager"); + webApplication.getManager().setLocaleEncodingManager(new StandardLocaleEncodingManager()); } } diff --git a/core/impl/src/main/java/cloud/piranha/core/impl/DefaultLocaleEncodingManager.java b/extension/standard-localeencoding/src/main/java/cloud/piranha/extension/standard/localeencoding/StandardLocaleEncodingManager.java similarity index 92% rename from core/impl/src/main/java/cloud/piranha/core/impl/DefaultLocaleEncodingManager.java rename to extension/standard-localeencoding/src/main/java/cloud/piranha/extension/standard/localeencoding/StandardLocaleEncodingManager.java index 11e4da4164..21914fcc7e 100644 --- a/core/impl/src/main/java/cloud/piranha/core/impl/DefaultLocaleEncodingManager.java +++ b/extension/standard-localeencoding/src/main/java/cloud/piranha/extension/standard/localeencoding/StandardLocaleEncodingManager.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.core.impl; +package cloud.piranha.extension.standard.localeencoding; import cloud.piranha.core.api.LocaleEncodingManager; import java.util.HashMap; @@ -36,7 +36,7 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class DefaultLocaleEncodingManager implements LocaleEncodingManager { +public class StandardLocaleEncodingManager implements LocaleEncodingManager { /** * Stores the locale mappings. @@ -46,7 +46,7 @@ public class DefaultLocaleEncodingManager implements LocaleEncodingManager { /** * Constructor. */ - public DefaultLocaleEncodingManager() { + public StandardLocaleEncodingManager() { localeMappings = new HashMap<>(); } diff --git a/extension/standard-localeencoding/src/main/java/module-info.java b/extension/standard-localeencoding/src/main/java/module-info.java new file mode 100644 index 0000000000..b7d7e1b49f --- /dev/null +++ b/extension/standard-localeencoding/src/main/java/module-info.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * The standard locale encoding extension module delivers the standard locale + * encoding handling. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +module cloud.piranha.extension.standard.localeencoding { + exports cloud.piranha.extension.standard.localeencoding; + opens cloud.piranha.extension.standard.localeencoding; + requires cloud.piranha.core.api; +} diff --git a/extension/locale_encoding/src/test/java/cloud/piranha/extension/locale_encoding/tests/LocaleEncodingExtensionTest.java b/extension/standard-localeencoding/src/test/java/cloud/piranha/extension/standard/localeencoding/tests/StandardLocaleEncodingExtensionTest.java similarity index 94% rename from extension/locale_encoding/src/test/java/cloud/piranha/extension/locale_encoding/tests/LocaleEncodingExtensionTest.java rename to extension/standard-localeencoding/src/test/java/cloud/piranha/extension/standard/localeencoding/tests/StandardLocaleEncodingExtensionTest.java index 84233c749f..ba2d7d2ec5 100644 --- a/extension/locale_encoding/src/test/java/cloud/piranha/extension/locale_encoding/tests/LocaleEncodingExtensionTest.java +++ b/extension/standard-localeencoding/src/test/java/cloud/piranha/extension/standard/localeencoding/tests/StandardLocaleEncodingExtensionTest.java @@ -25,15 +25,15 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.locale_encoding.tests; +package cloud.piranha.extension.standard.localeencoding.tests; import cloud.piranha.core.api.LocaleEncodingManager; import cloud.piranha.core.api.WebApplication; import cloud.piranha.embedded.EmbeddedPiranha; import cloud.piranha.embedded.EmbeddedPiranhaBuilder; import cloud.piranha.embedded.EmbeddedResponse; -import cloud.piranha.extension.locale_encoding.LocaleEncodingExtension; -import cloud.piranha.extension.webxml.WebXmlExtension; +import cloud.piranha.extension.standard.localeencoding.StandardLocaleEncodingExtension; +import cloud.piranha.extension.standard.webxml.StandardWebXmlExtension; import java.util.Locale; import static java.util.Locale.ITALY; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -44,7 +44,7 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -class LocaleEncodingExtensionTest { +class StandardLocaleEncodingExtensionTest { /** * Test getCharacterEncoding. @@ -55,8 +55,8 @@ class LocaleEncodingExtensionTest { void testGetCharacterEncoding() throws Exception { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() .directoryResource("src/test/webxml/localeEncodingMappingList1") - .extension(LocaleEncodingExtension.class) - .extension(WebXmlExtension.class) + .extension(StandardLocaleEncodingExtension.class) + .extension(StandardWebXmlExtension.class) .build() .start(); WebApplication webApp = piranha.getWebApplication(); @@ -139,7 +139,7 @@ void testGetCharacterEncoding() throws Exception { @Test void testGetCharacterEncoding2() throws Exception { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() - .extension(LocaleEncodingExtension.class) + .extension(StandardLocaleEncodingExtension.class) .build() .start(); WebApplication webApp = piranha.getWebApplication(); @@ -225,7 +225,7 @@ void testGetCharacterEncoding2() throws Exception { @Test void testGetCharacterEncoding3() { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() - .extension(LocaleEncodingExtension.class) + .extension(StandardLocaleEncodingExtension.class) .build() .start(); WebApplication webApp = piranha.getWebApplication(); @@ -245,7 +245,7 @@ void testGetCharacterEncoding3() { @Test void testGetContentType() { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() - .extension(LocaleEncodingExtension.class) + .extension(StandardLocaleEncodingExtension.class) .build() .start(); WebApplication webApp = piranha.getWebApplication(); diff --git a/extension/locale_encoding/src/test/java/module-info.java b/extension/standard-localeencoding/src/test/java/module-info.java similarity index 82% rename from extension/locale_encoding/src/test/java/module-info.java rename to extension/standard-localeencoding/src/test/java/module-info.java index 54ec91c4b2..b4aea7cf6f 100644 --- a/extension/locale_encoding/src/test/java/module-info.java +++ b/extension/standard-localeencoding/src/test/java/module-info.java @@ -27,17 +27,18 @@ */ /** - * The JUnit tests module for the cloud.piranha.extension.locale_encoding module. + * The tests module for this project. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.localeencoding.tests { - exports cloud.piranha.extension.locale_encoding.tests; - opens cloud.piranha.extension.locale_encoding.tests; +module cloud.piranha.extension.standard.localeencoding.tests { + exports cloud.piranha.extension.standard.localeencoding.tests; + opens cloud.piranha.extension.standard.localeencoding.tests; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; requires cloud.piranha.embedded; - requires cloud.piranha.extension.locale_encoding; - requires cloud.piranha.extension.webxml; + requires cloud.piranha.extension.standard.localeencoding; + requires cloud.piranha.extension.standard.webxml; requires org.junit.jupiter.api; + requires org.junit.platform.launcher; } diff --git a/extension/locale_encoding/src/test/webxml/localeEncodingMappingList1/WEB-INF/web.xml b/extension/standard-localeencoding/src/test/webxml/localeEncodingMappingList1/WEB-INF/web.xml similarity index 100% rename from extension/locale_encoding/src/test/webxml/localeEncodingMappingList1/WEB-INF/web.xml rename to extension/standard-localeencoding/src/test/webxml/localeEncodingMappingList1/WEB-INF/web.xml diff --git a/extension/standard-logging/pom.xml b/extension/standard-logging/pom.xml new file mode 100644 index 0000000000..2b03d348cb --- /dev/null +++ b/extension/standard-logging/pom.xml @@ -0,0 +1,42 @@ + + + + 4.0.0 + + cloud.piranha.extension + project + 22.1.0-SNAPSHOT + + piranha-extension-standard-logging + jar + Piranha - Extension - Standard Logging + + + + cloud.piranha.core + piranha-core-api + ${project.version} + compile + + + + cloud.piranha.core + piranha-core-impl + ${project.version} + test + + + org.junit.jupiter + junit-jupiter-api + test + + + org.junit.platform + junit-platform-launcher + test + + + diff --git a/extension/mimetype/src/main/java/cloud/piranha/extension/mimetype/MimeTypeExtension.java b/extension/standard-logging/src/main/java/cloud/piranha/extension/standard/logging/StandardLoggingExtension.java similarity index 81% rename from extension/mimetype/src/main/java/cloud/piranha/extension/mimetype/MimeTypeExtension.java rename to extension/standard-logging/src/main/java/cloud/piranha/extension/standard/logging/StandardLoggingExtension.java index ac4242775a..6b684855f4 100644 --- a/extension/mimetype/src/main/java/cloud/piranha/extension/mimetype/MimeTypeExtension.java +++ b/extension/standard-logging/src/main/java/cloud/piranha/extension/standard/logging/StandardLoggingExtension.java @@ -25,32 +25,28 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.mimetype; +package cloud.piranha.extension.standard.logging; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebApplicationExtension; import static java.lang.System.Logger.Level.DEBUG; /** - * The WebApplicationExtension that sets the DefaultMimeTypeManager. - * + * The WebApplicationExtension that sets the StamdardLoggingManager. + * * @author Manfred Riem (mriem@manorrock.com) */ -public class MimeTypeExtension implements WebApplicationExtension { +public class StandardLoggingExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final System.Logger LOGGER = System.getLogger(MimeTypeExtension.class.getName()); + private static final System.Logger LOGGER = System.getLogger( + StandardLoggingExtension.class.getName()); - /** - * Configure the web application. - * - * @param webApplication the web application. - */ @Override public void configure(WebApplication webApplication) { - LOGGER.log(DEBUG, "Setting mime-type manager"); - webApplication.getManager().setMimeTypeManager(new DefaultMimeTypeManager()); + LOGGER.log(DEBUG, "Setting the StandardLoggingManager"); + webApplication.getManager().setLoggingManager(new StandardLoggingManager()); } } diff --git a/extension/logging/src/main/java/cloud/piranha/extension/logging/DefaultLoggingManager.java b/extension/standard-logging/src/main/java/cloud/piranha/extension/standard/logging/StandardLoggingManager.java similarity index 89% rename from extension/logging/src/main/java/cloud/piranha/extension/logging/DefaultLoggingManager.java rename to extension/standard-logging/src/main/java/cloud/piranha/extension/standard/logging/StandardLoggingManager.java index de3adb4210..15bf3f8b45 100644 --- a/extension/logging/src/main/java/cloud/piranha/extension/logging/DefaultLoggingManager.java +++ b/extension/standard-logging/src/main/java/cloud/piranha/extension/standard/logging/StandardLoggingManager.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.logging; +package cloud.piranha.extension.standard.logging; import cloud.piranha.core.api.LoggingManager; import java.lang.System.Logger; @@ -33,16 +33,16 @@ import static java.lang.System.Logger.Level.WARNING; /** - * The default LoggingManager. + * The standard LoggingManager. * * @author Manfred Riem (mriem@manorrock.com) */ -public class DefaultLoggingManager implements LoggingManager { +public class StandardLoggingManager implements LoggingManager { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(DefaultLoggingManager.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardLoggingManager.class.getName()); @Override public void log(String message, Throwable throwable) { diff --git a/extension/webannotations/src/main/java/module-info.java b/extension/standard-logging/src/main/java/module-info.java similarity index 87% rename from extension/webannotations/src/main/java/module-info.java rename to extension/standard-logging/src/main/java/module-info.java index 4d3870a345..c55584df97 100644 --- a/extension/webannotations/src/main/java/module-info.java +++ b/extension/standard-logging/src/main/java/module-info.java @@ -27,14 +27,13 @@ */ /** - * The @WebServlet, @WebFilter, ... module. + * The standard logging extension module delivers the standard logging + * implementation. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.webannotations { - - exports cloud.piranha.extension.webannotations; - opens cloud.piranha.extension.webannotations; +module cloud.piranha.extension.standard.logging { + exports cloud.piranha.extension.standard.logging; + opens cloud.piranha.extension.standard.logging; requires cloud.piranha.core.api; - requires jakarta.annotation; } diff --git a/extension/standard-logging/src/test/java/cloud/piranha/extension/standard/logging/tests/StandardLoggingExtensionTest.java b/extension/standard-logging/src/test/java/cloud/piranha/extension/standard/logging/tests/StandardLoggingExtensionTest.java new file mode 100644 index 0000000000..363fc0c072 --- /dev/null +++ b/extension/standard-logging/src/test/java/cloud/piranha/extension/standard/logging/tests/StandardLoggingExtensionTest.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +package cloud.piranha.extension.standard.logging.tests; + +import cloud.piranha.core.impl.DefaultWebApplication; +import cloud.piranha.extension.standard.logging.StandardLoggingExtension; +import cloud.piranha.extension.standard.logging.StandardLoggingManager; +import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.Test; + +/** + * The JUnit tests for the StandardLoggingExtension class. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +public class StandardLoggingExtensionTest { + + /** + * Test configure method. + */ + @Test + public void testConfigure() { + DefaultWebApplication webApplication = new DefaultWebApplication(); + StandardLoggingExtension extension = new StandardLoggingExtension(); + extension.configure(webApplication); + assertTrue(webApplication.getManager().getLoggingManager() instanceof StandardLoggingManager); + } +} diff --git a/extension/logging/src/test/java/cloud/piranha/extension/logging/tests/DefaultLoggingManagerTest.java b/extension/standard-logging/src/test/java/cloud/piranha/extension/standard/logging/tests/StandardLoggingManagerTest.java similarity index 84% rename from extension/logging/src/test/java/cloud/piranha/extension/logging/tests/DefaultLoggingManagerTest.java rename to extension/standard-logging/src/test/java/cloud/piranha/extension/standard/logging/tests/StandardLoggingManagerTest.java index c15cd9f578..03ef6ca26e 100644 --- a/extension/logging/src/test/java/cloud/piranha/extension/logging/tests/DefaultLoggingManagerTest.java +++ b/extension/standard-logging/src/test/java/cloud/piranha/extension/standard/logging/tests/StandardLoggingManagerTest.java @@ -25,24 +25,24 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.logging.tests; +package cloud.piranha.extension.standard.logging.tests; -import cloud.piranha.extension.logging.DefaultLoggingManager; +import cloud.piranha.extension.standard.logging.StandardLoggingManager; import org.junit.jupiter.api.Test; /** - * The JUnit tests for the DefaultLoggingManager class. + * The JUnit tests for the StandardLoggingManager class. * * @author Manfred Riem (mriem@manorrock.com) */ -public class DefaultLoggingManagerTest { +public class StandardLoggingManagerTest { /** * Test log method */ @Test public void testLog() { - DefaultLoggingManager manager = new DefaultLoggingManager(); + StandardLoggingManager manager = new StandardLoggingManager(); manager.log("TEST", new RuntimeException()); } @@ -51,7 +51,7 @@ public void testLog() { */ @Test public void testLog_String() { - DefaultLoggingManager manager = new DefaultLoggingManager(); + StandardLoggingManager manager = new StandardLoggingManager(); manager.log("TEST"); } } diff --git a/extension/welcomefile/src/test/java/module-info.java b/extension/standard-logging/src/test/java/module-info.java similarity index 87% rename from extension/welcomefile/src/test/java/module-info.java rename to extension/standard-logging/src/test/java/module-info.java index 3bd426d12a..b702d10b0b 100644 --- a/extension/welcomefile/src/test/java/module-info.java +++ b/extension/standard-logging/src/test/java/module-info.java @@ -27,14 +27,14 @@ */ /** - * The tests module for the welcome-file module. + * The tests module for this project. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.welcomefile.tests { - exports cloud.piranha.extension.welcomefile.tests; - opens cloud.piranha.extension.welcomefile.tests; - requires cloud.piranha.extension.welcomefile; +module cloud.piranha.extension.standard.logging.tests { + exports cloud.piranha.extension.standard.logging.tests; + opens cloud.piranha.extension.standard.logging.tests; + requires cloud.piranha.extension.standard.logging; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; requires org.junit.jupiter.api; diff --git a/extension/mimetype/pom.xml b/extension/standard-mimetype/pom.xml similarity index 79% rename from extension/mimetype/pom.xml rename to extension/standard-mimetype/pom.xml index 9edff627d8..928bd45d7f 100644 --- a/extension/mimetype/pom.xml +++ b/extension/standard-mimetype/pom.xml @@ -7,9 +7,9 @@ project 22.1.0-SNAPSHOT - piranha-extension-mimetype + piranha-extension-standard-mimetype jar - Piranha - Extension - Mimetype + Piranha - Extension - Standard Mimetype @@ -30,5 +30,10 @@ junit-jupiter-api test + + org.junit.platform + junit-platform-launcher + test + diff --git a/extension/logging/src/main/java/cloud/piranha/extension/logging/DefaultLoggingExtension.java b/extension/standard-mimetype/src/main/java/cloud/piranha/extension/standard/mimetype/StandardMimeTypeExtension.java similarity index 80% rename from extension/logging/src/main/java/cloud/piranha/extension/logging/DefaultLoggingExtension.java rename to extension/standard-mimetype/src/main/java/cloud/piranha/extension/standard/mimetype/StandardMimeTypeExtension.java index 4db6ae566e..6415de42c9 100644 --- a/extension/logging/src/main/java/cloud/piranha/extension/logging/DefaultLoggingExtension.java +++ b/extension/standard-mimetype/src/main/java/cloud/piranha/extension/standard/mimetype/StandardMimeTypeExtension.java @@ -25,32 +25,27 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.logging; +package cloud.piranha.extension.standard.mimetype; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebApplicationExtension; import static java.lang.System.Logger.Level.DEBUG; /** - * The WebApplicationExtension that sets the DefaultLoggingManager. + * The WebApplicationExtension that sets the StandardMimeTypeManager. * * @author Manfred Riem (mriem@manorrock.com) */ -public class DefaultLoggingExtension implements WebApplicationExtension { +public class StandardMimeTypeExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final System.Logger LOGGER = System.getLogger(DefaultLoggingExtension.class.getName()); + private static final System.Logger LOGGER = System.getLogger(StandardMimeTypeExtension.class.getName()); - /** - * Configure the web application. - * - * @param webApplication the web application. - */ @Override public void configure(WebApplication webApplication) { - LOGGER.log(DEBUG, "Setting DefaultLoggingManager"); - webApplication.getManager().setLoggingManager(new DefaultLoggingManager()); + LOGGER.log(DEBUG, "Setting the StandardMimeTypeManager"); + webApplication.getManager().setMimeTypeManager(new StandardMimeTypeManager()); } } diff --git a/extension/mimetype/src/main/java/cloud/piranha/extension/mimetype/DefaultMimeTypeManager.java b/extension/standard-mimetype/src/main/java/cloud/piranha/extension/standard/mimetype/StandardMimeTypeManager.java similarity index 79% rename from extension/mimetype/src/main/java/cloud/piranha/extension/mimetype/DefaultMimeTypeManager.java rename to extension/standard-mimetype/src/main/java/cloud/piranha/extension/standard/mimetype/StandardMimeTypeManager.java index 487721f1cc..a9da1afdce 100644 --- a/extension/mimetype/src/main/java/cloud/piranha/extension/mimetype/DefaultMimeTypeManager.java +++ b/extension/standard-mimetype/src/main/java/cloud/piranha/extension/standard/mimetype/StandardMimeTypeManager.java @@ -25,18 +25,18 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.mimetype; +package cloud.piranha.extension.standard.mimetype; import java.util.HashMap; import java.util.Map; import cloud.piranha.core.api.MimeTypeManager; /** - * The MimeTypeManager that delivers mime-type handling. + * The MimeTypeManager that delivers standard mime-type handling. * * @author Manfred Riem (mriem@manorrock.com) */ -public class DefaultMimeTypeManager implements MimeTypeManager { +public class StandardMimeTypeManager implements MimeTypeManager { /** * Stores the mime types. @@ -46,7 +46,7 @@ public class DefaultMimeTypeManager implements MimeTypeManager { /** * Constructor. */ - public DefaultMimeTypeManager() { + public StandardMimeTypeManager() { mimeTypes.put("css", "text/css"); mimeTypes.put("js", "text/javascript"); mimeTypes.put("ico", "image/x-icon"); @@ -59,28 +59,17 @@ public DefaultMimeTypeManager() { mimeTypes.put("txt", "text/plain"); } - /** - * Add the mime type. - * - * @param extension the extension (without the dot). - * @param mimeType the mime type to return. - */ @Override public void addMimeType(String extension, String mimeType) { mimeTypes.put(extension.toLowerCase(), mimeType); } - /** - * Get the mime type. - * - * @param filename the filename. - * @return the mime type, or null if not found. - */ @Override public String getMimeType(String filename) { - if (!filename.contains(".")) { - return null; + String mimeType = null; + if (filename.contains(".")) { + mimeType = mimeTypes.get(filename.substring(filename.lastIndexOf(".") + 1).toLowerCase()); } - return mimeTypes.get(filename.substring(filename.lastIndexOf(".") + 1).toLowerCase()); + return mimeType; } } diff --git a/extension/logging/src/main/java/module-info.java b/extension/standard-mimetype/src/main/java/module-info.java similarity index 87% rename from extension/logging/src/main/java/module-info.java rename to extension/standard-mimetype/src/main/java/module-info.java index 802af79c26..b85423204a 100644 --- a/extension/logging/src/main/java/module-info.java +++ b/extension/standard-mimetype/src/main/java/module-info.java @@ -27,12 +27,13 @@ */ /** - * This module delivers the default logging implementation. + * The standard mime-type extension module delivers the standard mime-type + * handling. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.logging { - exports cloud.piranha.extension.logging; - opens cloud.piranha.extension.logging; +module cloud.piranha.extension.standard.mimetype { + exports cloud.piranha.extension.standard.mimetype; + opens cloud.piranha.extension.standard.mimetype; requires cloud.piranha.core.api; } diff --git a/extension/mimetype/src/test/java/cloud/piranha/extension/mimetype/tests/MimeTypeExtensionTest.java b/extension/standard-mimetype/src/test/java/cloud/piranha/extension/standard/mimetype/tests/StandardMimeTypeExtensionTest.java similarity index 87% rename from extension/mimetype/src/test/java/cloud/piranha/extension/mimetype/tests/MimeTypeExtensionTest.java rename to extension/standard-mimetype/src/test/java/cloud/piranha/extension/standard/mimetype/tests/StandardMimeTypeExtensionTest.java index b8ae695187..7427513fbf 100644 --- a/extension/mimetype/src/test/java/cloud/piranha/extension/mimetype/tests/MimeTypeExtensionTest.java +++ b/extension/standard-mimetype/src/test/java/cloud/piranha/extension/standard/mimetype/tests/StandardMimeTypeExtensionTest.java @@ -25,20 +25,20 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.mimetype.tests; +package cloud.piranha.extension.standard.mimetype.tests; import cloud.piranha.embedded.EmbeddedPiranha; import cloud.piranha.embedded.EmbeddedPiranhaBuilder; -import cloud.piranha.extension.mimetype.MimeTypeExtension; +import cloud.piranha.extension.standard.mimetype.StandardMimeTypeExtension; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNotNull; /** - * The JUnit tests for the MimeTypeExtension class. + * The JUnit tests for the StandardMimeTypeExtension class. * * @author Manfred Riem (mriem@manorrock.com) */ -class MimeTypeExtensionTest { +class StandardMimeTypeExtensionTest { /** * Test configure method. @@ -46,7 +46,7 @@ class MimeTypeExtensionTest { @Test void testConfigure() { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() - .extension(MimeTypeExtension.class) + .extension(StandardMimeTypeExtension.class) .build(); assertNotNull(piranha.getWebApplication().getMimeType("index.html")); } diff --git a/extension/mimetype/src/test/java/cloud/piranha/extension/mimetype/tests/DefaultMimeTypeManagerTest.java b/extension/standard-mimetype/src/test/java/cloud/piranha/extension/standard/mimetype/tests/StandardMimeTypeManagerTest.java similarity index 82% rename from extension/mimetype/src/test/java/cloud/piranha/extension/mimetype/tests/DefaultMimeTypeManagerTest.java rename to extension/standard-mimetype/src/test/java/cloud/piranha/extension/standard/mimetype/tests/StandardMimeTypeManagerTest.java index e59381eae6..002df88bef 100644 --- a/extension/mimetype/src/test/java/cloud/piranha/extension/mimetype/tests/DefaultMimeTypeManagerTest.java +++ b/extension/standard-mimetype/src/test/java/cloud/piranha/extension/standard/mimetype/tests/StandardMimeTypeManagerTest.java @@ -25,11 +25,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.mimetype.tests; +package cloud.piranha.extension.standard.mimetype.tests; import cloud.piranha.core.api.MimeTypeManager; import cloud.piranha.core.impl.DefaultWebApplication; -import cloud.piranha.extension.mimetype.DefaultMimeTypeManager; +import cloud.piranha.extension.standard.mimetype.StandardMimeTypeManager; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; import org.junit.jupiter.api.BeforeEach; @@ -40,7 +40,7 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -class DefaultMimeTypeManagerTest { +class StandardMimeTypeManagerTest { /** * Stores the mime type manager. @@ -52,7 +52,7 @@ class DefaultMimeTypeManagerTest { */ @BeforeEach void before() { - manager = new DefaultMimeTypeManager(); + manager = new StandardMimeTypeManager(); } /** @@ -79,9 +79,8 @@ void testGetMimeType() { */ @Test void testGetMimeType2() { - DefaultMimeTypeManager mimeTypeManager = new DefaultMimeTypeManager(); DefaultWebApplication webApp = new DefaultWebApplication(); - webApp.getManager().setMimeTypeManager(mimeTypeManager); + webApp.getManager().setMimeTypeManager(manager); assertNull(webApp.getMimeType("this_maps_to.null")); } @@ -90,10 +89,9 @@ void testGetMimeType2() { */ @Test void testGetMimeType3() { - DefaultMimeTypeManager mimeTypeManager = new DefaultMimeTypeManager(); - mimeTypeManager.addMimeType("class", "application/x-java-class"); + manager.addMimeType("class", "application/x-java-class"); DefaultWebApplication webApp = new DefaultWebApplication(); - webApp.getManager().setMimeTypeManager(mimeTypeManager); + webApp.getManager().setMimeTypeManager(manager); assertEquals(webApp.getMimeType("my.class"), "application/x-java-class"); } @@ -102,9 +100,8 @@ void testGetMimeType3() { */ @Test void testGetMimeType4() { - DefaultMimeTypeManager mimeTypeManager = new DefaultMimeTypeManager(); DefaultWebApplication webApp = new DefaultWebApplication(); - webApp.getManager().setMimeTypeManager(mimeTypeManager); + webApp.getManager().setMimeTypeManager(manager); assertNull(webApp.getMimeType("myclass")); } } diff --git a/extension/mimetype/src/test/java/module-info.java b/extension/standard-mimetype/src/test/java/module-info.java similarity index 85% rename from extension/mimetype/src/test/java/module-info.java rename to extension/standard-mimetype/src/test/java/module-info.java index 0b4ccab9b9..d21ddb4525 100644 --- a/extension/mimetype/src/test/java/module-info.java +++ b/extension/standard-mimetype/src/test/java/module-info.java @@ -27,16 +27,17 @@ */ /** - * The tests module for the cloud.piranha.extension.mimetype module. + * The tests module for this project. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.mimetype.tests { - exports cloud.piranha.extension.mimetype.tests; - opens cloud.piranha.extension.mimetype.tests; +module cloud.piranha.extension.standard.mimetype.tests { + exports cloud.piranha.extension.standard.mimetype.tests; + opens cloud.piranha.extension.standard.mimetype.tests; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; requires cloud.piranha.embedded; - requires cloud.piranha.extension.mimetype; + requires cloud.piranha.extension.standard.mimetype; requires org.junit.jupiter.api; + requires org.junit.platform.launcher; } diff --git a/extension/locale_encoding/pom.xml b/extension/standard-scinitializer/pom.xml similarity index 75% rename from extension/locale_encoding/pom.xml rename to extension/standard-scinitializer/pom.xml index 8a89be976f..37c41d6885 100644 --- a/extension/locale_encoding/pom.xml +++ b/extension/standard-scinitializer/pom.xml @@ -7,33 +7,32 @@ project 22.1.0-SNAPSHOT - piranha-extension-locale_encoding + piranha-extension-standard-scinitializer jar - Piranha - Extension - Locale Encoding + Piranha - Extension - Standard ServletContainerInitializer cloud.piranha.core - piranha-core-impl + piranha-core-api ${project.version} compile - cloud.piranha - piranha-embedded + cloud.piranha.core + piranha-core-impl ${project.version} test - cloud.piranha.extension - piranha-extension-webxml - ${project.version} + org.junit.jupiter + junit-jupiter-api test - org.junit.jupiter - junit-jupiter-api + org.junit.platform + junit-platform-launcher test diff --git a/extension/scinitializer/src/main/java/cloud/piranha/extension/scinitializer/ServletContainerInitializerExtension.java b/extension/standard-scinitializer/src/main/java/cloud/piranha/extension/standard/scinitializer/StandardServletContainerInitializerExtension.java similarity index 91% rename from extension/scinitializer/src/main/java/cloud/piranha/extension/scinitializer/ServletContainerInitializerExtension.java rename to extension/standard-scinitializer/src/main/java/cloud/piranha/extension/standard/scinitializer/StandardServletContainerInitializerExtension.java index 35f4638681..9248b23185 100644 --- a/extension/scinitializer/src/main/java/cloud/piranha/extension/scinitializer/ServletContainerInitializerExtension.java +++ b/extension/standard-scinitializer/src/main/java/cloud/piranha/extension/standard/scinitializer/StandardServletContainerInitializerExtension.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.scinitializer; +package cloud.piranha.extension.standard.scinitializer; import static java.lang.System.Logger.Level.DEBUG; import static java.lang.System.Logger.Level.TRACE; @@ -47,13 +47,12 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class ServletContainerInitializerExtension implements WebApplicationExtension { +public class StandardServletContainerInitializerExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger( - ServletContainerInitializerExtension.class.getPackage().getName()); + private static final Logger LOGGER = System.getLogger(StandardServletContainerInitializerExtension.class.getPackage().getName()); /** * Stores the exclude existing initializers flag. @@ -68,7 +67,7 @@ public class ServletContainerInitializerExtension implements WebApplicationExten /** * Constructor. */ - public ServletContainerInitializerExtension() { + public StandardServletContainerInitializerExtension() { this(false, emptyList()); } @@ -78,7 +77,7 @@ public ServletContainerInitializerExtension() { * @param excludeExistingInitializers the exclude existing initializers flag. * @param ignoreInitializers ignore the given initializers. */ - public ServletContainerInitializerExtension(boolean excludeExistingInitializers, List ignoreInitializers) { + public StandardServletContainerInitializerExtension(boolean excludeExistingInitializers, List ignoreInitializers) { this.excludeExistingInitializers = excludeExistingInitializers; this.ignoreInitializers = new ArrayList<>(ignoreInitializers); } diff --git a/extension/standard-scinitializer/src/main/java/module-info.java b/extension/standard-scinitializer/src/main/java/module-info.java new file mode 100644 index 0000000000..abdeb1f62b --- /dev/null +++ b/extension/standard-scinitializer/src/main/java/module-info.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * The standard ServletContainerInitializer extension module delivers the + * standard ServletContainerInitializer handling. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +module cloud.piranha.extension.standard.scinitializer { + exports cloud.piranha.extension.standard.scinitializer; + opens cloud.piranha.extension.standard.scinitializer; + requires cloud.piranha.core.api; + uses jakarta.servlet.ServletContainerInitializer; +} diff --git a/extension/scinitializer/src/test/java/cloud/piranha/extension/scinitializer/ServletContainerInitializerExtensionTest.java b/extension/standard-scinitializer/src/test/java/cloud/piranha/extension/standard/scinitializer/tests/StandardServletContainerInitializerExtensionTest.java similarity index 83% rename from extension/scinitializer/src/test/java/cloud/piranha/extension/scinitializer/ServletContainerInitializerExtensionTest.java rename to extension/standard-scinitializer/src/test/java/cloud/piranha/extension/standard/scinitializer/tests/StandardServletContainerInitializerExtensionTest.java index 799146d652..9d7aa9b3d1 100644 --- a/extension/scinitializer/src/test/java/cloud/piranha/extension/scinitializer/ServletContainerInitializerExtensionTest.java +++ b/extension/standard-scinitializer/src/test/java/cloud/piranha/extension/standard/scinitializer/tests/StandardServletContainerInitializerExtensionTest.java @@ -25,18 +25,19 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.scinitializer; +package cloud.piranha.extension.standard.scinitializer.tests; +import cloud.piranha.extension.standard.scinitializer.StandardServletContainerInitializerExtension; import cloud.piranha.core.impl.DefaultWebApplication; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertTrue; /** - * The JUnit tests for the ServletContainerInitializerExtension class. + * The JUnit tests for the StandardServletContainerInitializerExtension class. * * @author Manfred Riem (mriem@manorrock.com) */ -class ServletContainerInitializerExtensionTest { +class StandardServletContainerInitializerExtensionTest { /** * Test configure method. @@ -44,7 +45,7 @@ class ServletContainerInitializerExtensionTest { @Test void testConfigure() { DefaultWebApplication webApplication = new DefaultWebApplication(); - ServletContainerInitializerExtension extension = new ServletContainerInitializerExtension(); + StandardServletContainerInitializerExtension extension = new StandardServletContainerInitializerExtension(); extension.configure(webApplication); webApplication.initialize(); assertTrue(webApplication.isInitialized()); diff --git a/extension/standard-scinitializer/src/test/java/module-info.java b/extension/standard-scinitializer/src/test/java/module-info.java new file mode 100644 index 0000000000..007b25b6eb --- /dev/null +++ b/extension/standard-scinitializer/src/test/java/module-info.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * The tests module for this project. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +module cloud.piranha.extension.standard.scinitializer.tests { + exports cloud.piranha.extension.standard.scinitializer.tests; + opens cloud.piranha.extension.standard.scinitializer.tests; + requires cloud.piranha.core.impl; + requires cloud.piranha.extension.standard.scinitializer; + requires org.junit.jupiter.api; + requires org.junit.platform.launcher; +} diff --git a/extension/webannotations/LICENSE.3rd-party b/extension/standard-servletannotations/LICENSE.3rd-party similarity index 100% rename from extension/webannotations/LICENSE.3rd-party rename to extension/standard-servletannotations/LICENSE.3rd-party diff --git a/extension/webannotations/pom.xml b/extension/standard-servletannotations/pom.xml similarity index 88% rename from extension/webannotations/pom.xml rename to extension/standard-servletannotations/pom.xml index 3a1cb7e744..191e4f701e 100644 --- a/extension/webannotations/pom.xml +++ b/extension/standard-servletannotations/pom.xml @@ -2,30 +2,26 @@ 4.0.0 - cloud.piranha.extension project 22.1.0-SNAPSHOT - - piranha-extension-webannotations + piranha-extension-standard-servletannotations jar - - Piranha - Extension - Web Annotations - + Piranha - Extension - Standard Servlet Annotations - + cloud.piranha.core piranha-core-api ${project.version} - provided + compile jakarta.annotation jakarta.annotation-api - provided + compile @@ -35,26 +31,26 @@ test - cloud.piranha.extension - piranha-extension-annotationscan + cloud.piranha.core + piranha-core-impl ${project.version} test cloud.piranha.extension - piranha-extension-webxml + piranha-extension-annotationscan ${project.version} test - cloud.piranha.resource - piranha-resource-impl + cloud.piranha.extension + piranha-extension-standard-webxml ${project.version} test - cloud.piranha.core - piranha-core-impl + cloud.piranha.resource + piranha-resource-impl ${project.version} test diff --git a/extension/webannotations/src/main/java/cloud/piranha/extension/webannotations/WebAnnotationsExtension.java b/extension/standard-servletannotations/src/main/java/cloud/piranha/extension/standard/servletannotations/StandardServletAnnotationsExtension.java similarity index 85% rename from extension/webannotations/src/main/java/cloud/piranha/extension/webannotations/WebAnnotationsExtension.java rename to extension/standard-servletannotations/src/main/java/cloud/piranha/extension/standard/servletannotations/StandardServletAnnotationsExtension.java index 8cb9f15322..681f0d7938 100644 --- a/extension/webannotations/src/main/java/cloud/piranha/extension/webannotations/WebAnnotationsExtension.java +++ b/extension/standard-servletannotations/src/main/java/cloud/piranha/extension/standard/servletannotations/StandardServletAnnotationsExtension.java @@ -25,41 +25,35 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webannotations; - -import java.lang.reflect.InvocationTargetException; -import java.lang.System.Logger.Level; -import java.lang.System.Logger; - -import jakarta.servlet.ServletContainerInitializer; +package cloud.piranha.extension.standard.servletannotations; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebApplicationExtension; +import jakarta.servlet.ServletContainerInitializer; +import java.lang.System.Logger; +import java.lang.System.Logger.Level; +import java.lang.reflect.InvocationTargetException; /** - * The extension for WebAnnotation processing. + * The WebApplicationExtension for Servlet annotation processing. * * @author Thiago Henrique Hupner + * @author Manfred Riem (mriem@manorrock.com) */ -public class WebAnnotationsExtension implements WebApplicationExtension { +public class StandardServletAnnotationsExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(WebAnnotationsExtension.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardServletAnnotationsExtension.class.getName()); - /** - * Configure the web application. - * - * @param webApplication the web application. - */ @Override public void configure(WebApplication webApplication) { try { ClassLoader classLoader = webApplication.getClassLoader(); Class clazz = classLoader - .loadClass(WebAnnotationsInitializer.class.getName()) + .loadClass(StandardServletAnnotationsInitializer.class.getName()) .asSubclass(ServletContainerInitializer.class); ServletContainerInitializer initializer = clazz.getDeclaredConstructor().newInstance(); webApplication.addInitializer(initializer); diff --git a/extension/webannotations/src/main/java/cloud/piranha/extension/webannotations/WebAnnotationsInitializer.java b/extension/standard-servletannotations/src/main/java/cloud/piranha/extension/standard/servletannotations/StandardServletAnnotationsInitializer.java similarity index 94% rename from extension/webannotations/src/main/java/cloud/piranha/extension/webannotations/WebAnnotationsInitializer.java rename to extension/standard-servletannotations/src/main/java/cloud/piranha/extension/standard/servletannotations/StandardServletAnnotationsInitializer.java index 4748485c2e..3bbaf936ea 100644 --- a/extension/webannotations/src/main/java/cloud/piranha/extension/webannotations/WebAnnotationsInitializer.java +++ b/extension/standard-servletannotations/src/main/java/cloud/piranha/extension/standard/servletannotations/StandardServletAnnotationsInitializer.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webannotations; +package cloud.piranha.extension.standard.servletannotations; import cloud.piranha.core.api.AnnotationInfo; import cloud.piranha.core.api.AnnotationManager; @@ -60,30 +60,18 @@ import static java.util.stream.Collectors.toCollection; /** - * The web annotations initializer. - * - *

- * This class initializes web artifacts based on annotations in a similar way as - * - * - * + * The standard Servlet annotations initializer. * * @author Arjan Tijms + * @author Manfred Riem (mriem@manorrock.com) */ -public class WebAnnotationsInitializer implements ServletContainerInitializer { +public class StandardServletAnnotationsInitializer implements ServletContainerInitializer { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(WebAnnotationsInitializer.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardServletAnnotationsInitializer.class.getName()); - /** - * On startup. - * - * @param classes the classes. - * @param servletContext the servlet context. - * @throws ServletException when a servlet error occurs. - */ @Override public void onStartup(Set> classes, ServletContext servletContext) throws ServletException { WebApplication webApp = (WebApplication) servletContext; @@ -236,5 +224,4 @@ private Class getTargetListener(AnnotationInfo getTargetServlet(AnnotationInfo annotationInfo) { return annotationInfo.getTargetType(); } - } diff --git a/extension/standard-servletannotations/src/main/java/module-info.java b/extension/standard-servletannotations/src/main/java/module-info.java new file mode 100644 index 0000000000..e6bf923b4c --- /dev/null +++ b/extension/standard-servletannotations/src/main/java/module-info.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * The standard servlet annotations extension module delivers the standard + * servlet annotations handling. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +module cloud.piranha.extension.standard.servletannotations { + exports cloud.piranha.extension.standard.servletannotations; + opens cloud.piranha.extension.standard.servletannotations; + requires cloud.piranha.core.api; + requires jakarta.annotation; +} diff --git a/extension/webannotations/src/test/java/cloud/piranha/extension/webannotations/tests/TestServlet.java b/extension/standard-servletannotations/src/test/java/cloud/piranha/extension/standard/servletannotations/tests/TestServlet.java similarity index 97% rename from extension/webannotations/src/test/java/cloud/piranha/extension/webannotations/tests/TestServlet.java rename to extension/standard-servletannotations/src/test/java/cloud/piranha/extension/standard/servletannotations/tests/TestServlet.java index 0f40961e99..6d609b9e85 100644 --- a/extension/webannotations/src/test/java/cloud/piranha/extension/webannotations/tests/TestServlet.java +++ b/extension/standard-servletannotations/src/test/java/cloud/piranha/extension/standard/servletannotations/tests/TestServlet.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webannotations.tests; +package cloud.piranha.extension.standard.servletannotations.tests; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; diff --git a/extension/webannotations/src/test/java/cloud/piranha/extension/webannotations/tests/WebServletTest.java b/extension/standard-servletannotations/src/test/java/cloud/piranha/extension/standard/servletannotations/tests/WebServletTest.java similarity index 89% rename from extension/webannotations/src/test/java/cloud/piranha/extension/webannotations/tests/WebServletTest.java rename to extension/standard-servletannotations/src/test/java/cloud/piranha/extension/standard/servletannotations/tests/WebServletTest.java index e5f1236e83..625acbfbe9 100644 --- a/extension/webannotations/src/test/java/cloud/piranha/extension/webannotations/tests/WebServletTest.java +++ b/extension/standard-servletannotations/src/test/java/cloud/piranha/extension/standard/servletannotations/tests/WebServletTest.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webannotations.tests; +package cloud.piranha.extension.standard.servletannotations.tests; import cloud.piranha.core.impl.DefaultWebApplication; import cloud.piranha.core.impl.DefaultWebApplicationClassLoader; @@ -35,8 +35,8 @@ import cloud.piranha.embedded.EmbeddedResponseBuilder; import cloud.piranha.extension.annotationscan.AnnotationScanInitializer; import cloud.piranha.extension.annotationscan.DefaultAnnotationManager; -import cloud.piranha.extension.webannotations.WebAnnotationsInitializer; -import cloud.piranha.extension.webxml.WebXmlInitializer; +import cloud.piranha.extension.standard.servletannotations.StandardServletAnnotationsInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import cloud.piranha.resource.impl.ClassResource; import cloud.piranha.resource.impl.DirectoryResource; import java.io.File; @@ -65,8 +65,8 @@ void testWebServletUrl1() throws Exception { classLoader.getResourceManager().addResource(new ClassResource(TestServlet.class.getName())); application.setClassLoader(classLoader); application.addInitializer(new AnnotationScanInitializer()); - application.addInitializer(new WebXmlInitializer()); - application.addInitializer(new WebAnnotationsInitializer()); + application.addInitializer(new StandardWebXmlInitializer()); + application.addInitializer(new StandardServletAnnotationsInitializer()); application.initialize(); application.start(); EmbeddedRequest request = new EmbeddedRequestBuilder().servletPath("/url1").build(); @@ -91,8 +91,8 @@ void testWebServletUrl1b() throws Exception { classLoader.getResourceManager().addResource(new ClassResource(TestServlet.class.getName())); application.setClassLoader(classLoader); application.addInitializer(new AnnotationScanInitializer()); - application.addInitializer(new WebXmlInitializer()); - application.addInitializer(new WebAnnotationsInitializer()); + application.addInitializer(new StandardWebXmlInitializer()); + application.addInitializer(new StandardServletAnnotationsInitializer()); application.initialize(); application.start(); EmbeddedRequest request = new EmbeddedRequestBuilder().servletPath("/url1b").build(); @@ -117,8 +117,8 @@ void testWebServletUrl2() throws Exception { classLoader.getResourceManager().addResource(new ClassResource(TestServlet.class.getName())); application.setClassLoader(classLoader); application.addInitializer(new AnnotationScanInitializer()); - application.addInitializer(new WebXmlInitializer()); - application.addInitializer(new WebAnnotationsInitializer()); + application.addInitializer(new StandardWebXmlInitializer()); + application.addInitializer(new StandardServletAnnotationsInitializer()); application.initialize(); application.start(); EmbeddedRequest request = new EmbeddedRequestBuilder().servletPath("/url2/test").build(); @@ -143,8 +143,8 @@ void testWebServletUrl2b() throws Exception { classLoader.getResourceManager().addResource(new ClassResource(TestServlet.class.getName())); application.setClassLoader(classLoader); application.addInitializer(new AnnotationScanInitializer()); - application.addInitializer(new WebXmlInitializer()); - application.addInitializer(new WebAnnotationsInitializer()); + application.addInitializer(new StandardWebXmlInitializer()); + application.addInitializer(new StandardServletAnnotationsInitializer()); application.initialize(); application.start(); EmbeddedRequest request = new EmbeddedRequestBuilder().servletPath("/url2b/test").build(); @@ -169,8 +169,8 @@ void testWebServletUrl3() throws Exception { classLoader.getResourceManager().addResource(new ClassResource(TestServlet.class.getName())); application.setClassLoader(classLoader); application.addInitializer(new AnnotationScanInitializer()); - application.addInitializer(new WebXmlInitializer()); - application.addInitializer(new WebAnnotationsInitializer()); + application.addInitializer(new StandardWebXmlInitializer()); + application.addInitializer(new StandardServletAnnotationsInitializer()); application.initialize(); application.start(); EmbeddedRequest request = new EmbeddedRequestBuilder().servletPath("/my/extension/test.url3").build(); @@ -195,8 +195,8 @@ void testWebServletUrl3b() throws Exception { classLoader.getResourceManager().addResource(new ClassResource(TestServlet.class.getName())); application.setClassLoader(classLoader); application.addInitializer(new AnnotationScanInitializer()); - application.addInitializer(new WebXmlInitializer()); - application.addInitializer(new WebAnnotationsInitializer()); + application.addInitializer(new StandardWebXmlInitializer()); + application.addInitializer(new StandardServletAnnotationsInitializer()); application.initialize(); application.start(); EmbeddedRequest request = new EmbeddedRequestBuilder().servletPath("/my/extension/test.url3b").build(); diff --git a/extension/webannotations/src/test/java/module-info.java b/extension/standard-servletannotations/src/test/java/module-info.java similarity index 84% rename from extension/webannotations/src/test/java/module-info.java rename to extension/standard-servletannotations/src/test/java/module-info.java index efdf5a33bf..9a0d99d4d5 100644 --- a/extension/webannotations/src/test/java/module-info.java +++ b/extension/standard-servletannotations/src/test/java/module-info.java @@ -27,19 +27,19 @@ */ /** - * The JUnit tests for the @WebServlet, @WebFilter, ... module. + * The tests module for this project. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.webannotations.tests { - exports cloud.piranha.extension.webannotations.tests; - opens cloud.piranha.extension.webannotations.tests; +module cloud.piranha.extension.standard.servletannotations.tests { + exports cloud.piranha.extension.standard.servletannotations.tests; + opens cloud.piranha.extension.standard.servletannotations.tests; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; requires cloud.piranha.embedded; requires cloud.piranha.extension.annotationscan; - requires cloud.piranha.extension.webannotations; - requires cloud.piranha.extension.webxml; + requires cloud.piranha.extension.standard.servletannotations; + requires cloud.piranha.extension.standard.webxml; requires jakarta.annotation; requires org.junit.jupiter.api; requires org.junit.platform.launcher; diff --git a/extension/webannotations/src/test/webapp/webservlet/WEB-INF/web.xml b/extension/standard-servletannotations/src/test/webapp/webservlet/WEB-INF/web.xml similarity index 85% rename from extension/webannotations/src/test/webapp/webservlet/WEB-INF/web.xml rename to extension/standard-servletannotations/src/test/webapp/webservlet/WEB-INF/web.xml index 0a9a8e08d0..5a6bc5f831 100644 --- a/extension/webannotations/src/test/webapp/webservlet/WEB-INF/web.xml +++ b/extension/standard-servletannotations/src/test/webapp/webservlet/WEB-INF/web.xml @@ -6,7 +6,7 @@ version="5.0"> TestServlet - cloud.piranha.extension.webannotations.tests.TestServlet + cloud.piranha.extension.standard.servletannotations.tests.TestServlet TestServlet diff --git a/extension/tempdir/pom.xml b/extension/standard-tempdir/pom.xml similarity index 75% rename from extension/tempdir/pom.xml rename to extension/standard-tempdir/pom.xml index cf485aba61..b79b621a4d 100644 --- a/extension/tempdir/pom.xml +++ b/extension/standard-tempdir/pom.xml @@ -8,18 +8,18 @@ 22.1.0-SNAPSHOT - piranha-extension-tempdir + piranha-extension-standard-tempdir jar - Piranha - Extension - TEMPDIR + Piranha - Extension - Standard TEMPDIR - + cloud.piranha.core piranha-core-api ${project.version} - provided + compile @@ -33,5 +33,10 @@ junit-jupiter-api test + + org.junit.platform + junit-platform-launcher + test + diff --git a/extension/tempdir/src/main/java/cloud/piranha/extension/tempdir/TempDirExtension.java b/extension/standard-tempdir/src/main/java/cloud/piranha/extension/standard/tempdir/StandardTempDirExtension.java similarity index 82% rename from extension/tempdir/src/main/java/cloud/piranha/extension/tempdir/TempDirExtension.java rename to extension/standard-tempdir/src/main/java/cloud/piranha/extension/standard/tempdir/StandardTempDirExtension.java index ad4e718587..fe270c7141 100644 --- a/extension/tempdir/src/main/java/cloud/piranha/extension/tempdir/TempDirExtension.java +++ b/extension/standard-tempdir/src/main/java/cloud/piranha/extension/standard/tempdir/StandardTempDirExtension.java @@ -25,42 +25,37 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.tempdir; - -import java.lang.reflect.InvocationTargetException; -import java.lang.System.Logger.Level; -import java.lang.System.Logger; - -import jakarta.servlet.ServletContainerInitializer; +package cloud.piranha.extension.standard.tempdir; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebApplicationExtension; +import jakarta.servlet.ServletContainerInitializer; +import java.lang.System.Logger; +import java.lang.System.Logger.Level; +import static java.lang.System.Logger.Level.DEBUG; +import java.lang.reflect.InvocationTargetException; /** - * The WebApplicationExtension that adds the ServletContainerInitializer. + * The WebApplicationExtension that adds the StandardTempDirInitializer. * * @author Manfred Riem (mriem@manorrock.com) */ -public class TempDirExtension implements WebApplicationExtension { +public class StandardTempDirExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(TempDirExtension.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardTempDirExtension.class.getName()); - /** - * Configure the web application. - * - * @param webApplication the web application. - */ @Override public void configure(WebApplication webApplication) { + LOGGER.log(DEBUG, "Adding the StandardTempDirInitializer"); try { ClassLoader classLoader = webApplication.getClassLoader(); Class clazz = classLoader. - loadClass(TempDirInitializer.class.getName()) + loadClass(StandardTempDirInitializer.class.getName()) .asSubclass(ServletContainerInitializer.class); ServletContainerInitializer initializer @@ -71,7 +66,7 @@ public void configure(WebApplication webApplication) { } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { - LOGGER.log(Level.WARNING, "Unable to enable TEMPDIR WebApplicationExtension", ex); + LOGGER.log(Level.WARNING, "Unable to add the StandardTempDirInitializer", ex); } } } diff --git a/extension/tempdir/src/main/java/cloud/piranha/extension/tempdir/TempDirInitializer.java b/extension/standard-tempdir/src/main/java/cloud/piranha/extension/standard/tempdir/StandardTempDirInitializer.java similarity index 83% rename from extension/tempdir/src/main/java/cloud/piranha/extension/tempdir/TempDirInitializer.java rename to extension/standard-tempdir/src/main/java/cloud/piranha/extension/standard/tempdir/StandardTempDirInitializer.java index 5dba03856c..113bd17cd0 100644 --- a/extension/tempdir/src/main/java/cloud/piranha/extension/tempdir/TempDirInitializer.java +++ b/extension/standard-tempdir/src/main/java/cloud/piranha/extension/standard/tempdir/StandardTempDirInitializer.java @@ -25,39 +25,30 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.tempdir; - -import static java.lang.System.Logger.Level.DEBUG; -import static jakarta.servlet.ServletContext.TEMPDIR; - -import java.io.File; -import java.util.Set; -import java.lang.System.Logger; +package cloud.piranha.extension.standard.tempdir; import jakarta.servlet.ServletContainerInitializer; import jakarta.servlet.ServletContext; +import static jakarta.servlet.ServletContext.TEMPDIR; import jakarta.servlet.ServletException; +import java.io.File; +import java.lang.System.Logger; +import static java.lang.System.Logger.Level.DEBUG; +import java.util.Set; /** - * The initializer that creates the temporary directory on the filesystem and - * sets the context attribute to point to that directory. + * The ServletContainerInitializer that creates the temporary directory on the + * file system and sets the context attribute to point to that directory. * * @author Manfred Riem (mriem@manorrock.com) */ -public class TempDirInitializer implements ServletContainerInitializer { +public class StandardTempDirInitializer implements ServletContainerInitializer { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(TempDirInitializer.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardTempDirInitializer.class.getName()); - /** - * On startup. - * - * @param classes the classes. - * @param servletContext the servlet context. - * @throws ServletException when a servlet error occurs. - */ @Override public void onStartup(Set> classes, ServletContext servletContext) throws ServletException { File baseDir = new File("tmp"); diff --git a/extension/locale_encoding/src/main/java/module-info.java b/extension/standard-tempdir/src/main/java/module-info.java similarity index 86% rename from extension/locale_encoding/src/main/java/module-info.java rename to extension/standard-tempdir/src/main/java/module-info.java index 9b3e0abf40..6535cf7ead 100644 --- a/extension/locale_encoding/src/main/java/module-info.java +++ b/extension/standard-tempdir/src/main/java/module-info.java @@ -27,15 +27,13 @@ */ /** - *

- * This module delivers the LocaleEncodingManager functionality. - *

+ * The standard TEMPDIR extension module delivers the standard temporary + * directory functionality. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.locale_encoding { - exports cloud.piranha.extension.locale_encoding; - opens cloud.piranha.extension.locale_encoding; +module cloud.piranha.extension.standard.tempdir { + exports cloud.piranha.extension.standard.tempdir; + opens cloud.piranha.extension.standard.tempdir; requires cloud.piranha.core.api; - requires cloud.piranha.core.impl; } diff --git a/extension/tempdir/src/test/java/cloud/piranha/extension/tempdir/TempDirInitializerTest.java b/extension/standard-tempdir/src/test/java/cloud/piranha/extension/standard/tempdir/tests/StandardTempDirExtensionTest.java similarity index 74% rename from extension/tempdir/src/test/java/cloud/piranha/extension/tempdir/TempDirInitializerTest.java rename to extension/standard-tempdir/src/test/java/cloud/piranha/extension/standard/tempdir/tests/StandardTempDirExtensionTest.java index 52d1842dca..6a93a74343 100644 --- a/extension/tempdir/src/test/java/cloud/piranha/extension/tempdir/TempDirInitializerTest.java +++ b/extension/standard-tempdir/src/test/java/cloud/piranha/extension/standard/tempdir/tests/StandardTempDirExtensionTest.java @@ -25,32 +25,34 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.tempdir; +package cloud.piranha.extension.standard.tempdir.tests; import cloud.piranha.core.impl.DefaultWebApplication; +import cloud.piranha.extension.standard.tempdir.StandardTempDirExtension; +import static jakarta.servlet.ServletContext.TEMPDIR; import java.io.File; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; /** - * The JUnit test for the TempDirInitializer class. - * + * The JUnit tests for the StandardTempDirExtension class. + * * @author Manfred Riem (mriem@manorrock.com) */ -class TempDirInitializerTest { - +public class StandardTempDirExtensionTest { + /** - * Test of onStartup method, of class TempDirInitializer. - * - * @throws Exception when a serious error occurs. + * Test configure method. */ @Test - void testOnStartup() throws Exception { + public void testConfigure() { DefaultWebApplication webApplication = new DefaultWebApplication(); - webApplication.setContextPath("my_servlet_context_name"); - TempDirInitializer initializer = new TempDirInitializer(); - initializer.onStartup(null, webApplication); - File tempDir = new File("tmp/my_servlet_context_name"); + StandardTempDirExtension extension = new StandardTempDirExtension(); + extension.configure(webApplication); + webApplication.initialize(); + assertNotNull(webApplication.getAttribute(TEMPDIR)); + File tempDir = new File("tmp/ROOT"); assertTrue(tempDir.exists()); tempDir.delete(); tempDir.getParentFile().delete(); diff --git a/extension/standard-tempdir/src/test/java/cloud/piranha/extension/standard/tempdir/tests/StandardTempDirInitializerTest.java b/extension/standard-tempdir/src/test/java/cloud/piranha/extension/standard/tempdir/tests/StandardTempDirInitializerTest.java new file mode 100644 index 0000000000..9608bd3714 --- /dev/null +++ b/extension/standard-tempdir/src/test/java/cloud/piranha/extension/standard/tempdir/tests/StandardTempDirInitializerTest.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +package cloud.piranha.extension.standard.tempdir.tests; + +import cloud.piranha.core.impl.DefaultWebApplication; +import cloud.piranha.extension.standard.tempdir.StandardTempDirInitializer; +import java.io.File; +import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.Test; + +/** + * The JUnit test for the StandardTempDirInitializer class. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +class StandardTempDirInitializerTest { + + /** + * Test onStartup method. + * + * @throws Exception when a serious error occurs. + */ + @Test + void testOnStartup() throws Exception { + DefaultWebApplication webApplication = new DefaultWebApplication(); + webApplication.setContextPath("my_servlet_context_name"); + StandardTempDirInitializer initializer = new StandardTempDirInitializer(); + initializer.onStartup(null, webApplication); + File tempDir = new File("tmp/my_servlet_context_name"); + assertTrue(tempDir.exists()); + tempDir.delete(); + tempDir.getParentFile().delete(); + } + + /** + * Test onStartup method. + * + * @throws Exception when a serious error occurs. + */ + @Test + void testOnStartup2() throws Exception { + DefaultWebApplication webApplication = new DefaultWebApplication(); + webApplication.setContextPath(""); + StandardTempDirInitializer initializer = new StandardTempDirInitializer(); + initializer.onStartup(null, webApplication); + File tempDir = new File("tmp/ROOT"); + assertTrue(tempDir.exists()); + tempDir.delete(); + tempDir.getParentFile().delete(); + } +} diff --git a/extension/webxml/src/test/java/module-info.java b/extension/standard-tempdir/src/test/java/module-info.java similarity index 84% rename from extension/webxml/src/test/java/module-info.java rename to extension/standard-tempdir/src/test/java/module-info.java index 2c5d7cc716..7c7eed3f18 100644 --- a/extension/webxml/src/test/java/module-info.java +++ b/extension/standard-tempdir/src/test/java/module-info.java @@ -27,18 +27,16 @@ */ /** - * The tests module for the web.xml module. + * The tests module for this project. * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.webxml.tests { - exports cloud.piranha.extension.webxml.tests; - opens cloud.piranha.extension.webxml.tests; +module cloud.piranha.extension.standard.tempdir.tests { + exports cloud.piranha.extension.standard.tempdir.tests; + opens cloud.piranha.extension.standard.tempdir.tests; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; - requires cloud.piranha.extension.mimetype; - requires cloud.piranha.extension.webxml; - requires cloud.piranha.extension.welcomefile; + requires cloud.piranha.extension.standard.tempdir; requires org.junit.jupiter.api; requires org.junit.platform.launcher; } diff --git a/extension/webxml/pom.xml b/extension/standard-webxml/pom.xml similarity index 80% rename from extension/webxml/pom.xml rename to extension/standard-webxml/pom.xml index 74ee2e9cc1..d9c2ce9e29 100644 --- a/extension/webxml/pom.xml +++ b/extension/standard-webxml/pom.xml @@ -9,10 +9,10 @@ 22.1.0-SNAPSHOT - piranha-extension-webxml + piranha-extension-standard-webxml jar - Piranha - Extension - web.xml + Piranha - Extension - Standard web.xml @@ -37,19 +37,13 @@ cloud.piranha.extension - piranha-extension-mimetype + piranha-extension-standard-mimetype ${project.version} test cloud.piranha.extension - piranha-extension-security-slim - ${project.version} - test - - - cloud.piranha.extension - piranha-extension-welcomefile + piranha-extension-standard-welcomefile ${project.version} test diff --git a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlExtension.java b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlExtension.java similarity index 90% rename from extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlExtension.java rename to extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlExtension.java index 80045870a1..d88a023de3 100644 --- a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlExtension.java +++ b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlExtension.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml; +package cloud.piranha.extension.standard.webxml; import java.lang.reflect.InvocationTargetException; import java.lang.System.Logger.Level; @@ -41,12 +41,12 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class WebXmlExtension implements WebApplicationExtension { +public class StandardWebXmlExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(WebXmlExtension.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardWebXmlExtension.class.getName()); /** * Configure the web application. @@ -59,7 +59,7 @@ public void configure(WebApplication webApplication) { ClassLoader classLoader = webApplication.getClassLoader(); Class clazz = classLoader. - loadClass(WebXmlInitializer.class.getName()) + loadClass(StandardWebXmlInitializer.class.getName()) .asSubclass(ServletContainerInitializer.class); ServletContainerInitializer initializer = clazz.getDeclaredConstructor().newInstance(); webApplication.addInitializer(initializer); diff --git a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlInitializer.java b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlInitializer.java similarity index 91% rename from extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlInitializer.java rename to extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlInitializer.java index 1dcfc892dc..07878e1b4e 100644 --- a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlInitializer.java +++ b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlInitializer.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml; +package cloud.piranha.extension.standard.webxml; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebXml; @@ -49,12 +49,12 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class WebXmlInitializer implements ServletContainerInitializer { +public class StandardWebXmlInitializer implements ServletContainerInitializer { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(WebXmlInitializer.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardWebXmlInitializer.class.getName()); /** * On startup. @@ -69,10 +69,10 @@ public void onStartup(Set> classes, ServletContext servletContext) thro try { WebApplication webApplication = (WebApplication) servletContext; - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); webApplication.getManager().setWebXmlManager(manager); - WebXmlParser parser = new WebXmlParser(); + StandardWebXmlParser parser = new StandardWebXmlParser(); InputStream inputStream = servletContext.getResourceAsStream("WEB-INF/web.xml"); if (inputStream != null) { WebXml webXml = parser.parse(servletContext.getResourceAsStream("WEB-INF/web.xml")); @@ -99,7 +99,7 @@ public void onStartup(Set> classes, ServletContext servletContext) thro if (manager.getWebXml() != null) { WebXml webXml = manager.getWebXml(); - WebXmlProcessor processor = new WebXmlProcessor(); + StandardWebXmlProcessor processor = new StandardWebXmlProcessor(); processor.process(webXml, webApplication); @@ -127,7 +127,7 @@ public void onStartup(Set> classes, ServletContext servletContext) thro * @param webApp the web application. * @param manager the web.xml manager. */ - private void removeExistingServletMappings(WebApplication webApp, DefaultWebXmlManager manager) { + private void removeExistingServletMappings(WebApplication webApp, StandardWebXmlManager manager) { for(WebXmlServletMapping mapping : manager.getWebXml().getServletMappings()) { for(WebXml fragment : manager.getOrderedFragments()) { ArrayList candidateList = new ArrayList<>(fragment.getServletMappings()); diff --git a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/DefaultWebXmlManager.java b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlManager.java similarity index 98% rename from extension/webxml/src/main/java/cloud/piranha/extension/webxml/DefaultWebXmlManager.java rename to extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlManager.java index 98af609286..b97a73c40e 100644 --- a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/DefaultWebXmlManager.java +++ b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlManager.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml; +package cloud.piranha.extension.standard.webxml; import cloud.piranha.core.api.WebXml; import static cloud.piranha.core.api.WebXml.OTHERS_TAG; @@ -47,7 +47,7 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class DefaultWebXmlManager implements WebXmlManager { +public class StandardWebXmlManager implements WebXmlManager { /** * Stores the initial web.xml diff --git a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlParser.java b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlParser.java similarity index 99% rename from extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlParser.java rename to extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlParser.java index 41c7165b23..fe14a21fa0 100644 --- a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlParser.java +++ b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlParser.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml; +package cloud.piranha.extension.standard.webxml; import cloud.piranha.core.api.WebXml; import cloud.piranha.core.api.WebXmlSecurityConstraint; @@ -77,7 +77,7 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class WebXmlParser { +public class StandardWebXmlParser { /** * Stores the 'location/text()' selector. @@ -87,7 +87,7 @@ public class WebXmlParser { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(WebXmlParser.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardWebXmlParser.class.getName()); /** * Stores the 'servlet-name/text()' selector. diff --git a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlProcessor.java b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlProcessor.java similarity index 98% rename from extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlProcessor.java rename to extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlProcessor.java index ef6b9eca28..65350cf2d4 100644 --- a/extension/webxml/src/main/java/cloud/piranha/extension/webxml/WebXmlProcessor.java +++ b/extension/standard-webxml/src/main/java/cloud/piranha/extension/standard/webxml/StandardWebXmlProcessor.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml; +package cloud.piranha.extension.standard.webxml; import cloud.piranha.core.api.LocaleEncodingManager; import cloud.piranha.core.api.MimeTypeManager; @@ -60,12 +60,12 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -public class WebXmlProcessor { +public class StandardWebXmlProcessor { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(WebXmlProcessor.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardWebXmlProcessor.class.getName()); /** * Stores the empty string array. diff --git a/extension/webxml/src/main/java/module-info.java b/extension/standard-webxml/src/main/java/module-info.java similarity index 80% rename from extension/webxml/src/main/java/module-info.java rename to extension/standard-webxml/src/main/java/module-info.java index 8adf07f3c5..0e272ed2ab 100644 --- a/extension/webxml/src/main/java/module-info.java +++ b/extension/standard-webxml/src/main/java/module-info.java @@ -27,16 +27,11 @@ */ /** - * The webxml extension module. + * The standard web.xml extension module delivers the standard web.xml + * processing. * *

- * This module delivers everything related to web.xml / web-fragment.xml - * parsing and processing. You can either use the WebApplicationExtension or - * the ServletContainerInitializer to add it to a Piranha runtime. - *

- * - *

- * Note that this extension allows you to inspect the effective WebXml to make + * Note that this module allows you to inspect the effective WebXml to make * sure it was processed correctly. It is however NOT RECOMMENDED that other * extensions / initializers directly use the WebXmlManager API to configure * themselves, but instead use other manager APIs or the WebApplication API. @@ -44,9 +39,9 @@ * * @author Manfred Riem (mriem@manorrock.com) */ -module cloud.piranha.extension.webxml { - exports cloud.piranha.extension.webxml; - opens cloud.piranha.extension.webxml; +module cloud.piranha.extension.standard.webxml { + exports cloud.piranha.extension.standard.webxml; + opens cloud.piranha.extension.standard.webxml; requires cloud.piranha.core.api; requires cloud.piranha.core.impl; requires java.xml; diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/ContextParamTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/ContextParamTest.java similarity index 92% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/ContextParamTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/ContextParamTest.java index 972368341d..59113b8c73 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/ContextParamTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/ContextParamTest.java @@ -25,10 +25,10 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.impl.DefaultWebApplication; -import cloud.piranha.extension.webxml.WebXmlInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import cloud.piranha.resource.impl.DirectoryResource; import java.io.File; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -50,7 +50,7 @@ class ContextParamTest { void testGetInitParameter() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/contextParam"))); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertEquals("myvalue", webApplication.getInitParameter("myname")); } diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/DefaultContextPathTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/DefaultContextPathTest.java similarity index 92% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/DefaultContextPathTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/DefaultContextPathTest.java index 411473658b..45ca888211 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/DefaultContextPathTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/DefaultContextPathTest.java @@ -25,10 +25,10 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.impl.DefaultWebApplication; -import cloud.piranha.extension.webxml.WebXmlInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import cloud.piranha.resource.impl.DirectoryResource; import java.io.File; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -50,7 +50,7 @@ class DefaultContextPathTest { void testGetContextPath() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/defaultContextPath"))); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertEquals("/defaultContextPath", webApplication.getContextPath()); } diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/EffectiveMajorVersionTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/EffectiveMajorVersionTest.java similarity index 92% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/EffectiveMajorVersionTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/EffectiveMajorVersionTest.java index 8c6b98bb20..f73d719123 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/EffectiveMajorVersionTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/EffectiveMajorVersionTest.java @@ -25,10 +25,10 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.impl.DefaultWebApplication; -import cloud.piranha.extension.webxml.WebXmlInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import cloud.piranha.resource.impl.DirectoryResource; import java.io.File; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -50,7 +50,7 @@ class EffectiveMajorVersionTest { void testEffectiveMajorVersion() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/effectiveMajorVersion1"))); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertEquals(5, webApplication.getEffectiveMajorVersion()); } diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/MimeMappingTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/MimeMappingTest.java similarity index 87% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/MimeMappingTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/MimeMappingTest.java index b8f92eadce..12ea4fe948 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/MimeMappingTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/MimeMappingTest.java @@ -25,11 +25,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.impl.DefaultWebApplication; -import cloud.piranha.extension.mimetype.DefaultMimeTypeManager; -import cloud.piranha.extension.webxml.WebXmlInitializer; +import cloud.piranha.extension.standard.mimetype.StandardMimeTypeManager; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import cloud.piranha.resource.impl.DirectoryResource; import java.io.File; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -50,10 +50,10 @@ class MimeMappingTest { @Test void testGetMimeType() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); - DefaultMimeTypeManager manager = new DefaultMimeTypeManager(); + StandardMimeTypeManager manager = new StandardMimeTypeManager(); webApplication.getManager().setMimeTypeManager(manager); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/mimeMapping"))); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertEquals("application/x-java-class", webApplication.getMimeType("my.class")); } diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlInitializerTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlInitializerTest.java similarity index 89% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlInitializerTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlInitializerTest.java index ecca2445c6..f7d619cc6c 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlInitializerTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlInitializerTest.java @@ -25,11 +25,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.impl.DefaultWebApplication; import cloud.piranha.core.impl.DefaultWebApplicationClassLoader; -import cloud.piranha.extension.webxml.WebXmlInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import cloud.piranha.resource.impl.DirectoryResource; import java.io.File; import jakarta.servlet.ServletRegistration; @@ -40,11 +40,11 @@ import org.junit.jupiter.api.Test; /** - * The JUnit tests for the WebXmlInitializer class. + * The JUnit tests for the StandardWebXmlInitializer class. * * @author Manfred Riem (mriem@manorrock.com) */ -class WebXmlInitializerTest { +class StandardWebXmlInitializerTest { /** * Test onStartup method. @@ -55,7 +55,7 @@ class WebXmlInitializerTest { void testOnStartup() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/init"))); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); ServletRegistration registration = webApplication.getServletRegistration("Test Servlet"); assertNotNull(registration); @@ -74,7 +74,7 @@ void testOnStartup() throws Exception { void testOnStartup2() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/init2"))); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertTrue(webApplication.isInitialized()); } @@ -88,7 +88,7 @@ void testOnStartup2() throws Exception { void testOnStartup3() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.setClassLoader(new DefaultWebApplicationClassLoader(new File("src/test/webxml/init3"))); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertEquals("/webfragmentInClassesMetaInf", webApplication.getContextPath()); } diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlManagerTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlManagerTest.java similarity index 88% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlManagerTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlManagerTest.java index 183794ac7d..f96494e7c7 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlManagerTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlManagerTest.java @@ -25,11 +25,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.api.WebXml; import static cloud.piranha.core.api.WebXml.OTHERS_TAG; -import cloud.piranha.extension.webxml.DefaultWebXmlManager; +import cloud.piranha.extension.standard.webxml.StandardWebXmlManager; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -39,7 +39,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; -class WebXmlManagerTest { +class StandardWebXmlManagerTest { private static WebXml toWebFragment(String fragmentName) { WebXml fragment = new WebXml(); @@ -49,14 +49,14 @@ private static WebXml toWebFragment(String fragmentName) { @Test void testNoOrdering() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); List fragmentNames = Arrays.asList("a", "b", "c", "d", "e"); Collections.shuffle(fragmentNames); - manager.setWebFragments(fragmentNames.stream().map(WebXmlManagerTest::toWebFragment).toList()); + manager.setWebFragments(fragmentNames.stream().map(StandardWebXmlManagerTest::toWebFragment).toList()); List orderedFragments = manager.getOrderedFragments(); assertEquals(5, orderedFragments.size()); @@ -69,7 +69,7 @@ void testNoOrdering() { @Test void testAbsoluteOrdering() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); @@ -78,7 +78,7 @@ void testAbsoluteOrdering() { List fragmentNames = Arrays.asList("a", "b", "c", "d", "e"); Collections.shuffle(fragmentNames); - manager.setWebFragments(fragmentNames.stream().map(WebXmlManagerTest::toWebFragment).toList()); + manager.setWebFragments(fragmentNames.stream().map(StandardWebXmlManagerTest::toWebFragment).toList()); List orderedFragments = manager.getOrderedFragments(); assertEquals(3, orderedFragments.size()); @@ -89,7 +89,7 @@ void testAbsoluteOrdering() { @Test void testAbsoluteOrdering2() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); @@ -98,7 +98,7 @@ void testAbsoluteOrdering2() { List fragmentNames = Arrays.asList("a", "b", "c", "d", "e"); Collections.shuffle(fragmentNames); - manager.setWebFragments(fragmentNames.stream().map(WebXmlManagerTest::toWebFragment).toList()); + manager.setWebFragments(fragmentNames.stream().map(StandardWebXmlManagerTest::toWebFragment).toList()); List orderedFragments = manager.getOrderedFragments(); assertEquals(3, orderedFragments.size()); @@ -109,7 +109,7 @@ void testAbsoluteOrdering2() { @Test void testAbsoluteOrdering3() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); @@ -118,7 +118,7 @@ void testAbsoluteOrdering3() { List fragmentNames = Arrays.asList("a", "b", "c", "d", "e"); Collections.shuffle(fragmentNames); - manager.setWebFragments(fragmentNames.stream().map(WebXmlManagerTest::toWebFragment).toList()); + manager.setWebFragments(fragmentNames.stream().map(StandardWebXmlManagerTest::toWebFragment).toList()); List orderedFragments = manager.getOrderedFragments(); assertEquals(5, orderedFragments.size()); @@ -131,7 +131,7 @@ void testAbsoluteOrdering3() { @Test void testAbsoluteOrdering4() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); @@ -140,7 +140,7 @@ void testAbsoluteOrdering4() { List fragmentNames = Arrays.asList("a", "b", "c", "d", "e"); Collections.shuffle(fragmentNames); - manager.setWebFragments(fragmentNames.stream().map(WebXmlManagerTest::toWebFragment).toList()); + manager.setWebFragments(fragmentNames.stream().map(StandardWebXmlManagerTest::toWebFragment).toList()); List orderedFragments = manager.getOrderedFragments(); assertEquals(5, orderedFragments.size()); @@ -153,7 +153,7 @@ void testAbsoluteOrdering4() { @Test void testAbsoluteOrdering5() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); @@ -162,7 +162,7 @@ void testAbsoluteOrdering5() { List fragmentNames = Arrays.asList("a", "b", "c", "d", "e"); Collections.shuffle(fragmentNames); - manager.setWebFragments(fragmentNames.stream().map(WebXmlManagerTest::toWebFragment).toList()); + manager.setWebFragments(fragmentNames.stream().map(StandardWebXmlManagerTest::toWebFragment).toList()); List orderedFragments = manager.getOrderedFragments(); assertEquals(5, orderedFragments.size()); @@ -175,7 +175,7 @@ void testAbsoluteOrdering5() { @Test void testRelativeOrdering() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); @@ -208,7 +208,7 @@ void testRelativeOrdering() { @Test void testRelativeOrdering2() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); @@ -247,7 +247,7 @@ void testRelativeOrdering2() { @Test void testRelativeOrdering3() { - DefaultWebXmlManager manager = new DefaultWebXmlManager(); + StandardWebXmlManager manager = new StandardWebXmlManager(); WebXml webXml = new WebXml(); manager.setWebXml(webXml); diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlParserTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlParserTest.java similarity index 92% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlParserTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlParserTest.java index b32ff87b6e..bdcf64cc18 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WebXmlParserTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/StandardWebXmlParserTest.java @@ -25,11 +25,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.impl.DefaultWebApplication; import cloud.piranha.core.api.WebXml; -import cloud.piranha.extension.webxml.WebXmlParser; +import cloud.piranha.extension.standard.webxml.StandardWebXmlParser; import cloud.piranha.core.api.WebXmlServletMapping; import cloud.piranha.resource.impl.DirectoryResource; import java.io.File; @@ -42,11 +42,11 @@ import org.junit.jupiter.api.Test; /** - * The JUnit tests for the WebXmlParser class. + * The JUnit tests for the StandardWebXmlParser class. * * @author Manfred Riem (mriem@manorrock.com) */ -class WebXmlParserTest { +class StandardWebXmlParserTest { /** * Test parse method. @@ -58,7 +58,7 @@ void testParseWebXml() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/parse"))); InputStream inputStream = webApplication.getResourceAsStream("WEB-INF/web.xml"); - WebXmlParser parser = new WebXmlParser(); + StandardWebXmlParser parser = new StandardWebXmlParser(); WebXml webXml = parser.parse(inputStream); assertFalse(webXml.getServlets().isEmpty()); assertEquals(2, webXml.getServlets().size()); @@ -83,7 +83,7 @@ void testParseWebXml2() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/parse2"))); InputStream inputStream = webApplication.getResourceAsStream("WEB-INF/web.xml"); - WebXmlParser parser = new WebXmlParser(); + StandardWebXmlParser parser = new StandardWebXmlParser(); WebXml webXml = parser.parse(inputStream); assertFalse(webXml.getDenyUncoveredHttpMethods()); assertNotEquals("myServletContextName", webXml.getDisplayName()); @@ -101,7 +101,7 @@ void testParseWebXml3() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/parse3"))); InputStream inputStream = webApplication.getResourceAsStream("WEB-INF/web.xml"); - WebXmlParser parser = new WebXmlParser(); + StandardWebXmlParser parser = new StandardWebXmlParser(); WebXml webXml = parser.parse(inputStream); assertEquals(2, webXml.getWelcomeFiles().size()); assertEquals("index.html", webXml.getWelcomeFiles().get(0)); @@ -118,7 +118,7 @@ void testParseWebXml4() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/parse4"))); InputStream inputStream = webApplication.getResourceAsStream("WEB-INF/web.xml"); - WebXmlParser parser = new WebXmlParser(); + StandardWebXmlParser parser = new StandardWebXmlParser(); WebXml webXml = parser.parse(inputStream); assertEquals(1, webXml.getServlets().size()); String servletName = webXml.getServlets().get(0).getServletName(); diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestFilter.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestFilter.java similarity index 97% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestFilter.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestFilter.java index edc6444ca0..7b83773648 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestFilter.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestFilter.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import java.io.IOException; import jakarta.servlet.Filter; diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestServlet.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestServlet.java similarity index 96% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestServlet.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestServlet.java index ebc3e39f90..d3e64c9a08 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestServlet.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestServlet.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import jakarta.servlet.http.HttpServlet; diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestWithoutLeadingSlashServlet.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestWithoutLeadingSlashServlet.java similarity index 97% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestWithoutLeadingSlashServlet.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestWithoutLeadingSlashServlet.java index 98d62beed7..0c083f34bd 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/TestWithoutLeadingSlashServlet.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/TestWithoutLeadingSlashServlet.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WelcomeFileTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/WelcomeFileTest.java similarity index 85% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WelcomeFileTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/WelcomeFileTest.java index 9f433b104d..823e1ee47a 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WelcomeFileTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/WelcomeFileTest.java @@ -25,11 +25,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.impl.DefaultWebApplication; -import cloud.piranha.extension.webxml.WebXmlInitializer; -import cloud.piranha.extension.welcomefile.DefaultWelcomeFileManager; +import cloud.piranha.extension.standard.welcomefile.StandardWelcomeFileManager; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import cloud.piranha.resource.impl.DirectoryResource; import java.io.File; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -52,8 +52,8 @@ class WelcomeFileTest { void testGetWelcomeFileList() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/welcomeFile"))); - webApplication.getManager().setWelcomeFileManager(new DefaultWelcomeFileManager()); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.getManager().setWelcomeFileManager(new StandardWelcomeFileManager()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertTrue(webApplication.getManager().getWelcomeFileManager().getWelcomeFileList().contains("index.xhtml")); } @@ -67,8 +67,8 @@ void testGetWelcomeFileList() throws Exception { void testGetWelcomeFileList2() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/welcomeFile"))); - webApplication.getManager().setWelcomeFileManager(new DefaultWelcomeFileManager()); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.getManager().setWelcomeFileManager(new StandardWelcomeFileManager()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertFalse(webApplication.getManager().getWelcomeFileManager().getWelcomeFileList().contains("index.jsp")); } diff --git a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WithoutLeadingSlashTest.java b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/WithoutLeadingSlashTest.java similarity index 94% rename from extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WithoutLeadingSlashTest.java rename to extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/WithoutLeadingSlashTest.java index a33517a87c..41f6efecd1 100644 --- a/extension/webxml/src/test/java/cloud/piranha/extension/webxml/tests/WithoutLeadingSlashTest.java +++ b/extension/standard-webxml/src/test/java/cloud/piranha/extension/standard/webxml/tests/WithoutLeadingSlashTest.java @@ -25,12 +25,12 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.webxml.tests; +package cloud.piranha.extension.standard.webxml.tests; import cloud.piranha.core.impl.DefaultWebApplication; import cloud.piranha.core.impl.DefaultWebApplicationRequest; import cloud.piranha.core.impl.DefaultWebApplicationResponse; -import cloud.piranha.extension.webxml.WebXmlInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import cloud.piranha.resource.impl.DirectoryResource; import java.io.ByteArrayOutputStream; import java.io.File; @@ -53,7 +53,7 @@ class WithoutLeadingSlashTest { void testWithoutLeadingSlash() throws Exception { DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.addResource(new DirectoryResource(new File("src/test/webxml/withoutLeadingSlash1"))); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); webApplication.start(); diff --git a/extension/standard-webxml/src/test/java/module-info.java b/extension/standard-webxml/src/test/java/module-info.java new file mode 100644 index 0000000000..44e30d513e --- /dev/null +++ b/extension/standard-webxml/src/test/java/module-info.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * The tests module for this project. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +module cloud.piranha.extension.standard.webxml.tests { + exports cloud.piranha.extension.standard.webxml.tests; + opens cloud.piranha.extension.standard.webxml.tests; + requires cloud.piranha.core.api; + requires cloud.piranha.core.impl; + requires cloud.piranha.extension.standard.mimetype; + requires cloud.piranha.extension.standard.welcomefile; + requires cloud.piranha.extension.standard.webxml; + requires org.junit.jupiter.api; + requires org.junit.platform.launcher; +} diff --git a/extension/webxml/src/test/webxml/contextParam/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/contextParam/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/contextParam/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/contextParam/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/defaultContextPath/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/defaultContextPath/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/defaultContextPath/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/defaultContextPath/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/effectiveMajorVersion1/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/effectiveMajorVersion1/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/effectiveMajorVersion1/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/effectiveMajorVersion1/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/init/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/init/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/init/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/init/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/init2/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/init2/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/init2/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/init2/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/init3/WEB-INF/classes/META-INF/web-fragment.xml b/extension/standard-webxml/src/test/webxml/init3/WEB-INF/classes/META-INF/web-fragment.xml similarity index 100% rename from extension/webxml/src/test/webxml/init3/WEB-INF/classes/META-INF/web-fragment.xml rename to extension/standard-webxml/src/test/webxml/init3/WEB-INF/classes/META-INF/web-fragment.xml diff --git a/extension/webxml/src/test/webxml/mimeMapping/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/mimeMapping/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/mimeMapping/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/mimeMapping/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/parse/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/parse/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/parse/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/parse/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/parse2/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/parse2/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/parse2/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/parse2/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/parse3/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/parse3/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/parse3/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/parse3/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/parse4/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/parse4/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/parse4/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/parse4/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/welcomeFile/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/welcomeFile/WEB-INF/web.xml similarity index 100% rename from extension/webxml/src/test/webxml/welcomeFile/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/welcomeFile/WEB-INF/web.xml diff --git a/extension/webxml/src/test/webxml/withoutLeadingSlash1/WEB-INF/web.xml b/extension/standard-webxml/src/test/webxml/withoutLeadingSlash1/WEB-INF/web.xml similarity index 81% rename from extension/webxml/src/test/webxml/withoutLeadingSlash1/WEB-INF/web.xml rename to extension/standard-webxml/src/test/webxml/withoutLeadingSlash1/WEB-INF/web.xml index 2270b6f935..3e0e7cbd93 100644 --- a/extension/webxml/src/test/webxml/withoutLeadingSlash1/WEB-INF/web.xml +++ b/extension/standard-webxml/src/test/webxml/withoutLeadingSlash1/WEB-INF/web.xml @@ -3,7 +3,7 @@ TestServlet - cloud.piranha.extension.webxml.tests.TestWithoutLeadingSlashServlet + cloud.piranha.extension.standard.webxml.tests.TestWithoutLeadingSlashServlet TestServlet diff --git a/extension/welcomefile/pom.xml b/extension/standard-welcomefile/pom.xml similarity index 91% rename from extension/welcomefile/pom.xml rename to extension/standard-welcomefile/pom.xml index 2f8909695a..9e9c9ec394 100644 --- a/extension/welcomefile/pom.xml +++ b/extension/standard-welcomefile/pom.xml @@ -7,9 +7,9 @@ project 22.1.0-SNAPSHOT - piranha-extension-welcomefile + piranha-extension-standard-welcomefile jar - Piranha - Extension - Welcome File + Piranha - Extension - Standard Welcome File diff --git a/extension/welcomefile/src/main/java/cloud/piranha/extension/welcomefile/WelcomeFileExtension.java b/extension/standard-welcomefile/src/main/java/cloud/piranha/extension/standard/welcomefile/StandardWelcomeFileExtension.java similarity index 79% rename from extension/welcomefile/src/main/java/cloud/piranha/extension/welcomefile/WelcomeFileExtension.java rename to extension/standard-welcomefile/src/main/java/cloud/piranha/extension/standard/welcomefile/StandardWelcomeFileExtension.java index 190bd4a03c..ba79fb1644 100644 --- a/extension/welcomefile/src/main/java/cloud/piranha/extension/welcomefile/WelcomeFileExtension.java +++ b/extension/standard-welcomefile/src/main/java/cloud/piranha/extension/standard/welcomefile/StandardWelcomeFileExtension.java @@ -25,7 +25,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.welcomefile; +package cloud.piranha.extension.standard.welcomefile; import cloud.piranha.core.api.WebApplication; import cloud.piranha.core.api.WebApplicationExtension; @@ -33,25 +33,20 @@ import static java.lang.System.Logger.Level.DEBUG; /** - * The welcome-file extension. - * + * The WebApplicationExtension that sets the StandardWelcomeFileManager. + * * @author Manfred Riem (mriem@manorrock.com) */ -public class WelcomeFileExtension implements WebApplicationExtension { +public class StandardWelcomeFileExtension implements WebApplicationExtension { /** * Stores the logger. */ - private static final Logger LOGGER = System.getLogger(WelcomeFileExtension.class.getName()); + private static final Logger LOGGER = System.getLogger(StandardWelcomeFileExtension.class.getName()); - /** - * Configure the web application. - * - * @param webApplication the web application. - */ @Override public void configure(WebApplication webApplication) { - LOGGER.log(DEBUG, "Setting WelcomeFileManager"); - webApplication.getManager().setWelcomeFileManager(new DefaultWelcomeFileManager()); + LOGGER.log(DEBUG, "Setting the StandardWelcomeFileManager"); + webApplication.getManager().setWelcomeFileManager(new StandardWelcomeFileManager()); } } diff --git a/extension/welcomefile/src/main/java/cloud/piranha/extension/welcomefile/DefaultWelcomeFileManager.java b/extension/standard-welcomefile/src/main/java/cloud/piranha/extension/standard/welcomefile/StandardWelcomeFileManager.java similarity index 92% rename from extension/welcomefile/src/main/java/cloud/piranha/extension/welcomefile/DefaultWelcomeFileManager.java rename to extension/standard-welcomefile/src/main/java/cloud/piranha/extension/standard/welcomefile/StandardWelcomeFileManager.java index 11c1eeccbc..cc5d618535 100644 --- a/extension/welcomefile/src/main/java/cloud/piranha/extension/welcomefile/DefaultWelcomeFileManager.java +++ b/extension/standard-welcomefile/src/main/java/cloud/piranha/extension/standard/welcomefile/StandardWelcomeFileManager.java @@ -25,18 +25,18 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.welcomefile; +package cloud.piranha.extension.standard.welcomefile; import cloud.piranha.core.api.WelcomeFileManager; import java.util.ArrayList; import java.util.List; /** - * The default WelcomeFileManager. + * The standard WelcomeFileManager. * * @author Manfred Riem (mriem@manorrock.com) */ -public class DefaultWelcomeFileManager implements WelcomeFileManager { +public class StandardWelcomeFileManager implements WelcomeFileManager { /** * Stores the remove defaults flag. @@ -51,7 +51,7 @@ public class DefaultWelcomeFileManager implements WelcomeFileManager { /** * Constructor. */ - public DefaultWelcomeFileManager() { + public StandardWelcomeFileManager() { removeDefaults = true; welcomeFileList = new ArrayList<>(); welcomeFileList.add("index.jsp"); diff --git a/extension/standard-welcomefile/src/main/java/module-info.java b/extension/standard-welcomefile/src/main/java/module-info.java new file mode 100644 index 0000000000..7f36bbbcd2 --- /dev/null +++ b/extension/standard-welcomefile/src/main/java/module-info.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * The standard welcome-file extension module delivers the standard welcome-file + * handling. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +module cloud.piranha.extension.standard.welcomefile { + exports cloud.piranha.extension.standard.welcomefile; + opens cloud.piranha.extension.standard.welcomefile; + requires cloud.piranha.core.api; +} diff --git a/extension/standard-welcomefile/src/test/java/cloud/piranha/extension/standard/welcomefile/tests/StandardWelcomeFileExtensionTest.java b/extension/standard-welcomefile/src/test/java/cloud/piranha/extension/standard/welcomefile/tests/StandardWelcomeFileExtensionTest.java new file mode 100644 index 0000000000..1d4c0d43e5 --- /dev/null +++ b/extension/standard-welcomefile/src/test/java/cloud/piranha/extension/standard/welcomefile/tests/StandardWelcomeFileExtensionTest.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +package cloud.piranha.extension.standard.welcomefile.tests; + +import cloud.piranha.core.impl.DefaultWebApplication; +import cloud.piranha.extension.standard.welcomefile.StandardWelcomeFileExtension; +import cloud.piranha.extension.standard.welcomefile.StandardWelcomeFileManager; +import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.Test; + +/** + * The JUnit tests for the StandardWelcomeFileExtension class. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +public class StandardWelcomeFileExtensionTest { + + /** + * Test configure method. + */ + @Test + public void testConfigure() { + System.out.println("configure"); + DefaultWebApplication webApplication = new DefaultWebApplication(); + StandardWelcomeFileExtension extension = new StandardWelcomeFileExtension(); + extension.configure(webApplication); + webApplication.initialize(); + assertTrue(webApplication.getManager() + .getWelcomeFileManager() instanceof StandardWelcomeFileManager); + } +} diff --git a/extension/welcomefile/src/test/java/cloud/piranha/extension/welcomefile/tests/WelcomeFileTest.java b/extension/standard-welcomefile/src/test/java/cloud/piranha/extension/standard/welcomefile/tests/StandardWelcomeFileManagerTest.java similarity index 91% rename from extension/welcomefile/src/test/java/cloud/piranha/extension/welcomefile/tests/WelcomeFileTest.java rename to extension/standard-welcomefile/src/test/java/cloud/piranha/extension/standard/welcomefile/tests/StandardWelcomeFileManagerTest.java index 6a0abd9195..a07416c41b 100644 --- a/extension/welcomefile/src/test/java/cloud/piranha/extension/welcomefile/tests/WelcomeFileTest.java +++ b/extension/standard-welcomefile/src/test/java/cloud/piranha/extension/standard/welcomefile/tests/StandardWelcomeFileManagerTest.java @@ -25,13 +25,13 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cloud.piranha.extension.welcomefile.tests; +package cloud.piranha.extension.standard.welcomefile.tests; import cloud.piranha.core.impl.DefaultServlet; import cloud.piranha.core.impl.DefaultWebApplication; import cloud.piranha.core.impl.DefaultWebApplicationRequest; import cloud.piranha.core.impl.DefaultWebApplicationResponse; -import cloud.piranha.extension.welcomefile.DefaultWelcomeFileManager; +import cloud.piranha.extension.standard.welcomefile.StandardWelcomeFileManager; import cloud.piranha.resource.impl.DirectoryResource; import org.junit.jupiter.api.Test; import java.io.ByteArrayOutputStream; @@ -40,11 +40,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; /** - * The JUnit tests to test the welcome-file functionality. + * The JUnit tests for the StandardWelcomeFileManager class. * * @author Manfred Riem (mriem@manorrock.com) */ -class WelcomeFileTest { +class StandardWelcomeFileManagerTest { /** * Test an index.html file. @@ -55,7 +55,7 @@ class WelcomeFileTest { void testWelcomeFile1() throws Exception { DefaultWebApplication webApp = new DefaultWebApplication(); webApp.addResource(new DirectoryResource(new File("src/test/webapp/welcomefile1"))); - webApp.getManager().setWelcomeFileManager(new DefaultWelcomeFileManager()); + webApp.getManager().setWelcomeFileManager(new StandardWelcomeFileManager()); DefaultWebApplicationRequest request = new DefaultWebApplicationRequest(); request.setWebApplication(webApp); DefaultWebApplicationResponse response = new DefaultWebApplicationResponse(); @@ -80,7 +80,7 @@ void testWelcomeFile1() throws Exception { @Test void testWelcomeFile2() throws Exception { DefaultWebApplication webApp = new DefaultWebApplication(); - webApp.getManager().setWelcomeFileManager(new DefaultWelcomeFileManager()); + webApp.getManager().setWelcomeFileManager(new StandardWelcomeFileManager()); webApp.getManager().getWelcomeFileManager().addWelcomeFile("custom.html"); webApp.addResource(new DirectoryResource(new File("src/test/webapp/welcomefile2"))); DefaultWebApplicationRequest request = new DefaultWebApplicationRequest(); diff --git a/extension/standard-welcomefile/src/test/java/module-info.java b/extension/standard-welcomefile/src/test/java/module-info.java new file mode 100644 index 0000000000..cc0483d108 --- /dev/null +++ b/extension/standard-welcomefile/src/test/java/module-info.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * The tests module for this project. + * + * @author Manfred Riem (mriem@manorrock.com) + */ +module cloud.piranha.extension.standard.welcomefile.tests { + exports cloud.piranha.extension.standard.welcomefile.tests; + opens cloud.piranha.extension.standard.welcomefile.tests; + requires cloud.piranha.extension.standard.welcomefile; + requires cloud.piranha.core.api; + requires cloud.piranha.core.impl; + requires org.junit.jupiter.api; + requires org.junit.platform.launcher; +} diff --git a/extension/welcomefile/src/test/webapp/welcomefile1/index.html b/extension/standard-welcomefile/src/test/webapp/welcomefile1/index.html similarity index 100% rename from extension/welcomefile/src/test/webapp/welcomefile1/index.html rename to extension/standard-welcomefile/src/test/webapp/welcomefile1/index.html diff --git a/extension/welcomefile/src/test/webapp/welcomefile2/custom.html b/extension/standard-welcomefile/src/test/webapp/welcomefile2/custom.html similarity index 100% rename from extension/welcomefile/src/test/webapp/welcomefile2/custom.html rename to extension/standard-welcomefile/src/test/webapp/welcomefile2/custom.html diff --git a/extension/standard/pom.xml b/extension/standard/pom.xml index 0e8f77b5a8..58f3ec0307 100644 --- a/extension/standard/pom.xml +++ b/extension/standard/pom.xml @@ -17,10 +17,10 @@ This module delivers the default set of extensions for Piranha Server. - + - cloud.piranha.extension - piranha-extension-async + cloud.piranha.core + piranha-core-api ${project.version} compile @@ -44,76 +44,75 @@ cloud.piranha.extension - piranha-extension-locale_encoding + piranha-extension-policy ${project.version} compile cloud.piranha.extension - piranha-extension-logging + piranha-extension-security-servlet ${project.version} compile cloud.piranha.extension - piranha-extension-mimetype + piranha-extension-standard-async ${project.version} compile cloud.piranha.extension - piranha-extension-policy + piranha-extension-standard-localeencoding ${project.version} compile cloud.piranha.extension - piranha-extension-scinitializer + piranha-extension-standard-logging ${project.version} compile cloud.piranha.extension - piranha-extension-security-servlet + piranha-extension-standard-mimetype ${project.version} compile cloud.piranha.extension - piranha-extension-tempdir + piranha-extension-standard-servletannotations ${project.version} compile cloud.piranha.extension - piranha-extension-wasp + piranha-extension-standard-scinitializer ${project.version} compile cloud.piranha.extension - piranha-extension-webannotations + piranha-extension-standard-tempdir ${project.version} compile cloud.piranha.extension - piranha-extension-webxml + piranha-extension-standard-webxml ${project.version} compile cloud.piranha.extension - piranha-extension-welcomefile + piranha-extension-standard-welcomefile ${project.version} compile - - cloud.piranha.core - piranha-core-api + cloud.piranha.extension + piranha-extension-wasp ${project.version} - provided + compile diff --git a/extension/standard/src/main/java/cloud/piranha/extension/standard/StandardExtension.java b/extension/standard/src/main/java/cloud/piranha/extension/standard/StandardExtension.java index 204b64b373..df0ed8a2bb 100644 --- a/extension/standard/src/main/java/cloud/piranha/extension/standard/StandardExtension.java +++ b/extension/standard/src/main/java/cloud/piranha/extension/standard/StandardExtension.java @@ -31,21 +31,21 @@ import cloud.piranha.core.api.WebApplicationExtensionContext; import cloud.piranha.extension.apache.fileupload.ApacheMultiPartExtension; import cloud.piranha.extension.annotationscan.AnnotationScanExtension; -import cloud.piranha.extension.async.AsyncExtension; import cloud.piranha.extension.herring.HerringExtension; -import cloud.piranha.extension.locale_encoding.LocaleEncodingExtension; -import cloud.piranha.extension.logging.DefaultLoggingExtension; -import cloud.piranha.extension.mimetype.MimeTypeExtension; import cloud.piranha.extension.policy.PolicyExtension; -import cloud.piranha.extension.scinitializer.ServletContainerInitializerExtension; import cloud.piranha.extension.security.servlet.ServletSecurityExtension; import cloud.piranha.extension.security.servlet.ServletSecurityManagerExtension; -import cloud.piranha.extension.tempdir.TempDirExtension; +import cloud.piranha.extension.standard.async.StandardAsyncExtension; +import cloud.piranha.extension.standard.localeencoding.StandardLocaleEncodingExtension; +import cloud.piranha.extension.standard.logging.StandardLoggingExtension; +import cloud.piranha.extension.standard.mimetype.StandardMimeTypeExtension; +import cloud.piranha.extension.standard.scinitializer.StandardServletContainerInitializerExtension; +import cloud.piranha.extension.standard.servletannotations.StandardServletAnnotationsExtension; +import cloud.piranha.extension.standard.tempdir.StandardTempDirExtension; +import cloud.piranha.extension.standard.webxml.StandardWebXmlExtension; +import cloud.piranha.extension.standard.welcomefile.StandardWelcomeFileExtension; import cloud.piranha.extension.wasp.WaspExtension; import cloud.piranha.extension.wasp.WaspJspManagerExtension; -import cloud.piranha.extension.webannotations.WebAnnotationsExtension; -import cloud.piranha.extension.webxml.WebXmlExtension; -import cloud.piranha.extension.welcomefile.WelcomeFileExtension; /** * The extension that delivers the extensions for Piranha Micro/Server. @@ -56,22 +56,22 @@ public class StandardExtension implements WebApplicationExtension { @Override public void extend(WebApplicationExtensionContext context) { + context.add(StandardAsyncExtension.class); + context.add(StandardLocaleEncodingExtension.class); + context.add(StandardLoggingExtension.class); + context.add(StandardMimeTypeExtension.class); + context.add(StandardTempDirExtension.class); + context.add(StandardWelcomeFileExtension.class); context.add(ServletSecurityManagerExtension.class); context.add(ApacheMultiPartExtension.class); - context.add(AsyncExtension.class); - context.add(WelcomeFileExtension.class); context.add(WaspJspManagerExtension.class); - context.add(DefaultLoggingExtension.class); - context.add(MimeTypeExtension.class); context.add(HerringExtension.class); - context.add(LocaleEncodingExtension.class); context.add(PolicyExtension.class); context.add(AnnotationScanExtension.class); - context.add(WebXmlExtension.class); - context.add(WebAnnotationsExtension.class); - context.add(TempDirExtension.class); + context.add(StandardWebXmlExtension.class); + context.add(StandardServletAnnotationsExtension.class); context.add(WaspExtension.class); - context.add(ServletContainerInitializerExtension.class); + context.add(StandardServletContainerInitializerExtension.class); context.add(ServletSecurityExtension.class); } } diff --git a/extension/standard/src/main/java/module-info.java b/extension/standard/src/main/java/module-info.java index 1a78dc9d1c..83c75be425 100644 --- a/extension/standard/src/main/java/module-info.java +++ b/extension/standard/src/main/java/module-info.java @@ -35,33 +35,27 @@ *

    *
  • Annotation scanning support
  • *
  • JNDI support (Manorrock Herring)
  • - *
  • Logging support
  • - *
  • Mimetype support
  • *
  • Policy support
  • - *
  • ServletContainerInitializer support
  • - *
  • TEMPDIR support
  • *
  • WaSP support
  • - *
  • Web annotations support
  • - *
  • Web.xml support
  • *
*/ module cloud.piranha.extension.standard { exports cloud.piranha.extension.standard; opens cloud.piranha.extension.standard; requires cloud.piranha.extension.apache.fileupload; - requires cloud.piranha.extension.async; requires cloud.piranha.extension.annotationscan; requires cloud.piranha.extension.herring; - requires cloud.piranha.extension.locale_encoding; - requires cloud.piranha.extension.logging; - requires cloud.piranha.extension.mimetype; requires cloud.piranha.extension.policy; - requires cloud.piranha.extension.scinitializer; requires cloud.piranha.extension.security.servlet; - requires cloud.piranha.extension.tempdir; + requires cloud.piranha.extension.standard.async; + requires cloud.piranha.extension.standard.localeencoding; + requires cloud.piranha.extension.standard.logging; + requires cloud.piranha.extension.standard.mimetype; + requires cloud.piranha.extension.standard.servletannotations; + requires cloud.piranha.extension.standard.scinitializer; + requires cloud.piranha.extension.standard.tempdir; + requires cloud.piranha.extension.standard.webxml; + requires cloud.piranha.extension.standard.welcomefile; requires cloud.piranha.extension.wasp; - requires cloud.piranha.extension.webannotations; - requires cloud.piranha.extension.webxml; - requires cloud.piranha.extension.welcomefile; requires cloud.piranha.core.api; } diff --git a/extension/tempdir/src/main/java/module-info.java b/extension/tempdir/src/main/java/module-info.java deleted file mode 100644 index cbb7d8c695..0000000000 --- a/extension/tempdir/src/main/java/module-info.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2002-2022 Manorrock.com. All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/** - *

- * This module delivers the temporary directory functionality required for web - * applications. - *

- *

- * It includes the following: - *

- *
    - *
  • A WebApplicationExtension
  • - *
  • A ServletContainerInitializer
  • - *
- *

The WebApplicationExtension

- *

- * The extension is responsible for adding the ServletContainerInitializer. - *

- *

The ServletContainerInitializer

- *

- * The initializer is responsible for creating the temporary directory on the - * filesystem and setting the context attribute to point to that directory. - *

- * - * @author Manfred Riem (mriem@manorrock.com) - */ -module cloud.piranha.extension.tempdir { - exports cloud.piranha.extension.tempdir; - opens cloud.piranha.extension.tempdir; - requires cloud.piranha.core.api; -} diff --git a/extension/webxml/pom.xml.original~ b/extension/webxml/pom.xml.original~ deleted file mode 100644 index 1540040846..0000000000 --- a/extension/webxml/pom.xml.original~ +++ /dev/null @@ -1,53 +0,0 @@ - - - - 4.0.0 - - - cloud.piranha.extension - project - 21.8.0-SNAPSHOT - - - piranha-extension-webxml - jar - - Piranha Extension - web.xml - - - - cloud.piranha.resource - piranha-resource-impl - ${project.version} - provided - - - cloud.piranha.servlet - piranha-servlet-api - ${project.version} - provided - - - cloud.piranha.webapp - piranha-webapp-api - ${project.version} - provided - - - cloud.piranha.webapp - piranha-webapp-impl - ${project.version} - provided - - - org.junit.jupiter - junit-jupiter-engine - test - - - org.junit.platform - junit-platform-launcher - test - - - diff --git a/extension/webxml/src/test/webxml/init/WEB-INF/web.xml.original~ b/extension/webxml/src/test/webxml/init/WEB-INF/web.xml.original~ deleted file mode 100644 index 92b40f5aef..0000000000 --- a/extension/webxml/src/test/webxml/init/WEB-INF/web.xml.original~ +++ /dev/null @@ -1,28 +0,0 @@ - - - - myservletcontext - - myname - myvalue - - - Test Servlet - cloud.piranha.extension.webxml.tests.TestServlet - 1 - - - Test Servlet - *.html - - - 30 - - - class - application/x-java-class - - diff --git a/micro/core/pom.xml b/micro/core/pom.xml index c32ae4552f..cfe0b0da69 100644 --- a/micro/core/pom.xml +++ b/micro/core/pom.xml @@ -24,6 +24,5 @@ ${project.version} compile -
diff --git a/micro/core/src/main/java/module-info.java b/micro/core/src/main/java/module-info.java index 5ec841a277..2f14e5b5dc 100644 --- a/micro/core/src/main/java/module-info.java +++ b/micro/core/src/main/java/module-info.java @@ -26,8 +26,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -import cloud.piranha.http.api.HttpServer; - /** * The core module for Piranha Micro variants. * @@ -40,5 +38,5 @@ requires cloud.piranha.core.impl; requires cloud.piranha.http.api; requires cloud.piranha.http.webapp; - uses HttpServer; + uses cloud.piranha.http.api.HttpServer; } diff --git a/test/exousia/pom.xml b/test/exousia/pom.xml index 1e38381619..9d873c2bcd 100644 --- a/test/exousia/pom.xml +++ b/test/exousia/pom.xml @@ -19,6 +19,7 @@ + cloud.piranha.extension piranha-extension-security-servlet @@ -27,7 +28,7 @@ cloud.piranha.extension - piranha-extension-webxml + piranha-extension-standard-webxml ${project.version} test diff --git a/test/exousia/src/test/java/cloud/piranha/test/exousia/BasicConnectionTest.java b/test/exousia/src/test/java/cloud/piranha/test/exousia/BasicConnectionTest.java index 6476f68bf2..5d58792a21 100644 --- a/test/exousia/src/test/java/cloud/piranha/test/exousia/BasicConnectionTest.java +++ b/test/exousia/src/test/java/cloud/piranha/test/exousia/BasicConnectionTest.java @@ -33,7 +33,7 @@ import cloud.piranha.embedded.EmbeddedRequestBuilder; import cloud.piranha.embedded.EmbeddedResponse; import cloud.piranha.extension.exousia.AuthorizationPreInitializer; -import cloud.piranha.extension.webxml.WebXmlInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import static cloud.piranha.extension.exousia.AuthorizationPreInitializer.AUTHZ_FACTORY_CLASS; import static cloud.piranha.extension.exousia.AuthorizationPreInitializer.AUTHZ_POLICY_CLASS; import static cloud.piranha.extension.exousia.AuthorizationPreInitializer.UNCHECKED_PERMISSIONS; @@ -63,7 +63,7 @@ class BasicConnectionTest { void testNonSecureConnection() throws Exception { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() .initializer(ServletSecurityManagerInitializer.class.getName()) - .initializer(WebXmlInitializer.class.getName()) + .initializer(StandardWebXmlInitializer.class.getName()) .attribute(AUTHZ_FACTORY_CLASS, DefaultPolicyConfigurationFactory.class) .attribute(AUTHZ_POLICY_CLASS, DefaultPolicy.class) .attribute(UNCHECKED_PERMISSIONS, asList( @@ -93,7 +93,7 @@ void testNonSecureConnection() throws Exception { void testSecureConnection() throws Exception { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() .initializer(ServletSecurityManagerInitializer.class.getName()) - .initializer(WebXmlInitializer.class.getName()) + .initializer(StandardWebXmlInitializer.class.getName()) .attribute(AUTHZ_FACTORY_CLASS, DefaultPolicyConfigurationFactory.class) .attribute(AUTHZ_POLICY_CLASS, DefaultPolicy.class) .attribute(UNCHECKED_PERMISSIONS, asList( @@ -120,7 +120,7 @@ void testSecureConnection() throws Exception { void testSecureConnectionExactMapping() throws Exception { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() .initializer(ServletSecurityManagerInitializer.class.getName()) - .initializer(WebXmlInitializer.class.getName()) + .initializer(StandardWebXmlInitializer.class.getName()) .attribute(AUTHZ_FACTORY_CLASS, DefaultPolicyConfigurationFactory.class) .attribute(AUTHZ_POLICY_CLASS, DefaultPolicy.class) .attribute(UNCHECKED_PERMISSIONS, asList( diff --git a/test/jersey/pom.xml b/test/jersey/pom.xml index 5442c663f7..713ca98cd9 100644 --- a/test/jersey/pom.xml +++ b/test/jersey/pom.xml @@ -36,15 +36,15 @@ cloud.piranha.extension - piranha-extension-weld + piranha-extension-standard-webxml ${project.version} - runtime + test cloud.piranha.extension - piranha-extension-webxml + piranha-extension-weld ${project.version} - test + runtime org.junit.jupiter diff --git a/test/jersey/src/test/java/cloud/piranha/test/jersey/JerseyTest.java b/test/jersey/src/test/java/cloud/piranha/test/jersey/JerseyTest.java index 1ef15156a3..de14780e3f 100644 --- a/test/jersey/src/test/java/cloud/piranha/test/jersey/JerseyTest.java +++ b/test/jersey/src/test/java/cloud/piranha/test/jersey/JerseyTest.java @@ -32,7 +32,7 @@ import cloud.piranha.embedded.EmbeddedRequest; import cloud.piranha.embedded.EmbeddedRequestBuilder; import cloud.piranha.embedded.EmbeddedResponse; -import cloud.piranha.extension.webxml.WebXmlExtension; +import cloud.piranha.extension.standard.webxml.StandardWebXmlExtension; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; @@ -53,7 +53,7 @@ class JerseyTest { void testHello() throws Exception { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() .directoryResource("src/main/webapp") - .extension(WebXmlExtension.class) + .extension(StandardWebXmlExtension.class) .build() .start(); EmbeddedRequest request = new EmbeddedRequestBuilder() diff --git a/test/soteria/basic/src/test/java/cloud/piranha/test/soteria/basic/BasicTest.java b/test/soteria/basic/src/test/java/cloud/piranha/test/soteria/basic/BasicTest.java index 6f059b5aba..876f06d39d 100644 --- a/test/soteria/basic/src/test/java/cloud/piranha/test/soteria/basic/BasicTest.java +++ b/test/soteria/basic/src/test/java/cloud/piranha/test/soteria/basic/BasicTest.java @@ -51,12 +51,12 @@ import cloud.piranha.embedded.EmbeddedRequest; import cloud.piranha.embedded.EmbeddedRequestBuilder; import cloud.piranha.embedded.EmbeddedResponse; -import cloud.piranha.extension.webxml.WebXmlInitializer; import cloud.piranha.extension.exousia.AuthorizationInitializer; import cloud.piranha.extension.exousia.AuthorizationPreInitializer; import cloud.piranha.extension.herring.HerringExtension; import cloud.piranha.extension.security.servlet.ServletSecurityManagerExtension; import cloud.piranha.extension.soteria.SoteriaInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; @BasicAuthenticationMechanismDefinition(realmName = "test") class BasicTest { @@ -68,7 +68,7 @@ void testAuthenticated() throws Exception { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() .extension(ServletSecurityManagerExtension.class) .extension(HerringExtension.class) - .initializer(WebXmlInitializer.class.getName()) + .initializer(StandardWebXmlInitializer.class.getName()) .attribute(AUTHZ_FACTORY_CLASS, DefaultPolicyConfigurationFactory.class) .attribute(AUTHZ_POLICY_CLASS, DefaultPolicy.class) .attribute(CONSTRAINTS, asList( diff --git a/test/soteria/form/src/test/java/cloud/piranha/test/soteria/form/FormTest.java b/test/soteria/form/src/test/java/cloud/piranha/test/soteria/form/FormTest.java index e5cb11c9b3..81d2e26263 100644 --- a/test/soteria/form/src/test/java/cloud/piranha/test/soteria/form/FormTest.java +++ b/test/soteria/form/src/test/java/cloud/piranha/test/soteria/form/FormTest.java @@ -36,7 +36,6 @@ import cloud.piranha.embedded.EmbeddedRequestBuilder; import cloud.piranha.embedded.EmbeddedResponse; import cloud.piranha.extension.eleos.AuthenticationInitializer; -import cloud.piranha.extension.webxml.WebXmlInitializer; import cloud.piranha.extension.exousia.AuthorizationInitializer; import cloud.piranha.extension.exousia.AuthorizationPreInitializer; import static cloud.piranha.extension.exousia.AuthorizationPreInitializer.AUTHZ_FACTORY_CLASS; @@ -44,6 +43,7 @@ import static cloud.piranha.extension.exousia.AuthorizationPreInitializer.CONSTRAINTS; import cloud.piranha.extension.security.servlet.ServletSecurityManagerExtension; import cloud.piranha.extension.soteria.SoteriaInitializer; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import java.net.URL; import static java.util.Arrays.asList; import static javax.naming.Context.INITIAL_CONTEXT_FACTORY; @@ -74,7 +74,7 @@ void testAuthenticated() throws Exception { EmbeddedPiranha piranha = new EmbeddedPiranhaBuilder() .extension(ServletSecurityManagerExtension.class) .extension(HerringExtension.class) - .initializer(WebXmlInitializer.class.getName()) + .initializer(StandardWebXmlInitializer.class.getName()) .initializer(WeldInitializer.class.getName()) .attribute(AUTHZ_FACTORY_CLASS, DefaultPolicyConfigurationFactory.class) .attribute(AUTHZ_POLICY_CLASS, DefaultPolicy.class) diff --git a/test/soteria/pom.xml b/test/soteria/pom.xml index 519412574b..2610427a6a 100644 --- a/test/soteria/pom.xml +++ b/test/soteria/pom.xml @@ -70,7 +70,7 @@ cloud.piranha.extension - piranha-extension-webxml + piranha-extension-standard-webxml ${project.version} test diff --git a/test/webxml/web-fragment-in-jar-test/pom.xml b/test/webxml/web-fragment-in-jar-test/pom.xml index 37377d56f3..651f1de25a 100644 --- a/test/webxml/web-fragment-in-jar-test/pom.xml +++ b/test/webxml/web-fragment-in-jar-test/pom.xml @@ -23,7 +23,7 @@ cloud.piranha.extension - piranha-extension-webxml + piranha-extension-standard-webxml ${project.version} test diff --git a/test/webxml/web-fragment-in-jar-test/src/test/java/com/piranha/test/webxml/webfragmentinjar/WebfragmentInJarIT.java b/test/webxml/web-fragment-in-jar-test/src/test/java/com/piranha/test/webxml/webfragmentinjar/WebfragmentInJarIT.java index 9a37573e37..36acb41f46 100644 --- a/test/webxml/web-fragment-in-jar-test/src/test/java/com/piranha/test/webxml/webfragmentinjar/WebfragmentInJarIT.java +++ b/test/webxml/web-fragment-in-jar-test/src/test/java/com/piranha/test/webxml/webfragmentinjar/WebfragmentInJarIT.java @@ -27,9 +27,9 @@ */ package com.piranha.test.webxml.webfragmentinjar; -import cloud.piranha.extension.webxml.WebXmlInitializer; import cloud.piranha.core.impl.DefaultWebApplication; import cloud.piranha.core.impl.DefaultWebApplicationClassLoader; +import cloud.piranha.extension.standard.webxml.StandardWebXmlInitializer; import java.io.File; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; @@ -52,7 +52,7 @@ void testLoadClass() throws Exception { DefaultWebApplicationClassLoader classLoader = new DefaultWebApplicationClassLoader(new File("target/webapp")); DefaultWebApplication webApplication = new DefaultWebApplication(); webApplication.setClassLoader(classLoader); - webApplication.addInitializer(new WebXmlInitializer()); + webApplication.addInitializer(new StandardWebXmlInitializer()); webApplication.initialize(); assertEquals("/webfragmentInJar", webApplication.getContextPath()); }