diff --git a/src/main/java/com/inteligr8/wildfly/maven/xml/AbstractXmlBuilder.java b/src/main/java/com/inteligr8/wildfly/maven/xml/AbstractXmlBuilder.java index 925c482..80b0970 100644 --- a/src/main/java/com/inteligr8/wildfly/maven/xml/AbstractXmlBuilder.java +++ b/src/main/java/com/inteligr8/wildfly/maven/xml/AbstractXmlBuilder.java @@ -42,24 +42,28 @@ public abstract class AbstractXmlBuilder { protected final String ns; protected final Document xmldoc; protected final Element dependenciesElement; + protected final boolean enableSlotAttribute; - public AbstractXmlBuilder(String ns) throws ParserConfigurationException { + public AbstractXmlBuilder(String ns, boolean enableSlotAttribute) throws ParserConfigurationException { DocumentBuilder docbuilder = this.dbfactory.newDocumentBuilder(); this.ns = ns; this.xmldoc = docbuilder.newDocument(); this.dependenciesElement = this.xmldoc.createElementNS(this.ns, "dependencies"); + this.enableSlotAttribute = enableSlotAttribute; } public abstract String getXmlFilename(); public void addDependency(Module module, boolean isDeployment) { String name = module.id; - if (module.version != null) + if (!this.enableSlotAttribute && module.version != null && !module.version.equals("main")) name += ":" + module.version; Element moduleElement = this.xmldoc.createElementNS(this.ns, "module"); moduleElement.setAttribute("name", name); + if (this.enableSlotAttribute && module.version != null && !module.version.equals("main")) + moduleElement.setAttribute("slot", module.version); if (module.export) moduleElement.setAttribute("export", Boolean.TRUE.toString()); if (isDeployment && module.exportMetaInf) diff --git a/src/main/java/com/inteligr8/wildfly/maven/xml/DeploymentXmlBuilder.java b/src/main/java/com/inteligr8/wildfly/maven/xml/DeploymentXmlBuilder.java index 81ae671..02fb973 100644 --- a/src/main/java/com/inteligr8/wildfly/maven/xml/DeploymentXmlBuilder.java +++ b/src/main/java/com/inteligr8/wildfly/maven/xml/DeploymentXmlBuilder.java @@ -25,7 +25,7 @@ import org.w3c.dom.Element; public class DeploymentXmlBuilder extends AbstractXmlBuilder { public DeploymentXmlBuilder(String schemaVersion) throws ParserConfigurationException { - super("urn:jboss:deployment-structure:" + schemaVersion); + super("urn:jboss:deployment-structure:" + schemaVersion, true); Element deploymentElement = this.xmldoc.createElementNS(this.ns, "deployment"); deploymentElement.appendChild(this.dependenciesElement); diff --git a/src/main/java/com/inteligr8/wildfly/maven/xml/ModuleXmlBuilder.java b/src/main/java/com/inteligr8/wildfly/maven/xml/ModuleXmlBuilder.java index 0520913..e7420ec 100644 --- a/src/main/java/com/inteligr8/wildfly/maven/xml/ModuleXmlBuilder.java +++ b/src/main/java/com/inteligr8/wildfly/maven/xml/ModuleXmlBuilder.java @@ -33,13 +33,17 @@ public class ModuleXmlBuilder extends AbstractXmlBuilder { } public ModuleXmlBuilder(String id, String schemaVersion, String moduleVersion) throws ParserConfigurationException { - super("urn:jboss:module:" + schemaVersion); + super("urn:jboss:module:" + schemaVersion, schemaVersion.equals("1.0") ? true : false); this.resourcesElement = this.xmldoc.createElementNS(this.ns, "resources"); + + String name = id; + if (!this.enableSlotAttribute && moduleVersion != null && !moduleVersion.equals("main")) + name += ":" + moduleVersion; Element moduleElement = this.xmldoc.createElementNS(this.ns, "module"); - moduleElement.setAttribute("name", id); - if (moduleVersion != null) + moduleElement.setAttribute("name", name); + if (this.enableSlotAttribute && moduleVersion != null && !moduleVersion.equals("main")) moduleElement.setAttribute("slot", moduleVersion); moduleElement.appendChild(this.resourcesElement); moduleElement.appendChild(this.dependenciesElement);