Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

AS7-6843 Fix global modules and add test case

  • Loading branch information...
commit 8d70ee20cf2f632a0e85305f96f34b0c3645bd5a 1 parent 6306a62
@stuartwdouglas stuartwdouglas authored
Showing with 371 additions and 40 deletions.
  1. +11 −24 ee/src/main/java/org/jboss/as/ee/structure/GlobalModuleDependencyProcessor.java
  2. +5 −6 ee/src/main/java/org/jboss/as/ee/subsystem/EeSubsystemAdd.java
  3. +1 −1  ee/src/main/java/org/jboss/as/ee/subsystem/EeWriteAttributeHandler.java
  4. +57 −5 ee/src/main/java/org/jboss/as/ee/subsystem/GlobalModulesDefinition.java
  5. +19 −0 testsuite/integration/basic/src/test/java/org/jboss/as/test/integration/ee/globalmodules/GlobalModuleEjb.java
  6. +17 −0 ...integration/basic/src/test/java/org/jboss/as/test/integration/ee/globalmodules/GlobalModuleInterceptor.java
  7. +214 −0 ...e/integration/basic/src/test/java/org/jboss/as/test/integration/ee/globalmodules/GlobalModulesTestCase.java
  8. +43 −0 testsuite/integration/basic/src/test/java/org/jboss/as/test/integration/ee/globalmodules/module.xml
  9. +1 −1  ...integration/basic/src/test/java/org/jboss/as/test/integration/extension/remove/ExtensionRemoveTestCase.java
  10. +1 −1  ...n/basic/src/test/java/org/jboss/as/test/integration/jca/moduledeployment/ModuleDeploymentTestCaseSetup.java
  11. +1 −1  ...n/basic/src/test/java/org/jboss/as/test/integration/naming/ObjectFactoryWithEnvironmentBindingTestCase.java
  12. +1 −1  ...on/basic/src/test/java/org/jboss/as/test/integration/weld/multideployment/WeldModuleDeploymentTestCase.java
