*/
private boolean hasOverlayChanged(IProject changedProject, IProject projectDeployedOnServer, IResourceDelta delta) {
if (!ModuleCoreNature.isFlexibleProject(projectDeployedOnServer)) {
return false;
}
IVirtualComponent component = ComponentCore.createComponent(projectDeployedOnServer);
if (component == null) {
return false;
}
IVirtualReference[] references = component.getReferences();
if (references == null || references.length == 0) {
return false;
}
for (IVirtualReference reference : references) {
IVirtualComponent vc = reference.getReferencedComponent();
if (vc instanceof IOverlayVirtualComponent){
IProject overlaidProject = vc.getProject();
if (vc instanceof OverlaySelfComponent) {
IPath componentFilePath = overlaidProject.getFile(".settings/org.eclipse.wst.common.component").getFullPath(); //$NON-NLS-1$
if (delta.findMember(componentFilePath) != null) {
return true;
}
} else if (!vc.isBinary() && overlaidProject.equals(changedProject)){
return true;
}
}
}
return false;