Revert "tmf: Make TmfTimePreferences completely static"
authorAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Mon, 4 Aug 2014 21:09:59 +0000 (17:09 -0400)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Mon, 4 Aug 2014 21:10:09 +0000 (17:10 -0400)
This reverts commit 8a7a5415a85e321e0cf7709e774a11fe8309f711.

API break, shouldn't go in yet.

Change-Id: I46bed2bf5c95f208ed4356299bd79013c7c9a253
Reviewed-on: https://git.eclipse.org/r/31000
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimePreferencesTest.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampFormatTest.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimePreferences.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/timestamp/TmfTimestampFormat.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/properties/TmfTimestampFormatPage.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/timegraph/widgets/Utils.java

index 0af3a0eb48bce8bba47c4dbc473109e5f2b3754e..141bcf99518b347541069a2200bcff4921619942 100644 (file)
@@ -13,6 +13,7 @@
 package org.eclipse.linuxtools.tmf.core.tests.event;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import java.util.Map;
 import java.util.TimeZone;
@@ -42,12 +43,20 @@ public class TmfTimePreferencesTest {
         assertEquals(DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID).get(ITmfTimePreferencesConstants.DATIME, null), ITmfTimePreferencesConstants.TIME_HOUR_FMT);
     }
 
+    /**
+     * Test that getInstance returns an instance
+     */
+    @Test
+    public void testGetInstance() {
+        assertNotNull(TmfTimePreferences.getInstance());
+    }
+
     /**
      * Test that getTimePattern returns the appropriate time pattern (from the default)
      */
     @Test
     public void testGetTimePattern() {
-        assertEquals(TIME_PATTERN, TmfTimePreferences.getTimePattern());
+        assertEquals(TIME_PATTERN, TmfTimePreferences.getInstance().getTimePattern());
     }
 
     /**
@@ -55,7 +64,7 @@ public class TmfTimePreferencesTest {
      */
     @Test
     public void testGetIntervalPattern() {
-        assertEquals(INTERVAL_PATTERN, TmfTimePreferences.getIntervalPattern());
+        assertEquals(INTERVAL_PATTERN, TmfTimePreferences.getInstance().getIntervalPattern());
     }
 
     /**
@@ -63,7 +72,7 @@ public class TmfTimePreferencesTest {
      */
     @Test
     public void testGetTimeZone() {
-        assertEquals(TimeZone.getDefault(), TmfTimePreferences.getTimeZone());
+        assertEquals(TimeZone.getDefault(), TmfTimePreferences.getInstance().getTimeZone());
     }
 
     /**
@@ -72,7 +81,7 @@ public class TmfTimePreferencesTest {
      */
     @Test
     public void testGetPreferenceMap() {
-        Map<String, String> defaultPreferenceMap = TmfTimePreferences.getDefaultPreferenceMap();
+        Map<String, String> defaultPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
         assertEquals(ITmfTimePreferencesConstants.TIME_HOUR_FMT, defaultPreferenceMap.get(ITmfTimePreferencesConstants.DATIME));
 
         // Modify the preferences
@@ -84,11 +93,11 @@ public class TmfTimePreferencesTest {
         } catch (BackingStoreException e) {
         }
         // Make sure the modification is in the map
-        Map<String, String> preferenceMap = TmfTimePreferences.getPreferenceMap();
+        Map<String, String> preferenceMap = TmfTimePreferences.getInstance().getPreferenceMap();
         assertEquals(testValue, preferenceMap.get(ITmfTimePreferencesConstants.DATIME));
 
         // Make sure the default is still the same
-        defaultPreferenceMap = TmfTimePreferences.getDefaultPreferenceMap();
+        defaultPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
         assertEquals(ITmfTimePreferencesConstants.TIME_HOUR_FMT, defaultPreferenceMap.get(ITmfTimePreferencesConstants.DATIME));
     }
 
@@ -97,7 +106,7 @@ public class TmfTimePreferencesTest {
      */
     @Test
     public void testComputeTimePattern() {
-        assertEquals(TIME_PATTERN, TmfTimePreferences.computeTimePattern(TmfTimePreferences.getPreferenceMap()));
+        assertEquals(TIME_PATTERN, TmfTimePreferences.getInstance().computeTimePattern(TmfTimePreferences.getInstance().getPreferenceMap()));
     }
 
 }
