Replace joda-time with Java 8 time API In the Gerrit project we have replaced joda-time with the Java 8 time API. Do the same in Gitiles. Change-Id: If4cd80167526cbb412f97ef1fce34809941e1d6b
diff --git a/WORKSPACE b/WORKSPACE index c29dcac..e12f2ab 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -39,12 +39,6 @@ ) maven_jar( - name = "joda_time", - artifact = "joda-time:joda-time:2.9.9", - sha1 = "f7b520c458572890807d143670c9b24f4de90897", -) - -maven_jar( name = "jsr305", artifact = "com.google.code.findbugs:jsr305:3.0.0", attach_source = False,
diff --git a/java/com/google/gitiles/BUILD b/java/com/google/gitiles/BUILD index 6e2c554..8ec9118 100644 --- a/java/com/google/gitiles/BUILD +++ b/java/com/google/gitiles/BUILD
@@ -5,7 +5,6 @@ "//lib:gson", "//lib:guava", "//lib:html-types", - "//lib:joda-time", "//lib:jsr305", "//lib:commonmark", "//lib:cm-autolink",
diff --git a/java/com/google/gitiles/BaseServlet.java b/java/com/google/gitiles/BaseServlet.java index 7fc2f9d..4b8a139 100644 --- a/java/com/google/gitiles/BaseServlet.java +++ b/java/com/google/gitiles/BaseServlet.java
@@ -39,6 +39,7 @@ import java.io.OutputStreamWriter; import java.io.Writer; import java.lang.reflect.Type; +import java.time.Instant; import java.util.Map; import java.util.Optional; import java.util.regex.Pattern; @@ -47,7 +48,6 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.joda.time.Instant; /** Base servlet class for Gitiles servlets that serve Soy templates. */ public abstract class BaseServlet extends HttpServlet { @@ -59,7 +59,7 @@ res.setHeader(HttpHeaders.CACHE_CONTROL, "no-cache, no-store, max-age=0, must-revalidate"); res.setHeader(HttpHeaders.PRAGMA, "no-cache"); res.setHeader(HttpHeaders.EXPIRES, "Mon, 01 Jan 1990 00:00:00 GMT"); - res.setDateHeader(HttpHeaders.DATE, new Instant().getMillis()); + res.setDateHeader(HttpHeaders.DATE, Instant.now().toEpochMilli()); } public static BaseServlet notFoundServlet() {
diff --git a/java/com/google/gitiles/ConfigUtil.java b/java/com/google/gitiles/ConfigUtil.java index 593563d..131a62c 100644 --- a/java/com/google/gitiles/ConfigUtil.java +++ b/java/com/google/gitiles/ConfigUtil.java
@@ -17,12 +17,12 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS; import com.google.common.cache.CacheBuilder; +import java.time.Duration; import java.util.Optional; import java.util.TimeZone; import java.util.concurrent.TimeUnit; import javax.annotation.Nullable; import org.eclipse.jgit.lib.Config; -import org.joda.time.Duration; /** Utilities for working with {@link Config} objects. */ public class ConfigUtil { @@ -47,7 +47,7 @@ String name, @Nullable Duration defaultValue) { long m = config.getTimeUnit(section, subsection, name, -1, MILLISECONDS); - return m == -1 ? defaultValue : Duration.millis(m); + return m == -1 ? defaultValue : Duration.ofMillis(m); } /** @@ -68,11 +68,11 @@ } Duration expireAfterWrite = getDuration(config, "cache", name, "expireAfterWrite", null); if (expireAfterWrite != null) { - b.expireAfterWrite(expireAfterWrite.getMillis(), TimeUnit.MILLISECONDS); + b.expireAfterWrite(expireAfterWrite.toMillis(), TimeUnit.MILLISECONDS); } Duration expireAfterAccess = getDuration(config, "cache", name, "expireAfterAccess", null); if (expireAfterAccess != null) { - b.expireAfterAccess(expireAfterAccess.getMillis(), TimeUnit.MILLISECONDS); + b.expireAfterAccess(expireAfterAccess.toMillis(), TimeUnit.MILLISECONDS); } // Add other methods as needed. } catch (IllegalArgumentException e) {
diff --git a/javatests/com/google/gitiles/BUILD b/javatests/com/google/gitiles/BUILD index ee28f2f..73b662c 100644 --- a/javatests/com/google/gitiles/BUILD +++ b/javatests/com/google/gitiles/BUILD
@@ -3,7 +3,6 @@ "//lib:guava", "//lib/jgit:jgit", "//lib/jgit:jgit-servlet", - "//lib:joda-time", "//lib/soy:soy", ]
diff --git a/javatests/com/google/gitiles/ConfigUtilTest.java b/javatests/com/google/gitiles/ConfigUtilTest.java index a9d58bc..d2e3ac7 100644 --- a/javatests/com/google/gitiles/ConfigUtilTest.java +++ b/javatests/com/google/gitiles/ConfigUtilTest.java
@@ -18,8 +18,8 @@ import static com.google.gitiles.ConfigUtil.getDuration; import static org.junit.Assert.fail; +import java.time.Duration; import org.eclipse.jgit.lib.Config; -import org.joda.time.Duration; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -29,13 +29,13 @@ public class ConfigUtilTest { @Test public void getDurationReturnsDuration() throws Exception { - Duration def = Duration.standardSeconds(2); + Duration def = Duration.ofSeconds(2); Config config = new Config(); Duration t; config.setString("core", "dht", "timeout", "500 ms"); t = getDuration(config, "core", "dht", "timeout", def); - assertThat(t.getMillis()).isEqualTo(500); + assertThat(t.toMillis()).isEqualTo(500); config.setString("core", "dht", "timeout", "5.2 sec"); try { @@ -47,25 +47,25 @@ config.setString("core", "dht", "timeout", "1 min"); t = getDuration(config, "core", "dht", "timeout", def); - assertThat(t.getMillis()).isEqualTo(60000); + assertThat(t.toMillis()).isEqualTo(60000); } @Test public void getDurationCanReturnDefault() throws Exception { - Duration def = Duration.standardSeconds(1); + Duration def = Duration.ofSeconds(1); Config config = new Config(); Duration t; t = getDuration(config, "core", null, "blank", def); - assertThat(t.getMillis()).isEqualTo(1000); + assertThat(t.toMillis()).isEqualTo(1000); config.setString("core", null, "blank", ""); t = getDuration(config, "core", null, "blank", def); - assertThat(t.getMillis()).isEqualTo(1000); + assertThat(t.toMillis()).isEqualTo(1000); config.setString("core", null, "blank", " "); t = getDuration(config, "core", null, "blank", def); - assertThat(t.getMillis()).isEqualTo(1000); + assertThat(t.toMillis()).isEqualTo(1000); } @Test
diff --git a/lib/BUILD b/lib/BUILD index 9ee64d5..110865c 100644 --- a/lib/BUILD +++ b/lib/BUILD
@@ -15,7 +15,6 @@ "gfm-tables", "html-types", "jsr305", - "joda-time", "servlet-api_2_5", "servlet-api_3_0", "truth",