Bug 30080 [Preferences] NoSuchElementException dumped into .log file
Build 20030122 I was modifiying JRE installs (to remove all but rt.jar from within them). Unclear if the following is actually related, but timing seems to indicate it is. !ENTRY org.eclipse.ui 4 0 Jan 23, 2003 12:22:52.458 !MESSAGE java.util.NoSuchElementException !STACK 0 java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(StringTokenizer.java:232) at org.eclipse.jface.resource.StringConverter.asRGB (StringConverter.java:458) at org.eclipse.jface.resource.StringConverter.asRGB (StringConverter.java:481) at org.eclipse.jface.preference.PreferenceConverter.basicGetColor (PreferenceConverter.java:88) at org.eclipse.jface.preference.PreferenceConverter.getColor (PreferenceConverter.java:168) at org.eclipse.jdt.internal.ui.preferences.JavaEditorPreferencePage.handleSyntaxCol orListSelection(JavaEditorPreferencePage.java:325) at org.eclipse.jdt.internal.ui.preferences.JavaEditorPreferencePage.access$7 (JavaEditorPreferencePage.java:322) at org.eclipse.jdt.internal.ui.preferences.JavaEditorPreferencePage$6.widgetSelecte d(JavaEditorPreferencePage.java:441) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:87) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410) at org.eclipse.jface.window.Window.runEventLoop(Window.java:561) at org.eclipse.jface.window.Window.open(Window.java:541) at org.eclipse.ui.internal.OpenPreferencesAction.run (OpenPreferencesAction.java:47) at org.eclipse.jface.action.Action.runWithEvent(Action.java:804) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:422) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent (ActionContributionItem.java:374) at org.eclipse.jface.action.ActionContributionItem.access$0 (ActionContributionItem.java:368) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent (ActionContributionItem.java:69) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1525) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1508) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:247) at org.eclipse.core.launcher.Main.run(Main.java:703) at org.eclipse.core.launcher.Main.main(Main.java:539)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavaEditorPreferencePage.java
}
		} catch (IOException io) {
			JavaPlugin.log(io);
		} finally {
			if (reader != null) {
				try { reader.close(); } catch (IOException e) {}
			}
		}
		return buffer.toString();
	}
	
	private void numberFieldChanged(Text textControl) {
		String number= textControl.getText();
		IStatus status= validatePositiveNumber(number);
		if (!status.matches(IStatus.ERROR))
			fOverlayStore.setValue((String) fTextFields.get(textControl), number);
		updateStatus(status);
	}
	
	private IStatus validatePositiveNumber(String number) {
		StatusInfo status= new StatusInfo();
		if (number.length() == 0) {
			status.setError(PreferencesMessages.getString("JavaEditorPreferencePage.empty_input")); 
		} else {
			try {
				int value= Integer.parseInt(number);
				if (value < 0)
					status.setError(PreferencesMessages.getFormattedString("JavaEditorPreferencePage.invalid_input", number)); 
			} catch (NumberFormatException e) {
				status.setError(PreferencesMessages.getFormattedString("JavaEditorPreferencePage.invalid_input", number));