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()