1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Restore tracing options after generating pdom.

This commit is contained in:
Markus Schorn 2008-05-26 10:49:27 +00:00
parent e87d1aa60d
commit e13d764fba

View file

@ -102,12 +102,18 @@ public class GeneratePDOMApplication implements IApplication {
}
}
String[] oldvals= null;
if(!quiet) {
oldvals= new String[] {
System.getProperty(IPDOMIndexerTask.TRACE_ACTIVITY),
System.getProperty(IPDOMIndexerTask.TRACE_PROBLEMS),
System.getProperty(IPDOMIndexerTask.TRACE_STATISTICS),
};
System.setProperty(IPDOMIndexerTask.TRACE_ACTIVITY, Boolean.TRUE.toString());
System.setProperty(IPDOMIndexerTask.TRACE_PROBLEMS, Boolean.TRUE.toString());
System.setProperty(IPDOMIndexerTask.TRACE_STATISTICS, Boolean.TRUE.toString());
}
try {
IExportProjectProvider pprovider = getExportProjectProvider(pproviderFQN);
if(pprovider==null) {
fail(MessageFormat.format(Messages.GeneratePDOMApplication_CouldNotFindInitializer, new Object[]{pproviderFQN}));
@ -118,9 +124,24 @@ public class GeneratePDOMApplication implements IApplication {
output(Messages.GeneratePDOMApplication_GenerationStarts);
generate.run(); // CoreException handled in start method
output(Messages.GeneratePDOMApplication_GenerationEnds);
} finally {
if (oldvals != null) {
restoreSystemProperty(IPDOMIndexerTask.TRACE_ACTIVITY, oldvals[0]);
restoreSystemProperty(IPDOMIndexerTask.TRACE_PROBLEMS, oldvals[1]);
restoreSystemProperty(IPDOMIndexerTask.TRACE_STATISTICS, oldvals[2]);
}
}
return null;
}
private void restoreSystemProperty(String key, String value) {
if (value == null) {
System.clearProperty(key);
} else {
System.setProperty(key, value);
}
}
protected void output(String s) {
System.out.println(s);
}
@ -154,14 +175,13 @@ public class GeneratePDOMApplication implements IApplication {
IExtensionRegistry registry = Platform.getExtensionRegistry();
IExtensionPoint indexExtensions = registry.getExtensionPoint(CCorePlugin.INDEX_UNIQ_ID);
IExtension[] extensions = indexExtensions.getExtensions();
for(int i=0; i<extensions.length; i++) {
IExtension extension = extensions[i];
for (IExtension extension : extensions) {
IConfigurationElement[] ce = extension.getConfigurationElements();
for(int j=0; j<ce.length; j++) {
if(ce[j].getName().equals(EXPORT_PROJECT_PROVIDER)) {
for (IConfigurationElement element : ce) {
if(element.getName().equals(EXPORT_PROJECT_PROVIDER)) {
try {
IExportProjectProvider epp = (IExportProjectProvider) ce[j].createExecutableExtension("class"); //$NON-NLS-1$
IExportProjectProvider epp = (IExportProjectProvider) element.createExecutableExtension("class"); //$NON-NLS-1$
projectInitializers.put(epp.getClass().getName(), epp);
} catch(CoreException cee) {
CCorePlugin.log(cee);