Skip to content

Commit db46c38

Browse files
authored
Refactor: Move models and services according to the new structure (RA-79)
1 parent efd1993 commit db46c38

27 files changed

+86
-172
lines changed

api/src/main/java/org/cardanofoundation/rosetta/api/account/service/AccountServiceImpl.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.cardanofoundation.rosetta.api.block.model.domain.Block;
2121
import org.cardanofoundation.rosetta.api.block.model.domain.StakeAddressBalance;
2222
import org.cardanofoundation.rosetta.api.block.service.LedgerBlockService;
23-
import org.cardanofoundation.rosetta.api.construction.service.LedgerDataProviderService;
2423
import org.cardanofoundation.rosetta.common.exception.ExceptionFactory;
2524
import org.cardanofoundation.rosetta.common.mapper.DataMapper;
2625
import org.cardanofoundation.rosetta.common.util.CardanoAddressUtils;
@@ -32,7 +31,7 @@
3231
@RequiredArgsConstructor
3332
public class AccountServiceImpl implements AccountService {
3433

35-
private final LedgerDataProviderService ledgerDataProviderService;
34+
private final LedgerAccountService ledgerAccountService;
3635
private final LedgerBlockService ledgerBlockService;
3736

3837
@Override
@@ -74,7 +73,7 @@ public AccountCoinsResponse getAccountCoins(AccountCoinsRequest accountCoinsRequ
7473
log.debug("[accountCoins] Filter currency is {}", currenciesRequested);
7574
Block latestBlock = ledgerBlockService.findLatestBlock();
7675
log.debug("[accountCoins] Latest block is {}", latestBlock);
77-
List<Utxo> utxos = ledgerDataProviderService.findUtxoByAddressAndCurrency(accountAddress,
76+
List<Utxo> utxos = ledgerAccountService.findUtxoByAddressAndCurrency(accountAddress,
7877
currenciesRequested);
7978
log.debug("[accountCoins] found {} Utxos for Address {}", utxos.size(), accountAddress);
8079
return DataMapper.mapToAccountCoinsResponse(latestBlock, utxos);
@@ -90,7 +89,7 @@ private AccountBalanceResponse findBalanceDataByAddressAndBlock(String address,
9089
blockDto.getHash());
9190
if (CardanoAddressUtils.isStakeAddress(address)) {
9291
log.debug("Address is StakeAddress, get balance for {}", address);
93-
List<StakeAddressBalance> balances = ledgerDataProviderService.findStakeAddressBalanceByAddressAndBlock(
92+
List<StakeAddressBalance> balances = ledgerAccountService.findStakeAddressBalanceByAddressAndBlock(
9493
address, blockDto.getNumber());
9594
if (Objects.isNull(balances) || balances.isEmpty()) {
9695
log.error("[findBalanceDataByAddressAndBlock] No balance found for {}", address);
@@ -99,7 +98,7 @@ private AccountBalanceResponse findBalanceDataByAddressAndBlock(String address,
9998
return DataMapper.mapToStakeAddressBalanceResponse(blockDto, balances.getFirst());
10099
} else {
101100
log.debug("Address isn't StakeAddress");
102-
List<AddressBalance> balances = ledgerDataProviderService.findBalanceByAddressAndBlock(
101+
List<AddressBalance> balances = ledgerAccountService.findBalanceByAddressAndBlock(
103102
address, blockDto.getNumber());
104103
return DataMapper.mapToAccountBalanceResponse(blockDto, balances);
105104
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.cardanofoundation.rosetta.api.construction.service;
1+
package org.cardanofoundation.rosetta.api.account.service;
22

33

44
import java.util.List;
@@ -12,7 +12,7 @@
1212
/**
1313
* Exposes functions to access chain data that has been indexed according to Rosetta API needs.
1414
*/
15-
public interface LedgerDataProviderService {
15+
public interface LedgerAccountService {
1616

1717
List<AddressBalance> findBalanceByAddressAndBlock(String address, Long number);
1818

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.cardanofoundation.rosetta.api.construction.service;
1+
package org.cardanofoundation.rosetta.api.account.service;
22

33
import java.util.List;
44

@@ -25,7 +25,7 @@
2525
@Slf4j
2626
@Component
2727
@RequiredArgsConstructor
28-
public class PostgresLedgerDataProviderService implements LedgerDataProviderService {
28+
public class LedgerAccountServiceImpl implements LedgerAccountService {
2929

3030
private final AddressBalanceRepository addressBalanceRepository;
3131
private final AddressUtxoRepository addressUtxoRepository;
@@ -34,6 +34,7 @@ public class PostgresLedgerDataProviderService implements LedgerDataProviderServ
3434

3535
@Override
3636
public List<AddressBalance> findBalanceByAddressAndBlock(String address, Long number) {
37+
log.debug("Finding balance for address {} at block {}", address, number);
3738
List<AddressBalanceEntity> balances = addressBalanceRepository.findAddressBalanceByAddressAndBlockNumber(
3839
address, number);
3940
return balances.stream().map(AddressBalance::fromEntity).toList();
@@ -42,6 +43,7 @@ public List<AddressBalance> findBalanceByAddressAndBlock(String address, Long nu
4243
@Override
4344
public List<StakeAddressBalance> findStakeAddressBalanceByAddressAndBlock(String address,
4445
Long number) {
46+
log.debug("Finding stake address balance for address {} at block {}", address, number);
4547
List<StakeAddressBalanceEntity> balances = stakeAddressRepository.findStakeAddressBalanceByAddressAndBlockNumber(
4648
address, number);
4749
return balances.stream().map(StakeAddressBalance::fromEntity).toList();
@@ -50,6 +52,7 @@ public List<StakeAddressBalance> findStakeAddressBalanceByAddressAndBlock(String
5052

5153
@Override
5254
public List<Utxo> findUtxoByAddressAndCurrency(String address, List<Currency> currencies) {
55+
log.debug("Finding UTXOs for address {} with currencies {}", address, currencies);
5356
List<AddressUtxoEntity> addressUtxoEntities = addressUtxoRepository.findUtxosByAddress(address);
5457
return addressUtxoEntities.stream()
5558
.map(entity -> createUtxoModel(currencies, entity))

api/src/main/java/org/cardanofoundation/rosetta/api/block/service/LedgerBlockServiceImpl.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
import java.util.Collections;
44
import java.util.List;
55
import java.util.Optional;
6-
import jakarta.transaction.Transactional;
76
import jakarta.validation.constraints.NotNull;
87

98
import lombok.RequiredArgsConstructor;
109
import lombok.extern.slf4j.Slf4j;
1110

1211
import org.springframework.stereotype.Component;
12+
import org.springframework.transaction.annotation.Transactional;
1313
import org.apache.commons.lang3.ObjectUtils;
1414
import org.modelmapper.ModelMapper;
1515

@@ -86,6 +86,7 @@ private Block toModelFrom(BlockEntity blockEntity) {
8686
}
8787

8888
@Override
89+
@Transactional(readOnly = true)
8990
public List<BlockTx> findTransactionsByBlock(Long blk, String blkHash) {
9091
log.debug("query blockNumber: {} blockHash: {}", blk, blkHash);
9192
Optional<BlockEntity> blkEntity = blockRepository.findByNumberAndHash(blk, blkHash);
@@ -103,7 +104,6 @@ public List<BlockTx> findTransactionsByBlock(Long blk, String blkHash) {
103104
return Collections.emptyList();
104105
}
105106

106-
107107
@Override
108108
public Block findLatestBlock() {
109109
log.debug("About to look for latest block");
@@ -120,8 +120,6 @@ public GenesisBlock findGenesisBlock() {
120120
.orElseThrow(ExceptionFactory::genesisBlockNotFound);
121121
}
122122

123-
124-
@Transactional
125123
private void populateTransaction(BlockTx transaction) {
126124

127125
Optional.ofNullable(transaction.getInputs())

api/src/main/java/org/cardanofoundation/rosetta/common/enumeration/AddressType.java renamed to api/src/main/java/org/cardanofoundation/rosetta/api/construction/enumeration/AddressType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.cardanofoundation.rosetta.common.enumeration;
1+
package org.cardanofoundation.rosetta.api.construction.enumeration;
22

33
import com.fasterxml.jackson.annotation.JsonValue;
44

api/src/main/java/org/cardanofoundation/rosetta/common/enumeration/CatalystLabels.java renamed to api/src/main/java/org/cardanofoundation/rosetta/api/construction/enumeration/CatalystLabels.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.cardanofoundation.rosetta.common.enumeration;
1+
package org.cardanofoundation.rosetta.api.construction.enumeration;
22

33
import com.fasterxml.jackson.annotation.JsonValue;
44

api/src/main/java/org/cardanofoundation/rosetta/api/construction/service/CardanoConstructionService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import org.cardanofoundation.rosetta.api.block.model.domain.ProcessOperations;
2121
import org.cardanofoundation.rosetta.api.block.model.domain.ProtocolParams;
22-
import org.cardanofoundation.rosetta.common.enumeration.AddressType;
22+
import org.cardanofoundation.rosetta.api.construction.enumeration.AddressType;
2323
import org.cardanofoundation.rosetta.common.enumeration.EraAddressType;
2424
import org.cardanofoundation.rosetta.common.enumeration.NetworkEnum;
2525
import org.cardanofoundation.rosetta.common.enumeration.NetworkIdentifierType;

api/src/main/java/org/cardanofoundation/rosetta/api/construction/service/CardanoConstructionServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
import org.cardanofoundation.rosetta.api.block.model.domain.ProcessOperationsReturn;
5656
import org.cardanofoundation.rosetta.api.block.model.domain.ProtocolParams;
5757
import org.cardanofoundation.rosetta.api.block.service.LedgerBlockService;
58-
import org.cardanofoundation.rosetta.common.enumeration.AddressType;
58+
import org.cardanofoundation.rosetta.api.construction.enumeration.AddressType;
5959
import org.cardanofoundation.rosetta.common.enumeration.EraAddressType;
6060
import org.cardanofoundation.rosetta.common.enumeration.NetworkEnum;
6161
import org.cardanofoundation.rosetta.common.enumeration.NetworkIdentifierType;

api/src/main/java/org/cardanofoundation/rosetta/api/construction/service/ConstructionApiServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import org.openapitools.client.model.TransactionIdentifierResponse;
4343

4444
import org.cardanofoundation.rosetta.api.block.model.domain.ProtocolParams;
45-
import org.cardanofoundation.rosetta.common.enumeration.AddressType;
45+
import org.cardanofoundation.rosetta.api.construction.enumeration.AddressType;
4646
import org.cardanofoundation.rosetta.common.enumeration.NetworkEnum;
4747
import org.cardanofoundation.rosetta.common.enumeration.NetworkIdentifierType;
4848
import org.cardanofoundation.rosetta.common.exception.ExceptionFactory;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.cardanofoundation.rosetta.common.model.cardano.transaction;
1+
package org.cardanofoundation.rosetta.api.mempool.model;
22

33
import java.util.Arrays;
44
import java.util.Objects;

0 commit comments

Comments
 (0)