[261508] EJB validation error CHKJ2802E: <ejb-class> class className, or one of its supertypes, cannot be reflected
diff --git a/tests/org.eclipse.jst.j2ee.tests/DefectTestData/EARForLibDep.ear b/tests/org.eclipse.jst.j2ee.tests/DefectTestData/EARForLibDep.ear new file mode 100644 index 0000000..607c538 --- /dev/null +++ b/tests/org.eclipse.jst.j2ee.tests/DefectTestData/EARForLibDep.ear Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/defect-tests/org/eclipse/jst/j2ee/defect/tests/DefectVerificationTests.java b/tests/org.eclipse.jst.j2ee.tests/defect-tests/org/eclipse/jst/j2ee/defect/tests/DefectVerificationTests.java index ec93677..4925efd 100644 --- a/tests/org.eclipse.jst.j2ee.tests/defect-tests/org/eclipse/jst/j2ee/defect/tests/DefectVerificationTests.java +++ b/tests/org.eclipse.jst.j2ee.tests/defect-tests/org/eclipse/jst/j2ee/defect/tests/DefectVerificationTests.java
@@ -12,16 +12,11 @@ //import java.io.File; import java.io.StringBufferInputStream; -//import java.net.URL; -//import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -//import java.util.Enumeration; import java.util.List; import java.util.Map; -//import java.util.zip.ZipEntry; -//import java.util.zip.ZipFile; import junit.framework.Assert; @@ -53,6 +48,7 @@ import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntry; import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil; import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit; +import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent; import org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit; import org.eclipse.jst.j2ee.datamodel.properties.IEARComponentExportDataModelProperties; import org.eclipse.jst.j2ee.datamodel.properties.IEARComponentImportDataModelProperties; @@ -71,7 +67,6 @@ import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties; import org.eclipse.jst.j2ee.project.facet.IJavaProjectMigrationDataModelProperties; import org.eclipse.jst.j2ee.project.facet.JavaProjectMigrationDataModelProvider; -//import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit; import org.eclipse.jst.j2ee.web.datamodel.properties.IWebComponentImportDataModelProperties; import org.eclipse.jst.j2ee.web.project.facet.IWebFacetInstallDataModelProperties; import org.eclipse.jst.j2ee.webapplication.WebApp; @@ -97,7 +92,6 @@ import org.eclipse.wst.common.tests.OperationTestCase; import org.eclipse.wst.common.tests.ProjectUtility; import org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin; -//import org.eclipse.wtp.j2ee.headless.tests.web.operations.WebImportOperationTest; public class DefectVerificationTests extends OperationTestCase { @@ -123,6 +117,25 @@ return ""; } + + public void test261508() throws Exception { + String earFileName = getFullTestDataPath("EARForLibDep.ear"); + IDataModel model = DataModelFactory.createDataModel(new EARComponentImportDataModelProvider()); + model.setProperty(IEARComponentImportDataModelProperties.FILE_NAME, earFileName); + runAndVerify(model); + + IVirtualComponent webComponent = ComponentCore.createComponent(J2EEProjectUtilities.getProject("WebForLibDep")); + IVirtualReference[] refs = webComponent.getReferences(); + Assert.assertTrue(refs.length == 2); + for( IVirtualReference ref : refs ){ + IVirtualComponent refComponent = ref.getReferencedComponent(); + if ( refComponent instanceof J2EEModuleVirtualArchiveComponent ){ + J2EEModuleVirtualArchiveComponent j2eeVirtualArchive = (J2EEModuleVirtualArchiveComponent)refComponent; + Assert.assertTrue( j2eeVirtualArchive.getName().endsWith("EjbTestClient.jar")); + } + } + } + /** * Test for https://bugs.eclipse.org/bugs/show_bug.cgi?id=130657 */ @@ -823,4 +836,7 @@ } } **/ + + + }