From e13d764fba385ab31f5576c7a8e1f9e2f50eb746 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Mon, 26 May 2008 10:49:27 +0000 Subject: [PATCH] Restore tracing options after generating pdom. --- .../pdom/export/GeneratePDOMApplication.java | 48 +++++++++++++------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java index 17e7fe677dc..dd3e1307385 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java @@ -102,25 +102,46 @@ 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})); + } + File targetLocation = new File(target); - IExportProjectProvider pprovider = getExportProjectProvider(pproviderFQN); - if(pprovider==null) { - fail(MessageFormat.format(Messages.GeneratePDOMApplication_CouldNotFindInitializer, new Object[]{pproviderFQN})); + GeneratePDOM generate = new GeneratePDOM(pprovider, appArgs, targetLocation, indexerID); + 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]); + } } - File targetLocation = new File(target); - - GeneratePDOM generate = new GeneratePDOM(pprovider, appArgs, targetLocation, indexerID); - output(Messages.GeneratePDOMApplication_GenerationStarts); - generate.run(); // CoreException handled in start method - output(Messages.GeneratePDOMApplication_GenerationEnds); 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