1 | package org.cardanofoundation.explorer.api.mapper; | |
2 | ||
3 | import java.util.HashSet; | |
4 | import java.util.Set; | |
5 | ||
6 | import org.springframework.util.CollectionUtils; | |
7 | ||
8 | import org.mapstruct.Mapper; | |
9 | import org.mapstruct.Mapping; | |
10 | ||
11 | import org.cardanofoundation.explorer.api.common.enumeration.TxPurposeType; | |
12 | import org.cardanofoundation.explorer.api.model.request.script.smartcontract.SmartContractFilterRequest; | |
13 | import org.cardanofoundation.explorer.api.model.response.script.projection.SmartContractTxProjection; | |
14 | import org.cardanofoundation.explorer.api.model.response.script.smartcontract.SmartContractFilterResponse; | |
15 | import org.cardanofoundation.explorer.api.model.response.script.smartcontract.SmartContractTxResponse; | |
16 | import org.cardanofoundation.explorer.common.entity.explorer.SmartContractInfo; | |
17 | ||
18 | @Mapper(componentModel = "spring") | |
19 | public interface ScriptMapper { | |
20 | ||
21 | SmartContractTxResponse fromSmartContractTxProjection( | |
22 | SmartContractTxProjection smartContractTxProjection); | |
23 | ||
24 | @Mapping(target = "txPurposes", expression = "java(getScriptTxPurpose(smartContractInfo))") | |
25 | @Mapping(target = "scriptVersion", source = "type") | |
26 | SmartContractFilterResponse fromSCInfoToSCFilterResponse(SmartContractInfo smartContractInfo); | |
27 | ||
28 | default Set<TxPurposeType> getScriptTxPurpose(SmartContractInfo smartContractInfo) { | |
29 | Set<TxPurposeType> scriptPurposeTypes = new HashSet<>(); | |
30 |
1
1. getScriptTxPurpose : negated conditional → SURVIVED |
if (Boolean.TRUE.equals(smartContractInfo.getIsScriptCert())) { |
31 | scriptPurposeTypes.add(TxPurposeType.CERT); | |
32 | } | |
33 |
1
1. getScriptTxPurpose : negated conditional → KILLED |
if (Boolean.TRUE.equals(smartContractInfo.getIsScriptMint())) { |
34 | scriptPurposeTypes.add(TxPurposeType.MINT); | |
35 | } | |
36 |
1
1. getScriptTxPurpose : negated conditional → SURVIVED |
if (Boolean.TRUE.equals(smartContractInfo.getIsScriptReward())) { |
37 | scriptPurposeTypes.add(TxPurposeType.REWARD); | |
38 | } | |
39 |
1
1. getScriptTxPurpose : negated conditional → KILLED |
if (Boolean.TRUE.equals(smartContractInfo.getIsScriptSpend())) { |
40 | scriptPurposeTypes.add(TxPurposeType.SPEND); | |
41 | } | |
42 |
1
1. getScriptTxPurpose : negated conditional → KILLED |
if (Boolean.TRUE.equals(smartContractInfo.getIsScriptVote())) { |
43 | scriptPurposeTypes.add(TxPurposeType.VOTE); | |
44 | } | |
45 |
1
1. getScriptTxPurpose : negated conditional → SURVIVED |
if (Boolean.TRUE.equals(smartContractInfo.getIsScriptPropose())) { |
46 | scriptPurposeTypes.add(TxPurposeType.PROPOSE); | |
47 | } | |
48 |
1
1. getScriptTxPurpose : replaced return value with Collections.emptySet for org/cardanofoundation/explorer/api/mapper/ScriptMapper::getScriptTxPurpose → KILLED |
return scriptPurposeTypes; |
49 | } | |
50 | ||
51 | default void setScriptTxPurpose(SmartContractFilterRequest filterRequest) { | |
52 |
1
1. setScriptTxPurpose : negated conditional → KILLED |
if (!CollectionUtils.isEmpty(filterRequest.getTxPurpose())) { |
53 | Set<TxPurposeType> txPurposeTypes = filterRequest.getTxPurpose(); | |
54 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptNone → SURVIVED |
filterRequest.setIsScriptNone(txPurposeTypes.contains(TxPurposeType.NO_TX_PURPOSE)); |
55 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptAny → SURVIVED |
filterRequest.setIsScriptAny(txPurposeTypes.contains(TxPurposeType.ANY)); |
56 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptReward → SURVIVED |
filterRequest.setIsScriptReward(txPurposeTypes.contains(TxPurposeType.REWARD)); |
57 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptCert → SURVIVED |
filterRequest.setIsScriptCert(txPurposeTypes.contains(TxPurposeType.CERT)); |
58 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptSpend → SURVIVED |
filterRequest.setIsScriptSpend(txPurposeTypes.contains(TxPurposeType.SPEND)); |
59 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptMint → SURVIVED |
filterRequest.setIsScriptMint(txPurposeTypes.contains(TxPurposeType.MINT)); |
60 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptVote → SURVIVED |
filterRequest.setIsScriptVote(txPurposeTypes.contains(TxPurposeType.VOTE)); |
61 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptPropose → SURVIVED |
filterRequest.setIsScriptPropose(txPurposeTypes.contains(TxPurposeType.PROPOSE)); |
62 | } else { | |
63 |
1
1. setScriptTxPurpose : removed call to org/cardanofoundation/explorer/api/model/request/script/smartcontract/SmartContractFilterRequest::setIsScriptAny → NO_COVERAGE |
filterRequest.setIsScriptAny(true); |
64 | } | |
65 | } | |
66 | } | |
Mutations | ||
30 |
1.1 |
|
33 |
1.1 |
|
36 |
1.1 |
|
39 |
1.1 |
|
42 |
1.1 |
|
45 |
1.1 |
|
48 |
1.1 |
|
52 |
1.1 |
|
54 |
1.1 |
|
55 |
1.1 |
|
56 |
1.1 |
|
57 |
1.1 |
|
58 |
1.1 |
|
59 |
1.1 |
|
60 |
1.1 |
|
61 |
1.1 |
|
63 |
1.1 |