]> source.dussan.org Git - sonarqube.git/commitdiff
Improve DateUtils by using generics in ThreadLocal + rename some unit tests of DateUt...
authorSimon Brandhof <simon.brandhof@gmail.com>
Mon, 12 Dec 2011 10:09:39 +0000 (11:09 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Mon, 12 Dec 2011 10:09:39 +0000 (11:09 +0100)
sonar-plugin-api/src/main/java/org/sonar/api/utils/DateUtils.java
sonar-plugin-api/src/test/java/org/sonar/api/utils/DateUtilsTest.java

index 12cdfa47eb68b81fdcc61c1f46343f4a304454cd..836169d5880e7ffe0f06456257c1b73214e74dc0 100644 (file)
@@ -21,13 +21,16 @@ package org.sonar.api.utils;
 
 import java.lang.ref.Reference;
 import java.lang.ref.SoftReference;
-import java.text.*;
+import java.text.DateFormat;
+import java.text.FieldPosition;
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 
 /**
  * Parses and formats <a href="http://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a> dates.
  * This class is thread-safe.
- * 
+ *
  * @since 2.7
  */
 public final class DateUtils {
@@ -82,11 +85,11 @@ public final class DateUtils {
       this.format = format;
     }
 
-    private final transient ThreadLocal cache = new ThreadLocal() {
-      public Object get() {
-        Reference softRef = (Reference) super.get();
+    private final transient ThreadLocal<Reference<DateFormat>> cache = new ThreadLocal<Reference<DateFormat>>() {
+      public Reference<DateFormat> get() {
+        Reference<DateFormat> softRef = super.get();
         if (softRef == null || softRef.get() == null) {
-          softRef = new SoftReference(new SimpleDateFormat(format));
+          softRef = new SoftReference<DateFormat>(new SimpleDateFormat(format));
           super.set(softRef);
         }
         return softRef;
index 2a42e9d1047d7d4ec19b2ce15127058c1550e8fd..c855a2608ac597bf15fef6411f84f65b085a925f 100644 (file)
@@ -45,7 +45,7 @@ public class DateUtilsTest {
   }
 
   @Test(expected = SonarException.class)
-  public void shouldNotParseDate2() {
+  public void shouldNotParseDateIfAdditionnalCharacters() {
     DateUtils.parseDate("1986-12-04foo");
   }
 
@@ -61,7 +61,7 @@ public class DateUtilsTest {
   }
 
   @Test(expected = SonarException.class)
-  public void shouldNotParseDateTime2() {
+  public void shouldNotParseIfAdditionnalCharacters() {
     DateUtils.parseDateTime("1986-12-04T01:02:03+0300foo");
   }