Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 288299
Collapse All | Expand All

(-)core/org/eclipse/debug/internal/core/LogicalStructureManager.java (-5 / +5 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2007 IBM Corporation and others.
2
 * Copyright (c) 2000, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 107-113 Link Here
107
     */
107
     */
108
    private void loadStructureTypeSelections() {
108
    private void loadStructureTypeSelections() {
109
        fStructureTypeSelections= new HashMap();
109
        fStructureTypeSelections= new HashMap();
110
        String selections= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_STRUCTURE_SELECTIONS);
110
        String selections= Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), PREF_STRUCTURE_SELECTIONS, IInternalDebugCoreConstants.EMPTY_STRING, null);
111
    	// selections are stored in the form:
111
    	// selections are stored in the form:
112
    	// selection|selection|...selection|
112
    	// selection|selection|...selection|
113
        StringTokenizer tokenizer= new StringTokenizer(selections, "|"); //$NON-NLS-1$
113
        StringTokenizer tokenizer= new StringTokenizer(selections, "|"); //$NON-NLS-1$
Lines 136-142 Link Here
136
            buffer.append(entry.getValue());
136
            buffer.append(entry.getValue());
137
            buffer.append('|');
137
            buffer.append('|');
138
        }
138
        }
139
        DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_STRUCTURE_SELECTIONS, buffer.toString());
139
        Preferences.setString(DebugPlugin.getUniqueIdentifier(), PREF_STRUCTURE_SELECTIONS, buffer.toString(), null);
140
    }
140
    }
141
    
141
    
142
    /**
142
    /**
Lines 145-151 Link Here
145
    private void loadStructureTypeIds() {
145
    private void loadStructureTypeIds() {
146
        fStructureTypeIds= new ArrayList();
146
        fStructureTypeIds= new ArrayList();
147
    	// Types are stored as a comma-separated, ordered list.
147
    	// Types are stored as a comma-separated, ordered list.
148
        String types= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_STRUCTURE_IDS);
148
        String types= Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), PREF_STRUCTURE_IDS, IInternalDebugCoreConstants.EMPTY_STRING, null);
149
        StringTokenizer tokenizer= new StringTokenizer(types, ","); //$NON-NLS-1$
149
        StringTokenizer tokenizer= new StringTokenizer(types, ","); //$NON-NLS-1$
150
        while (tokenizer.hasMoreTokens()) {
150
        while (tokenizer.hasMoreTokens()) {
151
            String id= tokenizer.nextToken();
151
            String id= tokenizer.nextToken();
Lines 164-170 Link Here
164
        while (iter.hasNext()) {
164
        while (iter.hasNext()) {
165
            buffer.append(iter.next()).append(',');
165
            buffer.append(iter.next()).append(',');
166
        }
166
        }
167
        DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_STRUCTURE_IDS, buffer.toString());
167
        Preferences.setString(DebugPlugin.getUniqueIdentifier(), PREF_STRUCTURE_IDS, buffer.toString(), null);
168
    }
168
    }
169
    
169
    
170
    /**
170
    /**
(-)core/org/eclipse/debug/internal/core/StepFilterManager.java (-3 / +4 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2007 IBM Corporation and others.
2
 * Copyright (c) 2000, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 10-15 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.debug.internal.core;
11
package org.eclipse.debug.internal.core;
12
12
13
import org.eclipse.core.runtime.Platform;
13
import org.eclipse.debug.core.DebugPlugin;
14
import org.eclipse.debug.core.DebugPlugin;
14
import org.eclipse.debug.core.ILaunch;
15
import org.eclipse.debug.core.ILaunch;
15
import org.eclipse.debug.core.ILaunchListener;
16
import org.eclipse.debug.core.ILaunchListener;
Lines 63-69 Link Here
63
	 * @return whether to use step filters
64
	 * @return whether to use step filters
64
	 */
65
	 */
65
	public boolean isUseStepFilters() {
66
	public boolean isUseStepFilters() {
66
		return DebugPlugin.getDefault().getPluginPreferences().getBoolean(PREF_USE_STEP_FILTERS);
67
		return Platform.getPreferencesService().getBoolean(DebugPlugin.getUniqueIdentifier(), PREF_USE_STEP_FILTERS, false, null);
67
	}
68
	}
68
	
69
	
69
	/**
70
	/**
Lines 72-78 Link Here
72
	 * @param useFilters whether to use step filters
73
	 * @param useFilters whether to use step filters
73
	 */
74
	 */
