diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsBalancesRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsBalancesRequest.java index a9a3555..d855d1f 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsBalancesRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsBalancesRequest.java @@ -17,6 +17,7 @@ import java.util.Map; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.BalanceResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -52,7 +53,7 @@ public String getPayload() { } @Override - public ResponseWrapper> parseResult(int resultCode, String content) { + public ResponseWrapper> parseResult(int resultCode, String content) throws JsonProcessingException { System.out.println(content); ResponseWrapper> wrapper = parseJson(content, new TypeReference>>() {}); return wrapper; diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsBasicAccountInfoRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsBasicAccountInfoRequest.java index 7f45104..18f21ec 100755 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsBasicAccountInfoRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsBasicAccountInfoRequest.java @@ -15,17 +15,14 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.type.TypeReference; import lombok.Builder; import lombok.NoArgsConstructor; - +import lombok.SneakyThrows; import org.brunocvcunha.coinpayments.model.BasicInfoResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; -import com.fasterxml.jackson.core.type.TypeReference; - -import lombok.SneakyThrows; - /** * Search GIFs Request * @@ -52,9 +49,6 @@ public String getPayload() { @SneakyThrows public ResponseWrapper parseResult(int statusCode, String content) { ResponseWrapper wrapper = parseJson(content, new TypeReference>() {}); - - //ResponseWrapper wrapper = parseJson(content, ResponseWrapper.class); - //wrapper.setResult(parseJson(new ObjectMapper().writeValueAsString(wrapper.getResult()), BasicInfoResponse.class)); //?j return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsClaimTagRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsClaimTagRequest.java index 9bdb217..2d9c727 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsClaimTagRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsClaimTagRequest.java @@ -17,6 +17,7 @@ import java.util.List; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.ClaimTagResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -51,7 +52,7 @@ public String getPayload() { } @Override - public ResponseWrapper> parseResult(int resultCode, String content) { + public ResponseWrapper> parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper> wrapper = parseJson(content, new TypeReference>>() {}); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsConversionLimitsRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsConversionLimitsRequest.java index 84163ae..d784885 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsConversionLimitsRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsConversionLimitsRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.ConversionLimitsResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -48,7 +49,7 @@ public String getPayload () { } @Override - public ResponseWrapper parseResult(int resultCode, String content) { + public ResponseWrapper parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper wrapper = parseJson( content, new TypeReference>() {} ); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsConvertCoinsRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsConvertCoinsRequest.java index 444c1c9..ba01064 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsConvertCoinsRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsConvertCoinsRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.ConvertCoinResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -55,7 +56,7 @@ public String getPayload () { } @Override - public ResponseWrapper parseResult ( int resultCode, String content ) { + public ResponseWrapper parseResult ( int resultCode, String content ) throws JsonProcessingException { ResponseWrapper wrapper = parseJson( content, new TypeReference>() {} ); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateMassWithdrawalRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateMassWithdrawalRequest.java index e129f60..e7a2758 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateMassWithdrawalRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateMassWithdrawalRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import lombok.*; @@ -52,7 +53,7 @@ public String getPayload () { } @Override - public ResponseWrapper> parseResult ( int resultCode, String content ) { + public ResponseWrapper> parseResult ( int resultCode, String content ) throws JsonProcessingException { ResponseWrapper> wrapper = parseJson( content, new TypeReference>>() {}); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateTransactionRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateTransactionRequest.java index 4730c0c..ee29549 100755 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateTransactionRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateTransactionRequest.java @@ -15,20 +15,14 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import lombok.*; import lombok.extern.log4j.Log4j; import org.brunocvcunha.coinpayments.model.CreateTransactionResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; -import com.fasterxml.jackson.core.type.TypeReference; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NonNull; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; - /** * CoinPaymentsCreateTransactionRequest * @@ -69,7 +63,6 @@ public String getUrl() { } @Override - @SneakyThrows public String getPayload() { return "cmd=create_transaction" + "&amount=" + amount + "" + "¤cy1=" + currencyPrice + "¤cy2=" + currencyTransfer + "&address=" + address + "&buyer_email=" + buyerEmail + "&buyer_name=" + buyerName @@ -78,8 +71,7 @@ public String getPayload() { } @Override - @SneakyThrows - public ResponseWrapper parseResult(int statusCode, String content) { + public ResponseWrapper parseResult(int statusCode, String content) throws JsonProcessingException { log.debug("parsing CreateTransactionResponse: "+ content + ", statusCode: " + statusCode); ResponseWrapper wrapper = parseJson(content, new TypeReference>() { diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateTransferRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateTransferRequest.java index 343fa15..53463c0 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateTransferRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateTransferRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.CreateTransferResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -60,7 +61,7 @@ public String getPayload() { } @Override - public ResponseWrapper parseResult(int resultCode, String content) { + public ResponseWrapper parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper wrapper = parseJson( content, new TypeReference>() {} ); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateWithdrawalRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateWithdrawalRequest.java index 756e5a6..abf68ea 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateWithdrawalRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsCreateWithdrawalRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import lombok.*; import org.brunocvcunha.coinpayments.model.CreateWithdrawalResponse; @@ -56,7 +57,7 @@ public String getPayload () { } @Override - public ResponseWrapper parseResult ( int resultCode, String content ) { + public ResponseWrapper parseResult ( int resultCode, String content ) throws JsonProcessingException { ResponseWrapper wrapper = parseJson( content, new TypeReference>() {} ); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsDepositRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsDepositRequest.java index 93ecfa5..a0928b2 100755 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsDepositRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsDepositRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import lombok.AllArgsConstructor; import lombok.Builder; @@ -41,7 +42,7 @@ public String getPayload () { } @Override - public ResponseWrapper parseResult ( int resultCode, String content ) { + public ResponseWrapper parseResult ( int resultCode, String content ) throws JsonProcessingException { ResponseWrapper wrapper = parseJson( content, new TypeReference>() {} ); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetCallbackAddressRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetCallbackAddressRequest.java index 4b1b70d..145aa8c 100755 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetCallbackAddressRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetCallbackAddressRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import lombok.*; import org.brunocvcunha.coinpayments.model.AddressResponse; @@ -43,7 +44,7 @@ public String getPayload () { } @Override - public ResponseWrapper parseResult ( int resultCode, String content ) { + public ResponseWrapper parseResult ( int resultCode, String content ) throws JsonProcessingException { ResponseWrapper wrapper = parseJson( content, new TypeReference>() {} ); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetConversionInfoRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetConversionInfoRequest.java index cbdc55f..3ca8f7f 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetConversionInfoRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetConversionInfoRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.GetConversionInfoResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -46,7 +47,7 @@ public String getPayload() { } @Override - public ResponseWrapper parseResult(int resultCode, String content) { + public ResponseWrapper parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper wrapper = parseJson(content, new TypeReference>() { }); diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetMultiTransactionInfoRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetMultiTransactionInfoRequest.java index 9d106cf..53c1880 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetMultiTransactionInfoRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetMultiTransactionInfoRequest.java @@ -18,6 +18,7 @@ import java.util.Arrays; import java.util.List; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.model.TransactionDetailsResponse; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -51,7 +52,7 @@ public String getPayload() { } @Override - public ResponseWrapper> parseResult(int resultCode, String content) { + public ResponseWrapper> parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper> wrapper = parseJson(content, new TypeReference>>() { }); diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetProfileInfoRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetProfileInfoRequest.java index 665eabf..a84d324 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetProfileInfoRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetProfileInfoRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.GetConversionInfoResponse; import org.brunocvcunha.coinpayments.model.GetProfileInfoResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; @@ -46,7 +47,7 @@ public String getPayload() { } @Override - public ResponseWrapper parseResult(int resultCode, String content) { + public ResponseWrapper parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper wrapper = parseJson(content, new TypeReference>() {}); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTagListRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTagListRequest.java index c6ecb6c..1260c7b 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTagListRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTagListRequest.java @@ -17,6 +17,7 @@ import java.util.List; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.GetTagListResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -41,7 +42,7 @@ public String getPayload() { } @Override - public ResponseWrapper> parseResult(int resultCode, String content) { + public ResponseWrapper> parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper> wrapper = parseJson(content, new TypeReference>>() {}); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTransactionInfoRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTransactionInfoRequest.java index 0b0b4fe..6408252 100755 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTransactionInfoRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTransactionInfoRequest.java @@ -15,13 +15,16 @@ */ package org.brunocvcunha.coinpayments.requests; -import lombok.*; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.RequiredArgsConstructor; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.model.TransactionDetailsResponse; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; -import com.fasterxml.jackson.core.type.TypeReference; - /** * CoinPaymentsCreateTransactionRequest * @@ -43,14 +46,12 @@ public String getUrl() { } @Override - @SneakyThrows public String getPayload() { return "cmd=get_tx_info&txid=" + txid + "&full=1"; } @Override - @SneakyThrows - public ResponseWrapper parseResult(int statusCode, String content) { + public ResponseWrapper parseResult(int statusCode, String content) throws JsonProcessingException { ResponseWrapper wrapper = parseJson(content, new TypeReference>() { }); diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTransactionListRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTransactionListRequest.java index 6ce1728..fcc1765 100755 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTransactionListRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetTransactionListRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import lombok.*; import org.brunocvcunha.coinpayments.model.ResponseWrapper; @@ -47,7 +48,7 @@ public String getPayload () { } @Override - public ResponseWrapper> parseResult ( int resultCode, String content ) { + public ResponseWrapper> parseResult ( int resultCode, String content ) throws JsonProcessingException { ResponseWrapper> wrapper = parseJson( content, new TypeReference>>() {} ); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetWithdrawalHistoryRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetWithdrawalHistoryRequest.java index 7d0b44c..c5635b4 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetWithdrawalHistoryRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetWithdrawalHistoryRequest.java @@ -17,6 +17,7 @@ import java.util.Map; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.model.WithdrawalHistoryResponse; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -45,7 +46,7 @@ public String getPayload() { } @Override - public ResponseWrapper> parseResult(int resultCode, String content) { + public ResponseWrapper> parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper> wrapper = parseJson(content, new TypeReference>>() {}); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetWithdrawalInfoRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetWithdrawalInfoRequest.java index 0bc0882..491df34 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetWithdrawalInfoRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsGetWithdrawalInfoRequest.java @@ -15,6 +15,7 @@ */ package org.brunocvcunha.coinpayments.requests; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.model.WithdrawalInfoResponse; import org.brunocvcunha.coinpayments.requests.CoinPaymentsGetTransactionInfoRequest.CoinPaymentsGetTransactionInfoRequestBuilder; @@ -47,7 +48,7 @@ public String getPayload() { } @Override - public ResponseWrapper parseResult(int resultCode, String content) { + public ResponseWrapper parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper wrapper = parseJson(content, new TypeReference>() {}); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsRatesRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsRatesRequest.java index 46c4fa1..a171b93 100755 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsRatesRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsRatesRequest.java @@ -15,14 +15,17 @@ */ package org.brunocvcunha.coinpayments.requests; -import java.util.Map; - -import lombok.*; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.RequiredArgsConstructor; import org.brunocvcunha.coinpayments.model.RateResponse; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; -import com.fasterxml.jackson.core.type.TypeReference; +import java.util.Map; /** * Search GIFs Request @@ -46,15 +49,13 @@ public String getUrl() { } @Override - @SneakyThrows public String getPayload() { return "cmd=rates&accepted=" + (onlyAccepted ? "1" : "0") + "&short=" + (onlyShort ? "1" : "0"); } @Override - @SneakyThrows - public ResponseWrapper> parseResult(int statusCode, String content) { + public ResponseWrapper> parseResult(int statusCode, String content) throws JsonProcessingException { ResponseWrapper> wrapper = parseJson(content, new TypeReference>>() {}); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsUpdateTagProfileRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsUpdateTagProfileRequest.java index 632cdd2..88aed17 100644 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsUpdateTagProfileRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/CoinPaymentsUpdateTagProfileRequest.java @@ -17,6 +17,7 @@ import java.util.List; +import com.fasterxml.jackson.core.JsonProcessingException; import org.brunocvcunha.coinpayments.model.ResponseWrapper; import org.brunocvcunha.coinpayments.model.UpdateTagProfileResponse; import org.brunocvcunha.coinpayments.requests.base.CoinPaymentsPostRequest; @@ -61,7 +62,7 @@ public String getPayload() { } @Override - public ResponseWrapper> parseResult(int resultCode, String content) { + public ResponseWrapper> parseResult(int resultCode, String content) throws JsonProcessingException { ResponseWrapper> wrapper = parseJson(content, new TypeReference>>() {}); return wrapper; } diff --git a/src/main/java/org/brunocvcunha/coinpayments/requests/base/CoinPaymentsRequest.java b/src/main/java/org/brunocvcunha/coinpayments/requests/base/CoinPaymentsRequest.java index 7928aa7..6e64cf9 100755 --- a/src/main/java/org/brunocvcunha/coinpayments/requests/base/CoinPaymentsRequest.java +++ b/src/main/java/org/brunocvcunha/coinpayments/requests/base/CoinPaymentsRequest.java @@ -18,6 +18,7 @@ import java.io.IOException; import java.io.InputStream; +import com.fasterxml.jackson.core.JsonProcessingException; import lombok.*; import org.apache.http.client.ClientProtocolException; import org.brunocvcunha.coinpayments.CoinPayments; @@ -72,7 +73,7 @@ public String getPayload() { * @param content * Content */ - public abstract T parseResult(int resultCode, String content); + public abstract T parseResult(int resultCode, String content) throws JsonProcessingException; /** * Parses Json into type @@ -84,7 +85,7 @@ public String getPayload() { * @return Result */ @SneakyThrows - public U parseJson(String str, Class clazz) { + public U parseJson(String str, Class clazz) throws JsonProcessingException { log.trace("Reading " + clazz.getSimpleName() + " from " + str); return new ObjectMapper().readValue(str, clazz); } @@ -99,7 +100,7 @@ public U parseJson(String str, Class clazz) { * @return Result */ @SneakyThrows - public U parseJson(String str, TypeReference type) { + public U parseJson(String str, TypeReference type) throws JsonProcessingException { log.trace("Reading " + type.getType() + " from " + str); return new ObjectMapper().readValue(str, type); } @@ -114,7 +115,7 @@ public U parseJson(String str, TypeReference type) { * @return Result */ @SneakyThrows - public T parseJson(InputStream is, Class clazz) { + public T parseJson(InputStream is, Class clazz) throws JsonProcessingException { return this.parseJson(MyStreamUtils.readContent(is), clazz); } diff --git a/src/test/java/org/brunocvcunha/coinpayments/CoinPaymentsCreateWithdrawalRequestTest.java b/src/test/java/org/brunocvcunha/coinpayments/CoinPaymentsCreateWithdrawalRequestTest.java new file mode 100644 index 0000000..46c9104 --- /dev/null +++ b/src/test/java/org/brunocvcunha/coinpayments/CoinPaymentsCreateWithdrawalRequestTest.java @@ -0,0 +1,31 @@ +package org.brunocvcunha.coinpayments; + +import com.fasterxml.jackson.core.JsonProcessingException; +import org.brunocvcunha.coinpayments.model.CreateWithdrawalResponse; +import org.brunocvcunha.coinpayments.model.ResponseWrapper; +import org.brunocvcunha.coinpayments.requests.CoinPaymentsCreateWithdrawalRequest; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class CoinPaymentsCreateWithdrawalRequestTest { + @Test(expected = JsonProcessingException.class) + public void throwJsonProcessingExceptionOnParsingError() throws JsonProcessingException { + final CoinPaymentsCreateWithdrawalRequest request = + new CoinPaymentsCreateWithdrawalRequest(0.0, "BTC", "fake_address"); + request.parseResult(500, "{\"error\":\"That amount is larger than your balance!\",\"result\":[]}"); + } + + @Test + public void successfullyOkResponseToResponseObject() throws JsonProcessingException { + final CoinPaymentsCreateWithdrawalRequest request = + new CoinPaymentsCreateWithdrawalRequest(0.0, "BTC", "fake_address"); + final String content = "{" + + "\"error\":\"That amount is larger than your balance!\"," + + "\"result\":{\"id\": \"fake_id\", \"status\": 200,\"amount\": 1.0, \"error\": \"ok\", \"note\": \"note\"}" + + "}"; + final ResponseWrapper response = request.parseResult(200, content); + assertNotNull(response); + assertNotNull(response.getResult()); + } +}