[304813] Changing to supported api
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/XDocletEjbAntProjectBuilder.java b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/XDocletEjbAntProjectBuilder.java
index ea3aea9..1930c64 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/XDocletEjbAntProjectBuilder.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/XDocletEjbAntProjectBuilder.java
@@ -16,6 +16,7 @@
 import java.util.List;
 import java.util.Properties;
 
+import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
@@ -34,15 +35,19 @@
 import org.eclipse.jdt.core.IPackageFragmentRoot;
 import org.eclipse.jdt.core.IParent;
 import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jem.workbench.utility.JemProjectUtilities;
 import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.UnresolveableURIException;
 import org.eclipse.wst.common.componentcore.internal.ComponentResource;
 import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
 import org.eclipse.wst.common.componentcore.internal.StructureEdit;
 import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
 
 public class XDocletEjbAntProjectBuilder extends XDocletAntProjectBuilder {
 	IProject clientProject;
@@ -191,31 +196,40 @@
 	private void setEjbClientJarProperties(Properties properties, StructureEdit core, WorkbenchComponent ejbModule)
 			throws UnresolveableURIException {
 		clientProject = null;
-		Iterator refComps = ejbModule.getReferencedComponents().iterator();
-		if (refComps.hasNext()) {
-			ReferencedComponent refedComp = (ReferencedComponent) refComps.next();
-			WorkbenchComponent clientEjbJarComp = core.findComponentByURI(refedComp.getHandle());
-			IProject project = StructureEdit.getContainingProject(clientEjbJarComp);
-			if (J2EEProjectUtilities.isUtilityProject(project)) {
-				properties.put("ejb.dd.clientjar", clientEjbJarComp.getName() + ".jar"); //$NON-NLS-1$
-				setClientJarSourcepath(properties, ejbModule, clientEjbJarComp);
+		IVirtualReference[] refs = null;
+		IProject ejbProject = ProjectUtilities.getProject(ejbModule);
+		IVirtualComponent ejbComp = ComponentCore.createComponent(ejbProject);
+		if (ejbComp != null) {
+			refs = ejbComp.getReferences();
+		}
+		
+		if (refs != null) {
+			for (int i = 0; i < refs.length; i++) {
+				IVirtualReference refComp = refs[i];
+				IVirtualComponent referencedComp = refComp.getReferencedComponent();
+				IProject project = referencedComp.getProject();
+				if (J2EEProjectUtilities.isUtilityProject(project)) {
+					properties.put("ejb.dd.clientjar", refComp.getArchiveName()); //$NON-NLS-1$
+					setClientJarSourcepath(properties, ejbModule, refComp);
+				}
 			}
 
 		}
 	}
 
-	private void setClientJarSourcepath(Properties properties, WorkbenchComponent ejbModule, WorkbenchComponent ejbClientJarComp) {
+	private void setClientJarSourcepath(Properties properties, WorkbenchComponent ejbModule, IVirtualReference refComp) {
 		// TODO: THIS API DOES NOT WORK YET
 		// IProject clientProj = StructureEdit.getContainingProject(component);
 		// ComponentResource[] sourceContainers =
 		// core.getSourceContainers(component);
-
-		Iterator clientHarResources = ejbClientJarComp.getResources().iterator();
-		clientProject = StructureEdit.getContainingProject(ejbClientJarComp);
+		IVirtualComponent referencedComp = refComp.getReferencedComponent();
+	    clientProject = referencedComp.getProject();
+	    
+		IContainer[] clientJarResources = referencedComp.getRootFolder().getUnderlyingFolders();
 		List sourcePaths = JemProjectUtilities.getSourceContainers(clientProject);
-		while (clientHarResources.hasNext()) {
-			ComponentResource res = (ComponentResource) clientHarResources.next();
-			IPath sPath = res.getSourcePath();
+		for (int i = 0; i < clientJarResources.length; i++) {
+			IContainer folder = clientJarResources[i];
+			IPath sPath = folder.getProjectRelativePath();
 			Iterator projSPaths = sourcePaths.iterator();
 			while (projSPaths.hasNext()) {
 				IFolder pSPath = (IFolder) projSPaths.next();