308056 - Incorrect deployment of variable based dependencies in EAR
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationOperationTest.java
index 7609d50..6ea444e 100644
--- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationOperationTest.java
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationOperationTest.java
@@ -16,6 +16,7 @@
*/
package org.eclipse.wtp.j2ee.headless.tests.ear.operations;
+import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -26,6 +27,8 @@
import junit.framework.Test;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
@@ -36,6 +39,7 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider;
+import org.eclipse.jst.j2ee.classpath.tests.util.ClasspathDependencyTestUtil;
import org.eclipse.jst.j2ee.earcreation.IEarFacetInstallDataModelProperties;
import org.eclipse.jst.j2ee.internal.project.facet.EARFacetProjectCreationDataModelProvider;
import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
@@ -375,6 +379,26 @@
}
}
}
+
+ public void testEARWithJarInLibFolder() throws Exception {
+ IDataModel dm = getEARDataModel("qEAR", "ourContent", null, null, JavaEEFacetConstants.EAR_5, false);
+ OperationTestCase.runAndVerify(dm);
+ IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject("qEAR");
+ IFolder folder = p.getFolder("ourContent/lib");
+ folder.create(true, true, null);
+ IFile file = folder.getFile("test1.jar");
+ file.create(new FileInputStream(ClasspathDependencyTestUtil.TEST1_JAR_PATH.toFile()), 0, new NullProgressMonitor());
+ IModule module = ServerUtil.getModule(p);
+ ModuleDelegate md = (ModuleDelegate)module.loadAdapter(ModuleDelegate.class, new NullProgressMonitor());
+ IModuleResource[] resources = md.members();
+ assertEquals(1, resources.length);
+ assertEquals("lib", resources[0].getName());
+ assertTrue(resources[0] instanceof IModuleFolder);
+ IModuleResource[] children =((IModuleFolder)resources[0]).members();
+ assertEquals(1, children.length);
+ assertEquals("test1.jar", children[0].getName());
+ }
+
public void addArchiveComponent(IVirtualComponent component) throws CoreException {