diff --git a/README.md b/README.md index 6114c020..62de0ffb 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Add this dependency and repository to your POM.xml com.xero xero-java-sdk - 1.0.3 + 1.0.4 diff --git a/pom.xml b/pom.xml index e48e6de6..91cbbe5d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.xero xero-java-sdk jar - 1.0.3 + 1.0.4 Xero-Java SDK http://maven.apache.org diff --git a/src/main/java/com/xero/api/JsonConfig.java b/src/main/java/com/xero/api/JsonConfig.java index 1e089815..9b1d3b8a 100644 --- a/src/main/java/com/xero/api/JsonConfig.java +++ b/src/main/java/com/xero/api/JsonConfig.java @@ -114,7 +114,7 @@ public String getAccessTokenUrl() { @Override public String getUserAgent() { - return USER_AGENT + " " + CONSUMER_KEY + " [Xero-Java-1.0.3]"; + return USER_AGENT + " " + CONSUMER_KEY + " [Xero-Java-1.0.4]"; } @Override diff --git a/src/main/java/com/xero/api/OAuthAccessToken.java b/src/main/java/com/xero/api/OAuthAccessToken.java index d82ff776..39405147 100644 --- a/src/main/java/com/xero/api/OAuthAccessToken.java +++ b/src/main/java/com/xero/api/OAuthAccessToken.java @@ -35,6 +35,8 @@ public class OAuthAccessToken { private String tempTokenSecret; private int connectTimeout = 20; private int readTimeout = 20; + private GenericUrl requestUrl; + private HttpGet httpget; public OAuthAccessToken(Config config) { this(config, new ConfigBasedSignerFactory(config)); @@ -50,36 +52,46 @@ public OAuthAccessToken build(String verifier, String tempToken, String tempToke this.tempToken = tempToken; this.tempTokenSecret = tempTokenSecret; this.connectTimeout = config.getConnectTimeout() * 1000; - this.readTimeout = config.getReadTimeout() * 1000; + this.readTimeout = config.getReadTimeout() * 1000; - httpclient = new XeroHttpContext(config).getHttpClient(); - + httpclient = new XeroHttpContext(config).getHttpClient(); + + requestUrl = new GenericUrl(this.config.getAccessTokenUrl()); + httpget = new HttpGet(this.config.getAccessTokenUrl()); + + this.createParameters().intercept(httpget,requestUrl); + return this; } public OAuthAccessToken build() throws IOException { + this.connectTimeout = config.getConnectTimeout() * 1000; + this.readTimeout = config.getReadTimeout() * 1000; httpclient = new XeroHttpContext(config).getHttpClient(); + + requestUrl = new GenericUrl(this.config.getAccessTokenUrl()); + httpget = new HttpGet(this.config.getAccessTokenUrl()); + + this.createRefreshParameters().intercept(httpget,requestUrl); + return this; } public boolean execute() throws IOException { - GenericUrl requestUrl = new GenericUrl(this.config.getAccessTokenUrl()); - - HttpGet httpget = new HttpGet(this.config.getAccessTokenUrl()); - - RequestConfig.Builder requestConfig = RequestConfig.custom() - .setConnectTimeout(connectTimeout) - .setConnectionRequestTimeout(readTimeout) - .setSocketTimeout(connectTimeout); - - //Proxy Service Setup - unable to fully test as we don't have a proxy - // server to test against. - if(!"".equals(config.getProxyHost()) && config.getProxyHost() != null) { - int port = (int) (config.getProxyPort() == 80 && config.getProxyHttpsEnabled() ? 443 : config.getProxyPort()); - HttpHost proxy = new HttpHost(config.getProxyHost(), port, config.getProxyHttpsEnabled() ? "https" : "http"); - requestConfig.setProxy(proxy); - } - this.createParameters().intercept(httpget,requestUrl); + + RequestConfig.Builder requestConfig = RequestConfig.custom() + .setConnectTimeout(connectTimeout) + .setConnectionRequestTimeout(readTimeout) + .setSocketTimeout(connectTimeout); + + //Proxy Service Setup - unable to fully test as we don't have a proxy + // server to test against. + if(!"".equals(config.getProxyHost()) && config.getProxyHost() != null) { + int port = (int) (config.getProxyPort() == 80 && config.getProxyHttpsEnabled() ? 443 : config.getProxyPort()); + HttpHost proxy = new HttpHost(config.getProxyHost(), port, config.getProxyHttpsEnabled() ? "https" : "http"); + requestConfig.setProxy(proxy); + } + httpget.setConfig(requestConfig.build()); try {