// Set up an ear with a war, jar, ear
DUIH parentDUIH = getParentDUIH(true);
DeploymentUnit parent = getDeploymentUnitProxy(parentDUIH);
JBossAppMetaData appmd = (JBossAppMetaData) parentDUIH.attachments.get(JBossAppMetaData.class);
ModulesMetaData modsmd = appmd.getModules();
DUIH war = getSingleAttachmentDUIH(); // this does most setup for war
war.parent = parent;
war.relativePath = SIMPLE_DU_WAR_PATH;
ModuleMetaData warmod = appmd.getModule(SIMPLE_DU_WAR_PATH);
DUIH jar = new DUIH();
jar.attachments.put(JBossMetaData.class, new JBossMetaData());
jar.parent = parent;
jar.relativePath = SIMPLE_DU_JAR_PATH;
jar.simpleName = SIMPLE_DU_JAR;
ModuleMetaData jarmod = new ModuleMetaData();
jarmod.setName(SIMPLE_DU_JAR_PATH);
modsmd.add(jarmod);
DUIH appClient = new DUIH();
appClient.attachments.put(JBossClientMetaData.class, new JBossClientMetaData());
appClient.parent = parent;
appClient.relativePath = SIMPLE_DU_APPCLIENT_PATH;
appClient.simpleName = SIMPLE_DU_APPCLIENT;
ModuleMetaData appclientmod = new ModuleMetaData();
appclientmod.setName(SIMPLE_DU_APPCLIENT_PATH);
modsmd.add(appclientmod);
// Make assertions simple by not letting anything have SIMPLE_TRIMMED_PATH
ModuleMetaData conflict = new ModuleMetaData();
conflict.setName("conflict.war");
conflict.setUniqueName(SIMPLE_TRIMMED_PATH);
modsmd.add(conflict);
ExecutorService executor = Executors.newFixedThreadPool(3);
CountDownLatch startLatch = new CountDownLatch(4);
CountDownLatch finishLatch = new CountDownLatch(3);