diff --git a/futures_api_example_java/pom.xml b/futures_api_example_java/pom.xml
index cd638f6..6d0ee67 100644
--- a/futures_api_example_java/pom.xml
+++ b/futures_api_example_java/pom.xml
@@ -91,6 +91,36 @@
-Xlint:unchecked
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.3.0
+
+
+ package
+
+ single
+
+
+
+ ${project.basedir}/build
+
+
+
+ true
+
+ com.bitrue.futures.sdk.client.Main
+
+
+
+
+ jar-with-dependencies
+
+
+
+
+
\ No newline at end of file
diff --git a/futures_api_example_java/readme.md b/futures_api_example_java/readme.md
index 2b50da6..baaee52 100644
--- a/futures_api_example_java/readme.md
+++ b/futures_api_example_java/readme.md
@@ -1,25 +1,15 @@
## Getting started
-#### Public API
+#### How to run this project
-* junit
-run MarketTest
+* To create a new self executable jar
+ * run the command on the terminal > mvn clean install
+ * run self executable jar > java -jar e.g. bitrue-future-client-0.9.0-SNAPSHOT-jar-with-dependencies.jar
+ * run unit test > mvn test
+ * skip unit test > mvn clean install -DskipTests
-#### Trade & Account API
-
-``` java
-
-public class PrivateConfig {
-
- public static final String API_KEY = "XXXXXX";
- public static final String SECRET_KEY = "XXXXXX";
-
-}
-
-# junit:
-TradeTest
-AccountTest
-```
+#### API key and signature
+* See the class PrivateConfig.java, add your Bittrue APIKey and Signature
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/PrivateConfig.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/PrivateConfig.java
index e3b736b..f335bb9 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/PrivateConfig.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/PrivateConfig.java
@@ -1,7 +1,6 @@
package com.bitrue.futures.sdk.client;
public class PrivateConfig {
-
public static final String API_KEY = "yyy";
public static final String SECRET_KEY = "xxx";
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/RequestOptions.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/RequestOptions.java
index 38034b6..bd448f5 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/RequestOptions.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/RequestOptions.java
@@ -1,5 +1,6 @@
package com.bitrue.futures.sdk.client;
+import com.bitrue.futures.sdk.client.constant.FuturesApiConstants;
import com.bitrue.futures.sdk.client.exception.BitrueApiException;
import java.net.URL;
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/FuturesApiConstants.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/constant/FuturesApiConstants.java
similarity index 96%
rename from futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/FuturesApiConstants.java
rename to futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/constant/FuturesApiConstants.java
index 410764e..c19fadf 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/FuturesApiConstants.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/constant/FuturesApiConstants.java
@@ -1,4 +1,4 @@
-package com.bitrue.futures.sdk.client;
+package com.bitrue.futures.sdk.client.constant;
import org.apache.commons.lang.builder.ToStringStyle;
@@ -38,4 +38,4 @@ public class FuturesApiConstants {
* ToStringStyle.JSON_STYLE
*/
public static ToStringStyle TO_STRING_BUILDER_STYLE = ToStringStyle.SHORT_PREFIX_STYLE;
-}
+}
\ No newline at end of file
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/exception/BitrueApiException.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/exception/BitrueApiException.java
index d352161..bc0be4c 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/exception/BitrueApiException.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/exception/BitrueApiException.java
@@ -2,15 +2,10 @@
public class BitrueApiException extends RuntimeException {
- /**
- *
- */
private static final long serialVersionUID = 4360108982268949009L;
public static final String RUNTIME_ERROR = "RuntimeError";
public static final String INPUT_ERROR = "InputError";
public static final String KEY_MISSING = "KeyMissing";
- public static final String SYS_ERROR = "SysError";
- public static final String SUBSCRIPTION_ERROR = "SubscriptionError";
public static final String ENV_ERROR = "EnvironmentError";
public static final String EXEC_ERROR = "ExecuteError";
private final String errCode;
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/ApiSignature.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/ApiSignature.java
index 86f4273..61cf7b8 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/ApiSignature.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/ApiSignature.java
@@ -1,6 +1,5 @@
package com.bitrue.futures.sdk.client.impl;
-import com.bitrue.futures.sdk.client.FuturesApiConstants;
import com.bitrue.futures.sdk.client.exception.BitrueApiException;
import com.bitrue.futures.sdk.client.utils.UrlParamsBuilder;
import org.apache.commons.codec.binary.Hex;
@@ -12,8 +11,6 @@
class ApiSignature {
-// static final String op = "op";
-// static final String opValue = "auth";
private static final String signatureMethodValue = "HmacSHA256";
public static final String signatureVersionValue = "2";
@@ -23,13 +20,6 @@ String createSignature(String ts, String path, String accessKey, String secretKe
throw new BitrueApiException(BitrueApiException.KEY_MISSING, "API key and secret key are required");
}
-// if(builder.getMethod().equals("GET")){
-// builder.putToUrl("recvWindow", Long.toString(FuturesApiConstants.DEFAULT_RECEIVING_WINDOW));
-// }
-// else if(builder.getMethod().equals("POST")){
-// builder.putToPost("recvWindow",Long.toString(FuturesApiConstants.DEFAULT_RECEIVING_WINDOW));
-// }
-
Mac hmacSha256;
try {
hmacSha256 = Mac.getInstance(signatureMethodValue);
@@ -49,5 +39,4 @@ String createSignature(String ts, String path, String accessKey, String secretKe
return actualSign;
}
-
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/BitrueApiInternalFactory.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/BitrueApiInternalFactory.java
index 1e15272..477ce95 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/BitrueApiInternalFactory.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/BitrueApiInternalFactory.java
@@ -25,4 +25,4 @@ public SyncRequestClient createSyncRequestInverseClient(String apiKey, String se
InverseRestApiRquestImpl inverseRequestImpl = new InverseRestApiRquestImpl(apiKey, secKey, options);
return new SyncRequestImpl(inverseRequestImpl);
}
-}
+}
\ No newline at end of file
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/InverseRestApiRquestImpl.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/InverseRestApiRquestImpl.java
index 02fe934..b084ead 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/InverseRestApiRquestImpl.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/InverseRestApiRquestImpl.java
@@ -26,9 +26,7 @@ RestApiRequest getServerTime(){
RestApiRequest request = new RestApiRequest<>();
UrlParamsBuilder builder = UrlParamsBuilder.build();
request.request = createRequestByGet("/dapi/v1/time", builder);
- request.jsonParser = (jsonWrapper -> {
- return ServerTime.builder().serverMillis(jsonWrapper.getLong("serverTime")).timeZone(jsonWrapper.getString("timezone")).build();
- });
+ request.jsonParser = (jsonWrapper -> ServerTime.builder().serverMillis(jsonWrapper.getLong("serverTime")).timeZone(jsonWrapper.getString("timezone")).build());
return request;
}
@@ -69,7 +67,7 @@ RestApiRequest> getContractList() {
@Override
RestApiRequest getOrderBook(String contractName, Integer limit) {
- RestApiRequest request = new RestApiRequest();
+ RestApiRequest request = new RestApiRequest<>();
UrlParamsBuilder builder = UrlParamsBuilder.build()
.putToUrl("contractName", contractName)
.putToUrl("limit", limit);
@@ -112,17 +110,14 @@ RestApiRequest get24HrTickerPriceChange(String contractName){
request.request = createRequestByGet("/dapi/v1/ticker", builder);
- request.jsonParser = (jsonWrapper ->{
- PriceChangeTicker result = PriceChangeTicker.builder()
- .high(jsonWrapper.getBigDecimal("high"))
- .low(jsonWrapper.getBigDecimal("low"))
- .last(jsonWrapper.getBigDecimal("last"))
- .vol(jsonWrapper.getBigDecimal("vol"))
- .rose(jsonWrapper.getBigDecimal("rose"))
- .time(jsonWrapper.getLong("time"))
- .build();
- return result;
- });
+ request.jsonParser = (jsonWrapper -> PriceChangeTicker.builder()
+ .high(jsonWrapper.getBigDecimal("high"))
+ .low(jsonWrapper.getBigDecimal("low"))
+ .last(jsonWrapper.getBigDecimal("last"))
+ .vol(jsonWrapper.getBigDecimal("vol"))
+ .rose(jsonWrapper.getBigDecimal("rose"))
+ .time(jsonWrapper.getLong("time"))
+ .build());
return request;
}
@@ -171,14 +166,11 @@ RestApiRequest postOrder(String contractName, String price, String volume
request.request = createRequestByPostWithSignature("/dapi/v1/order", builder);
- request.jsonParser = (jsonWrapper -> {
- Order result = Order.builder()
- .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId")).price(new BigDecimal(price))
- .orgiQty(new BigDecimal(volume)).type(orderType.name()).contractName(contractName).side(side.name())
- .postionAction(action.name()).timeInForce(timeInForce.name())
- .build();
- return result;
- });
+ request.jsonParser = (jsonWrapper -> Order.builder()
+ .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId")).price(new BigDecimal(price))
+ .orgiQty(new BigDecimal(volume)).type(orderType.name()).contractName(contractName).side(side.name())
+ .postionAction(action.name()).timeInForce(timeInForce.name())
+ .build());
return request;
}
@@ -198,14 +190,11 @@ RestApiRequest marketOrder(String contractName, String volume, OrderSide
request.request = createRequestByPostWithSignature("/dapi/v1/order", builder);
- request.jsonParser = (jsonWrapper -> {
- Order result = Order.builder()
- .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId"))
- .orgiQty(new BigDecimal(volume)).type(OrderType.MARKET.name()).contractName(contractName).side(side.name())
- .postionAction(action.name()).timeInForce(OrderType.MARKET.name())
- .build();
- return result;
- });
+ request.jsonParser = (jsonWrapper -> Order.builder()
+ .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId"))
+ .orgiQty(new BigDecimal(volume)).type(OrderType.MARKET.name()).contractName(contractName).side(side.name())
+ .postionAction(action.name()).timeInForce(OrderType.MARKET.name())
+ .build());
return request;
}
@@ -219,12 +208,9 @@ public RestApiRequest cancelOrder(String contractName, Long orderId, Stri
.putToPost("clientOrderId", clientOrdId);
request.request = createRequestByPostWithSignature("/dapi/v1/cancel", builder);
- request.jsonParser = (jsonWrapper -> {
- Order result = Order.builder()
- .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId")).contractName(contractName)
- .build();
- return result;
- });
+ request.jsonParser = (jsonWrapper -> Order.builder()
+ .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId")).contractName(contractName)
+ .build());
return request;
}
@@ -260,14 +246,12 @@ public RestApiRequest queryOrder(String contractName, Long orderId){
builder.putToUrl("orderId", String.valueOf(orderId));
request.request = createRequestByGetWithSignature("/dapi/v1/order", builder);
- request.jsonParser = (wrapper -> {
- return Order.builder().orderId(wrapper.getLong("orderId")).side(wrapper.getString("side"))
- .executeQty(wrapper.getBigDecimalOrDefault("executedQty", BigDecimal.ZERO))
- .price(wrapper.getBigDecimal("price")).orgiQty(wrapper.getBigDecimal("origQty"))
- .avgPrice(wrapper.getBigDecimalOrDefault("avgPrice", BigDecimal.ZERO))
- .type(wrapper.getString("type")).status(wrapper.getString("status"))
- .postionAction(wrapper.getString("action")).ctime(wrapper.getLong("transactTime")).build();
- });
+ request.jsonParser = (wrapper -> Order.builder().orderId(wrapper.getLong("orderId")).side(wrapper.getString("side"))
+ .executeQty(wrapper.getBigDecimalOrDefault("executedQty", BigDecimal.ZERO))
+ .price(wrapper.getBigDecimal("price")).orgiQty(wrapper.getBigDecimal("origQty"))
+ .avgPrice(wrapper.getBigDecimalOrDefault("avgPrice", BigDecimal.ZERO))
+ .type(wrapper.getString("type")).status(wrapper.getString("status"))
+ .postionAction(wrapper.getString("action")).ctime(wrapper.getLong("transactTime")).build());
return request;
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiInvoker.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiInvoker.java
index 2f7e299..6d5c7f0 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiInvoker.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiInvoker.java
@@ -7,7 +7,6 @@
import org.slf4j.LoggerFactory;
abstract class RestApiInvoker {
-
private static final Logger log = LoggerFactory.getLogger(RestApiInvoker.class);
private static final OkHttpClient client = new OkHttpClient();
@@ -66,5 +65,4 @@ static T callSync(RestApiRequest request) {
"[Invoking] Unexpected error: " + e.getMessage());
}
}
-
}
\ No newline at end of file
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiRequest.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiRequest.java
index bc9edec..3d2580a 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiRequest.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiRequest.java
@@ -3,8 +3,6 @@
import okhttp3.Request;
public class RestApiRequest {
-
public Request request;
-
RestApiJsonParser jsonParser;
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiRequestImpl.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiRequestImpl.java
index 25fb974..21b3ce9 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiRequestImpl.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/impl/RestApiRequestImpl.java
@@ -1,6 +1,6 @@
package com.bitrue.futures.sdk.client.impl;
-import com.bitrue.futures.sdk.client.FuturesApiConstants;
+import com.bitrue.futures.sdk.client.constant.FuturesApiConstants;
import com.bitrue.futures.sdk.client.RequestOptions;
import com.bitrue.futures.sdk.client.exception.BitrueApiException;
import com.bitrue.futures.sdk.client.model.account.Account;
@@ -11,22 +11,16 @@
import com.bitrue.futures.sdk.client.model.trade.Order;
import com.bitrue.futures.sdk.client.utils.JsonWrapperArray;
import com.bitrue.futures.sdk.client.utils.UrlParamsBuilder;
-import com.sun.tools.corba.se.idl.constExpr.Or;
import okhttp3.Request;
import java.math.BigDecimal;
-import java.security.URIParameter;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
import java.util.*;
public class RestApiRequestImpl {
- private String apiKey;
- private String secretKey;
- private String serverUrl;
+ private final String apiKey;
+ private final String secretKey;
+ private final String serverUrl;
RestApiRequestImpl(String apiKey, String secretKey, RequestOptions options) {
this.apiKey = apiKey;
@@ -178,9 +172,7 @@ RestApiRequest getServerTime(){
RestApiRequest request = new RestApiRequest<>();
UrlParamsBuilder builder = UrlParamsBuilder.build();
request.request = createRequestByGet("/fapi/v1/time", builder);
- request.jsonParser = (jsonWrapper -> {
- return ServerTime.builder().serverMillis(jsonWrapper.getLong("serverTime")).timeZone(jsonWrapper.getString("timezone")).build();
- });
+ request.jsonParser = (jsonWrapper -> ServerTime.builder().serverMillis(jsonWrapper.getLong("serverTime")).timeZone(jsonWrapper.getString("timezone")).build());
return request;
}
@@ -219,7 +211,7 @@ RestApiRequest> getContractList() {
}
RestApiRequest getOrderBook(String contractName, Integer limit) {
- RestApiRequest request = new RestApiRequest();
+ RestApiRequest request = new RestApiRequest<>();
UrlParamsBuilder builder = UrlParamsBuilder.build()
.putToUrl("contractName", contractName)
.putToUrl("limit", limit);
@@ -261,17 +253,14 @@ RestApiRequest get24HrTickerPriceChange(String contractName){
request.request = createRequestByGet("/fapi/v1/ticker", builder);
- request.jsonParser = (jsonWrapper ->{
- PriceChangeTicker result = PriceChangeTicker.builder()
- .high(jsonWrapper.getBigDecimal("high"))
- .low(jsonWrapper.getBigDecimal("low"))
- .last(jsonWrapper.getBigDecimal("last"))
- .vol(jsonWrapper.getBigDecimal("vol"))
- .rose(jsonWrapper.getBigDecimal("rose"))
- .time(jsonWrapper.getLong("time"))
- .build();
- return result;
- });
+ request.jsonParser = (jsonWrapper -> PriceChangeTicker.builder()
+ .high(jsonWrapper.getBigDecimal("high"))
+ .low(jsonWrapper.getBigDecimal("low"))
+ .last(jsonWrapper.getBigDecimal("last"))
+ .vol(jsonWrapper.getBigDecimal("vol"))
+ .rose(jsonWrapper.getBigDecimal("rose"))
+ .time(jsonWrapper.getLong("time"))
+ .build());
return request;
}
@@ -339,14 +328,11 @@ RestApiRequest postOrder(String contractName, String price, String volume
request.request = createRequestByPostWithSignature("/fapi/v1/order", builder);
- request.jsonParser = (jsonWrapper -> {
- Order result = Order.builder()
- .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId")).price(new BigDecimal(price))
- .orgiQty(new BigDecimal(volume)).type(orderType.name()).contractName(contractName).side(side.name())
- .postionAction(action.name()).timeInForce(timeInForce.name())
- .build();
- return result;
- });
+ request.jsonParser = (jsonWrapper -> Order.builder()
+ .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId")).price(new BigDecimal(price))
+ .orgiQty(new BigDecimal(volume)).type(orderType.name()).contractName(contractName).side(side.name())
+ .postionAction(action.name()).timeInForce(timeInForce.name())
+ .build());
return request;
}
@@ -365,14 +351,11 @@ RestApiRequest marketOrder(String contractName, String volume, OrderSide
request.request = createRequestByPostWithSignature("/fapi/v1/order", builder);
- request.jsonParser = (jsonWrapper -> {
- Order result = Order.builder()
- .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId"))
- .orgiQty(new BigDecimal(volume)).type(OrderType.MARKET.name()).contractName(contractName).side(side.name())
- .postionAction(action.name()).timeInForce(OrderType.MARKET.name())
- .build();
- return result;
- });
+ request.jsonParser = (jsonWrapper -> Order.builder()
+ .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId"))
+ .orgiQty(new BigDecimal(volume)).type(OrderType.MARKET.name()).contractName(contractName).side(side.name())
+ .postionAction(action.name()).timeInForce(OrderType.MARKET.name())
+ .build());
return request;
}
@@ -385,12 +368,9 @@ public RestApiRequest cancelOrder(String contractName, Long orderId, Stri
.putToPost("clientOrderId", clientOrdId);
request.request = createRequestByPostWithSignature("/fapi/v1/cancel", builder);
- request.jsonParser = (jsonWrapper -> {
- Order result = Order.builder()
- .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId")).contractName(contractName)
- .build();
- return result;
- });
+ request.jsonParser = (jsonWrapper -> Order.builder()
+ .clientOrdId(clientOrdId).orderId(jsonWrapper.getLong("orderId")).contractName(contractName)
+ .build());
return request;
}
@@ -425,14 +405,12 @@ public RestApiRequest queryOrder(String contractName, Long orderId){
builder.putToUrl("orderId", String.valueOf(orderId));
request.request = createRequestByGetWithSignature("/fapi/v1/order", builder);
- request.jsonParser = (wrapper -> {
- return Order.builder().orderId(wrapper.getLong("orderId")).side(wrapper.getString("side"))
- .executeQty(wrapper.getBigDecimalOrDefault("executedQty", BigDecimal.ZERO))
- .price(wrapper.getBigDecimal("price")).orgiQty(wrapper.getBigDecimal("origQty"))
- .avgPrice(wrapper.getBigDecimalOrDefault("avgPrice", BigDecimal.ZERO))
- .type(wrapper.getString("type")).status(wrapper.getString("status"))
- .postionAction(wrapper.getString("action")).ctime(wrapper.getLong("transactTime")).build();
- });
+ request.jsonParser = (wrapper -> Order.builder().orderId(wrapper.getLong("orderId")).side(wrapper.getString("side"))
+ .executeQty(wrapper.getBigDecimalOrDefault("executedQty", BigDecimal.ZERO))
+ .price(wrapper.getBigDecimal("price")).orgiQty(wrapper.getBigDecimal("origQty"))
+ .avgPrice(wrapper.getBigDecimalOrDefault("avgPrice", BigDecimal.ZERO))
+ .type(wrapper.getString("type")).status(wrapper.getString("status"))
+ .postionAction(wrapper.getString("action")).ctime(wrapper.getLong("transactTime")).build());
return request;
}
@@ -545,17 +523,4 @@ public RestApiRequest> getPositions(String contractName) {
});
return request;
}
-
-// public static void main(String[] args){
-// ZoneId utc = ZoneId.of("Etc/UTC");
-// DateTimeFormatter targetFormatter = DateTimeFormatter.ofPattern(
-// "MM/dd/yyyy hh:mm:ss a zzz", Locale.ENGLISH);
-//
-// String itsAlarmDttm = "2013-10-22T01:37:56";
-// ZonedDateTime utcDateTime = LocalDateTime.parse(itsAlarmDttm)
-// .atZone(ZoneId.systemDefault())
-// .withZoneSameInstant(utc);
-// String formatterUtcDateTime = utcDateTime.format(targetFormatter);
-// System.out.println(formatterUtcDateTime);
-// }
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/Account.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/Account.java
index 6399655..4be6e25 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/Account.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/Account.java
@@ -6,6 +6,9 @@
import java.math.BigDecimal;
import java.util.List;
+/**
+ * Account details
+ */
@Data
@Builder
public class Account {
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/Position.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/Position.java
index f01c7dc..3d2bb09 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/Position.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/Position.java
@@ -7,8 +7,10 @@
import java.math.BigDecimal;
import java.time.ZonedDateTime;
-import java.util.Date;
+/**
+ * Position details
+ */
@Data
@Builder
public class Position {
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/PositionVO.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/PositionVO.java
index 47293b9..643227f 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/PositionVO.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/account/PositionVO.java
@@ -5,6 +5,9 @@
import java.util.List;
+/**
+ * Position Value Object details
+ */
@Data
@Builder
public class PositionVO {
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/ContractSide.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/ContractSide.java
index f87d148..8b13385 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/ContractSide.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/ContractSide.java
@@ -1,19 +1,14 @@
package com.bitrue.futures.sdk.client.model.enums;
-import com.bitrue.futures.sdk.client.model.market.ContractInfo;
-
/**
* @author superatom
*/
public enum ContractSide {
- FORWARD(1), REVERSE(2);
-
- private int value;
+ FORWARD(), REVERSE();
- ContractSide(int value){
- this.value = value;
+ ContractSide(){
}
public static ContractSide forInt(int v){
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/Interval.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/Interval.java
index b1089bb..3b61e38 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/Interval.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/Interval.java
@@ -11,7 +11,7 @@ public enum Interval {
/**
* value
*/
- private String value;
+ private final String value;
Interval(String v){
this.value = v;
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/OrderSide.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/OrderSide.java
index 67e6cb2..fbe1fef 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/OrderSide.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/OrderSide.java
@@ -1,6 +1,5 @@
package com.bitrue.futures.sdk.client.model.enums;
public enum OrderSide {
-
- BUY, SELL;
-}
+ BUY, SELL
+}
\ No newline at end of file
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/OrderType.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/OrderType.java
index e163705..0a50373 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/OrderType.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/OrderType.java
@@ -1,6 +1,5 @@
package com.bitrue.futures.sdk.client.model.enums;
public enum OrderType {
-
- LIMIT, MARKET;
+ LIMIT, MARKET
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/PositionActiion.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/PositionActiion.java
index e90c63f..042965b 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/PositionActiion.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/PositionActiion.java
@@ -1,5 +1,5 @@
package com.bitrue.futures.sdk.client.model.enums;
public enum PositionActiion {
- OPEN, CLOSE;
+ OPEN, CLOSE
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/PositionType.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/PositionType.java
index 709ce0d..a062177 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/PositionType.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/PositionType.java
@@ -3,11 +3,10 @@
/**
* @author superatom
*/
-
public enum PositionType {
CROSS(1), ISOLATED(2);
- private int value;
+ private final int value;
PositionType(int i){
this.value = i;
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/TimeInForce.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/TimeInForce.java
index 171a09c..d789f7f 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/TimeInForce.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/enums/TimeInForce.java
@@ -1,6 +1,5 @@
package com.bitrue.futures.sdk.client.model.enums;
public enum TimeInForce {
-
IOC, FOK, POST_ONLY, LIMIT, MARKET;
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/ContractInfo.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/ContractInfo.java
index 027ad76..a6065c4 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/ContractInfo.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/ContractInfo.java
@@ -1,7 +1,6 @@
package com.bitrue.futures.sdk.client.model.market;
import com.bitrue.futures.sdk.client.model.enums.ContractSide;
-import com.oracle.webservices.internal.api.databinding.DatabindingMode;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -9,7 +8,7 @@
import java.math.BigDecimal;
/**
- *
+ * Contract details
* @author superatom
*/
@Data
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/KlineBar.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/KlineBar.java
index 9078165..7baf245 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/KlineBar.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/KlineBar.java
@@ -6,7 +6,7 @@
import java.math.BigDecimal;
/**
- *
+ * KlineBar details
*/
@Data
@Builder
@@ -18,5 +18,4 @@ public class KlineBar {
private BigDecimal high;
private BigDecimal low;
private BigDecimal vol;
-
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/OrderBook.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/OrderBook.java
index 29847a2..40e130b 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/OrderBook.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/OrderBook.java
@@ -1,10 +1,13 @@
package com.bitrue.futures.sdk.client.model.market;
-import com.bitrue.futures.sdk.client.FuturesApiConstants;
+import com.bitrue.futures.sdk.client.constant.FuturesApiConstants;
import org.apache.commons.lang.builder.ToStringBuilder;
import java.util.List;
+/**
+ * Order Book Details
+ */
public class OrderBook {
private List bids;
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/OrderBookEntry.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/OrderBookEntry.java
index 94811e9..f7eae04 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/OrderBookEntry.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/OrderBookEntry.java
@@ -1,6 +1,6 @@
package com.bitrue.futures.sdk.client.model.market;
-import com.bitrue.futures.sdk.client.FuturesApiConstants;
+import com.bitrue.futures.sdk.client.constant.FuturesApiConstants;
import lombok.Builder;
import lombok.Data;
import org.apache.commons.lang.builder.ToStringBuilder;
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/PriceChangeTicker.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/PriceChangeTicker.java
index 0e867ca..42fb642 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/PriceChangeTicker.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/PriceChangeTicker.java
@@ -5,6 +5,9 @@
import java.math.BigDecimal;
+/**
+ * Price Change Ticker
+ */
@Builder
@Data
public class PriceChangeTicker {
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/ServerTime.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/ServerTime.java
index cfdaa9c..c851743 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/ServerTime.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/market/ServerTime.java
@@ -3,6 +3,9 @@
import lombok.Builder;
import lombok.Data;
+/**
+ * Server time details
+ */
@Data
@Builder
public class ServerTime {
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/trade/Order.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/trade/Order.java
index 59288cf..b8dea25 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/trade/Order.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/model/trade/Order.java
@@ -6,6 +6,7 @@
import java.math.BigDecimal;
/**
+ * Order Details
* @author superatom
*/
@Data
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/Handler.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/Handler.java
index 0fa3c26..7cfd736 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/Handler.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/Handler.java
@@ -2,6 +2,5 @@
@FunctionalInterface
public interface Handler {
-
void handle(T t);
}
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/JsonWrapper.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/JsonWrapper.java
index 02d7298..cc372fb 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/JsonWrapper.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/JsonWrapper.java
@@ -220,7 +220,7 @@ public void getJsonObject(String name, Handler todo) {
public JsonWrapperArray getJsonArray(String name) {
checkMandatoryField(name);
- JSONArray array = null;
+ JSONArray array;
try {
array = json.getJSONArray(name);
} catch (Exception e) {
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/JsonWrapperArray.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/JsonWrapperArray.java
index b56c30a..73fd010 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/JsonWrapperArray.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/JsonWrapperArray.java
@@ -10,7 +10,7 @@
public class JsonWrapperArray {
- private JSONArray array = null;
+ private JSONArray array;
public JsonWrapperArray(JSONArray array) {
this.array = array;
diff --git a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/UrlParamsBuilder.java b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/UrlParamsBuilder.java
index 907bd85..abac9ec 100644
--- a/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/UrlParamsBuilder.java
+++ b/futures_api_example_java/src/main/java/com/bitrue/futures/sdk/client/utils/UrlParamsBuilder.java
@@ -1,20 +1,16 @@
package com.bitrue.futures.sdk.client.utils;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
import com.bitrue.futures.sdk.client.exception.BitrueApiException;
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
+import org.apache.commons.lang.StringUtils;
+
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.LinkedHashMap;
-import okhttp3.MediaType;
-import okhttp3.RequestBody;
-import org.apache.commons.lang.StringUtils;
+import java.util.*;
public class UrlParamsBuilder {
diff --git a/futures_api_example_java/src/test/java/com/bitrue/futures/sdk/client/TradeTest.java b/futures_api_example_java/src/test/java/com/bitrue/futures/sdk/client/TradeTest.java
index 9fb22f7..84daaa3 100644
--- a/futures_api_example_java/src/test/java/com/bitrue/futures/sdk/client/TradeTest.java
+++ b/futures_api_example_java/src/test/java/com/bitrue/futures/sdk/client/TradeTest.java
@@ -27,6 +27,7 @@ public void testPlaceOrder(){
}
// @Test
+ @Test
public void testInversePlaceOrder(){
SyncRequestClient client = SyncRequestClient.createInverse(PrivateConfig.API_KEY, PrivateConfig.SECRET_KEY, new RequestOptions());
int i = UUID.randomUUID().hashCode();
@@ -43,6 +44,7 @@ public void testInversePlaceOrder(){
// @Test
+ @Test
public void testCancel(){
SyncRequestClient client = SyncRequestClient.create(PrivateConfig.API_KEY, PrivateConfig.SECRET_KEY, new RequestOptions());
Order ord = Order.builder().clientOrdId("1534994023").orderId(1141178101970600166L).contractName("E-ETH-USDT").build();
@@ -51,24 +53,28 @@ public void testCancel(){
}
// @Test
+ @Test
public void testOpenOrders(){
SyncRequestClient client = SyncRequestClient.create(PrivateConfig.API_KEY, PrivateConfig.SECRET_KEY, new RequestOptions());
System.out.println(client.getOpenOrder("E-ETH-USDT"));
}
// @Test
+ @Test
public void testInverseOpenOrders(){
SyncRequestClient client = SyncRequestClient.createInverse(PrivateConfig.API_KEY, PrivateConfig.SECRET_KEY, new RequestOptions());
System.out.println(client.getOpenOrder("E-BTC-USD"));
}
// @Test
+ @Test
public void testQueryOrder(){
SyncRequestClient client = SyncRequestClient.create(PrivateConfig.API_KEY, PrivateConfig.SECRET_KEY, new RequestOptions());
System.out.println(client.queryOrder("E-ETH-USDT", 1141178101970600166L));
}
// @Test
+ @Test
public void testInverseQueryOrder(){
SyncRequestClient client = SyncRequestClient.createInverse(PrivateConfig.API_KEY, PrivateConfig.SECRET_KEY, new RequestOptions());
System.out.println(client.queryOrder("E-BTC-USD", 1194156214330328799L));