You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2015/04/15 21:41:14 UTC

[09/39] jclouds git commit: fix for JCLOUDS-360, replace platform-dependent assumption that nanosecond resolution ticker uses epoch 1970 as origin with guaranteed behaviour at millisecond-level resolution of System.currentTimeMillis

fix for JCLOUDS-360, replace platform-dependent assumption that nanosecond resolution ticker uses epoch 1970 as origin with guaranteed behaviour at millisecond-level resolution of System.currentTimeMillis


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/7e2cebae
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/7e2cebae
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/7e2cebae

Branch: refs/heads/master
Commit: 7e2cebaec59f3d617d75438d8442cfed6e6b0281
Parents: deafad0
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Oct 29 22:25:27 2013 -0700
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Oct 29 23:18:55 2013 -0700

----------------------------------------------------------------------
 .../oauth/v2/functions/BuildTokenRequest.java        | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/7e2cebae/apis/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java
----------------------------------------------------------------------
diff --git a/apis/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java b/apis/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java
index d10b9a9..1984028 100644
--- a/apis/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java
+++ b/apis/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java
@@ -23,7 +23,6 @@ import static org.jclouds.oauth.v2.config.OAuthProperties.SCOPES;
 import static org.jclouds.oauth.v2.config.OAuthProperties.SIGNATURE_OR_MAC_ALGORITHM;
 
 import java.util.Map;
-import java.util.concurrent.TimeUnit;
 
 import javax.inject.Singleton;
 
@@ -39,7 +38,6 @@ import org.jclouds.rest.internal.GeneratedHttpRequest;
 import com.google.common.base.Function;
 import com.google.common.base.Joiner;
 import com.google.common.base.Supplier;
-import com.google.common.base.Ticker;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.reflect.Invokable;
 import com.google.inject.Inject;
@@ -71,10 +69,15 @@ public class BuildTokenRequest implements Function<GeneratedHttpRequest, TokenRe
    @Named(SCOPES)
    protected String globalScopes = null;
 
+   // injectable so expect tests can override with a predictable value
    @Inject(optional = true)
-   public Ticker ticker = Ticker.systemTicker();
-
-
+   protected Supplier<Long> timeSourceMillisSinceEpoch = new Supplier<Long>() {
+      @Override
+      public Long get() {
+         return System.currentTimeMillis();
+      }
+   };
+   
    @Inject
    public BuildTokenRequest(@Named(AUDIENCE) String assertionTargetDescription,
                             @Named(SIGNATURE_OR_MAC_ALGORITHM) String signatureAlgorithm,
@@ -89,7 +92,7 @@ public class BuildTokenRequest implements Function<GeneratedHttpRequest, TokenRe
 
    @Override
    public TokenRequest apply(GeneratedHttpRequest request) {
-      long now = TimeUnit.SECONDS.convert(ticker.read(), TimeUnit.NANOSECONDS);
+      long now = timeSourceMillisSinceEpoch.get() / 1000;
 
       // fetch the token
       Header header = new Header.Builder()