Skip to content

Commit

Permalink
Adding public empty constructors for JSON parsing and Response Data R…
Browse files Browse the repository at this point in the history
…esolver.
  • Loading branch information
dimaru-coti committed Apr 19, 2023
1 parent b6390d4 commit 53896d4
Show file tree
Hide file tree
Showing 22 changed files with 114 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class MintingFeeQuoteData implements ISignable, ISignValidatable, Seriali
@NotNull
private @Valid SignatureData signatureData;

private MintingFeeQuoteData() {
public MintingFeeQuoteData() {
}

public MintingFeeQuoteData(Hash currencyHash, Instant createTime, BigDecimal mintingAmount, BigDecimal mintingFee) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class TokenMintingServiceData implements ITokenServiceData, ISignValidata
@NotNull
private @Valid SignatureData signature;

private TokenMintingServiceData() {
public TokenMintingServiceData() {
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ public class GetTokenBalancesResponse extends BaseResponse {

private Map<Hash, Map<Hash, AddressBalanceData>> tokenBalances;

public GetTokenBalancesResponse() {
super();
}

public GetTokenBalancesResponse(Map<Hash, Map<Hash, AddressBalanceData>> tokenBalances) {
this.tokenBalances = tokenBalances;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ public class GetTokenHistoryResponse extends BaseResponse {

private Set<TransactionResponseData> transactions;

public GetTokenHistoryResponse() {
super();
}

public GetTokenHistoryResponse(Set<TransactionResponseData> transactions) {
this.transactions = transactions;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ public class GetUserTrustScoreResponse extends BaseResponse {
private double trustScore;
private String userType;

public GetUserTrustScoreResponse() {
super();
}

public GetUserTrustScoreResponse(String userHash, double trustScore, String userType) {
this.userHash = userHash;
this.trustScore = trustScore;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ public class AddressBalanceData implements Serializable {
private BigDecimal addressBalance;
private BigDecimal addressPreBalance;

public AddressBalanceData() {
}

public AddressBalanceData(BigDecimal addressBalance, BigDecimal addressPreBalance) {
this.addressBalance = addressBalance;
this.addressPreBalance = addressPreBalance;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,13 @@ <T extends BaseTransactionResponseData> BaseTransactionResponseClass(Class<T> re
public Class<? extends BaseTransactionResponseData> getResponseClass() {
return responseClass;
}

public static BaseTransactionResponseClass getName(Class<?> baseTransactionClass) {
for (BaseTransactionResponseClass name : values()) {
if (name.getResponseClass() == baseTransactionClass) {
return name;
}
}
return null;
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package io.coti.basenode.http.data;


import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.databind.annotation.JsonTypeIdResolver;
import io.coti.basenode.data.BaseTransactionData;
import io.coti.basenode.data.BaseTransactionName;
import io.coti.basenode.http.data.interfaces.IResponseData;
Expand All @@ -10,6 +12,8 @@
import java.time.Instant;

@Data
@JsonTypeInfo(use = JsonTypeInfo.Id.CUSTOM, property = "name")
@JsonTypeIdResolver(BaseTransactionResponseDataResolver.class)
public abstract class BaseTransactionResponseData implements IResponseData {

private String hash;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package io.coti.basenode.http.data;

import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.databind.DatabindContext;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase;

public class BaseTransactionResponseDataResolver extends TypeIdResolverBase {

@Override
public String idFromValue(Object value) {
return idFromValueAndType(value, value.getClass());
}

@Override
public String idFromValueAndType(Object value, Class<?> suggestedType) {
BaseTransactionResponseClass baseTransactionResponseClass = BaseTransactionResponseClass.getName(suggestedType);
if (baseTransactionResponseClass == null) {
throw new IllegalStateException("Invalid base transaction class " + suggestedType);
}
return baseTransactionResponseClass.name();
}

@Override
public JsonTypeInfo.Id getMechanism() {
return JsonTypeInfo.Id.CUSTOM;
}

@Override
public JavaType typeFromId(DatabindContext context, String id) {
try {
BaseTransactionResponseClass baseTransactionResponse = BaseTransactionResponseClass.valueOf(id);
return context.constructType(baseTransactionResponse.getResponseClass());
} catch (IllegalArgumentException e) {
throw new IllegalStateException("Invalid base transaction name " + id, e);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ public class CurrencyTypeResponseData implements ITransactionResponseData {
protected String signerHash;
protected SignatureData signature;

public CurrencyTypeResponseData() {
}

public CurrencyTypeResponseData(CurrencyTypeData currencyTypeData) {

this.setCurrencyType(currencyTypeData.getCurrencyType());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ public class EventInputBaseTransactionResponseData extends BaseTransactionRespon
protected String event;
protected boolean hardFork;

public EventInputBaseTransactionResponseData() {
super();
}

public EventInputBaseTransactionResponseData(BaseTransactionData baseTransactionData) {
super(baseTransactionData);
EventInputBaseTransactionData eventInputBaseTransactionData = (EventInputBaseTransactionData) baseTransactionData;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ public class ExtendedTransactionResponseData extends TransactionResponseData {

private String nodeHash;

public ExtendedTransactionResponseData() {
super();
}

public ExtendedTransactionResponseData(TransactionData transactionData) {
super(transactionData);
this.nodeHash = transactionData.getNodeHash().toString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
@EqualsAndHashCode(callSuper = true)
public class FullNodeFeeResponseData extends OutputBaseTransactionResponseData {

public FullNodeFeeResponseData() {
super();
}

public FullNodeFeeResponseData(BaseTransactionData baseTransactionData) {
super(baseTransactionData);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ public class NetworkFeeResponseData extends OutputBaseTransactionResponseData {
private BigDecimal reducedAmount;
private List<TrustScoreNodeResultResponseData> networkFeeTrustScoreNodeResult;

public NetworkFeeResponseData() {
super();
}

public NetworkFeeResponseData(BaseTransactionData baseTransactionData) {
super(baseTransactionData);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ public class OriginatorCurrencyResponseData implements ITransactionResponseData
protected SignatureData originatorSignature;
private String description;

public OriginatorCurrencyResponseData() {
}

public OriginatorCurrencyResponseData(OriginatorCurrencyData originatorCurrencyData) {
this.setName(originatorCurrencyData.getName());
this.setSymbol(originatorCurrencyData.getSymbol());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ public class ReceiverBaseTransactionResponseData extends OutputBaseTransactionRe

private String receiverDescription;

public ReceiverBaseTransactionResponseData() {
super();
}

public ReceiverBaseTransactionResponseData(BaseTransactionData baseTransactionData) {
super(baseTransactionData);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ public class ReducedTransactionResponseData implements ITransactionResponseData
private boolean sent;
private boolean received;

public ReducedTransactionResponseData() {
}

public ReducedTransactionResponseData(TransactionData transactionData, Hash addressHash) {
hash = transactionData.getHash().toHexString();
attachmentTime = transactionData.getAttachmentTime();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ public class RejectedTransactionResponseData extends ExtendedTransactionResponse
private Instant rejectionTime;
private String rejectionReasonDescription;

public RejectedTransactionResponseData() {
super();
}

public RejectedTransactionResponseData(RejectedTransactionData rejectedTransaction) {
super(rejectedTransaction.getTransactionData());
this.rejectionTime = rejectedTransaction.getRejectionTime();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ public class RollingReserveResponseData extends OutputBaseTransactionResponseDat
private BigDecimal reducedAmount;
private List<TrustScoreNodeResultResponseData> rollingReserveTrustScoreNodeResult;

public RollingReserveResponseData() {
super();
}

public RollingReserveResponseData(BaseTransactionData baseTransactionData) {
super(baseTransactionData);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ public class TokenGenerationServiceResponseData implements ITransactionResponseD
private CurrencyTypeResponseData currencyTypeData;
private BigDecimal feeAmount;

public TokenGenerationServiceResponseData() {
}

public TokenGenerationServiceResponseData(BaseTransactionData baseTransactionData) {
originatorCurrencyData = new OriginatorCurrencyResponseData(((TokenGenerationFeeBaseTransactionData) baseTransactionData).getServiceData().getOriginatorCurrencyData());
currencyTypeData = new CurrencyTypeResponseData(((TokenGenerationFeeBaseTransactionData) baseTransactionData).getServiceData().getCurrencyTypeData());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ public class TokenMintingServiceResponseData implements ITransactionResponseData
private String signerHash;
private SignatureData signature;

public TokenMintingServiceResponseData() {
}

public TokenMintingServiceResponseData(BaseTransactionData baseTransactionData) {
TokenMintingServiceData tokenMintingServiceData = ((TokenMintingFeeBaseTransactionData) baseTransactionData).getServiceData();
this.setMintingAmount(tokenMintingServiceData.getMintingAmount());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ public class TokenResponseData implements IResponseData {
private BigDecimal mintedAmount;
private BigDecimal mintableAmount;

public TokenResponseData() {
}

public TokenResponseData(CurrencyData token) {
this.currencyName = token.getName();
this.currencySymbol = token.getSymbol();
Expand Down

0 comments on commit 53896d4

Please sign in to comment.