in org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/workspaceresolver/WorkspaceResourceChangeListener.java [52:89]
public void resourceChanged(IResourceChangeEvent event) {
try {
if (event.getType() == IResourceChangeEvent.PRE_CLOSE
|| event.getType() == IResourceChangeEvent.PRE_DELETE) {
if (!IvyPlugin.getPreferenceStoreHelper().getAutoResolveOnClose()) {
return;
}
IResource res = event.getResource();
IProject project;
switch (res.getType()) {
case IResource.FOLDER:
project = res.getProject();
break;
case IResource.FILE:
project = res.getProject();
break;
case IResource.PROJECT:
project = (IProject) res;
break;
default:
return;
}
if (IvyNatureHelper.hasNature(project)) {
projectClosed(project);
}
} else if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
if (!IvyPlugin.getPreferenceStoreHelper().getAutoResolveOnOpen()) {
return;
}
projectOpened(event);
}
} catch (OperationCanceledException oce) {
IvyPlugin.log(IStatus.CANCEL,
"Ivy update of dependent projects affected by project close operation canceled",
null);
}
}