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 114779 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/pde/internal/core/PDEState.java (+5 lines)
Lines 122-127 Link Here
122
		if (DEBUG)
122
		if (DEBUG)
123
			System.out.println("Time to create state: " + (System.currentTimeMillis() - start) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
123
			System.out.println("Time to create state: " + (System.currentTimeMillis() - start) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
124
	}
124
	}
125
	
126
	public void setPlatformProperties(Dictionary properties) {
127
		fState.setPlatformProperties(properties);
128
		createTargetModels();
129
	}
125
130
126
	private void readTargetState() {
131
	private void readTargetState() {
127
		fTargetTimestamp = computeTimestamp(fTargetURLs);
132
		fTargetTimestamp = computeTimestamp(fTargetURLs);
(-)src/org/eclipse/pde/internal/ui/preferences/TargetEnvironmentTab.java (+36 lines)
Lines 11-16 Link Here
11
package org.eclipse.pde.internal.ui.preferences;
11
package org.eclipse.pde.internal.ui.preferences;
12
12
13
import java.lang.reflect.InvocationTargetException;
13
import java.lang.reflect.InvocationTargetException;
14
import java.util.Dictionary;
15
import java.util.Hashtable;
14
import java.util.Locale;
16
import java.util.Locale;
15
import java.util.Set;
17
import java.util.Set;
16
import java.util.StringTokenizer;
18
import java.util.StringTokenizer;
Lines 23-30 Link Here
23
import org.eclipse.jdt.launching.JavaRuntime;
25
import org.eclipse.jdt.launching.JavaRuntime;
24
import org.eclipse.jface.dialogs.Dialog;
26
import org.eclipse.jface.dialogs.Dialog;
25
import org.eclipse.jface.operation.IRunnableWithProgress;
27
import org.eclipse.jface.operation.IRunnableWithProgress;
28
import org.eclipse.pde.core.IModel;
29
import org.eclipse.pde.core.IModelProviderEvent;
30
import org.eclipse.pde.internal.core.ExternalModelManager;
26
import org.eclipse.pde.internal.core.IEnvironmentVariables;
31
import org.eclipse.pde.internal.core.IEnvironmentVariables;
32
import org.eclipse.pde.internal.core.ModelProviderEvent;
27
import org.eclipse.pde.internal.core.PDECore;
33
import org.eclipse.pde.internal.core.PDECore;
34
import org.eclipse.pde.internal.core.PDEState;
28
import org.eclipse.pde.internal.ui.IHelpContextIds;
35
import org.eclipse.pde.internal.ui.IHelpContextIds;
29
import org.eclipse.pde.internal.ui.PDEPlugin;
36
import org.eclipse.pde.internal.ui.PDEPlugin;
30
import org.eclipse.pde.internal.ui.PDEUIMessages;
37
import org.eclipse.pde.internal.ui.PDEUIMessages;
Lines 217-227 Link Here
217
	}
224
	}
218
225
219
	public boolean performOk() {
226
	public boolean performOk() {
227
		if (checkChanged()) 
228
			updateState();
220
		applyTargetEnvironmentGroup();
229
		applyTargetEnvironmentGroup();
221
		applyJREGroup();
230
		applyJREGroup();
222
		return true;
231
		return true;
223
	}
232
	}
224
	
233
	
234
	private boolean checkChanged() {
235
		String locale = fNLCombo.getText();
236
		int dash = locale.indexOf("-"); //$NON-NLS-1$
237
		if (dash != -1)
238
			locale = locale.substring(0, dash);
239
		locale = locale.trim();
240
		return !(
241
			preferences.getString(OS).equals(fOSCombo.getText()) &&
242
			preferences.getString(WS).equals(fWSCombo.getText()) &&
243
			preferences.getString(NL).equals(locale) &&
244
			preferences.getString(ARCH).equals(fArchCombo.getText()));
245
	}
246
	
247
	private void updateState() {
248
		Dictionary props = new Hashtable(6);
249
		props.put("osgi.os", fOSCombo.getText()); //$NON-NLS-1$
250
		props.put ("osgi.ws", fWSCombo.getText()); //$NON-NLS-1$
251
		props.put ("osgi.nl", fNLCombo.getText()); //$NON-NLS-1$
252
		props.put ("osgi.arch", fArchCombo.getText()); //$NON-NLS-1$
253
		PDEState state = PDECore.getDefault().getModelManager().getState();
254
		state.setPlatformProperties(props);
255
		state.resolveState(false);
256
		ExternalModelManager registry = PDECore.getDefault().getExternalModelManager();
257
		registry.fireModelProviderEvent(new ModelProviderEvent(registry, IModelProviderEvent.TARGET_CHANGED, 
258
				new IModel[0], new IModel[0], new IModel[0]));
259
	}
260
	
225
	private void applyJREGroup() {
261
	private void applyJREGroup() {
226
		try {
262
		try {
227
			if (!fDefaultJRE.equals(VMHelper.getDefaultVMInstallName()))
263
			if (!fDefaultJRE.equals(VMHelper.getDefaultVMInstallName()))

Return to bug 114779