diff --git a/undertow/src/main/java/org/wildfly/extension/undertow/UndertowExtensionTransformerRegistration.java b/undertow/src/main/java/org/wildfly/extension/undertow/UndertowExtensionTransformerRegistration.java index e01f9c08f7e8..a2b775ad04fb 100644 --- a/undertow/src/main/java/org/wildfly/extension/undertow/UndertowExtensionTransformerRegistration.java +++ b/undertow/src/main/java/org/wildfly/extension/undertow/UndertowExtensionTransformerRegistration.java @@ -50,7 +50,7 @@ public void registerTransformers(SubsystemTransformerRegistration registration) } } - if (UndertowSubsystemModel.VERSION_14_0_0.requiresTransformation(version)) { + if (UndertowSubsystemModel.VERSION_15_0_0.requiresTransformation(version)) { final ResourceTransformationDescriptionBuilder handlers = subsystem.addChildResource(HandlerDefinitions.PATH_ELEMENT); final ResourceTransformationDescriptionBuilder reverseProxy = handlers.addChildResource(ReverseProxyHandlerDefinition.PATH_ELEMENT); final AttributeTransformationDescriptionBuilder reverseProxyAttributeTransformationDescriptionBuilder = reverseProxy.getAttributeBuilder(); diff --git a/undertow/src/main/java/org/wildfly/extension/undertow/UndertowSubsystemModel.java b/undertow/src/main/java/org/wildfly/extension/undertow/UndertowSubsystemModel.java index c5cf52eb3d82..2955edf8f2a0 100644 --- a/undertow/src/main/java/org/wildfly/extension/undertow/UndertowSubsystemModel.java +++ b/undertow/src/main/java/org/wildfly/extension/undertow/UndertowSubsystemModel.java @@ -18,8 +18,9 @@ public enum UndertowSubsystemModel implements SubsystemModel { VERSION_12_0_0(12), // WildFly 27 VERSION_13_0_0(13), // WildFly 28 VERSION_14_0_0(14), // WildFly 32-present + VERSION_15_0_0(15), // WildFly 32-present ; - static final UndertowSubsystemModel CURRENT = VERSION_14_0_0; + static final UndertowSubsystemModel CURRENT = VERSION_15_0_0; private final ModelVersion version; diff --git a/undertow/src/test/java/org/wildfly/extension/undertow/UndertowSubsystemTransformerTestCase.java b/undertow/src/test/java/org/wildfly/extension/undertow/UndertowSubsystemTransformerTestCase.java index cc2a6433c4f1..1dde7bc70b83 100644 --- a/undertow/src/test/java/org/wildfly/extension/undertow/UndertowSubsystemTransformerTestCase.java +++ b/undertow/src/test/java/org/wildfly/extension/undertow/UndertowSubsystemTransformerTestCase.java @@ -41,7 +41,8 @@ public class UndertowSubsystemTransformerTestCase extends AbstractSubsystemTest @Parameters public static Collection parameters() { return List.of( - new Object[] { ModelTestControllerVersion.EAP_7_4_0, UndertowSubsystemModel.VERSION_11_0_0 } + new Object[] { ModelTestControllerVersion.EAP_7_4_0, UndertowSubsystemModel.VERSION_11_0_0 }, + new Object[] { ModelTestControllerVersion.EAP_8_1_0, UndertowSubsystemModel.VERSION_14_0_0 } ); } @@ -53,17 +54,26 @@ private void addDependencies(LegacyKernelServicesInitializer initializer) throws .addMavenResourceURL(this.controllerVersion.createGAV("wildfly-clustering-web-container")) .addParentFirstClassPattern("org.jboss.msc.service.ServiceName") .addParentFirstClassPattern("org.jboss.as.clustering.controller.CapabilityServiceConfigurator") - ; - switch (this.controllerVersion) { - case EAP_7_4_0: - initializer.addMavenResourceURL("io.undertow:undertow-core:2.2.5.Final"); - initializer.addMavenResourceURL("io.undertow:undertow-servlet:2.2.5.Final"); - initializer.addMavenResourceURL("org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.5_spec:2.0.0.Final"); - break; - default: { - throw new IllegalArgumentException(); - } - } + .addMavenResourceURL(getDependencies()); + } + + private String[] getDependencies() { + return switch (this.controllerVersion) { + case EAP_7_4_0 -> new String[] { + "io.undertow:undertow-core:2.2.5.Final", + "io.undertow:undertow-servlet:2.2.5.Final", + "org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.5_spec:2.0.0.Final", + }; + case EAP_8_1_0 -> new String[] { + this.controllerVersion.createCoreGAV("wildfly-controller"), + this.controllerVersion.createCoreGAV("wildfly-service"), + this.controllerVersion.createCoreGAV("wildfly-subsystem"), + this.controllerVersion.createCoreGAV("wildfly-io"), + this.controllerVersion.createGAV("wildfly-clustering-service"), + this.controllerVersion.createGAV("wildfly-undertow"), + }; + default -> throw new IllegalArgumentException(); + }; } private final ModelTestControllerVersion controllerVersion; @@ -80,7 +90,8 @@ private AdditionalInitialization createAdditionalInitialization() { RuntimeCapability.resolveCapabilityName(SocketBinding.SERVICE_DESCRIPTOR, "ajp"), RuntimeCapability.resolveCapabilityName(SocketBinding.SERVICE_DESCRIPTOR, "http"), RuntimeCapability.resolveCapabilityName(SocketBinding.SERVICE_DESCRIPTOR, "https"), - RuntimeCapability.buildDynamicCapabilityName(Capabilities.REF_SSL_CONTEXT, "ssl") + RuntimeCapability.buildDynamicCapabilityName(Capabilities.REF_SSL_CONTEXT, "ssl"), + "org.wildfly.io.worker.default" ); } @@ -129,10 +140,17 @@ public void testRejections() throws Exception { FailedOperationTransformationConfig config = new FailedOperationTransformationConfig(); PathAddress subsystemAddress = PathAddress.pathAddress(UndertowRootDefinition.PATH_ELEMENT); - PathAddress servletContainerAddress = subsystemAddress.append(PathElement.pathElement(ServletContainerDefinition.PATH_ELEMENT.getKey(), "rejected-container")); - PathAddress affinityCookiePath = subsystemAddress.append(PathElement.pathElement(ServletContainerDefinition.PATH_ELEMENT.getKey(), "affinity-cookie-container")).append(AffinityCookieDefinition.PATH_ELEMENT); + if (UndertowSubsystemModel.VERSION_15_0_0.requiresTransformation(this.modelVersion)) { + PathAddress ajpListenerAddress = subsystemAddress.append(PathElement.pathElement(ServerDefinition.PATH_ELEMENT.getKey(), "default-server")) + .append(PathElement.pathElement(AjpListenerResourceDefinition.PATH_ELEMENT.getKey(), "ajp")); + + config.addFailedAttribute(ajpListenerAddress, new FailedOperationTransformationConfig.NewAttributesConfig(AjpListenerResourceDefinition.ALLOWED_REQUEST_ATTRIBUTES_PATTERN)); + } if (UndertowSubsystemModel.VERSION_13_0_0.requiresTransformation(this.modelVersion)) { + PathAddress servletContainerAddress = subsystemAddress.append(PathElement.pathElement(ServletContainerDefinition.PATH_ELEMENT.getKey(), "rejected-container")); + PathAddress affinityCookiePath = subsystemAddress.append(PathElement.pathElement(ServletContainerDefinition.PATH_ELEMENT.getKey(), "affinity-cookie-container")).append(AffinityCookieDefinition.PATH_ELEMENT); + config.addFailedAttribute(servletContainerAddress, new FailedOperationTransformationConfig.NewAttributesConfig(ServletContainerDefinition.ORPHAN_SESSION_ALLOWED)); config.addFailedAttribute(affinityCookiePath, FailedOperationTransformationConfig.REJECTED_RESOURCE); diff --git a/undertow/src/test/resources/org/wildfly/extension/undertow/undertow-transform-reject.xml b/undertow/src/test/resources/org/wildfly/extension/undertow/undertow-transform-reject.xml index 4dfc1eac62c3..e6325496f4a0 100644 --- a/undertow/src/test/resources/org/wildfly/extension/undertow/undertow-transform-reject.xml +++ b/undertow/src/test/resources/org/wildfly/extension/undertow/undertow-transform-reject.xml @@ -3,8 +3,10 @@ ~ SPDX-License-Identifier: Apache-2.0 --> - + + + diff --git a/undertow/src/test/resources/org/wildfly/extension/undertow/undertow-transform.xml b/undertow/src/test/resources/org/wildfly/extension/undertow/undertow-transform.xml index e59addff0672..9e3c6d7967a9 100644 --- a/undertow/src/test/resources/org/wildfly/extension/undertow/undertow-transform.xml +++ b/undertow/src/test/resources/org/wildfly/extension/undertow/undertow-transform.xml @@ -3,7 +3,7 @@ ~ SPDX-License-Identifier: Apache-2.0 --> - +