index a967d449aba7f9c796520f83df69a79cd7f17317..523c697ab2ff6bdf0948bbfd6e6b9447b33c5cf8 100644 (file)
@@ -106,7 +106,7 @@ public class TmfTimestampFormatTest {
      */
     @Test
     public void testGetDefaulTimeFormat() {
-        assertEquals(TmfTimestampFormat.getDefaulTimeFormat().toPattern(), TmfTimePreferences.getTimePattern());
+        assertEquals(TmfTimestampFormat.getDefaulTimeFormat().toPattern(), TmfTimePreferences.getInstance().getTimePattern());
     }
 
     /**
@@ -115,7 +115,7 @@ public class TmfTimestampFormatTest {
      */
     @Test
     public void testGetDefaulIntervalFormat() {
-        assertEquals(TmfTimestampFormat.getDefaulIntervalFormat().toPattern(), TmfTimePreferences.getIntervalPattern());
+        assertEquals(TmfTimestampFormat.getDefaulIntervalFormat().toPattern(), TmfTimePreferences.getInstance().getIntervalPattern());
     }
 
     /**
index f1dcfbf394695cca3b9d325b758652f836477015..be8e17d31fdd8e3e70abcf0c2de924624c00aff7 100644 (file)
@@ -30,7 +30,7 @@ import org.eclipse.linuxtools.internal.tmf.core.Activator;
  * @version 1.0
  * @since 2.1
  */
-public final class TmfTimePreferences {
+public class TmfTimePreferences {
 
     // ------------------------------------------------------------------------
     // Constants
@@ -42,6 +42,11 @@ public final class TmfTimePreferences {
     private static final String TIME_DELIMITER_DEFAULT = ITmfTimePreferencesConstants.DELIMITER_COLON;
     private static final String SSEC_DELIMITER_DEFAULT = ITmfTimePreferencesConstants.DELIMITER_SPACE;
     private static final String TIME_ZONE_DEFAULT = TimeZone.getDefault().getID();
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+
+    private static TmfTimePreferences fPreferences;
 
     // ------------------------------------------------------------------------
     // Constructor
@@ -59,7 +64,21 @@ public final class TmfTimePreferences {
         defaultPreferences.put(ITmfTimePreferencesConstants.SSEC_DELIMITER, SSEC_DELIMITER_DEFAULT);
         defaultPreferences.put(ITmfTimePreferencesConstants.TIME_ZONE, TIME_ZONE_DEFAULT);
 
-        TmfTimestampFormat.updateDefaultFormats();
+        // Create the singleton and update default formats
+        getInstance();
+    }
+
+    /**
+     * Get the TmfTimePreferences singleton
+     *
+     * @return The TmfTimePreferences instance
+     */
+    public static synchronized TmfTimePreferences getInstance() {
+        if (fPreferences == null) {
+            fPreferences = new TmfTimePreferences();
+            TmfTimestampFormat.updateDefaultFormats();
+        }
+        return fPreferences;
     }
 
     /**
@@ -77,7 +96,7 @@ public final class TmfTimePreferences {
      *
      * @return the timestamp pattern
      */
-    public static String getTimePattern() {
+    public String getTimePattern() {
         return computeTimePattern(getPreferenceMap(false));
     }
 
@@ -86,7 +105,7 @@ public final class TmfTimePreferences {
      *
      * @return the interval pattern
      */
-    public static String getIntervalPattern() {
+    public String getIntervalPattern() {
         return computeIntervalPattern(getPreferenceMap(false));
     }
 
@@ -95,7 +114,7 @@ public final class TmfTimePreferences {
      *
      * @return the time zone
      */
-    public static TimeZone getTimeZone() {
+    public TimeZone getTimeZone() {
         return TimeZone.getTimeZone(Platform.getPreferencesService().getString(Activator.PLUGIN_ID, ITmfTimePreferencesConstants.TIME_ZONE, TimeZone.getDefault().getID(), null));
     }
 
@@ -104,7 +123,7 @@ public final class TmfTimePreferences {
      *
      * @return a collection containing the default preferences
      */
-    public static Map<String, String> getDefaultPreferenceMap() {
+    public Map<String, String> getDefaultPreferenceMap() {
         return getPreferenceMap(true);
     }
 
@@ -113,7 +132,7 @@ public final class TmfTimePreferences {
      *
      * @return a collection containing the current preferences
      */
-    public static Map<String, String> getPreferenceMap() {
+    public Map<String, String> getPreferenceMap() {
         return getPreferenceMap(false);
     }
 
@@ -154,7 +173,7 @@ public final class TmfTimePreferences {
      * @param prefsMap the preferences to apply when computing the time pattern
      * @return the time pattern resulting in applying the preferences
      */
-    public static String computeTimePattern(Map<String, String> prefsMap) {
+    public String computeTimePattern(Map<String, String> prefsMap) {
         String dateTimeFormat = prefsMap.get(ITmfTimePreferencesConstants.DATIME);
         if (dateTimeFormat == null) {
             dateTimeFormat = ITmfTimePreferencesConstants.DEFAULT_TIME_PATTERN;
index 60f5c7dc303f0acbdebb99bb026b486bfdb70f15..3259c150e83e292ba22ed469f7a4f29313abe949 100644 (file)
@@ -244,7 +244,7 @@ public class TmfTimestampFormat extends SimpleDateFormat {
      * The default constructor (uses the default pattern)
      */
     public TmfTimestampFormat() {
-        this(TmfTimePreferences.getTimePattern());
+        this(TmfTimePreferences.getInstance().getTimePattern());
     }
 
     /**
@@ -285,8 +285,8 @@ public class TmfTimestampFormat extends SimpleDateFormat {
      * @since 2.1
      */
     public static void updateDefaultFormats() {
-        fDefaultTimeFormat = new TmfTimestampFormat(TmfTimePreferences.getTimePattern(), TmfTimePreferences.getTimeZone());
-        fDefaultIntervalFormat = new TmfTimestampFormat(TmfTimePreferences.getIntervalPattern());
+        fDefaultTimeFormat = new TmfTimestampFormat(TmfTimePreferences.getInstance().getTimePattern(), TmfTimePreferences.getInstance().getTimeZone());
+        fDefaultIntervalFormat = new TmfTimestampFormat(TmfTimePreferences.getInstance().getIntervalPattern());
     }
 
     /**
@@ -294,7 +294,7 @@ public class TmfTimestampFormat extends SimpleDateFormat {
      */
     public static TmfTimestampFormat getDefaulTimeFormat() {
         if (fDefaultTimeFormat == null) {
-            fDefaultTimeFormat = new TmfTimestampFormat(TmfTimePreferences.getTimePattern(), TmfTimePreferences.getTimeZone());
+            fDefaultTimeFormat = new TmfTimestampFormat(TmfTimePreferences.getInstance().getTimePattern(), TmfTimePreferences.getInstance().getTimeZone());
         }
         return fDefaultTimeFormat;
     }
@@ -304,7 +304,7 @@ public class TmfTimestampFormat extends SimpleDateFormat {
      */
     public static TmfTimestampFormat getDefaulIntervalFormat() {
         if (fDefaultIntervalFormat == null) {
-            fDefaultIntervalFormat = new TmfTimestampFormat(TmfTimePreferences.getIntervalPattern());
+            fDefaultIntervalFormat = new TmfTimestampFormat(TmfTimePreferences.getInstance().getIntervalPattern());
         }
         return fDefaultIntervalFormat;
     }
index be5371b37e4e6c62761c16a2d5d6441e0baf06e0..5c37a23eb2c5a79cd3df0c60c671ae9e7326b338 100644 (file)
@@ -153,6 +153,7 @@ public class TmfTimestampFormatPage extends PreferencePage implements IWorkbench
     // General stuff
     private Composite fPage;
     private IPreferenceStore fPreferenceStore;
+    private TmfTimePreferences fTimePreference;
 
     // Example section
     private Composite fExampleSection;
@@ -186,7 +187,8 @@ public class TmfTimestampFormatPage extends PreferencePage implements IWorkbench
      */
     public TmfTimestampFormatPage() {
         fPreferenceStore = getPreferenceStore();
-        fPreferenceMap = TmfTimePreferences.getPreferenceMap();
+        fTimePreference = TmfTimePreferences.getInstance();
+        fPreferenceMap = fTimePreference.getPreferenceMap();
     }
 
     // ------------------------------------------------------------------------
@@ -304,7 +306,7 @@ public class TmfTimestampFormatPage extends PreferencePage implements IWorkbench
         fSSecFieldDelim.loadDefault();
         fCombo.loadDefault();
 
-        fPreferenceMap = TmfTimePreferences.getDefaultPreferenceMap();
+        fPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
         displayExample();
     }
 
@@ -378,7 +380,7 @@ public class TmfTimestampFormatPage extends PreferencePage implements IWorkbench
 
     private void displayExample() {
         long ts = 1332170682500677380L;
-        String timePattern = TmfTimePreferences.computeTimePattern(fPreferenceMap);
+        String timePattern = fTimePreference.computeTimePattern(fPreferenceMap);
         fPatternDisplay.setText(timePattern);
         fPatternDisplay.redraw();
 
index 2128e01659fc0ee7effa191c71033850effbfe13..1dda20588f8b8e8eef1de11dffc504fe2dfbb8fa 100644 (file)
@@ -588,7 +588,7 @@ abstract class TimeDraw {
      * Updates the timezone using the preferences.
      */
     public static void updateTimeZone() {
-        final TimeZone timeZone = TmfTimePreferences.getTimeZone();
+        final TimeZone timeZone = TmfTimePreferences.getInstance().getTimeZone();
         for (SimpleDateFormat sdf : formatArray) {
             sdf.setTimeZone(timeZone);
         }
index 0440f488fdbc04d0879299593f476c8dc0a23667..a75c5d9fe3ccb0dd3c5c857d3be5208e51a85d7d 100644 (file)
@@ -89,7 +89,7 @@ public class Utils {
      * @since 2.1
      */
     public static void updateTimeZone() {
-        TimeZone timeZone = TmfTimePreferences.getTimeZone();
+        TimeZone timeZone = TmfTimePreferences.getInstance().getTimeZone();
         TIME_FORMAT.setTimeZone(timeZone);
         DATE_FORMAT.setTimeZone(timeZone);
     }
This page took 0.03192 seconds and 5 git commands to generate.