FINERACT-2091: Support for string type primary keys

This commit is contained in:
Marta Jankovics
2024-06-13 20:29:23 +02:00
committed by Adam Saghy
parent 111e28ed1b
commit f48f94c454
216 changed files with 243 additions and 273 deletions
@@ -41,7 +41,7 @@ import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
@Accessors(chain = true)
@Entity
@Table(name = "m_loanproduct_provisioning_entry")
public class LoanProductProvisioningEntry extends AbstractPersistableCustom {
public class LoanProductProvisioningEntry extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "history_id", referencedColumnName = "id", nullable = false)
@@ -43,7 +43,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Accessors(chain = true)
@Entity
@Table(name = "m_provisioning_history")
public class ProvisioningEntry extends AbstractPersistableCustom {
public class ProvisioningEntry extends AbstractPersistableCustom<Long> {
@Column(name = "journal_entry_created")
private Boolean isJournalEntryCreated;
@@ -26,9 +26,9 @@ import org.jetbrains.annotations.NotNull;
public interface COBBusinessStepService {
<T extends COBBusinessStep<S>, S extends AbstractPersistableCustom> S run(TreeMap<Long, String> executionMap, S item);
<T extends COBBusinessStep<S>, S extends AbstractPersistableCustom<Long>> S run(TreeMap<Long, String> executionMap, S item);
@NotNull
<T extends COBBusinessStep<S>, S extends AbstractPersistableCustom> Set<BusinessStepNameAndOrder> getCOBBusinessSteps(
<T extends COBBusinessStep<S>, S extends AbstractPersistableCustom<Long>> Set<BusinessStepNameAndOrder> getCOBBusinessSteps(
Class<T> businessStepClass, String cobJobName);
}
@@ -56,7 +56,7 @@ public class COBBusinessStepServiceImpl implements COBBusinessStepService {
@SuppressWarnings({ "unchecked" })
@Override
public <T extends COBBusinessStep<S>, S extends AbstractPersistableCustom> S run(TreeMap<Long, String> executionMap, S item) {
public <T extends COBBusinessStep<S>, S extends AbstractPersistableCustom<Long>> S run(TreeMap<Long, String> executionMap, S item) {
if (executionMap == null || executionMap.isEmpty()) {
throw new BusinessStepException("Execution map is empty! COB Business step execution skipped!");
}
@@ -94,7 +94,7 @@ public class COBBusinessStepServiceImpl implements COBBusinessStepService {
@NotNull
@Override
public <T extends COBBusinessStep<S>, S extends AbstractPersistableCustom> Set<BusinessStepNameAndOrder> getCOBBusinessSteps(
public <T extends COBBusinessStep<S>, S extends AbstractPersistableCustom<Long>> Set<BusinessStepNameAndOrder> getCOBBusinessSteps(
Class<T> businessStepClass, String cobJobName) {
List<BatchBusinessStep> cobStepConfigs = batchBusinessStepRepository.findAllByJobName(cobJobName);
List<String> businessSteps = Arrays.stream(beanFactory.getBeanNamesForType(businessStepClass)).toList();
@@ -31,7 +31,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@NoArgsConstructor
@Getter
@Setter
public class BatchBusinessStep extends AbstractPersistableCustom {
public class BatchBusinessStep extends AbstractPersistableCustom<Long> {
@Column(name = "job_name", nullable = false)
private String jobName;
@@ -31,7 +31,7 @@ public class LoanReloadService implements ReloadService<Loan> {
private final LoanAssembler loanAssembler;
@Override
public <S extends AbstractPersistableCustom> boolean canReload(S input) {
public <S extends AbstractPersistableCustom<Long>> boolean canReload(S input) {
return input instanceof Loan;
}
@@ -20,9 +20,9 @@ package org.apache.fineract.cob.service;
import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
public interface ReloadService<S extends AbstractPersistableCustom> {
public interface ReloadService<S extends AbstractPersistableCustom<Long>> {
<X extends AbstractPersistableCustom> boolean canReload(X input);
<X extends AbstractPersistableCustom<Long>> boolean canReload(X input);
S reload(S input);
}
@@ -30,7 +30,7 @@ public class ReloaderService {
private final List<ReloadService> reloadServices;
public <S extends AbstractPersistableCustom> S reload(S input) {
public <S extends AbstractPersistableCustom<Long>> S reload(S input) {
for (ReloadService reloadService : reloadServices) {
if (reloadService.canReload(input)) {
return (S) reloadService.reload(input);
@@ -29,7 +29,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = AccountNumberFormatConstants.ACCOUNT_NUMBER_FORMAT_TABLE_NAME, uniqueConstraints = { @UniqueConstraint(columnNames = {
AccountNumberFormatConstants.ACCOUNT_TYPE_ENUM_COLUMN_NAME }, name = AccountNumberFormatConstants.ACCOUNT_TYPE_UNIQUE_CONSTRAINT_NAME) })
public class AccountNumberFormat extends AbstractPersistableCustom {
public class AccountNumberFormat extends AbstractPersistableCustom<Long> {
@Column(name = AccountNumberFormatConstants.ACCOUNT_TYPE_ENUM_COLUMN_NAME, nullable = false)
private Integer accountTypeEnum;
@@ -32,7 +32,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Entity
@Table(name = "m_import_document")
public class ImportDocument extends AbstractPersistableCustom {
public class ImportDocument extends AbstractPersistableCustom<Long> {
@OneToOne
@JoinColumn(name = "document_id")
@@ -53,7 +53,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class EmailCampaign extends AbstractPersistableCustom {
public class EmailCampaign extends AbstractPersistableCustom<Long> {
@Column(name = "campaign_name", nullable = false)
private String campaignName;
@@ -33,7 +33,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class EmailConfiguration extends AbstractPersistableCustom {
public class EmailConfiguration extends AbstractPersistableCustom<Long> {
@Column(name = "name", nullable = false)
private String name;
@@ -44,7 +44,7 @@ import org.apache.fineract.portfolio.group.domain.Group;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class EmailMessage extends AbstractPersistableCustom {
public class EmailMessage extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "group_id", nullable = true)
@@ -49,7 +49,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Entity
@Table(name = "sms_campaign", uniqueConstraints = { @UniqueConstraint(columnNames = { "campaign_name" }, name = "campaign_name_UNIQUE") })
public class SmsCampaign extends AbstractPersistableCustom {
public class SmsCampaign extends AbstractPersistableCustom<Long> {
@Column(name = "campaign_name", nullable = false)
private String campaignName;
@@ -35,7 +35,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class ExternalService extends AbstractPersistableCustom {
public class ExternalService extends AbstractPersistableCustom<Long> {
@Column(name = "name", length = 50)
private String name;
@@ -40,7 +40,7 @@ import org.apache.fineract.infrastructure.security.exception.ForcePasswordResetE
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class GlobalConfigurationProperty extends AbstractPersistableCustom {
public class GlobalConfigurationProperty extends AbstractPersistableCustom<Long> {
@Column(name = "name", nullable = false)
private String name;
@@ -34,7 +34,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class CreditBureau extends AbstractPersistableCustom {
public class CreditBureau extends AbstractPersistableCustom<Long> {
private String name;
@@ -39,7 +39,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class CreditBureauConfiguration extends AbstractPersistableCustom {
public class CreditBureauConfiguration extends AbstractPersistableCustom<Long> {
@Column(name = "configkey")
private String configurationKey;
@@ -39,7 +39,7 @@ import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class CreditBureauLoanProductMapping extends AbstractPersistableCustom {
public class CreditBureauLoanProductMapping extends AbstractPersistableCustom<Long> {
@Column(name = "is_credit_check_mandatory")
private boolean creditCheckMandatory;
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class CreditBureauToken extends AbstractPersistableCustom {
public class CreditBureauToken extends AbstractPersistableCustom<Long> {
private static final Logger LOG = LoggerFactory.getLogger(CreditBureauToken.class);
@@ -35,7 +35,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Getter
@Setter
@Accessors(chain = true)
public class CreditReport extends AbstractPersistableCustom {
public class CreditReport extends AbstractPersistableCustom<Long> {
@Column(name = "credit_bureau_id")
private Long creditBureauId;
@@ -32,7 +32,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_organisation_creditbureau")
public class OrganisationCreditBureau extends AbstractPersistableCustom {
public class OrganisationCreditBureau extends AbstractPersistableCustom<Long> {
private String alias;
@@ -32,7 +32,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Getter
@Entity
@Table(name = "m_entity_datatable_check")
public class EntityDatatableChecks extends AbstractPersistableCustom {
public class EntityDatatableChecks extends AbstractPersistableCustom<Long> {
@Column(name = "application_table_name", nullable = false)
private String entity;
@@ -31,7 +31,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@AllArgsConstructor
@Entity
@Table(name = "x_registered_table")
public class RegisteredDatatable extends AbstractPersistableCustom {
public class RegisteredDatatable extends AbstractPersistableCustom<Long> {
@Column(name = "registered_table_name", nullable = false)
private String datatableName;
@@ -46,5 +46,4 @@ public class RegisteredDatatable extends AbstractPersistableCustom {
private int category;
public RegisteredDatatable() {}
}
@@ -43,7 +43,7 @@ import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityEx
@Entity
@Table(name = "stretchy_report", uniqueConstraints = { @UniqueConstraint(columnNames = { "report_name" }, name = "unq_report_name") })
public final class Report extends AbstractPersistableCustom {
public final class Report extends AbstractPersistableCustom<Long> {
@Column(name = "report_name", nullable = false, unique = true)
private String reportName;
@@ -24,7 +24,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "stretchy_parameter")
public class ReportParameter extends AbstractPersistableCustom {
public class ReportParameter extends AbstractPersistableCustom<Long> {
protected ReportParameter() {
//
@@ -27,7 +27,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "stretchy_report_parameter")
public final class ReportParameterUsage extends AbstractPersistableCustom {
public final class ReportParameterUsage extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "report_id", nullable = false)
@@ -40,7 +40,7 @@ import org.apache.fineract.infrastructure.entityaccess.FineractEntityAccessConst
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class FineractEntityAccess extends AbstractPersistableCustom {
public class FineractEntityAccess extends AbstractPersistableCustom<Long> {
@Column(name = "entity_type", length = 50)
private String entityType;
@@ -37,7 +37,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class FineractEntityRelation extends AbstractPersistableCustom {
public class FineractEntityRelation extends AbstractPersistableCustom<Long> {
@OneToMany(cascade = CascadeType.ALL, mappedBy = "relationId", orphanRemoval = true)
private Set<FineractEntityToEntityMapping> fineractEntityToEntityMapping = new HashSet<>();
@@ -43,7 +43,7 @@ import org.apache.fineract.infrastructure.entityaccess.exception.FineractEntityT
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class FineractEntityToEntityMapping extends AbstractPersistableCustom {
public class FineractEntityToEntityMapping extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "rel_id")
@@ -38,7 +38,7 @@ import org.apache.fineract.portfolio.client.domain.Client;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class DeviceRegistration extends AbstractPersistableCustom {
public class DeviceRegistration extends AbstractPersistableCustom<Long> {
@OneToOne
@JoinColumn(name = "client_id", nullable = false, unique = true)
@@ -35,7 +35,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class HookConfiguration extends AbstractPersistableCustom {
public class HookConfiguration extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "hook_id", referencedColumnName = "id", nullable = false)
@@ -35,7 +35,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class HookResource extends AbstractPersistableCustom {
public class HookResource extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "hook_id", referencedColumnName = "id", nullable = false)
@@ -42,7 +42,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public final class HookTemplate extends AbstractPersistableCustom {
public final class HookTemplate extends AbstractPersistableCustom<Long> {
@Column(name = "name", nullable = false, length = 100)
private String name;
@@ -35,7 +35,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class Schema extends AbstractPersistableCustom {
public class Schema extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "hook_template_id", referencedColumnName = "id", nullable = false)
@@ -31,7 +31,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@NoArgsConstructor
@Getter
@Setter
public class CustomJobParameter extends AbstractPersistableCustom {
public class CustomJobParameter extends AbstractPersistableCustom<Long> {
@Column(name = "parameter_json", nullable = false, columnDefinition = "json")
private String parameterJson;
@@ -34,7 +34,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class JobParameter extends AbstractPersistableCustom {
public class JobParameter extends AbstractPersistableCustom<Long> {
@Column(name = "job_id", nullable = false)
private Long jobId;
@@ -41,7 +41,7 @@ import org.apache.fineract.infrastructure.jobs.api.SchedulerJobApiConstants;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class ScheduledJobDetail extends AbstractPersistableCustom {
public class ScheduledJobDetail extends AbstractPersistableCustom<Long> {
@Column(name = "name")
private String jobName;
@@ -38,7 +38,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class ScheduledJobRunHistory extends AbstractPersistableCustom {
public class ScheduledJobRunHistory extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "job_id")
@@ -33,7 +33,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class SchedulerDetail extends AbstractPersistableCustom {
public class SchedulerDetail extends AbstractPersistableCustom<Long> {
@Column(name = "execute_misfired_jobs")
private boolean executeInstructionForMisfiredJobs;
@@ -35,7 +35,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class ReportMailingJobConfiguration extends AbstractPersistableCustom {
public class ReportMailingJobConfiguration extends AbstractPersistableCustom<Long> {
private static final long serialVersionUID = 3099279770861263184L;
@@ -36,7 +36,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class ReportMailingJobRunHistory extends AbstractPersistableCustom {
public class ReportMailingJobRunHistory extends AbstractPersistableCustom<Long> {
private static final long serialVersionUID = -3757370929988421076L;
@@ -41,7 +41,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class TFAccessToken extends AbstractPersistableCustom {
public class TFAccessToken extends AbstractPersistableCustom<Long> {
@Column(name = "token", nullable = false, length = 32)
private String token;
@@ -37,7 +37,7 @@ import org.apache.fineract.infrastructure.security.constants.TwoFactorConfigurat
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class TwoFactorConfiguration extends AbstractPersistableCustom {
public class TwoFactorConfiguration extends AbstractPersistableCustom<Long> {
@Column(name = "name", nullable = false, length = 32)
private String name;
@@ -47,7 +47,7 @@ import org.apache.fineract.portfolio.group.domain.Group;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class SmsMessage extends AbstractPersistableCustom {
public class SmsMessage extends AbstractPersistableCustom<Long> {
@Column(name = "external_id")
private String externalId;
@@ -38,7 +38,7 @@ import org.apache.fineract.infrastructure.survey.data.LikelihoodStatus;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public final class Likelihood extends AbstractPersistableCustom {
public final class Likelihood extends AbstractPersistableCustom<Long> {
@Column(name = "ppi_name", nullable = false)
private String ppiName;
@@ -35,7 +35,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public final class MixTaxonomyMapping extends AbstractPersistableCustom {
public final class MixTaxonomyMapping extends AbstractPersistableCustom<Long> {
@Column(name = "identifier")
private String identifier;
@@ -34,7 +34,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class Notification extends AbstractPersistableCustom {
public class Notification extends AbstractPersistableCustom<Long> {
@Column(name = "object_type")
private String objectType;
@@ -37,7 +37,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class NotificationMapper extends AbstractPersistableCustom {
public class NotificationMapper extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "notification_id")
@@ -34,7 +34,7 @@ import org.apache.fineract.organisation.monetary.domain.Money;
@Entity
@Table(name = "m_office_transaction")
public class OfficeTransaction extends AbstractPersistableCustom {
public class OfficeTransaction extends AbstractPersistableCustom<Long> {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "from_office_id")
@@ -29,7 +29,7 @@ import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
@Entity
@Table(name = "m_loanproduct_provisioning_mapping", uniqueConstraints = {
@UniqueConstraint(columnNames = { "product_id" }, name = "product_id") })
public class LoanProductProvisionCriteria extends AbstractPersistableCustom {
public class LoanProductProvisionCriteria extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "criteria_id", referencedColumnName = "id", nullable = false)
@@ -29,7 +29,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_provision_category", uniqueConstraints = { @UniqueConstraint(columnNames = { "category_name" }, name = "category_name") })
public class ProvisioningCategory extends AbstractPersistableCustom {
public class ProvisioningCategory extends AbstractPersistableCustom<Long> {
@Column(name = "category_name", nullable = false, unique = true)
private String categoryName;
@@ -29,7 +29,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_provisioning_criteria_definition")
public class ProvisioningCriteriaDefinition extends AbstractPersistableCustom {
public class ProvisioningCriteriaDefinition extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "criteria_id", referencedColumnName = "id", nullable = false)
@@ -29,7 +29,7 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
@Entity
@Table(name = "m_portfolio_account_associations")
public class AccountAssociations extends AbstractPersistableCustom {
public class AccountAssociations extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_account_id", nullable = true)
@@ -37,7 +37,7 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
@Entity
@Table(name = "m_account_transfer_details")
public class AccountTransferDetails extends AbstractPersistableCustom {
public class AccountTransferDetails extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "from_office_id", nullable = false)
@@ -54,7 +54,7 @@ import org.apache.fineract.portfolio.common.domain.PeriodFrequencyType;
@Entity
@Table(name = "m_account_transfer_standing_instructions", uniqueConstraints = {
@UniqueConstraint(columnNames = { "name" }, name = "name") })
public class AccountTransferStandingInstruction extends AbstractPersistableCustom {
public class AccountTransferStandingInstruction extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "account_transfer_details_id", nullable = true)
@@ -36,7 +36,7 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
@Entity
@Table(name = "m_account_transfer_transaction")
@Getter
public class AccountTransferTransaction extends AbstractPersistableCustom {
public class AccountTransferTransaction extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "account_transfer_details_id", nullable = true)
@@ -37,7 +37,7 @@ import org.apache.fineract.portfolio.client.domain.ClientAddress;
@Entity
@Table(name = "m_address")
public class Address extends AbstractPersistableCustom {
public class Address extends AbstractPersistableCustom<Long> {
/*
* @OneToMany(mappedBy = "address", cascade = CascadeType.ALL) private List<ClientAddress> clientaddress = new
@@ -24,7 +24,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_field_configuration")
public class FieldConfiguration extends AbstractPersistableCustom {
public class FieldConfiguration extends AbstractPersistableCustom<Long> {
private String entity;
@@ -29,7 +29,7 @@ import org.apache.fineract.portfolio.address.domain.Address;
@Entity
@Table(name = "m_client_address")
public class ClientAddress extends AbstractPersistableCustom {
public class ClientAddress extends AbstractPersistableCustom<Long> {
@ManyToOne
private Client client;
@@ -38,7 +38,7 @@ import org.apache.fineract.portfolio.client.api.ClientApiConstants;
@Entity
@Table(name = "m_client_charge")
public class ClientCharge extends AbstractPersistableCustom {
public class ClientCharge extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "client_id", referencedColumnName = "id", nullable = false)
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_client_charge_paid_by")
public class ClientChargePaidBy extends AbstractPersistableCustom {
public class ClientChargePaidBy extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "client_transaction_id", nullable = false)
@@ -30,7 +30,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_family_members")
public class ClientFamilyMembers extends AbstractPersistableCustom {
public class ClientFamilyMembers extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "client_id")
@@ -41,7 +41,7 @@ import org.apache.fineract.portfolio.client.api.ClientApiConstants;
@Entity
@Table(name = "m_client_non_person")
public class ClientNonPerson extends AbstractPersistableCustom {
public class ClientNonPerson extends AbstractPersistableCustom<Long> {
@OneToOne(optional = false)
@JoinColumn(name = "client_id", referencedColumnName = "id", nullable = false, unique = true)
@@ -49,7 +49,7 @@ import org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail;
@Entity
@Table(name = "m_client_transaction", uniqueConstraints = { @UniqueConstraint(columnNames = { "external_id" }, name = "external_id") })
public class ClientTransaction extends AbstractAuditableWithUTCDateTimeCustom {
public class ClientTransaction extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "client_id", nullable = false)
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@SuppressWarnings("serial")
@Entity
@Table(name = "m_client_transfer_details")
public class ClientTransferDetails extends AbstractPersistableCustom {
public class ClientTransferDetails extends AbstractPersistableCustom<Long> {
@Column(name = "client_id", length = 20, unique = true, nullable = false)
private Long clientId;
@@ -40,7 +40,7 @@ import org.apache.fineract.portfolio.loanaccount.guarantor.GuarantorConstants.Gu
@Entity
@Table(name = "m_guarantor")
public class Guarantor extends AbstractPersistableCustom {
public class Guarantor extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -36,7 +36,7 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
@Entity
@Table(name = "m_guarantor_funding_details")
public class GuarantorFundingDetails extends AbstractPersistableCustom {
public class GuarantorFundingDetails extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "guarantor_id", nullable = false)
@@ -31,7 +31,7 @@ import org.apache.fineract.portfolio.savings.domain.DepositAccountOnHoldTransact
@Entity
@Table(name = "m_guarantor_transaction")
public class GuarantorFundingTransaction extends AbstractPersistableCustom {
public class GuarantorFundingTransaction extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "guarantor_fund_detail_id", nullable = false)
@@ -27,7 +27,7 @@ import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
@Entity
@Table(name = "m_product_mix")
public class ProductMix extends AbstractPersistableCustom {
public class ProductMix extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "product_id", nullable = false)
@@ -31,7 +31,7 @@ import org.apache.fineract.portfolio.meeting.domain.Meeting;
@Entity
@Table(name = "m_client_attendance", uniqueConstraints = {
@UniqueConstraint(columnNames = { "client_id", "meeting_id" }, name = "unique_client_meeting_attendance") })
public class ClientAttendance extends AbstractPersistableCustom {
public class ClientAttendance extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "client_id", nullable = false)
@@ -51,7 +51,7 @@ import org.apache.fineract.portfolio.meeting.exception.MeetingDateException;
@Entity
@Table(name = "m_meeting", uniqueConstraints = {
@UniqueConstraint(columnNames = { "calendar_instance_id", "meeting_date" }, name = "unique_calendar_instance_id_meeting_date") })
public class Meeting extends AbstractPersistableCustom {
public class Meeting extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "calendar_instance_id", nullable = false)
@@ -38,7 +38,7 @@ import org.apache.fineract.portfolio.shareaccounts.domain.ShareAccount;
@Entity
@Table(name = "m_note")
public class Note extends AbstractAuditableWithUTCDateTimeCustom {
public class Note extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "client_id", nullable = true)
@@ -43,7 +43,7 @@ import org.apache.fineract.portfolio.savings.DepositsApiConstants;
@Entity
@Table(name = "m_deposit_account_recurring_detail")
public class DepositAccountRecurringDetail extends AbstractPersistableCustom {
public class DepositAccountRecurringDetail extends AbstractPersistableCustom<Long> {
@Column(name = "mandatory_recommended_deposit_amount", scale = 6, precision = 19, nullable = true)
private BigDecimal mandatoryRecommendedDepositAmount;
@@ -37,7 +37,7 @@ import org.apache.fineract.organisation.monetary.domain.Money;
@Entity
@Table(name = "m_mandatory_savings_schedule")
public class RecurringDepositScheduleInstallment extends AbstractAuditableWithUTCDateTimeCustom {
public class RecurringDepositScheduleInstallment extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "savings_account_id")
@@ -32,7 +32,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_selfservice_beneficiaries_tpt", uniqueConstraints = {
@UniqueConstraint(columnNames = { "name", "app_user_id", "is_active" }, name = "name") })
public class SelfBeneficiariesTPT extends AbstractPersistableCustom {
public class SelfBeneficiariesTPT extends AbstractPersistableCustom<Long> {
@Column(name = "app_user_id", nullable = false)
private Long appUserId;
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@SuppressWarnings("serial")
@Entity
@Table(name = "m_pocket", uniqueConstraints = { @UniqueConstraint(columnNames = { "app_user_id" }, name = "unique_app_user") })
public class Pocket extends AbstractPersistableCustom {
public class Pocket extends AbstractPersistableCustom<Long> {
@Column(name = "app_user_id", length = 20, nullable = false)
private Long appUserId;
@@ -27,7 +27,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@SuppressWarnings("serial")
@Entity
@Table(name = "m_pocket_accounts_mapping")
public class PocketAccountMapping extends AbstractPersistableCustom {
public class PocketAccountMapping extends AbstractPersistableCustom<Long> {
@Column(name = "pocket_id", length = 20, nullable = false)
private Long pocketId;
@@ -30,7 +30,7 @@ import org.apache.fineract.portfolio.client.domain.Client;
@Entity
@Table(name = "request_audit_table")
public class SelfServiceRegistration extends AbstractPersistableCustom {
public class SelfServiceRegistration extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "client_id", nullable = false)
@@ -47,7 +47,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Entity
@Table(name = "m_share_account")
public class ShareAccount extends AbstractPersistableCustom {
public class ShareAccount extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "client_id")
@@ -35,7 +35,7 @@ import org.apache.fineract.portfolio.charge.domain.ChargeTimeType;
@Entity
@Table(name = "m_share_account_charge")
public class ShareAccountCharge extends AbstractPersistableCustom {
public class ShareAccountCharge extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "account_id", referencedColumnName = "id", nullable = false)
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_share_account_charge_paid_by")
public class ShareAccountChargePaidBy extends AbstractPersistableCustom {
public class ShareAccountChargePaidBy extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "share_transaction_id", referencedColumnName = "id", nullable = false)
@@ -29,7 +29,7 @@ import org.apache.fineract.portfolio.shareproducts.domain.ShareProductDividendPa
@Entity
@Table(name = "m_share_account_dividend_details")
public class ShareAccountDividendDetails extends AbstractPersistableCustom {
public class ShareAccountDividendDetails extends AbstractPersistableCustom<Long> {
@Column(name = "account_id", nullable = false)
private Long shareAccountId;
@@ -34,7 +34,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_share_account_transactions")
public class ShareAccountTransaction extends AbstractPersistableCustom {
public class ShareAccountTransaction extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "account_id", referencedColumnName = "id", nullable = false)
@@ -29,7 +29,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_share_product_market_price")
public class ShareProductMarketPrice extends AbstractPersistableCustom {
public class ShareProductMarketPrice extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "product_id", referencedColumnName = "id", nullable = false)
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_survey_components")
public class Component extends AbstractPersistableCustom {
public class Component extends AbstractPersistableCustom<Long> {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "survey_id")
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_survey_lookup_tables")
public class LookupTable extends AbstractPersistableCustom {
public class LookupTable extends AbstractPersistableCustom<Long> {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "survey_id")
@@ -32,7 +32,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_survey_questions")
public class Question extends AbstractPersistableCustom {
public class Question extends AbstractPersistableCustom<Long> {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "survey_id")
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_survey_responses")
public class Response extends AbstractPersistableCustom {
public class Response extends AbstractPersistableCustom<Long> {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "question_id")
@@ -32,7 +32,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Entity
@Table(name = "m_survey_scorecards")
public class Scorecard extends AbstractPersistableCustom {
public class Scorecard extends AbstractPersistableCustom<Long> {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "survey_id")
@@ -32,7 +32,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_surveys")
public class Survey extends AbstractPersistableCustom {
public class Survey extends AbstractPersistableCustom<Long> {
@OneToMany(mappedBy = "survey", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
@OrderBy("sequenceNo")
@@ -41,7 +41,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_template", uniqueConstraints = { @UniqueConstraint(columnNames = { "name" }, name = "unq_name") })
public class Template extends AbstractPersistableCustom {
public class Template extends AbstractPersistableCustom<Long> {
@Column(name = "name", nullable = false, unique = true)
private String name;
@@ -25,7 +25,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_templatemappers")
public class TemplateMapper extends AbstractPersistableCustom {
public class TemplateMapper extends AbstractPersistableCustom<Long> {
@Column(name = "mapperorder")
private int mapperorder;
@@ -27,7 +27,7 @@ import org.apache.fineract.infrastructure.core.service.DateUtils;
@Entity
@Table(name = "m_appuser_previous_password")
public class AppUserPreviousPassword extends AbstractPersistableCustom {
public class AppUserPreviousPassword extends AbstractPersistableCustom<Long> {
@Column(name = "user_id", nullable = false)
private Long userId;
@@ -27,7 +27,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_password_validation_policy")
public class PasswordValidationPolicy extends AbstractPersistableCustom {
public class PasswordValidationPolicy extends AbstractPersistableCustom<Long> {
@Column(name = "regex", nullable = false)
private String regex;
@@ -142,6 +142,7 @@ public class SynchronousCommandProcessingServiceTest {
NewCommandSourceHandler commandHandler = Mockito.mock(NewCommandSourceHandler.class);
CommandProcessingResult commandProcessingResult = Mockito.mock(CommandProcessingResult.class);
CommandSource commandSource = Mockito.mock(CommandSource.class);
when(commandSource.getId()).thenReturn(1L);
when(commandProcessingResult.isRollbackTransaction()).thenReturn(false);
RuntimeException runtimeException = new RuntimeException("foo");
when(commandHandler.processCommand(jsonCommand)).thenThrow(runtimeException);
@@ -154,6 +155,7 @@ public class SynchronousCommandProcessingServiceTest {
when(commandSourceService.getCommandSource(commandId)).thenReturn(commandSource);
AppUser appUser = Mockito.mock(AppUser.class);
when(appUser.getId()).thenReturn(1L);
when(context.authenticatedUser(Mockito.any(CommandWrapper.class))).thenReturn(appUser);
when(commandSourceService.saveInitialNewTransaction(commandWrapper, jsonCommand, appUser, idk)).thenReturn(commandSource);
@@ -58,7 +58,7 @@ public class CustomAuditingHandlerTest {
public void markCreated() {
MappingContext mappingContext = Mockito.mock(MappingContext.class);
CustomAuditingHandler testInstance = new CustomAuditingHandler(PersistentEntities.of(mappingContext));
AbstractAuditableWithUTCDateTimeCustom targetObject = Mockito.spy(AbstractAuditableWithUTCDateTimeCustom.class);
AbstractAuditableWithUTCDateTimeCustom<Long> targetObject = Mockito.spy(AbstractAuditableWithUTCDateTimeCustom.class);
targetObject = testInstance.markCreated(targetObject);
OffsetDateTime now = DateUtils.getAuditOffsetDateTime();
@@ -74,7 +74,7 @@ public class CustomAuditingHandlerTest {
public void markModified() {
MappingContext mappingContext = Mockito.mock(MappingContext.class);
CustomAuditingHandler testInstance = new CustomAuditingHandler(PersistentEntities.of(mappingContext));
AbstractAuditableWithUTCDateTimeCustom targetObject = Mockito.spy(AbstractAuditableWithUTCDateTimeCustom.class);
AbstractAuditableWithUTCDateTimeCustom<Long> targetObject = Mockito.spy(AbstractAuditableWithUTCDateTimeCustom.class);
targetObject = testInstance.markModified(targetObject);
OffsetDateTime now = DateUtils.getAuditOffsetDateTime();
@@ -572,6 +572,7 @@ public class DelinquencyWritePlatformServiceRangeChangeEventTest {
.forClass(LoanDelinquencyRangeChangeBusinessEvent.class);
// given
Loan loanForProcessing = Mockito.mock(Loan.class);
when(loanForProcessing.getId()).thenReturn(1L);
DelinquencyRange range1 = DelinquencyRange.instance("Range1", 1, 2);
range1.setId(1L);
DelinquencyRange range2 = DelinquencyRange.instance("Range30", 3, 30);
@@ -603,7 +604,7 @@ public class DelinquencyWritePlatformServiceRangeChangeEventTest {
.forClass(LoanAccountDelinquencyPauseChangedBusinessEvent.class);
// given
Loan loanForProcessing = Mockito.mock(Loan.class);
loanForProcessing.setId(1L);
when(loanForProcessing.getId()).thenReturn(1L);
JsonCommand command = Mockito.mock(JsonCommand.class);
@@ -654,7 +655,7 @@ public class DelinquencyWritePlatformServiceRangeChangeEventTest {
.forClass(LoanDelinquencyRangeChangeBusinessEvent.class);
// given
Loan loanForProcessing = Mockito.mock(Loan.class);
loanForProcessing.setId(1L);
when(loanForProcessing.getId()).thenReturn(1L);
JsonCommand command = Mockito.mock(JsonCommand.class);