Skip to content

Commit

Permalink
Refactor: Changing packages structure, cleaning up JPA entities (RA-79)
Browse files Browse the repository at this point in the history
  • Loading branch information
BerezinD authored May 17, 2024
1 parent 5a1c5e2 commit 08f32df
Show file tree
Hide file tree
Showing 62 changed files with 404 additions and 784 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import org.springframework.core.Ordered;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.filter.CommonsRequestLoggingFilter;
import org.springframework.web.filter.ForwardedHeaderFilter;
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.info.Info;
Expand Down Expand Up @@ -58,4 +59,15 @@ public JsonNullableModule jsonNullableModule() {
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}

@Bean
public CommonsRequestLoggingFilter logFilter() {
CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter();
filter.setIncludeQueryString(true);
filter.setIncludePayload(true);
filter.setMaxPayloadLength(10000);
filter.setIncludeHeaders(false);
filter.setAfterMessagePrefix("REQUEST DATA: \n");
return filter;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,16 @@
import jakarta.persistence.Table;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import org.hibernate.annotations.DynamicUpdate;


@Data
@Getter
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@Entity
@Table(name = "address_balance")
@IdClass(AddressBalanceId.class)
@DynamicUpdate
public class AddressBalanceEntity {

@Id
Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,13 @@
package org.cardanofoundation.rosetta.api.account.model.entity;

import java.io.Serializable;
import jakarta.persistence.Column;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@Builder
public class AddressBalanceId implements Serializable {

@Column(name = "address")
private String address;

@Column(name = "unit")
private String unit;

@Column(name = "slot")
private Long slot;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,20 @@
import jakarta.persistence.Table;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import io.hypersistence.utils.hibernate.type.json.JsonType;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Type;

import org.cardanofoundation.rosetta.api.account.model.domain.Amt;

@Data
@Getter
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@Entity
@Table(name = "address_utxo")
@IdClass(UtxoId.class)
@DynamicUpdate
public class AddressUtxoEntity {

@Id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,18 @@
import jakarta.persistence.IdClass;
import jakarta.persistence.Table;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import org.hibernate.annotations.DynamicUpdate;

import org.cardanofoundation.rosetta.api.block.model.entity.BlockAwareEntity;

@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@Getter
@Entity
@Table(name = "stake_address_balance")
@IdClass(StakeAddressBalanceId.class)
@DynamicUpdate
public class StakeAddressBalanceEntity extends BlockAwareEntity {

@Id
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,12 @@
package org.cardanofoundation.rosetta.api.account.model.entity;

import java.io.Serializable;
import jakarta.persistence.Column;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@Builder
public class StakeAddressBalanceId implements Serializable {

@Column(name = "address")
private String address;
@Column(name = "slot")
private Long slot;
}
Original file line number Diff line number Diff line change
@@ -1,24 +1,12 @@
package org.cardanofoundation.rosetta.api.account.model.entity;

import java.io.Serializable;
import jakarta.persistence.Column;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@Builder
public class UtxoId implements Serializable {

@Column(name = "tx_hash")
private String txHash;

@Column(name = "output_index")
private Integer outputIndex;
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
import org.cardanofoundation.rosetta.api.block.model.domain.Block;
import org.cardanofoundation.rosetta.api.block.model.domain.StakeAddressBalance;
import org.cardanofoundation.rosetta.api.block.service.LedgerBlockService;
import org.cardanofoundation.rosetta.api.construction.service.LedgerDataProviderService;
import org.cardanofoundation.rosetta.common.exception.ExceptionFactory;
import org.cardanofoundation.rosetta.common.mapper.DataMapper;
import org.cardanofoundation.rosetta.common.services.LedgerDataProviderService;
import org.cardanofoundation.rosetta.common.util.CardanoAddressUtils;
import org.cardanofoundation.rosetta.common.util.ValidationUtil;

Expand Down Expand Up @@ -83,7 +83,7 @@ public AccountCoinsResponse getAccountCoins(AccountCoinsRequest accountCoinsRequ
private AccountBalanceResponse findBalanceDataByAddressAndBlock(String address, Long number,
String hash) {

return findBlockOrLast(number, hash)
return findBlockOrLast(number, hash)
.map(blockDto -> {
log.info("Looking for utxos for address {} and block {}",
address,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,14 @@
import jakarta.persistence.Column;
import jakarta.persistence.MappedSuperclass;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import org.hibernate.annotations.UpdateTimestamp;

@Data
@MappedSuperclass
@Getter
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@MappedSuperclass
public class BlockAwareEntity {

@Column(name = "block")
Expand All @@ -24,7 +20,6 @@ public class BlockAwareEntity {
@Column(name = "block_time")
private Long blockTime;

@UpdateTimestamp
@Column(name = "update_datetime")
private LocalDateTime updateDateTime;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,11 @@

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;



@Data
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
Expand All @@ -44,7 +42,6 @@ public class BlockEntity {
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "prev_hash",
foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT, name = "none"))
@EqualsAndHashCode.Exclude
private BlockEntity prev;

@OneToMany(fetch = FetchType.LAZY, mappedBy = "block")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,11 @@
import jakarta.persistence.IdClass;
import jakarta.persistence.Table;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

@Data
@Getter
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@Entity
@Table(name = "delegation")
@IdClass(DelegationId.class)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
package org.cardanofoundation.rosetta.api.block.model.entity;

import java.io.Serializable;
import jakarta.persistence.Column;

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class DelegationId implements Serializable {

@Column(name = "tx_hash")
private String txHash;
@Column(name = "cert_index")
private long certIndex;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,20 @@
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.PrePersist;
import jakarta.persistence.Table;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import lombok.extern.slf4j.Slf4j;

import io.hypersistence.utils.hibernate.type.json.JsonType;
import org.hibernate.annotations.Type;


@Data
@NoArgsConstructor
@Getter
@AllArgsConstructor
@SuperBuilder
@NoArgsConstructor
@Entity
@Table(name = "epoch_param")
@Slf4j
public class EpochParamEntity {

@Id
Expand All @@ -33,15 +27,4 @@ public class EpochParamEntity {
@Column(name = "params", columnDefinition = "json")
private ProtocolParamsEntity params;

@PrePersist
public void preSave() {
if (this.getParams() == null) {
return;
}

//reset these fields
if (this.getParams().getCostModels() != null) {
this.getParams().setCostModels(null);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,18 @@
import jakarta.persistence.IdClass;
import jakarta.persistence.Table;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import com.bloxbean.cardano.yaci.core.model.Relay;
import io.hypersistence.utils.hibernate.type.json.JsonType;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Type;

@Data
@Getter
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@Entity
@Table(name = "pool_registration")
@IdClass(PoolRegistrationId.class)
@DynamicUpdate
public class PoolRegistrationEntity {

@Id
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
package org.cardanofoundation.rosetta.api.block.model.entity;

import java.io.Serializable;
import jakarta.persistence.Column;

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class PoolRegistrationId implements Serializable {

@Column(name = "tx_hash")
private String txHash;

@Column(name = "cert_index")
private int certIndex;
}
Loading

0 comments on commit 08f32df

Please sign in to comment.