From dcdd52a09a60b730dd27dd775273d100e8531d3c Mon Sep 17 00:00:00 2001 From: Moritz Eysholdt Date: Fri, 1 Feb 2013 19:44:29 +0100 Subject: [PATCH] multiple fixes Bug 399490 - [typesystem][validation] Use the configured severity for issue codes Bug 399489 - [validation] Introduce an issue code for unhandled exceptions Bug 399492 - [typesystem] Provide information about declared / uncatched exceptions Change-Id: I6a17277770d97142efd7acc711ace1be0011f881 --- .../preferences/IPreferenceValuesProvider.java | 18 ++++++++++++++---- .../preferences/MapBasedPreferenceValues.java | 4 ++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/IPreferenceValuesProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/IPreferenceValuesProvider.java index 9f8ced4e0..89a2e0814 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/IPreferenceValuesProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/IPreferenceValuesProvider.java @@ -11,21 +11,31 @@ import java.util.LinkedHashMap; import org.eclipse.emf.ecore.resource.Resource; +import com.google.common.collect.Maps; import com.google.inject.ImplementedBy; +import com.google.inject.Singleton; /** * @author Sven Efftinge - Initial contribution and API + * @author Moritz Eysholdt */ @ImplementedBy(IPreferenceValuesProvider.SimplePreferenceValuesProvider.class) public interface IPreferenceValuesProvider { IPreferenceValues getPreferenceValues(Resource context); - + public static class SimplePreferenceValuesProvider implements IPreferenceValuesProvider { - public IPreferenceValues getPreferenceValues(Resource context) { - return new MapBasedPreferenceValues(new LinkedHashMap()); + return new MapBasedPreferenceValues(new LinkedHashMap()); + } + } + + @Singleton + public class SingletonPreferenceValuesProvider implements IPreferenceValuesProvider { + private MapBasedPreferenceValues preferences = new MapBasedPreferenceValues(Maps. newLinkedHashMap()); + + public MapBasedPreferenceValues getPreferenceValues(Resource context) { + return preferences; } - } } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/MapBasedPreferenceValues.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/MapBasedPreferenceValues.java index 66e87d1b0..0a75a3ba5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/MapBasedPreferenceValues.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/MapBasedPreferenceValues.java @@ -25,4 +25,8 @@ public class MapBasedPreferenceValues implements IPreferenceValues { values.put(key, value); } + public void clear() { + values.clear(); + } + } \ No newline at end of file