[362308] Deadlock when changing the target runtime of EAR project and its modules during autobuild
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetRuntimeChangedDelegate.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetRuntimeChangedDelegate.java index c4fd416..351e6a4 100644 --- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetRuntimeChangedDelegate.java +++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetRuntimeChangedDelegate.java
@@ -12,9 +12,11 @@ package org.eclipse.jst.j2ee.project.facet; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; import org.eclipse.core.resources.IFile; @@ -91,8 +93,11 @@ // Compile the list of projects referenced by this project. final Set<IProject> childProjects = new HashSet<IProject>(); - final IVirtualComponent projectVC = ComponentCore.createComponent( project ); - final IVirtualReference[] vrefs = projectVC.getReferences(); + final IVirtualComponent projectVC = ComponentCore.createComponent( project ); + + Map<String, Object> options = new HashMap<String, Object>(); + options.put(IVirtualComponent.REQUESTED_REFERENCE_TYPE, IVirtualComponent.HARD_REFERENCES); + final IVirtualReference[] vrefs = projectVC.getReferences(options); for( int i = 0; i < vrefs.length; i++ ) { final IVirtualReference vref = vrefs[ i ];