preferences/localization: move messages to properties file, bug 398266, +minor cleanups
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/preferences/DLTKLoggingPreferencePage.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/preferences/DLTKLoggingPreferencePage.java
index cd2c57e..ddf3d88 100644
--- a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/preferences/DLTKLoggingPreferencePage.java
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/preferences/DLTKLoggingPreferencePage.java
@@ -12,7 +12,6 @@
 package org.eclipse.dltk.internal.ui.preferences;
 
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -22,13 +21,13 @@
 
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.dltk.annotations.Internal;
 import org.eclipse.dltk.core.DLTKCore;
 import org.eclipse.dltk.utils.DLTKLogging;
 import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -49,26 +48,8 @@
 
 	}
 
-	private static class OptionContentProvider implements
-			IStructuredContentProvider {
-
-		public void dispose() {
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof Collection<?>) {
-				return ((Collection<?>) inputElement).toArray();
-			} else {
-				return new Object[0];
-			}
-		}
-
-	}
-
-	private static class OptionLableProvider extends LabelProvider {
+	@Internal
+	static class OptionLableProvider extends LabelProvider {
 		@Override
 		public String getText(Object element) {
 			if (element instanceof Option) {
@@ -88,7 +69,7 @@
 	protected Control createContents(Composite parent) {
 		viewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER
 				| SWT.FULL_SELECTION);
-		viewer.setContentProvider(new OptionContentProvider());
+		viewer.setContentProvider(ArrayContentProvider.getInstance());
 		viewer.setLabelProvider(new OptionLableProvider());
 		final List<Option> options = collectOptions();
 		viewer.setInput(options);
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/Messages.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/Messages.java
index 15504a7..a1b5670 100644
--- a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/Messages.java
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/Messages.java
@@ -13,10 +13,14 @@
 	public static String ScriptCorePreferencePage_manualReindex;
 	public static String ScriptCorePreferencePage_reindex;
 	public static String ScriptCorePreferenceBlock_UI_Options;
+	public static String ScriptCorePreferenceBlock_CodeAssistTimeout;
 	public static String ScriptCorePreferenceBlock_Builder_Options;
 	public static String ScriptCorePreferenceBlock_Builder_CircularDependencies;
 	public static String EditorPreferencePage_ResourceShowError_InvalidResourceName;
 
+	public static String ScriptCorePreferenceBlock_Warning;
+	public static String ScriptCorePreferenceBlock_Error;
+
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/ScriptCorePreferenceBlock.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/ScriptCorePreferenceBlock.java
index 665624b..ef4cb97 100644
--- a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/ScriptCorePreferenceBlock.java
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/ScriptCorePreferenceBlock.java
@@ -61,8 +61,11 @@
 		super(store, page);
 	}
 
-	private static final String[] names = new String[] { "Warning", "Error" };
-	private static final String[] ids = new String[] { "warning", "error" };
+	private static final String[] names = new String[] {
+			Messages.ScriptCorePreferenceBlock_Warning,
+			Messages.ScriptCorePreferenceBlock_Error };
+	private static final String[] ids = new String[] { DLTKCore.WARNING,
+			DLTKCore.ERROR };
 
 	private Combo circularBuildPathCombo;
 
@@ -70,9 +73,9 @@
 		Composite composite = SWTFactory.createComposite(parent,
 				parent.getFont(), 1, 1, GridData.FILL_BOTH);
 
-		Group coreGroup = SWTFactory.createGroup(composite,
-				Messages.ScriptCorePreferenceBlock_coreOptions, 2, 1,
-				GridData.FILL_HORIZONTAL);
+		// Group coreGroup = SWTFactory.createGroup(composite,
+		// Messages.ScriptCorePreferenceBlock_coreOptions, 2, 1,
+		// GridData.FILL_HORIZONTAL);
 
 		Group editorGroup = SWTFactory.createGroup(composite,
 				Messages.ScriptCorePreferenceBlock_editOptions, 2, 1,
@@ -86,7 +89,7 @@
 				PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS);
 		// Connection timeout
 		SWTFactory.createLabel(editorGroup,
-				"Codeassist completion timeout(ms):", 1);
+				Messages.ScriptCorePreferenceBlock_CodeAssistTimeout, 1);
 		final Text connectionTimeout = SWTFactory.createText(editorGroup,
 				SWT.BORDER, 1, ""); //$NON-NLS-1$
 		bindControl(connectionTimeout, PreferenceConstants.CODEASSIST_TIMEOUT,
@@ -156,6 +159,7 @@
 		}
 	}
 
+	@Override
 	protected List<OverlayKey> createOverlayKeys() {
 		ArrayList<OverlayKey> overlayKeys = new ArrayList<OverlayKey>();
 		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(
@@ -170,6 +174,7 @@
 		return overlayKeys;
 	}
 
+	@Override
 	public void initialize() {
 		super.initialize();
 		initializeBuildPathField(DLTKCore.getPlugin().getPluginPreferences()
@@ -177,6 +182,7 @@
 
 	}
 
+	@Override
 	public void performDefaults() {
 		super.performDefaults();
 		initializeBuildPathField(DLTKCore.getPlugin().getPluginPreferences()
@@ -195,10 +201,12 @@
 		}
 	}
 
+	@Override
 	protected void initializeFields() {
 		super.initializeFields();
 	}
 
+	@Override
 	public void performOk() {
 		super.performOk();
 		final int buildPathIndex = circularBuildPathCombo.getSelectionIndex();
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/ScriptCorePreferencePage.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/ScriptCorePreferencePage.java
index 9ad48e0..fd99b3d 100644
--- a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/ScriptCorePreferencePage.java
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/ScriptCorePreferencePage.java
@@ -14,19 +14,23 @@
 public class ScriptCorePreferencePage extends
 		AbstractConfigurationBlockPreferencePage {
 
+	@Override
 	protected IPreferenceConfigurationBlock createConfigurationBlock(
 			OverlayPreferenceStore store) {
 		return new ScriptCorePreferenceBlock(store, this);
 	}
 
+	@Override
 	protected String getHelpId() {
 		return null;
 	}
 
+	@Override
 	protected void setDescription() {
 		setDescription(Messages.ScriptCorePreferenceBlock_globalDLTKSettings);
 	}
 
+	@Override
 	protected void setPreferenceStore() {
 		setPreferenceStore(DLTKUIPlugin.getDefault().getPreferenceStore());
 	}
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/messages.properties b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/messages.properties
index b7ffa8d..91aef1b 100644
--- a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/messages.properties
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/preferences/messages.properties
@@ -6,6 +6,9 @@
 ScriptCorePreferenceBlock_debugOptionsOperations=Debug options/operations
 ScriptCorePreferencePage_reindex=Reindex.
 ScriptCorePreferenceBlock_UI_Options=UI Options
+ScriptCorePreferenceBlock_CodeAssistTimeout=Codeassist completion timeout(ms):
 ScriptCorePreferenceBlock_Builder_Options=Build path problems
 ScriptCorePreferenceBlock_Builder_CircularDependencies=Circular Dependencies
 EditorPreferencePage_ResourceShowError_InvalidResourceName=Show "invalid resource name" error
+ScriptCorePreferenceBlock_Warning=Warning
+ScriptCorePreferenceBlock_Error=Error