diff --git a/common/src/main/java/org/jboss/metadata/javaee/spec/JavaEEMetaDataConstants.java b/common/src/main/java/org/jboss/metadata/javaee/spec/JavaEEMetaDataConstants.java
index 6ac197f95..cf231c1f0 100644
--- a/common/src/main/java/org/jboss/metadata/javaee/spec/JavaEEMetaDataConstants.java
+++ b/common/src/main/java/org/jboss/metadata/javaee/spec/JavaEEMetaDataConstants.java
@@ -29,6 +29,10 @@
* @version $Revision: 8.0 $
*/
public interface JavaEEMetaDataConstants {
+ /**
+ * The jakartaee namespace
+ */
+ String JAKARTAEE_NS = "https://jakarta.ee/xml/ns/jakartaee";
/**
* The javaee namespace
*/
@@ -52,6 +56,10 @@ public interface JavaEEMetaDataConstants {
* The jboss javaee namespaces
*/
String JBOSS_NS = "http://www.jboss.com/xml/ns/javaee";
+ /**
+ * The jboss jakartaee namespaces
+ */
+ String JBOSS_JAKARTAEE_NS = "http://www.jboss.com/xml/ns/jakartaee";
/**
* The jbosscmp-jdbc namespace
diff --git a/common/src/main/resources/schema/jboss-common_9_0.xsd b/common/src/main/resources/schema/jboss-common_9_0.xsd
new file mode 100644
index 000000000..dc6dde5af
--- /dev/null
+++ b/common/src/main/resources/schema/jboss-common_9_0.xsd
@@ -0,0 +1,564 @@
+
+
+
+
+
+
+
+
+
+
+ The following conventions apply to all Jakarta EE deployment descriptor
+ elements unless indicated otherwise. - In elements that specify a pathname to a file within
+ the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+ relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+ with "/") also specify names in the root of the JAR file's namespace. In general, relative
+ names are preferred. The exception is .war files where absolute names are preferred for
+ consistency with the Servlet API.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The jmx-name element allows one to specify the JMX ObjectName to use for
+ the MBean associated with the ejb-jar module. This must be a unique name and valid JMX
+ ObjectName string.
+
+
+
+
+
+
+
+
+ The security-domain element specifies the JNDI name of the security
+ manager that implements the EJBSecurityManager and RealmMapping for the domain. When
+ specified at the jboss level it specifies the security domain for all Jakarta EE components in the
+ deployment unit. One can override the global security-domain at the container level using
+ the security-domain element at the container-configuration level.
+
+
+
+
+
+
+
+
+ The security-role element contains the definition of a security role.
+ The definition consists of an the security role name and principal name element(s).
+
+
+
+
+
+
+
+
+
+
+
+ The principal-name element is the name of the principal that is mapped
+ to the assembly role-name.
+
+
+
+
+
+
+
+
+ The depends element gives a JMX ObjectName of a service on which the
+ container or ejb depends. (default)
+
+
+
+
+
+
+
+
+ The JNDI name under with the local interface should be bound. If it is not
+ provided jboss will assume "jndi-name" = "beanClass/local"
+
+
+
+
+
+
+
+
+ The ejb-ref element is used to give the jndi-name of an external ejb
+ reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+ ejb-jar.xml, but you provide a jndi-name in jboss.xml Used in: entity, session,
+ message-driven, consumer, and service
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The ejb-local-ref element is used to give the jndi-name of an external ejb
+ reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+ ejb-jar.xml, but you provide a jndi-name in jboss.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The resource-ref element gives a mapping between the "code name" of a
+ resource (res-ref-name, provided by the Bean Developer) and its "xml name" (resource-name,
+ provided by the Application Assembler). If no resource-ref is provided, jboss will assume
+ that "xml-name" = "code name" See resource-managers.
+
+
+
+
+
+
+ The res-ref-name element specifies the name of a resource manager
+ connection factory reference. The name is a JNDI name relative to the java:comp/env
+ context. The name must be unique within a Deployment File.
+
+
+
+
+
+ The res-type element specifies the type of the data source. The type
+ is specified by the fully qualified Java language class or interface expected to be
+ implemented by the data source.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The service-ref-name element gives the ENC relative name used in the
+ ejb-jar.xml service-ref-name element.
+
+
+
+
+
+
+
+
+
+ jboss.test:loader=cts-cmp2v1-sar.ear
+
+
+ dot.com:loader=unique-archive-name
+
+ java2ParentDelegaton=true
+
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The loader-repository-config element specifies any arbitrary configuration
+ fragment for use in configuring the loader-repository instance. The actual content of this
+ element is specific to the loaderRepositoryClass and the code parsing the element.
+
+
+
+
+
+
+
+
+
+
+
+ OrganizationService
+ file:/wsdlRepository/organization-service.wsdl
+
+
+
+ OrganizationService
+ Secure Client Config
+ META-INF/jbossws-client-config.xml
+ META-INF/jbossws-client-handlers.xml
+
+
+
+ SecureService
+ org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService
+ {http://org.jboss.ws/wsref}SecureEndpointService
+
+ org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint
+ {http://org.jboss.ws/wsref}SecureEndpointPort
+
+ javax.xml.ws.security.auth.username
+ kermit
+
+
+ javax.xml.ws.security.auth.password
+ thefrog
+
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The message-destination element is used to configure the jndi-name for a
+ message-destination in ejb-jar.xml Used in: assembly-descriptor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/common/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java b/common/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java
index e8e261d04..3bcc604db 100644
--- a/common/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java
+++ b/common/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java
@@ -116,7 +116,8 @@ public abstract class AbstractJavaEEEverythingTest extends AbstractJavaEEMetaDat
public enum Mode {
JBOSS,
JBOSS_DTD,
- SPEC
+ SPEC,
+ JAKARTAEE
}
public enum Descriptor {
diff --git a/ear/src/main/java/org/jboss/metadata/ear/parser/jboss/JBossAppMetaDataParser.java b/ear/src/main/java/org/jboss/metadata/ear/parser/jboss/JBossAppMetaDataParser.java
index 4646d6f41..1aafc57bb 100644
--- a/ear/src/main/java/org/jboss/metadata/ear/parser/jboss/JBossAppMetaDataParser.java
+++ b/ear/src/main/java/org/jboss/metadata/ear/parser/jboss/JBossAppMetaDataParser.java
@@ -112,7 +112,7 @@ public JBossAppMetaData parse(final XMLStreamReader reader, final PropertyReplac
while (reader.hasNext() && reader.nextTag() != END_ELEMENT) {
final Element element = Element.forName(reader.getLocalName());
Namespace namespace = Namespace.forUri(reader.getNamespaceURI());
- if (namespace == Namespace.SPEC || namespace == Namespace.SPEC_7_0) {
+ if (namespace == Namespace.SPEC || namespace == Namespace.SPEC_7_0 || namespace == Namespace.JAKARTAEE) {
super.handleElement(reader, appMetaData, propertyReplacer);
} else {
switch (element) {
diff --git a/ear/src/main/java/org/jboss/metadata/ear/parser/jboss/Namespace.java b/ear/src/main/java/org/jboss/metadata/ear/parser/jboss/Namespace.java
index 20dddbf59..d1359c63c 100644
--- a/ear/src/main/java/org/jboss/metadata/ear/parser/jboss/Namespace.java
+++ b/ear/src/main/java/org/jboss/metadata/ear/parser/jboss/Namespace.java
@@ -31,8 +31,10 @@ public enum Namespace {
// must be first
UNKNOWN(null),
JBOSS("http://www.jboss.com/xml/ns/javaee"),
+ JBOSS_JAKARTA("http://www.jboss.com/xml/ns/jakartaee"),
SPEC("http://java.sun.com/xml/ns/javaee"),
- SPEC_7_0("http://xmlns.jcp.org/xml/ns/javaee");
+ SPEC_7_0("http://xmlns.jcp.org/xml/ns/javaee"),
+ JAKARTAEE("https://jakarta.ee/xml/ns/jakartaee");
private final String uri;
diff --git a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/AbstractEJBBoundMetaDataParser.java b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/AbstractEJBBoundMetaDataParser.java
index c2c5551b2..c2e7de7e1 100644
--- a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/AbstractEJBBoundMetaDataParser.java
+++ b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/AbstractEJBBoundMetaDataParser.java
@@ -43,6 +43,7 @@ protected void processElement(MD metaData, XMLStreamReader reader, final Propert
switch (namespace) {
case SPEC:
case SPEC_7_0:
+ case JAKARTAEE:
final EjbJarElement ejbJarElement = EjbJarElement.forName(reader.getLocalName());
switch (ejbJarElement) {
case DESCRIPTION:
diff --git a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/AbstractMethodsBoundMetaDataParser.java b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/AbstractMethodsBoundMetaDataParser.java
index 6f4a7e10b..88d4ae2f2 100644
--- a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/AbstractMethodsBoundMetaDataParser.java
+++ b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/AbstractMethodsBoundMetaDataParser.java
@@ -43,6 +43,7 @@ protected void processElement(MD metaData, XMLStreamReader reader, PropertyRepla
switch (namespace) {
case SPEC:
case SPEC_7_0:
+ case JAKARTAEE:
final EjbJarElement ejbJarElement = EjbJarElement.forName(reader.getLocalName());
switch (ejbJarElement) {
case METHOD:
diff --git a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossAssemblyDescriptorMetaDataParser.java b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossAssemblyDescriptorMetaDataParser.java
index 3d7231dec..dfc77f7c0 100644
--- a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossAssemblyDescriptorMetaDataParser.java
+++ b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossAssemblyDescriptorMetaDataParser.java
@@ -53,6 +53,7 @@ protected void processElement(AssemblyDescriptorMetaData assemblyDescriptor, XML
switch (namespace) {
case SPEC:
case SPEC_7_0:
+ case JAKARTAEE:
processSpecElement(assemblyDescriptor, reader, propertyReplacer);
break;
default:
diff --git a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossEjb3MetaDataParser.java b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossEjb3MetaDataParser.java
index 72f9ff679..62414bab5 100644
--- a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossEjb3MetaDataParser.java
+++ b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossEjb3MetaDataParser.java
@@ -129,6 +129,7 @@ protected void processElement(EjbJarMetaData metaData, XMLStreamReader reader, f
final Element element = Element.forName(reader.getLocalName());
switch (namespace) {
case JBOSS:
+ case JBOSS_JAKARTA:
switch (element) {
case ENTERPRISE_BEANS:
metaData.setEnterpriseBeans(parseEnterpriseBeans(reader, metaData.getEjbJarVersion(), propertyReplacer));
@@ -143,6 +144,7 @@ protected void processElement(EjbJarMetaData metaData, XMLStreamReader reader, f
break;
case SPEC:
case SPEC_7_0:
+ case JAKARTAEE:
switch (element) {
case ASSEMBLY_DESCRIPTOR:
metaData.setAssemblyDescriptor(parseAssemblyDescriptor(reader, propertyReplacer));
diff --git a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossEnterpriseBeansMetaDataParser.java b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossEnterpriseBeansMetaDataParser.java
index 2587581d8..ef3230f01 100644
--- a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossEnterpriseBeansMetaDataParser.java
+++ b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossEnterpriseBeansMetaDataParser.java
@@ -52,10 +52,12 @@ protected void processElement(JBossEnterpriseBeansMetaData metaData, XMLStreamRe
final Namespace namespace = Namespace.forUri(reader.getNamespaceURI());
switch (namespace) {
case JBOSS:
+ case JBOSS_JAKARTA:
processJBossElement(metaData, reader, propertyReplacer);
break;
case SPEC:
case SPEC_7_0:
+ case JAKARTAEE:
super.processElement(metaData, reader, propertyReplacer);
break;
case UNKNOWN:
diff --git a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossGenericBeanMetaDataParser.java b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossGenericBeanMetaDataParser.java
index 547e3a327..856bd7488 100644
--- a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossGenericBeanMetaDataParser.java
+++ b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/JBossGenericBeanMetaDataParser.java
@@ -46,10 +46,12 @@ protected void processElement(JBossGenericBeanMetaData metaData, XMLStreamReader
final Namespace namespace = Namespace.forUri(reader.getNamespaceURI());
switch (namespace) {
case JBOSS:
+ case JBOSS_JAKARTA:
processJBossElement(metaData, reader);
break;
case SPEC:
case SPEC_7_0:
+ case JAKARTAEE:
processSpecElement(metaData, reader, propertyReplacer);
break;
case UNKNOWN:
diff --git a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/Namespace.java b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/Namespace.java
index fda0c2a13..903c9eeba 100644
--- a/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/Namespace.java
+++ b/ejb/src/main/java/org/jboss/metadata/ejb/parser/jboss/ejb3/Namespace.java
@@ -31,8 +31,10 @@ public enum Namespace {
// must be first
UNKNOWN(null),
JBOSS("http://www.jboss.com/xml/ns/javaee"),
+ JBOSS_JAKARTA("http://www.jboss.com/xml/ns/jakartaee"),
SPEC("http://java.sun.com/xml/ns/javaee"),
- SPEC_7_0("http://xmlns.jcp.org/xml/ns/javaee");
+ SPEC_7_0("http://xmlns.jcp.org/xml/ns/javaee"),
+ JAKARTAEE("https://jakarta.ee/xml/ns/jakartaee");
private final String uri;
diff --git a/ejb/src/main/java/org/jboss/metadata/ejb/parser/spec/ExtendingMetaDataParser.java b/ejb/src/main/java/org/jboss/metadata/ejb/parser/spec/ExtendingMetaDataParser.java
index be1830720..d02096681 100644
--- a/ejb/src/main/java/org/jboss/metadata/ejb/parser/spec/ExtendingMetaDataParser.java
+++ b/ejb/src/main/java/org/jboss/metadata/ejb/parser/spec/ExtendingMetaDataParser.java
@@ -75,9 +75,11 @@ protected void processElement(MD metaData, XMLStreamReader reader, PropertyRepla
switch (namespace) {
case SPEC:
case SPEC_7_0:
+ case JAKARTAEE:
delegate.processElement(metaData, reader, propertyReplacer);
break;
case JBOSS:
+ case JBOSS_JAKARTA:
case UNKNOWN:
AbstractMetaDataParser> parser = getParser(reader.getNamespaceURI());
metaData.addAny(parser.parse(reader, propertyReplacer));
diff --git a/ejb/src/main/resources/schema/jboss-ejb3-4_0.xsd b/ejb/src/main/resources/schema/jboss-ejb3-4_0.xsd
new file mode 100644
index 000000000..c96481c7f
--- /dev/null
+++ b/ejb/src/main/resources/schema/jboss-ejb3-4_0.xsd
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The distinct-name for this EJB module.
+
+
+
+
diff --git a/web/src/main/java/org/jboss/metadata/parser/jbossweb/Version.java b/web/src/main/java/org/jboss/metadata/parser/jbossweb/Version.java
index ce4992a30..8e5076830 100644
--- a/web/src/main/java/org/jboss/metadata/parser/jbossweb/Version.java
+++ b/web/src/main/java/org/jboss/metadata/parser/jbossweb/Version.java
@@ -45,6 +45,7 @@ public enum Version {
JBOSS_WEB_13_0(13, 0),
JBOSS_WEB_14_0(14, 0),
JBOSS_WEB_14_1(14, 1),
+ JBOSS_WEB_15_0(15, 0),
;
private final String location;
diff --git a/web/src/main/java/org/jboss/metadata/web/jboss/ReplicationConfig.java b/web/src/main/java/org/jboss/metadata/web/jboss/ReplicationConfig.java
index bb4743b2d..56c370e62 100644
--- a/web/src/main/java/org/jboss/metadata/web/jboss/ReplicationConfig.java
+++ b/web/src/main/java/org/jboss/metadata/web/jboss/ReplicationConfig.java
@@ -52,6 +52,7 @@ public void setCacheName(String cacheName) {
this.cacheName = cacheName;
}
+ @Override
public String toString() {
StringBuilder sb = new StringBuilder(100);
sb.append("cacheName=").append(cacheName).append(";granularity=").append(granularity);
diff --git a/web/src/main/resources/schema/jboss-web_15_0.xsd b/web/src/main/resources/schema/jboss-web_15_0.xsd
new file mode 100644
index 000000000..abda6762e
--- /dev/null
+++ b/web/src/main/resources/schema/jboss-web_15_0.xsd
@@ -0,0 +1,529 @@
+
+
+
+
+
+
+
+
+ ...
+
+
+
+ Instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for the
+ Java EE namespace with the following location:
+
+ https://www.jboss.org/schema/jbossas/jboss-web_15_0.xsd
+
+ ]]>
+
+
+
+
+
+ The following conventions apply to all Java EE deployment descriptor
+ elements unless indicated otherwise. - In elements that specify a pathname to a file within
+ the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+ relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+ with "/") also specify names in the root of the JAR file's namespace. In general, relative
+ names are preferred. The exception is .war files where absolute names are preferred for
+ consistency with the Servlet API.
+
+
+
+
+
+
+
+
+
+ This is the root element of jboss-web deployment descriptor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The jboss-web element is the root element of jboss-web.xml file. It contains
+ all the information used by jboss but not described in the web.xml file. All of it is optional.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Determines the maximum number of sessions to retain in memory. If the application attempts to exceed
+ this limit, the resulting behavior is determined by the session manager.
+
+ If the session manager supports passivation, then sessions accessed least recently will be
+ passivated to make room for new sessions.
+ If the session manager does not support passivation then any attempt to create more than
+ max-active-sessions will fail.
+
+ If undefined, or if set to -1, then no limit is placed on the number of sessions retained in memory,
+ and sessions will never passivate.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defines a web container listener. The module element allows specifying from which
+ module in the application server the specified class will be loaded. The listener type
+ element defines which events the listener will receive from the web container.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LIFECYCLE
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defines a web container valve. The module element allows specifying from which
+ module in the application server the specified class will be loaded. A container
+ valve is used to intercept the request that will be processed by the servlet. It
+ is invoked as part of a chain, before the invocation of the webapp's filter chain.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defines a web container HTTPHandler. The module element allows specifying from which
+ module in the application server the specified class will be loaded. A handler
+ is used to intercept the request that will be processed by the servlet. It
+ is invoked as part of a chain, before the invocation of the webapp's filter chain.
+
+ The class specified can either be a HttpHandler that has a constructor that takes the
+ next HttpHandler, or can be a HandlerWrapper that produces the next handler.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The overlay element specifies additional static files overlays for this
+ web application. The content of the element should be a folder in the
+ filesystem containing the static files that will overlay the webapp's
+ static files, similar to what happens with regular JAR overlays.
+ If a file is found in both the deployment and in the overlay folder,
+ the file in the deployment takes precedence. If more than one overlay
+ is provided, the order in which the overlay elements are declared
+ determines precedence for files that can be found in multiple overlay
+ folders.
+
+
+
+
+
+
+
+
+
+
+ The name of a security-domain that will be used to authenticate and authorize users.
+
+
+
+
+
+
+
+ Whether the domain's cache should be flushed when the session invalidates.
+
+
+
+
+
+
+
+
+
+
+ The disable-cross-context element specifies if cross context
+ access should be enabled for this webapp, allowing it to use the
+ request dispatcher to access other webapps deployed in the
+ application server.
+
+
+
+
+
+
+
+
+
+
+ The use-jboss-authorization element specifies if the JBoss
+ authorization layer should be used.
+
+
+
+
+
+
+
+
+
+
+ The disable-audit element specifies if the security audit logging
+ should be disabled.
+
+
+
+
+
+
+
+
+
+
+ If this is set to false then authentication will not be performed unless it is required,
+ even if credentials are present.
+
+
+
+
+
+
+
+
+
+ The distinct-name element specifies the EJB 3 distinct name for this
+ web application.
+
+
+
+
+
+
+
+
+
+
+ The symbolic-linked-allowed element specifies if symlinking is allowed in exploded deployments.
+
+
+
+
+
+
+
+
+
+
+ The jacc-star-role-allow element specifies whether the
+ jacc permission generating agent in the web layer needs to generate a
+ WebResourcePermission(url,null) permission such that the jacc provider can
+ make a decision as to bypass authorization or not.
+
+
+
+
+
+
+
+
+
+
+ The jacc-context-id element allows for the specification of the JACC contextID that should
+ be used to identify the web application when checking for permissions. If not set the deployment
+ unit name is used as JACC contextID.
+
+
+
+
+
+
+
+
+
+
+ The context-root element specifies the context root of a web
+ application. This is normally specified at the ear level using the standard
+ JEE application.xml descriptor, but it may be given here for standalone wars.
+ This should not override the application.xml level specification.
+
+
+
+
+
+
+
+
+
+
+ The servlet-container element specifies the which servlet container this application
+ should be using.
+
+
+
+
+
+
+
+
+
+
+
+ The server-instance element specifies the which server instance configuration this application belongs to.
+
+
+
+
+
+
+
+
+
+
+ Default encoding to use for this application
+
+
+
+
+
+
+
+
+
+
+ www.jboss-store.org
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+ The servlet element specifies servlet specific bindings. Currently this
+ is only the run-as principal identity.
+
+
+
+
+
+
+
+
+ The run-as-principal element specifies whether a specific run-as identity is
+ to be used. If there is a run-as role defined for a servlet, there can also
+ be a run-as-principal defined here. If you don't define a run-as principal
+ the callee will see ctx.getUserPrincipal() == 'anonymous'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The annotation element specifies annotation specific bindings. This allows
+ overriding the @ServletSecurity, @RunAs and @MultipartConfig, which apply
+ on a Servlet class rather than a Servlet name. They have the same structure
+ and element names as the corresponding annotation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Legacy enable-websockets option. Websockets are enabled by default, this option allows them to be
+ turned off.
+
+
+
+
+
+
+
diff --git a/web/src/test/java/org/jboss/test/metadata/web/JBossWeb150UnitTestCase.java b/web/src/test/java/org/jboss/test/metadata/web/JBossWeb150UnitTestCase.java
new file mode 100644
index 000000000..26922b251
--- /dev/null
+++ b/web/src/test/java/org/jboss/test/metadata/web/JBossWeb150UnitTestCase.java
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2018, Red Hat, Inc., and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.metadata.web;
+
+
+import javax.xml.stream.XMLStreamException;
+
+import org.jboss.metadata.parser.jbossweb.JBossWebMetaDataParser;
+import org.jboss.metadata.property.PropertyReplacers;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+import org.junit.Assert;
+
+public class JBossWeb150UnitTestCase extends AbstractJavaEEEverythingTest {
+
+ public void testReplicationConfig() throws Exception {
+ try {
+ JBossWebMetaDataParser.parse(getReader(), PropertyReplacers.noop());
+ Assert.fail(" is no longer valid");
+ } catch (XMLStreamException e) {
+ // Expected
+ }
+ }
+
+ @SuppressWarnings("deprecation")
+ public void testClustering() throws Exception {
+ JBossWebMetaData metaData = JBossWebMetaDataParser.parse(getReader(), PropertyReplacers.noop());
+ Assert.assertNull(metaData.getReplicationConfig());
+ }
+}
diff --git a/web/src/test/resources/org/jboss/test/metadata/web/JBossWeb150_testClustering.xml b/web/src/test/resources/org/jboss/test/metadata/web/JBossWeb150_testClustering.xml
new file mode 100644
index 000000000..2d55ed303
--- /dev/null
+++ b/web/src/test/resources/org/jboss/test/metadata/web/JBossWeb150_testClustering.xml
@@ -0,0 +1,7 @@
+
+
+
+ 10
+
+
diff --git a/web/src/test/resources/org/jboss/test/metadata/web/JBossWeb150_testReplicationConfig.xml b/web/src/test/resources/org/jboss/test/metadata/web/JBossWeb150_testReplicationConfig.xml
new file mode 100644
index 000000000..df6e1fef7
--- /dev/null
+++ b/web/src/test/resources/org/jboss/test/metadata/web/JBossWeb150_testReplicationConfig.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ testCache
+ SESSION
+
+
+