View
35 ee/src/main/java/org/jboss/as/ee/structure/GlobalModuleDependencyProcessor.java
@@ -21,6 +21,8 @@
*/
package org.jboss.as.ee.structure;
+import java.util.List;
+
import org.jboss.as.server.deployment.Attachments;
import org.jboss.as.server.deployment.DeploymentPhaseContext;
import org.jboss.as.server.deployment.DeploymentUnit;
@@ -28,16 +30,10 @@
import org.jboss.as.server.deployment.DeploymentUnitProcessor;
import org.jboss.as.server.deployment.module.ModuleDependency;
import org.jboss.as.server.deployment.module.ModuleSpecification;
-import org.jboss.dmr.ModelNode;
import org.jboss.modules.Module;
-import org.jboss.modules.ModuleIdentifier;
import org.jboss.modules.filter.PathFilters;
-import static org.jboss.as.ee.subsystem.GlobalModulesDefinition.ANNOTATIONS;
-import static org.jboss.as.ee.subsystem.GlobalModulesDefinition.META_INF;
-import static org.jboss.as.ee.subsystem.GlobalModulesDefinition.NAME;
-import static org.jboss.as.ee.subsystem.GlobalModulesDefinition.SERVICES;
-import static org.jboss.as.ee.subsystem.GlobalModulesDefinition.SLOT;
+import static org.jboss.as.ee.subsystem.GlobalModulesDefinition.GlobalModule;
/**
* Dependency processor that adds modules defined in the global-modules section of
@@ -47,7 +43,7 @@
*/
public class GlobalModuleDependencyProcessor implements DeploymentUnitProcessor {
- private volatile ModelNode globalModules = new ModelNode();
+ private volatile List<GlobalModule> globalModules;
public GlobalModuleDependencyProcessor() {
}
@@ -57,31 +53,22 @@ public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentU
final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();
final ModuleSpecification moduleSpecification = deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION);
- final ModelNode globalMods = this.globalModules;
-
- if (globalMods.isDefined()) {
- for (final ModelNode module : globalMods.asList()) {
- final String name = module.get(NAME).asString();
- boolean annotations = module.get(ANNOTATIONS).asBoolean();
- boolean services = module.get(SERVICES).asBoolean();
- boolean metaInf = module.get(META_INF).asBoolean();
+ final List<GlobalModule> globalMods = this.globalModules;
- String slot = module.get(SLOT).asString();
- final ModuleIdentifier identifier = ModuleIdentifier.create(name, slot);
- final ModuleDependency dependency = new ModuleDependency(Module.getBootModuleLoader(), identifier, false, false, services, false);
+ for (final GlobalModule module : globalMods) {
+ final ModuleDependency dependency = new ModuleDependency(Module.getBootModuleLoader(), module.getModuleIdentifier(), false, false, module.isServices(), false);
- if (metaInf) {
+ if (module.isMetaInf()) {
dependency.addImportFilter(PathFilters.getMetaInfSubdirectoriesFilter(), true);
dependency.addImportFilter(PathFilters.getMetaInfFilter(), true);
}
- if(annotations) {
- deploymentUnit.addToAttachmentList(Attachments.ADDITIONAL_ANNOTATION_INDEXES, identifier);
+ if(module.isAnnotations()) {
+ deploymentUnit.addToAttachmentList(Attachments.ADDITIONAL_ANNOTATION_INDEXES, module.getModuleIdentifier());
}
moduleSpecification.addSystemDependency(dependency);
}
- }
}
@Override
@@ -93,7 +80,7 @@ public void undeploy(final DeploymentUnit context) {
* Set the global modules configuration for the container.
* @param globalModules a fully resolved (i.e. with expressions resolved and default values set) global modules configuration
*/
- public void setGlobalModules(final ModelNode globalModules) {
+ public void setGlobalModules(final List<GlobalModule> globalModules) {
this.globalModules = globalModules;
}
}
View
11 ee/src/main/java/org/jboss/as/ee/subsystem/EeSubsystemAdd.java
@@ -132,15 +132,14 @@ protected void performBoottime(final OperationContext context, final ModelNode o
final boolean specDescriptorPropertyReplacement = EeSubsystemRootResource.SPEC_DESCRIPTOR_PROPERTY_REPLACEMENT.resolveModelAttribute(context, model).asBoolean();
final boolean jbossDescriptorPropertyReplacement = EeSubsystemRootResource.JBOSS_DESCRIPTOR_PROPERTY_REPLACEMENT.resolveModelAttribute(context, model).asBoolean();
+ moduleDependencyProcessor.setGlobalModules(GlobalModulesDefinition.createModuleList(context, globalModules));
+ isolationProcessor.setEarSubDeploymentsIsolated(earSubDeploymentsIsolated);
+ specDescriptorPropertyReplacementProcessor.setDescriptorPropertyReplacement(specDescriptorPropertyReplacement);
+ jbossDescriptorPropertyReplacementProcessor.setDescriptorPropertyReplacement(jbossDescriptorPropertyReplacement);
+
context.addStep(new AbstractDeploymentChainStep() {
protected void execute(DeploymentProcessorTarget processorTarget) {
- moduleDependencyProcessor.setGlobalModules(globalModules);
- isolationProcessor.setEarSubDeploymentsIsolated(earSubDeploymentsIsolated);
- specDescriptorPropertyReplacementProcessor.setDescriptorPropertyReplacement(specDescriptorPropertyReplacement);
- jbossDescriptorPropertyReplacementProcessor.setDescriptorPropertyReplacement(jbossDescriptorPropertyReplacement);
-
-
ROOT_LOGGER.debug("Activating EE subsystem");
processorTarget.addDeploymentProcessor(EeExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_EE_DEPLOYMENT_PROPERTIES, new DeploymentPropertiesProcessor());
View
2  ee/src/main/java/org/jboss/as/ee/subsystem/EeWriteAttributeHandler.java
@@ -78,7 +78,7 @@ protected void revertUpdateToRuntime(OperationContext context, ModelNode operati
private void applyUpdateToDeploymentUnitProcessor(final OperationContext context, ModelNode newValue, String attributeName) throws OperationFailedException {
if (GlobalModulesDefinition.INSTANCE.getName().equals(attributeName)) {
- moduleDependencyProcessor.setGlobalModules(newValue);
+ moduleDependencyProcessor.setGlobalModules(GlobalModulesDefinition.createModuleList(context, newValue));
} else if (EeSubsystemRootResource.EAR_SUBDEPLOYMENTS_ISOLATED.getName().equals(attributeName)) {
boolean isolate = newValue.asBoolean();
isolationProcessor.setEarSubDeploymentsIsolated(isolate);
View
62 ee/src/main/java/org/jboss/as/ee/subsystem/GlobalModulesDefinition.java
@@ -22,6 +22,9 @@
package org.jboss.as.ee.subsystem;
+import java.util.ArrayList;
+import java.util.List;
+
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.MODULE;
import javax.xml.stream.XMLStreamException;
@@ -31,10 +34,13 @@
import org.jboss.as.controller.AttributeMarshaller;
import org.jboss.as.controller.ObjectListAttributeDefinition;
import org.jboss.as.controller.ObjectTypeAttributeDefinition;
+import org.jboss.as.controller.OperationContext;
+import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
+import org.jboss.modules.ModuleIdentifier;
/**
* {@link AttributeDefinition} implementation for the "global-modules" attribute.
@@ -52,23 +58,23 @@
public static final String DEFAULT_SLOT = "main";
- static final SimpleAttributeDefinition NAME_AD = new SimpleAttributeDefinitionBuilder(NAME, ModelType.STRING).build();
+ public static final SimpleAttributeDefinition NAME_AD = new SimpleAttributeDefinitionBuilder(NAME, ModelType.STRING).build();
- static final SimpleAttributeDefinition SLOT_AD = new SimpleAttributeDefinitionBuilder(SLOT, ModelType.STRING, true)
+ public static final SimpleAttributeDefinition SLOT_AD = new SimpleAttributeDefinitionBuilder(SLOT, ModelType.STRING, true)
.setDefaultValue(new ModelNode(DEFAULT_SLOT))
.build();
- static final SimpleAttributeDefinition ANNOTATIONS_AD = new SimpleAttributeDefinitionBuilder(ANNOTATIONS, ModelType.BOOLEAN, true)
+ public static final SimpleAttributeDefinition ANNOTATIONS_AD = new SimpleAttributeDefinitionBuilder(ANNOTATIONS, ModelType.BOOLEAN, true)
.setAllowExpression(true)
.setDefaultValue(new ModelNode(false))
.build();
- static final SimpleAttributeDefinition SERVICES_AD = new SimpleAttributeDefinitionBuilder(SERVICES, ModelType.BOOLEAN, true)
+ public static final SimpleAttributeDefinition SERVICES_AD = new SimpleAttributeDefinitionBuilder(SERVICES, ModelType.BOOLEAN, true)
.setAllowExpression(true)
.setDefaultValue(new ModelNode(false))
.build();
- static final SimpleAttributeDefinition META_INF_AD = new SimpleAttributeDefinitionBuilder(META_INF, ModelType.BOOLEAN, true)
+ public static final SimpleAttributeDefinition META_INF_AD = new SimpleAttributeDefinitionBuilder(META_INF, ModelType.BOOLEAN, true)
.setAllowExpression(true)
.setDefaultValue(new ModelNode(true))
.build();
@@ -98,4 +104,50 @@ public void marshallAsElement(AttributeDefinition attribute, ModelNode resourceM
public static final AttributeDefinition INSTANCE = ObjectListAttributeDefinition.Builder.of(GLOBAL_MODULES, VALUE_TYPE_AD)
.setAllowNull(true)
.build();
+
+ public static List<GlobalModule> createModuleList(final OperationContext context, final ModelNode globalMods) throws OperationFailedException {
+ final List<GlobalModule> ret = new ArrayList<>();
+ if (globalMods.isDefined()) {
+ for (final ModelNode module : globalMods.asList()) {
+ String name = NAME_AD.resolveModelAttribute(context, module).asString();
+ String slot = SLOT_AD.resolveModelAttribute(context, module).asString();
+ boolean annotations = ANNOTATIONS_AD.resolveModelAttribute(context, module).asBoolean();
+ boolean services = SERVICES_AD.resolveModelAttribute(context, module).asBoolean();
+ boolean metaInf = META_INF_AD.resolveModelAttribute(context, module).asBoolean();
+ ret.add(new GlobalModule(ModuleIdentifier.create(name, slot), annotations, services, metaInf));
+ }
+ }
+ return ret;
+ }
+
+ public static final class GlobalModule {
+ private final ModuleIdentifier moduleIdentifier;
+ private final boolean annotations;
+ private final boolean services;
+ private final boolean metaInf;
+
+
+ GlobalModule(final ModuleIdentifier moduleIdentifier, final boolean annotations, final boolean services, final boolean metaInf) {
+ this.moduleIdentifier = moduleIdentifier;
+ this.annotations = annotations;
+ this.services = services;
+ this.metaInf = metaInf;
+ }
+
+ public ModuleIdentifier getModuleIdentifier() {
+ return moduleIdentifier;
+ }
+
+ public boolean isAnnotations() {
+ return annotations;
+ }
+
+ public boolean isServices() {
+ return services;
+ }
+
+ public boolean isMetaInf() {
+ return metaInf;
+ }
+ }
}
View
19 ...uite/integration/basic/src/test/java/org/jboss/as/test/integration/ee/globalmodules/GlobalModuleEjb.java
@@ -0,0 +1,19 @@
+package org.jboss.as.test.integration.ee.globalmodules;
+
+import javax.ejb.Stateless;
+import javax.interceptor.Interceptors;
+
+/**
+ * @author Stuart Douglas
+ */
+@Stateless
+@Interceptors(GlobalModuleInterceptor.class)
+public class GlobalModuleEjb {
+
+ public String getName() {
+ return GlobalModuleEjb.class.getSimpleName();
+ }
+
+
+}
+
View
17 ...egration/basic/src/test/java/org/jboss/as/test/integration/ee/globalmodules/GlobalModuleInterceptor.java
@@ -0,0 +1,17 @@
+package org.jboss.as.test.integration.ee.globalmodules;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+/**
+ * @author Stuart Douglas
+ */
+public class GlobalModuleInterceptor {
+
+ @AroundInvoke
+ public Object intercept(final InvocationContext context) throws Exception {
+
+ return getClass().getSimpleName() + context.proceed();
+ }
+
+}
View
214 ...ntegration/basic/src/test/java/org/jboss/as/test/integration/ee/globalmodules/GlobalModulesTestCase.java
@@ -0,0 +1,214 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.as.test.integration.ee.globalmodules;
+
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.sql.SQLException;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.as.arquillian.api.ServerSetup;
+import org.jboss.as.arquillian.api.ServerSetupTask;
+import org.jboss.as.arquillian.container.ManagementClient;
+import org.jboss.dmr.ModelNode;
+import org.jboss.jandex.Index;
+import org.jboss.jandex.IndexWriter;
+import org.jboss.jandex.Indexer;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.ByteArrayAsset;
+import org.jboss.shrinkwrap.api.exporter.ZipExporter;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.xnio.IoUtils;
+
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.NAME;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP_ADDR;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.SUBSYSTEM;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.UNDEFINE_ATTRIBUTE_OPERATION;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.VALUE;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.WRITE_ATTRIBUTE_OPERATION;
+
+/**
+ * @author Stuart Douglas
+ */
+@RunWith(Arquillian.class)
+@ServerSetup(GlobalModulesTestCase.GlobalModulesTestCaseServerSetup.class)
+public class GlobalModulesTestCase {
+
+ static class GlobalModulesTestCaseServerSetup implements ServerSetupTask {
+
+ @Override
+ public void setup(final ManagementClient managementClient, final String containerId) throws Exception {
+ final ModelNode value = new ModelNode();
+ ModelNode module = new ModelNode();
+ module.get("name").set("org.jboss.test.globalModule");
+ module.get("annotations").set(true);
+ value.add(module);
+
+
+ final ModelNode op = new ModelNode();
+ op.get(OP_ADDR).set(SUBSYSTEM, "ee");
+ op.get(OP).set(WRITE_ATTRIBUTE_OPERATION);
+ op.get(NAME).set("global-modules");
+ op.get(VALUE).set(value);
+ managementClient.getControllerClient().execute(op);
+
+
+ File testModuleRoot = new File(getModulePath(), "org/jboss/test/globalModule");
+ deleteRecursively(testModuleRoot);
+ createTestModule(testModuleRoot);
+ }
+
+ @Override
+ public void tearDown(final ManagementClient managementClient, final String containerId) throws Exception {
+ final ModelNode op = new ModelNode();
+ op.get(OP_ADDR).set(SUBSYSTEM, "ee");
+ op.get(OP).set(UNDEFINE_ATTRIBUTE_OPERATION);
+ op.get(NAME).set("global-modules");
+ managementClient.getControllerClient().execute(op);
+
+
+ File testModuleRoot = new File(getModulePath(), "org/jboss/test/globalModule");
+ deleteRecursively(testModuleRoot);
+ }
+
+ private static void deleteRecursively(File file) {
+ if (file.exists()) {
+ if (file.isDirectory()) {
+ for (String name : file.list()) {
+ deleteRecursively(new File(file, name));
+ }
+ }
+ file.delete();
+ }
+ }
+
+ private static void createTestModule(File testModuleRoot) throws IOException {
+ if (testModuleRoot.exists()) {
+ throw new IllegalArgumentException(testModuleRoot + " already exists");
+ }
+ File file = new File(testModuleRoot, "main");
+ if (!file.mkdirs()) {
+ throw new IllegalArgumentException("Could not create " + file);
+ }
+
+ URL url = GlobalModulesTestCase.class.getResource("module.xml");
+ if (url == null) {
+ throw new IllegalStateException("Could not find module.xml");
+ }
+ copyFile(new File(file, "module.xml"), url.openStream());
+
+ JavaArchive jar = ShrinkWrap.create(JavaArchive.class, "globalTest.jar");
+ jar.addClasses(GlobalModuleEjb.class, GlobalModuleInterceptor.class);
+
+ final ClassLoader cl = GlobalModulesTestCase.class.getClassLoader();
+
+ //create annotation index
+ Indexer indexer = new Indexer();
+ indexer.index(cl.getResourceAsStream(GlobalModuleEjb.class.getName().replace(".","/") + ".class"));
+ indexer.index(cl.getResourceAsStream(GlobalModuleInterceptor.class.getName().replace(".", "/") + ".class"));
+ final Index index = indexer.complete();
+ final ByteArrayOutputStream out = new ByteArrayOutputStream();
+ IndexWriter writer = new IndexWriter(out);
+ writer.write(index);
+ jar.addAsManifestResource(new ByteArrayAsset(out.toByteArray()), "jandex.idx");
+
+
+ FileOutputStream jarFile = new FileOutputStream(new File(file, "globalTest.jar"));
+ try {
+ jar.as(ZipExporter.class).exportTo(jarFile);
+ } finally {
+ jarFile.flush();
+ jarFile.close();
+ }
+
+ }
+ }
+
+
+ private static void copyFile(File target, InputStream src) throws IOException {
+ final BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(target));
+ try {
+ int i = src.read();
+ while (i != -1) {
+ out.write(i);
+ i = src.read();
+ }
+ } finally {
+ IoUtils.safeClose(out);
+ }
+ }
+
+ private static File getModulePath() {
+ String modulePath = System.getProperty("module.path", null);
+ if (modulePath == null) {
+ String jbossHome = System.getProperty("jboss.home", null);
+ if (jbossHome == null) {
+ throw new IllegalStateException("Neither -Dmodule.path nor -Djboss.home were set");
+ }
+ modulePath = jbossHome + File.separatorChar + "modules";
+ } else {
+ modulePath = modulePath.split(File.pathSeparator)[1];
+ }
+ File moduleDir = new File(modulePath);
+ if (!moduleDir.exists()) {
+ throw new IllegalStateException("Determined module path does not exist");
+ }
+ if (!moduleDir.isDirectory()) {
+ throw new IllegalStateException("Determined module path is not a dir");
+ }
+ return moduleDir;
+ }
+
+ @Deployment
+ public static Archive<?> deploy() {
+ final JavaArchive jar = ShrinkWrap.create(JavaArchive.class, "testglobal.jar");
+ jar.addClass(GlobalModulesTestCase.class);
+ return jar;
+
+ }
+
+ @ArquillianResource
+ private InitialContext ctx;
+
+
+ @Test
+ public void testDataSourceDefinition() throws NamingException, SQLException {
+ GlobalModuleEjb bean = (GlobalModuleEjb) ctx.lookup("java:module/" + GlobalModuleEjb.class.getSimpleName());
+ Assert.assertEquals(GlobalModuleInterceptor.class.getSimpleName() + GlobalModuleEjb.class.getSimpleName(), bean.getName());
+ }
+
+}
View
43 testsuite/integration/basic/src/test/java/org/jboss/as/test/integration/ee/globalmodules/module.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ JBoss, Home of Professional Open Source.
+ ~ Copyright 2010, 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.
+ -->
+
+<module xmlns="urn:jboss:module:1.1" name="org.jboss.test.globalModule">
+
+ <resources>
+ <resource-root path="globalTest.jar"/>
+ <!-- Insert resources here -->
+ </resources>
+
+ <dependencies>
+ <module name="javax.api"/>
+ <module name="javax.resource.api"/>
+ <module name="javax.enterprise.api"/>
+ <module name="javax.inject.api"/>
+ <module name="javax.interceptor.api"/>
+
+ <module name="javax.validation.api"/>
+ <module name="org.hibernate.validator"/>
+ <module name="javax.xml.stream.api"/>
+ </dependencies>
+</module>
View
2  ...egration/basic/src/test/java/org/jboss/as/test/integration/extension/remove/ExtensionRemoveTestCase.java
@@ -224,7 +224,7 @@ private File getModulePath() {
}
modulePath = jbossHome + File.separatorChar + "modules";
}else{
- modulePath = modulePath.split(File.pathSeparator)[0];
+ modulePath = modulePath.split(File.pathSeparator)[1];
}
File moduleDir = new File(modulePath);
if (!moduleDir.exists()) {
View
2  ...asic/src/test/java/org/jboss/as/test/integration/jca/moduledeployment/ModuleDeploymentTestCaseSetup.java
@@ -123,7 +123,7 @@ private File getModulePath() {
}
modulePath = jbossHome + File.separatorChar + "modules";
} else {
- modulePath = modulePath.split(File.pathSeparator)[0];
+ modulePath = modulePath.split(File.pathSeparator)[1];
}
File moduleDir = new File(modulePath);
if (!moduleDir.exists()) {
View
2  ...asic/src/test/java/org/jboss/as/test/integration/naming/ObjectFactoryWithEnvironmentBindingTestCase.java
@@ -210,7 +210,7 @@ private static File getModulesHome() {
}
modulePath = jbossHome + File.separatorChar + "modules";
} else {
- modulePath = modulePath.split(File.pathSeparator)[0];
+ modulePath = modulePath.split(File.pathSeparator)[1];
}
File moduleDir = new File(modulePath);
if (!moduleDir.exists()) {
View
2  ...basic/src/test/java/org/jboss/as/test/integration/weld/multideployment/WeldModuleDeploymentTestCase.java
@@ -135,7 +135,7 @@ private static File getModulePath() {
}
modulePath = jbossHome + File.separatorChar + "modules";
} else {
- modulePath = modulePath.split(File.pathSeparator)[0];
+ modulePath = modulePath.split(File.pathSeparator)[1];
}
File moduleDir = new File(modulePath);
if (!moduleDir.exists()) {
Please sign in to comment.
Something went wrong with that request. Please try again.