74
	public void setUseStepFilters(boolean useFilters) {
75
	public void setUseStepFilters(boolean useFilters) {
75
		DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_USE_STEP_FILTERS, useFilters);
76
		Preferences.setBoolean(DebugPlugin.getUniqueIdentifier(), PREF_USE_STEP_FILTERS, useFilters, null);
76
		ILaunch[] launchs = DebugPlugin.getDefault().getLaunchManager().getLaunches();
77
		ILaunch[] launchs = DebugPlugin.getDefault().getLaunchManager().getLaunches();
77
		for (int i = 0; i < launchs.length; i++) {
78
		for (int i = 0; i < launchs.length; i++) {
78
			ILaunch launch = launchs[i];
79
			ILaunch launch = launchs[i];
(-)core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java (-19 / +8 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2008 IBM Corporation and others.
2
 * Copyright (c) 2000, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 21-29 Link Here
21
import java.util.Map;
21
import java.util.Map;
22
import java.util.Set;
22
import java.util.Set;
23
23
24
import javax.xml.parsers.ParserConfigurationException;
25
import javax.xml.transform.TransformerException;
26
27
import org.eclipse.core.filesystem.EFS;
24
import org.eclipse.core.filesystem.EFS;
28
import org.eclipse.core.filesystem.IFileStore;
25
import org.eclipse.core.filesystem.IFileStore;
29
import org.eclipse.core.resources.IContainer;
26
import org.eclipse.core.resources.IContainer;
Lines 267-291 Link Here
267
	 */
264
	 */
268
	protected void writeNewFile(IProgressMonitor monitor) throws CoreException {
265
	protected void writeNewFile(IProgressMonitor monitor) throws CoreException {
269
		String xml = null;
266
		String xml = null;
270
		Exception e= null;
271
		try {
267
		try {
272
			xml = getInfo().getAsXML();
268
			xml = getInfo().getAsXML();
273
		} catch (IOException ioe) {
269
		} catch (Exception e) {
274
			e= ioe;			
275
		} catch (ParserConfigurationException pce) {
276
			e= pce;
277
		} catch (TransformerException te) {
278
			e= te;		
279
		}
280
		if (e != null) {
281
			throw new DebugException(
270
			throw new DebugException(
282
				new Status(
271
					new Status(
283
					IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
272
						IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
284
					DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1, new String[]{e.toString()}), null 
273
						DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1, new String[]{e.toString()}), null 
285
					)
274
						)
286
				);		
275
					);			
287
		}
276
		}
288
		SubMonitor lmonitor = SubMonitor.convert(monitor, "", 5); //$NON-NLS-1$
277
		SubMonitor lmonitor = SubMonitor.convert(monitor, IInternalDebugCoreConstants.EMPTY_STRING, 5);
289
		try {
278
		try {
290
			if (isLocal()) {
279
			if (isLocal()) {
291
				// use java.io to update configuration file
280
				// use java.io to update configuration file
(-)core/org/eclipse/debug/internal/core/LaunchManager.java (-10 / +6 lines)
Lines 76-82 Link Here
76
import org.eclipse.core.runtime.Path;
76
import org.eclipse.core.runtime.Path;
77
import org.eclipse.core.runtime.Platform;
77
import org.eclipse.core.runtime.Platform;
78
import org.eclipse.core.runtime.PlatformObject;
78
import org.eclipse.core.runtime.PlatformObject;
79
import org.eclipse.core.runtime.Preferences;
80
import org.eclipse.core.runtime.SafeRunner;
79
import org.eclipse.core.runtime.SafeRunner;
81
import org.eclipse.core.runtime.Status;
80
import org.eclipse.core.runtime.Status;
82
import org.eclipse.core.variables.VariablesPlugin;
81
import org.eclipse.core.variables.VariablesPlugin;
Lines 1551-1558 Link Here
1551
	private synchronized void initializePreferredDelegates() {
1550
	private synchronized void initializePreferredDelegates() {
1552
		if(fPreferredDelegates == null) {
1551
		if(fPreferredDelegates == null) {
1553
			fPreferredDelegates = new HashSet();
1552
			fPreferredDelegates = new HashSet();
1554
			Preferences prefs = DebugPlugin.getDefault().getPluginPreferences();
1553
			String preferred = Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_PREFERRED_DELEGATES, IInternalDebugCoreConstants.EMPTY_STRING, null);
1555
			String preferred = prefs.getString(LaunchManager.PREF_PREFERRED_DELEGATES);
1556
			if(!IInternalDebugCoreConstants.EMPTY_STRING.equals(preferred)) {
1554
			if(!IInternalDebugCoreConstants.EMPTY_STRING.equals(preferred)) {
1557
				try {
1555
				try {
1558
					Element root = DebugPlugin.parseDocument(preferred);
1556
					Element root = DebugPlugin.parseDocument(preferred);
Lines 1603-1610 Link Here
1603
		// @since 3.5
1601
		// @since 3.5
1604
		// If the legacy mechanism didn't work, try the new preference name for 
1602
		// If the legacy mechanism didn't work, try the new preference name for 
1605
		// the given launch type.  
1603
		// the given launch type.  
1606
        Preferences prefs = DebugPlugin.getDefault().getPluginPreferences();
1604
        String preferred = Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_PREFERRED_DELEGATES + '/' + typeid, IInternalDebugCoreConstants.EMPTY_STRING, null);
1607
        String preferred = prefs.getString(LaunchManager.PREF_PREFERRED_DELEGATES + '/' + typeid);
1608
        if (preferred != null && preferred.length() != 0) {
1605
        if (preferred != null && preferred.length() != 0) {
1609
            StringTokenizer tokenizer = new StringTokenizer(preferred, ";"); //$NON-NLS-1$
1606
            StringTokenizer tokenizer = new StringTokenizer(preferred, ";"); //$NON-NLS-1$
1610
            while(tokenizer.hasMoreTokens()) {
1607
            while(tokenizer.hasMoreTokens()) {
Lines 2014-2020 Link Here
2014
	 * @return whether to auto-delete configurations
2011
	 * @return whether to auto-delete configurations
2015
	 */
2012
	 */
2016
	private boolean isDeleteConfigurations() {
2013
	private boolean isDeleteConfigurations() {
2017
		return DebugPlugin.getDefault().getPluginPreferences().getBoolean(PREF_DELETE_CONFIGS_ON_PROJECT_DELETE);
2014
		return Platform.getPreferencesService().getBoolean(DebugPlugin.getUniqueIdentifier(), PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true, null);
2018
	}
2015
	}
2019
	
2016
	
2020
	/* (non-Javadoc)
2017
	/* (non-Javadoc)
Lines 2330-2336 Link Here
2330
	 * @since 3.3
2327
	 * @since 3.3
2331
	 */
2328
	 */
2332
	private void persistPreferredLaunchDelegates() {
2329
	private void persistPreferredLaunchDelegates() {
2333
        Preferences prefs = DebugPlugin.getDefault().getPluginPreferences();
2334
        ILaunchConfigurationType[] types = getLaunchConfigurationTypes();
2330
        ILaunchConfigurationType[] types = getLaunchConfigurationTypes();
2335
        Map preferred = null;
2331
        Map preferred = null;
2336
        ILaunchDelegate delegate = null;
2332
        ILaunchDelegate delegate = null;
Lines 2357-2370 Link Here
2357
                        }
2353
                        }
2358
                    }
2354
                    }
2359
                }
2355
                }
2360
                prefs.setValue(preferenceName, str.toString());
2356
                Preferences.setString(DebugPlugin.getUniqueIdentifier(), preferenceName, str.toString(), null);
2361
            } else {
2357
            } else {
2362
                prefs.setToDefault(preferenceName);
2358
            	Preferences.setToDefault(DebugPlugin.getUniqueIdentifier(), preferenceName);
2363
            }
2359
            }
2364
        }
2360
        }
2365
2361
2366
        // Reset the legacy preference string.
2362
        // Reset the legacy preference string.
2367
        prefs.setToDefault(PREF_PREFERRED_DELEGATES);
2363
        Preferences.setToDefault(DebugPlugin.getUniqueIdentifier(), PREF_PREFERRED_DELEGATES);
2368
	}
2364
	}
2369
	
2365
	
2370
	/**
2366
	/**
(-)core/org/eclipse/debug/internal/core/DebugPreferenceInitializer.java (-5 / +5 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2006, 2007 IBM Corporation and others.
2
 * Copyright (c) 2006, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 10-16 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.debug.internal.core;
11
package org.eclipse.debug.internal.core;
12
12
13
import org.eclipse.core.runtime.Preferences;
14
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
13
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
15
import org.eclipse.debug.core.DebugPlugin;
14
import org.eclipse.debug.core.DebugPlugin;
16
15
Lines 25-34 Link Here
25
	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
24
	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
26
	 */
25
	 */
27
	public void initializeDefaultPreferences() {
26
	public void initializeDefaultPreferences() {
28
		Preferences prefs = DebugPlugin.getDefault().getPluginPreferences();
29
		// Step filter preferences
27
		// Step filter preferences
30
		prefs.setDefault(StepFilterManager.PREF_USE_STEP_FILTERS, false);
28
		Preferences.setDefaultBoolean(DebugPlugin.getUniqueIdentifier(), StepFilterManager.PREF_USE_STEP_FILTERS, false);
31
		prefs.setDefault(LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true);
29
		//launch configurations preferences
30
		Preferences.setDefaultBoolean(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true);
31
		Preferences.savePreferences(DebugPlugin.getUniqueIdentifier());
32
	}
32
	}
33
33
34
}
34
}
(-)core/org/eclipse/debug/internal/core/ExpressionManager.java (-6 / +4 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2007 IBM Corporation and others.
2
 * Copyright (c) 2000, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 29-35 Link Here
29
import org.eclipse.core.runtime.ListenerList;
29
import org.eclipse.core.runtime.ListenerList;
30
import org.eclipse.core.runtime.Platform;
30
import org.eclipse.core.runtime.Platform;
31
import org.eclipse.core.runtime.PlatformObject;
31
import org.eclipse.core.runtime.PlatformObject;
32
import org.eclipse.core.runtime.Preferences;
33
import org.eclipse.core.runtime.SafeRunner;
32
import org.eclipse.core.runtime.SafeRunner;
34
import org.eclipse.core.runtime.Status;
33
import org.eclipse.core.runtime.Status;
35
import org.eclipse.debug.core.DebugPlugin;
34
import org.eclipse.debug.core.DebugPlugin;
Lines 150-156 Link Here
150
	 * 		will cause an infinite loop (see Bug 27281).
149
	 * 		will cause an infinite loop (see Bug 27281).
151
	 */
150
	 */
152
	private void loadPersistedExpressions() {
151
	private void loadPersistedExpressions() {
153
		String expressionsString= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_WATCH_EXPRESSIONS);
152
		String expressionsString = Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), PREF_WATCH_EXPRESSIONS, IInternalDebugCoreConstants.EMPTY_STRING, null);
154
		if (expressionsString.length() == 0) {
153
		if (expressionsString.length() == 0) {
155
			return;
154
			return;
156
		}
155
		}
Lines 213-220 Link Here
213
	 * preference store. 
212
	 * preference store. 
214
	 */
213
	 */
215
	public void storeWatchExpressions() {
214
	public void storeWatchExpressions() {
216
		Preferences prefs= DebugPlugin.getDefault().getPluginPreferences();
215
		String expressionString = IInternalDebugCoreConstants.EMPTY_STRING;
217
		String expressionString= ""; //$NON-NLS-1$
218
		try {
216
		try {
219
			expressionString= getWatchExpressionsAsXML();
217
			expressionString= getWatchExpressionsAsXML();
220
		} catch (IOException e) {
218
		} catch (IOException e) {
Lines 224-230 Link Here
224
		} catch (TransformerException e) {
222
		} catch (TransformerException e) {
225
			DebugPlugin.log(e);
223
			DebugPlugin.log(e);
226
		}
224
		}
227
		prefs.setValue(PREF_WATCH_EXPRESSIONS, expressionString);
225
		Preferences.setString(DebugPlugin.getUniqueIdentifier(), PREF_WATCH_EXPRESSIONS, expressionString, null);
228
	}
226
	}
229
227
230
	/**
228
	/**
(-)core/org/eclipse/debug/core/DebugPlugin.java (-3 / +4 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2008 IBM Corporation and others.
2
 * Copyright (c) 2000, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 57-62 Link Here
57
import org.eclipse.debug.internal.core.BreakpointManager;
57
import org.eclipse.debug.internal.core.BreakpointManager;
58
import org.eclipse.debug.internal.core.DebugCoreMessages;
58
import org.eclipse.debug.internal.core.DebugCoreMessages;
59
import org.eclipse.debug.internal.core.DebugOptions;
59
import org.eclipse.debug.internal.core.DebugOptions;
60
import org.eclipse.debug.internal.core.Preferences;
60
import org.eclipse.debug.internal.core.ExpressionManager;
61
import org.eclipse.debug.internal.core.ExpressionManager;
61
import org.eclipse.debug.internal.core.IConfigurationElementConstants;
62
import org.eclipse.debug.internal.core.IConfigurationElementConstants;
62
import org.eclipse.debug.internal.core.LaunchManager;
63
import org.eclipse.debug.internal.core.LaunchManager;
Lines 604-610 Link Here
604
			SourceLookupUtils.shutdown();
605
			SourceLookupUtils.shutdown();
605
			setDefault(null);
606
			setDefault(null);
606
			ResourcesPlugin.getWorkspace().removeSaveParticipant(this);
607
			ResourcesPlugin.getWorkspace().removeSaveParticipant(this);
607
			savePluginPreferences();
608
			Preferences.savePreferences(DebugPlugin.getUniqueIdentifier());
608
		} finally {
609
		} finally {
609
			super.stop(context);
610
			super.stop(context);
610
		}
611
		}
Lines 619-625 Link Here
619
		ResourcesPlugin.getWorkspace().addSaveParticipant(this,
620
		ResourcesPlugin.getWorkspace().addSaveParticipant(this,
620
				new ISaveParticipant() {
621
				new ISaveParticipant() {
621
					public void saving(ISaveContext saveContext) throws CoreException {
622
					public void saving(ISaveContext saveContext) throws CoreException {
622
						savePluginPreferences();
623
						Preferences.savePreferences(DebugPlugin.getUniqueIdentifier());
623
					}				
624
					}				
624
					public void rollback(ISaveContext saveContext) {}
625
					public void rollback(ISaveContext saveContext) {}
625
					public void prepareToSave(ISaveContext saveContext) throws CoreException {}
626
					public void prepareToSave(ISaveContext saveContext) throws CoreException {}
(-)core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java (-2 / +2 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2003, 2008 IBM Corporation and others.
2
 * Copyright (c) 2003, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 101-107 Link Here
101
					return EMPTY;
101
					return EMPTY;
102
				}
102
				}
103
				// See bug 98090 - we need to handle relative path names
103
				// See bug 98090 - we need to handle relative path names
104
				IFileStore target = fRootFile.getChild(new Path(name));
104
				IFileStore target = fRootFile.getFileStore(new Path(name));
105
				if (target.fetchInfo().exists()) {
105
				if (target.fetchInfo().exists()) {
106
					// We no longer have to account for bug 95832, and URIs take care
106
					// We no longer have to account for bug 95832, and URIs take care
107
					// of canonical paths (fix to bug 95679 was removed).
107
					// of canonical paths (fix to bug 95679 was removed).
(-)core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java (-2 / +4 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2003, 2007 IBM Corporation and others.
2
 * Copyright (c) 2003, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 78-84 Link Here
78
			try {
78
			try {
79
				Object[] objects = container.findSourceElements(name);
79
				Object[] objects = container.findSourceElements(name);
80
				if (objects.length > 0) {
80
				if (objects.length > 0) {
81
					if (isFindDuplicates()) {
81
					//it will only not be null when we care about duplicates
82
					//saves the computation in isFindDuplicates()
83
					if (results != null) {
82
						for (int j = 0; j < objects.length; j++) {
84
						for (int j = 0; j < objects.length; j++) {
83
							results.add(objects[j]);
85
							results.add(objects[j]);
84
						}
86
						}
(-)core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java (-8 / +10 lines)
Lines 255-269 Link Here
255
				abort(SourceLookupMessages.AbstractSourceLookupDirector_11, null); 
255
				abort(SourceLookupMessages.AbstractSourceLookupDirector_11, null); 
256
			}
256
			}
257
			ISourceContainerType type = DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(typeId);
257
			ISourceContainerType type = DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(typeId);
258
			if(type == null) {
258
			if(type != null) {		
259
				abort(MessageFormat.format(SourceLookupMessages.AbstractSourceLookupDirector_12, new String[]{typeId}), null); 
259
				String memento = element.getAttribute(CONTAINER_MEMENTO_ATTR);
260
			}			
260
				if (memento == null || memento.equals("")) {	 //$NON-NLS-1$
261
			String memento = element.getAttribute(CONTAINER_MEMENTO_ATTR);
261
					abort(SourceLookupMessages.AbstractSourceLookupDirector_13, null); 
262
			if (memento == null || memento.equals("")) {	 //$NON-NLS-1$
262
				}
263
				abort(SourceLookupMessages.AbstractSourceLookupDirector_13, null); 
263
				ISourceContainer container = type.createSourceContainer(memento);
264
				containers.add(container);
264
			}
265
			}
265
			ISourceContainer container = type.createSourceContainer(memento);
266
			else {
266
			containers.add(container);
267
				abort(MessageFormat.format(SourceLookupMessages.AbstractSourceLookupDirector_12, new String[]{typeId}), null); 
268
			}	
267
		}	
269
		}	
268
		return containers;
270
		return containers;
269
	}
271
	}
(-)core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java (-1 / +3 lines)
Lines 66-72 Link Here
66
					if (container != null) {
66
					if (container != null) {
67
						Object[] objects = container.findSourceElements(name);
67
						Object[] objects = container.findSourceElements(name);
68
						if (objects.length > 0) {
68
						if (objects.length > 0) {
69
							if (isFindDuplicates()) {
69
							//it will only not be null when we care about duplicates
70
							//saves the computation in isFindDuplicates()
71
							if (results != null) {
70
								for (int j = 0; j < objects.length; j++) {
72
								for (int j = 0; j < objects.length; j++) {
71
									results.add(objects[j]);
73
									results.add(objects[j]);
72
								}
74
								}
(-)core/org/eclipse/debug/internal/core/Preferences.java (+415 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     IBM Corporation - initial API and implementation
10
 *******************************************************************************/
11
package org.eclipse.debug.internal.core;
12
13
import org.eclipse.core.runtime.preferences.DefaultScope;
14
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
15
import org.eclipse.core.runtime.preferences.IScopeContext;
16
import org.eclipse.core.runtime.preferences.InstanceScope;
17
import org.eclipse.debug.core.DebugPlugin;
18
import org.osgi.service.prefs.BackingStoreException;
19
20
/**
21
 * Convenience class to facilitate using the new {@link IEclipsePreferences} story
22
 * 
23
 * @since 3.6
24
 * @noinstantiate This class is not intended to be instantiated by clients.
25
 */
26
public final class Preferences {
27
28
	static final IScopeContext[] contexts = new IScopeContext[] {new DefaultScope(), new InstanceScope()}; 
29
	
30
	static final int DEFAULT_CONTEXT = 0;
31
	static final int INSTANCE_CONTEXT = 1;
32
	
33
	/**
34
	 * Constructor
35
	 */
36
	private Preferences() {
37
		// no direct instantiation
38
	}
39
	
40
	/**
41
	 * Sets a string preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
42
	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
43
	 * @param qualifier 
44
	 * @param key the key
45
	 * @param value the value
46
	 * @param context
47
	 */
48
	public static synchronized void setString(String qualifier, String key, String value, IScopeContext context) {
49
		if(context != null) {
50
			try {
51
				IEclipsePreferences node = context.getNode(qualifier);
52
				node.put(key, value);
53
				node.flush();
54
			}
55
			catch(BackingStoreException bse) {
56
				DebugPlugin.log(bse);
57
			}
58
		}
59
		else {
60
			contexts[INSTANCE_CONTEXT].getNode(qualifier).put(key, value);
61
		}
62
	}
63
	
64
	/**
65
	 * Sets a boolean preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
66
	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
67
	 * @param qualifier 
68
	 * @param key the key
69
	 * @param value the value
70
	 * @param context
71
	 */
72
	public static synchronized void setBoolean(String qualifier, String key, boolean value, IScopeContext context) {
73
		if(context != null) {
74
			try {
75
				IEclipsePreferences node = context.getNode(qualifier);
76
				node.putBoolean(key, value);
77
				node.flush();
78
			}
79
			catch(BackingStoreException bse) {
80
				DebugPlugin.log(bse);
81
			}
82
		}
83
		else {
84
			contexts[INSTANCE_CONTEXT].getNode(qualifier).putBoolean(key, value);
85
		}
86
	}
87
	
88
	/**
89
	 * Sets a integer preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
90
	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
91
	 * @param qualifier
92
	 * @param key the key
93
	 * @param value the value
94
	 * @param context
95
	 */
96
	public static synchronized void setInt(String qualifier, String key, int value, IScopeContext context) {
97
		if(context != null) {
98
			try {
99
				IEclipsePreferences node = context.getNode(qualifier);
100
				node.putInt(key, value);
101
				node.flush();
102
			}
103
			catch(BackingStoreException bse) {
104
				DebugPlugin.log(bse);
105
			}
106
		}
107
		else {
108
			contexts[INSTANCE_CONTEXT].getNode(qualifier).putInt(key, value);
109
		}
110
	}
111
	
112
	/**
113
	 * Sets a long preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
114
	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
115
	 * @param qualifier
116
	 * @param key the key
117
	 * @param value the value
118
	 * @param context
119
	 */
120
	public static synchronized void setLong(String qualifier, String key, long value, IScopeContext context) {
121
		if(context != null) {
122
			try {
123
				IEclipsePreferences node = context.getNode(qualifier);
124
				node.putLong(key, value);
125
				node.flush();
126
			}
127
			catch(BackingStoreException bse) {
128
				DebugPlugin.log(bse);
129
			}
130
		}
131
		else {
132
			contexts[INSTANCE_CONTEXT].getNode(qualifier).putLong(key, value);
133
		}
134
	}
135
	
136
	/**
137
	 * Sets a byte array preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
138
	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
139
	 * @param qualifier
140
	 * @param key the key
141
	 * @param value the value
142
	 * @param context
143
	 */
144
	public static synchronized void setByteArray(String qualifier, String key, byte[] value, IScopeContext context) {
145
		if(context != null) {
146
			try {
147
				IEclipsePreferences node = context.getNode(qualifier);
148
				node.putByteArray(key, value);
149
				node.flush();
150
			}
151
			catch(BackingStoreException bse) {
152
				DebugPlugin.log(bse);
153
			}
154
		}
155
		else {
156
			contexts[INSTANCE_CONTEXT].getNode(qualifier).putByteArray(key, value);
157
		}
158
	}
159
	
160
	/**
161
	 * Sets a double preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
162
	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
163
	 * @param qualifier
164
	 * @param key the key
165
	 * @param value the value
166
	 * @param context
167
	 */
168
	public static synchronized void setDouble(String qualifier, String key, double value, IScopeContext context) {
169
		if(context != null) {
170
			try {
171
				IEclipsePreferences node = context.getNode(qualifier);
172
				node.putDouble(key, value);
173
				node.flush();
174
			}
175
			catch(BackingStoreException bse) {
176
				DebugPlugin.log(bse);
177
			}
178
		}
179
		else {
180
			contexts[INSTANCE_CONTEXT].getNode(qualifier).putDouble(key, value);
181
		}
182
	}
183
	
184
	/**
185
	 * Sets a float preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
186
	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
187
	 * @param qualifier
188
	 * @param key the key
189
	 * @param value the value
190
	 * @param context
191
	 */
192
	public static synchronized void setFloat(String qualifier, String key, float value, IScopeContext context) {
193
		if(context != null) {
194
			try {
195
				IEclipsePreferences node = context.getNode(qualifier);
196
				node.putFloat(key, value);
197
				node.flush();
198
			}
199
			catch(BackingStoreException bse) {
200
				DebugPlugin.log(bse);
201
			}
202
		}
203
		else {
204
			contexts[INSTANCE_CONTEXT].getNode(qualifier).putFloat(key, value);
205
		}
206
	}
207
	
208
	/**
209
	 * Sets a string in the {@link DefaultScope}
210
	 * @param qualifier
211
	 * @param key the key
212
	 * @param value the new value
213
	 */
214
	public static synchronized void setDefaultString(String qualifier, String key, String value) {
215
		contexts[DEFAULT_CONTEXT].getNode(qualifier).put(key, value);
216
	}
217
	
218
	/**
219
	 * Sets a boolean in the {@link DefaultScope}
220
	 * @param qualifier
221
	 * @param key the key
222
	 * @param value the new value
223
	 */
224
	public static synchronized void setDefaultBoolean(String qualifier, String key, boolean value) {
225
		contexts[DEFAULT_CONTEXT].getNode(qualifier).putBoolean(key, value);
226
	}
227
	
228
	/**
229
	 * Sets a byte array in the {@link DefaultScope}
230
	 * @param qualifier
231
	 * @param key the key
232
	 * @param value the new value
233
	 */
234
	public static synchronized void setDefaultByteArray(String qualifier, String key, byte[] value) {
235
		contexts[DEFAULT_CONTEXT].getNode(qualifier).putByteArray(key, value);
236
	}
237
	
238
	/**
239
	 * Sets a double in the {@link DefaultScope}
240
	 * @param qualifier
241
	 * @param key the key
242
	 * @param value the new value
243
	 */
244
	public static synchronized void setDefaultDouble(String qualifier, String key, double value) {
245
		contexts[DEFAULT_CONTEXT].getNode(qualifier).putDouble(key, value);
246
	}
247
	
248
	/**
249
	 * Sets a float in the {@link DefaultScope}
250
	 * @param qualifier
251
	 * @param key the key
252
	 * @param value the new value
253
	 */
254
	public static synchronized void setDefaultFloat(String qualifier, String key, float value) {
255
		contexts[DEFAULT_CONTEXT].getNode(qualifier).putFloat(key, value);
256
	}
257
	
258
	/**
259
	 * Sets a integer in the {@link DefaultScope}
260
	 * @param qualifier
261
	 * @param key the key
262
	 * @param value the new value
263
	 */
264
	public static synchronized void setDefaultInt(String qualifier, String key, int value) {
265
		contexts[DEFAULT_CONTEXT].getNode(qualifier).putInt(key, value);
266
	}
267
	
268
	/**
269
	 * Sets a long in the {@link DefaultScope}
270
	 * @param qualifier
271
	 * @param key the key
272
	 * @param value the new value
273
	 */
274
	public static synchronized void setDefaultLong(String qualifier, String key, long value) {
275
		contexts[DEFAULT_CONTEXT].getNode(qualifier).putLong(key, value);
276
	}
277
	
278
	/**
279
	 * Sets the given preference to its default value. This is done by removing any set value
280
	 * from the {@link InstanceScope}. Has no effect if the given key is <code>null</code>.
281
	 * @param qualifier
282
	 * @param key the key for the preference
283
	 */
284
	public static synchronized void setToDefault(String qualifier, String key) {
285
		if(key != null) {
286
			contexts[INSTANCE_CONTEXT].getNode(qualifier).remove(key);
287
		}
288
	}
289
	
290
	/**
291
	 * Returns the default boolean value stored in the {@link DefaultScope} for the given key
292
	 * or the specified default value if the key does not appear in the {@link DefaultScope}
293
	 * @param qualifier
294
	 * @param key
295
	 * @param defaultvalue
296
	 * 
297
	 * @return the boolean value set in the {@link DefaultScope} for the given key, or the specified default value.
298
	 */
299
	public static synchronized boolean getDefaultBoolean(String qualifier, String key, boolean defaultvalue) {
300
		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getBoolean(key, defaultvalue);
301
	}
302
	
303
	/**
304
	 * Returns the default string value stored in the {@link DefaultScope} for the given key
305
	 * or the specified default value if the key does not appear in the {@link DefaultScope}
306
	 * @param qualifier
307
	 * @param key
308
	 * @param defaultvalue
309
	 * 
310
	 * @return the string value set in the {@link DefaultScope} for the given key, or the specified default value.
311
	 */
312
	public static synchronized String getDefaultString(String qualifier, String key, String defaultvalue) {
313
		return contexts[DEFAULT_CONTEXT].getNode(qualifier).get(key, defaultvalue);
314
	}
315
	
316
	/**
317
	 * Returns the default byte array value stored in the {@link DefaultScope} for the given key
318
	 * or the specified default value if the key does not appear in the {@link DefaultScope}
319
	 * @param qualifier
320
	 * @param key
321
	 * @param defaultvalue
322
	 * 
323
	 * @return the byte array value set in the {@link DefaultScope} for the given key, or the specified default value.
324
	 */
325
	public static synchronized byte[] getDefaultByteArray(String qualifier, String key, byte[] defaultvalue) {
326
		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getByteArray(key, defaultvalue);
327
	}
328
	
329
	/**
330
	 * Returns the default integer value stored in the {@link DefaultScope} for the given key
331
	 * or the specified default value if the key does not appear in the {@link DefaultScope}
332
	 * @param qualifier
333
	 * @param key
334
	 * @param defaultvalue
335
	 * 
336
	 * @return the integer value set in the {@link DefaultScope} for the given key, or the specified default value.
337
	 */
338
	public static synchronized int getDefaultInt(String qualifier, String key, int defaultvalue) {
339
		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getInt(key, defaultvalue);
340
	}
341
	
342
	/**
343
	 * Returns the default long value stored in the {@link DefaultScope} for the given key
344
	 * or the specified default value if the key does not appear in the {@link DefaultScope}
345
	 * @param qualifier
346
	 * @param key
347
	 * @param defaultvalue
348
	 * 
349
	 * @return the long value set in the {@link DefaultScope} for the given key, or the specified default value.
350
	 */
351
	public static synchronized long getDefaultLong(String qualifier, String key, long defaultvalue) {
352
		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getLong(key, defaultvalue);
353
	}
354
	
355
	/**
356
	 * Returns the default double value stored in the {@link DefaultScope} for the given key
357
	 * or the specified default value if the key does not appear in the {@link DefaultScope}
358
	 * @param qualifier
359
	 * @param key
360
	 * @param defaultvalue
361
	 * 
362
	 * @return the double value set in the {@link DefaultScope} for the given key, or the specified default value.
363
	 */
364
	public static synchronized double getDefaultDouble(String qualifier, String key, double defaultvalue) {
365
		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getDouble(key, defaultvalue);
366
	}
367
	
368
	/**
369
	 * Returns the default float value stored in the {@link DefaultScope} for the given key
370
	 * or the specified default value if the key does not appear in the {@link DefaultScope}
371
	 * @param qualifier
372
	 * @param key
373
	 * @param defaultvalue
374
	 * 
375
	 * @return the float value set in the {@link DefaultScope} for the given key, or the specified default value.
376
	 */
377
	public static synchronized float getDefaultFloat(String qualifier, String key, float defaultvalue) {
378
		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getFloat(key, defaultvalue);
379
	}
380
	
381
	/**
382
	 * Save the preferences for the given plugin identifier.
383
	 * It should be noted that all pending preference changes will be flushed with this method.
384
	 * @param qualifier
385
	 */
386
	public static synchronized void savePreferences(String qualifier) {
387
		try {
388
			contexts[DEFAULT_CONTEXT].getNode(qualifier).flush();
389
			contexts[INSTANCE_CONTEXT].getNode(qualifier).flush();
390
		}
391
		catch(BackingStoreException bse) {
392
			DebugPlugin.log(bse);
393
		}
394
	}
395
	
396
	/**
397
	 * Adds the given preference listener to the {@link DefaultScope} and the {@link InstanceScope}
398
	 * @param qualifier
399
	 * @param listener
400
	 */
401
	public static void addPreferenceListener(String qualifier, IEclipsePreferences.IPreferenceChangeListener listener) {
402
		contexts[DEFAULT_CONTEXT].getNode(qualifier).addPreferenceChangeListener(listener);
403
		contexts[INSTANCE_CONTEXT].getNode(qualifier).addPreferenceChangeListener(listener);
404
	}
405
	
406
	/**
407
	 * Removes the given preference listener from the {@link DefaultScope} and the {@link InstanceScope}
408
	 * @param qualifier
409
	 * @param listener
410
	 */
411
	public static void removePreferenceListener(String qualifier, IEclipsePreferences.IPreferenceChangeListener listener) {
412
		contexts[DEFAULT_CONTEXT].getNode(qualifier).removePreferenceChangeListener(listener);
413
		contexts[INSTANCE_CONTEXT].getNode(qualifier).removePreferenceChangeListener(listener);
414
	}
415
}
(-)ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java (-5 / +8 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2004, 2008 IBM Corporation and others.
2
 * Copyright (c) 2004, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 14-23 Link Here
14
import java.util.List;
14
import java.util.List;
15
15
16
import org.eclipse.core.runtime.CoreException;
16
import org.eclipse.core.runtime.CoreException;
17
import org.eclipse.core.runtime.Platform;
17
import org.eclipse.debug.core.DebugPlugin;
18
import org.eclipse.debug.core.DebugPlugin;
18
import org.eclipse.debug.core.ILaunchConfiguration;
19
import org.eclipse.debug.core.ILaunchConfiguration;
19
import org.eclipse.debug.core.ILaunchConfigurationType;
20
import org.eclipse.debug.core.ILaunchConfigurationType;
20
import org.eclipse.debug.core.ILaunchManager;
21
import org.eclipse.debug.core.ILaunchManager;
22
import org.eclipse.debug.internal.core.Preferences;
21
import org.eclipse.debug.internal.core.IInternalDebugCoreConstants;
23
import org.eclipse.debug.internal.core.IInternalDebugCoreConstants;
22
import org.eclipse.debug.internal.core.LaunchManager;
24
import org.eclipse.debug.internal.core.LaunchManager;
23
import org.eclipse.debug.internal.ui.AbstractDebugCheckboxSelectionDialog;
25
import org.eclipse.debug.internal.ui.AbstractDebugCheckboxSelectionDialog;
Lines 336-343 Link Here
336
			editor.setPreferenceStore(getPreferenceStore());
338
			editor.setPreferenceStore(getPreferenceStore());
337
			editor.load();
339
			editor.load();
338
		}
340
		}
339
		fDeleteConfigs.setSelection(DebugPlugin.getDefault().getPluginPreferences().getBoolean(
341
		fDeleteConfigs.setSelection(
340
				LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE));
342
				Platform.getPreferencesService().getBoolean(DebugPlugin.getUniqueIdentifier(),
343
				LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true, null));
341
		//restore the tables' checked state
344
		//restore the tables' checked state
342
		String[] types = getPreferenceStore().getString(IInternalDebugUIConstants.PREF_FILTER_TYPE_LIST).split("\\,"); //$NON-NLS-1$
345
		String[] types = getPreferenceStore().getString(IInternalDebugUIConstants.PREF_FILTER_TYPE_LIST).split("\\,"); //$NON-NLS-1$
343
		TableItem[] items = fTable.getItems();
346
		TableItem[] items = fTable.getItems();
Lines 356-361 Link Here
356
	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
359
	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
357
	 */
360
	 */
358
	protected void performDefaults() {
361
	protected void performDefaults() {
362
		fDeleteConfigs.setSelection(Preferences.getDefaultBoolean(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true));
359
		FieldEditor editor = null;
363
		FieldEditor editor = null;
360
		for(int i = 0; i < fFieldEditors.size(); i++) {
364
		for(int i = 0; i < fFieldEditors.size(); i++) {
361
			editor = (FieldEditor)fFieldEditors.get(i);
365
			editor = (FieldEditor)fFieldEditors.get(i);
Lines 375-382 Link Here
375
		for(int i = 0; i < fFieldEditors.size(); i++) {
379
		for(int i = 0; i < fFieldEditors.size(); i++) {
376
			((FieldEditor)fFieldEditors.get(i)).store();
380
			((FieldEditor)fFieldEditors.get(i)).store();
377
		}
381
		}
378
		DebugPlugin.getDefault().getPluginPreferences().setValue(
382
		Preferences.setBoolean(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, fDeleteConfigs.getSelection(), null);
379
				LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, fDeleteConfigs.getSelection());
380
		//save table
383
		//save table
381
		String types = IInternalDebugCoreConstants.EMPTY_STRING;
384
		String types = IInternalDebugCoreConstants.EMPTY_STRING;
382
		TableItem[] items = fTable.getItems();
385
		TableItem[] items = fTable.getItems();

Return to bug 288299