We recently ran into a problem where new non-local Launch Configurations
created in were not available from the
LaunchManager.getLaunchConfigurations() list when called synchronously
in the same code path as the doSave() method.
I investigated this issue and discovered that the
LaunchConfigurationWorkingCopy.writeNewFile() implementation calls
getLaunchManager().launchConfigurationAdded/Changed() only for local LCs.
For non local LCs, the update of the LaunchManager list relies on the
Resource delta notification, which are perform asynchronously in a
different thread.
This is an issue we have code that executes synchronously after a new LC
being created, and the LaunchManager does not contain the new LC.
Is this an oversight, could the writeNewFile() perform the Added/Changed
notfication for non-local LCs as well, or is there a design reason for
this behavior?