From 6d2447e3278e79df79d4731119710b9a173a42eb Mon Sep 17 00:00:00 2001 From: Hemant Gupta Date: Wed, 12 Oct 2022 14:27:15 +0530 Subject: [PATCH] refactor: add lombok to reportmailingjob module --- .../ExecuteReportMailingJobsTasklet.java | 18 +- .../ReportMailingJobConfigurationData.java | 45 +-- .../data/ReportMailingJobData.java | 274 +++------------- .../data/ReportMailingJobEmailData.java | 48 +-- .../data/ReportMailingJobRunHistoryData.java | 86 +---- .../data/ReportMailingJobTimelineData.java | 45 +-- .../domain/ReportMailingJob.java | 304 +----------------- .../domain/ReportMailingJobConfiguration.java | 37 +-- .../domain/ReportMailingJobRunHistory.java | 81 +---- ...portMailingJobReadPlatformServiceImpl.java | 6 +- ...ortMailingJobWritePlatformServiceImpl.java | 8 +- 11 files changed, 156 insertions(+), 796 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/jobs/executereportmailingjobs/ExecuteReportMailingJobsTasklet.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/jobs/executereportmailingjobs/ExecuteReportMailingJobsTasklet.java index 931bec7f6..584fb1033 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/jobs/executereportmailingjobs/ExecuteReportMailingJobsTasklet.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/jobs/executereportmailingjobs/ExecuteReportMailingJobsTasklet.java @@ -165,25 +165,25 @@ public class ExecuteReportMailingJobsTasklet implements Tasklet { final LocalDateTime nextRunDateTime = reportMailingJob.getNextRunDateTime(); ReportMailingJobPreviousRunStatus reportMailingJobPreviousRunStatus = ReportMailingJobPreviousRunStatus.SUCCESS; - reportMailingJob.updatePreviousRunErrorLog(null); + reportMailingJob.setPreviousRunErrorLog(null); if (errorLog != null && errorLog.length() > 0) { reportMailingJobPreviousRunStatus = ReportMailingJobPreviousRunStatus.ERROR; - reportMailingJob.updatePreviousRunErrorLog(errorLog.toString()); + reportMailingJob.setPreviousRunErrorLog(errorLog.toString()); } reportMailingJob.increaseNumberOfRunsByOne(); - reportMailingJob.updatePreviousRunStatus(reportMailingJobPreviousRunStatus.getValue()); - reportMailingJob.updatePreviousRunDateTime(reportMailingJob.getNextRunDateTime()); + reportMailingJob.setPreviousRunStatus(reportMailingJobPreviousRunStatus.getValue()); + reportMailingJob.setPreviousRunDateTime(reportMailingJob.getNextRunDateTime()); if (StringUtils.isEmpty(recurrence)) { - reportMailingJob.deactivate(); + reportMailingJob.setActive(false); - reportMailingJob.updateNextRunDateTime(null); + reportMailingJob.setNextRunDateTime(null); } else if (nextRunDateTime != null) { final LocalDateTime nextRecurringDateTime = createNextRecurringDateTime(recurrence, nextRunDateTime); - reportMailingJob.updateNextRunDateTime(nextRecurringDateTime); + reportMailingJob.setNextRunDateTime(nextRecurringDateTime); } reportMailingJobRepository.save(reportMailingJob); @@ -202,8 +202,8 @@ public class ExecuteReportMailingJobsTasklet implements Tasklet { byteArrayOutputStream.writeTo(outputStream); for (String emailRecipient : emailRecipients) { - final ReportMailingJobEmailData reportMailingJobEmailData = new ReportMailingJobEmailData(emailRecipient, - reportMailingJob.getEmailMessage(), reportMailingJob.getEmailSubject(), file); + final ReportMailingJobEmailData reportMailingJobEmailData = new ReportMailingJobEmailData().setTo(emailRecipient) + .setText(reportMailingJob.getEmailMessage()).setSubject(reportMailingJob.getEmailSubject()).setAttachment(file); reportMailingJobEmailService.sendEmailWithAttachment(reportMailingJobEmailData); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobConfigurationData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobConfigurationData.java index 16e014498..d33e387f5 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobConfigurationData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobConfigurationData.java @@ -18,23 +18,21 @@ */ package org.apache.fineract.infrastructure.reportmailingjob.data; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + /** * Immutable data object representing report mailing job configuration data. **/ +@Data +@NoArgsConstructor +@Accessors(chain = true) public final class ReportMailingJobConfigurationData { - private final int id; - private final String name; - private final String value; - - /** - * ReportMailingJobConfigurationData private constructor - **/ - private ReportMailingJobConfigurationData(final int id, final String name, final String value) { - this.id = id; - this.name = name; - this.value = value; - } + private int id; + private String name; + private String value; /** * creates an instance of the ReportMailingJobConfigurationData class @@ -42,27 +40,6 @@ public final class ReportMailingJobConfigurationData { * @return ReportMailingJobConfigurationData object **/ public static ReportMailingJobConfigurationData newInstance(final int id, final String name, final String value) { - return new ReportMailingJobConfigurationData(id, name, value); - } - - /** - * @return the id - */ - public int getId() { - return id; - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @return the value - */ - public String getValue() { - return value; + return new ReportMailingJobConfigurationData().setId(id).setName(name).setValue(value); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobData.java index 44cbc5b0b..6e79a7379 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobData.java @@ -20,67 +20,42 @@ package org.apache.fineract.infrastructure.reportmailingjob.data; import java.time.ZonedDateTime; import java.util.List; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; import org.apache.fineract.infrastructure.core.data.EnumOptionData; import org.apache.fineract.infrastructure.dataqueries.data.ReportData; /** * Immutable data object representing report mailing job data. **/ +@Data +@NoArgsConstructor +@Accessors(chain = true) public final class ReportMailingJobData { - private final Long id; - private final String name; - private final String description; - private final ZonedDateTime startDateTime; - private final String recurrence; - private final ReportMailingJobTimelineData timeline; - private final String emailRecipients; - private final String emailSubject; - private final String emailMessage; - private final EnumOptionData emailAttachmentFileFormat; - private final ReportData stretchyReport; - private final String stretchyReportParamMap; - private final ZonedDateTime previousRunDateTime; - private final ZonedDateTime nextRunDateTime; - private final String previousRunStatus; - private final String previousRunErrorLog; - private final String previousRunErrorMessage; - private final Integer numberOfRuns; - private final boolean isActive; - private final List emailAttachmentFileFormatOptions; - private final List stretchyReportParamDateOptions; - private final Long runAsUserId; - - private ReportMailingJobData(final Long id, final String name, final String description, final ZonedDateTime startDateTime, - final String recurrence, final ReportMailingJobTimelineData timeline, final String emailRecipients, final String emailSubject, - final String emailMessage, final EnumOptionData emailAttachmentFileFormat, final ReportData stretchyReport, - final String stretchyReportParamMap, final ZonedDateTime previousRunDateTime, final ZonedDateTime nextRunDateTime, - final String previousRunStatus, final String previousRunErrorLog, final String previousRunErrorMessage, - final Integer numberOfRuns, final boolean isActive, final List emailAttachmentFileFormatOptions, - final List stretchyReportParamDateOptions, final Long runAsUserId) { - this.id = id; - this.name = name; - this.description = description; - this.startDateTime = startDateTime; - this.recurrence = recurrence; - this.timeline = timeline; - this.emailRecipients = emailRecipients; - this.emailMessage = emailMessage; - this.emailSubject = emailSubject; - this.emailAttachmentFileFormat = emailAttachmentFileFormat; - this.stretchyReport = stretchyReport; - this.stretchyReportParamMap = stretchyReportParamMap; - this.previousRunDateTime = previousRunDateTime; - this.nextRunDateTime = nextRunDateTime; - this.previousRunStatus = previousRunStatus; - this.previousRunErrorLog = previousRunErrorLog; - this.previousRunErrorMessage = previousRunErrorMessage; - this.isActive = isActive; - this.numberOfRuns = numberOfRuns; - this.emailAttachmentFileFormatOptions = emailAttachmentFileFormatOptions; - this.stretchyReportParamDateOptions = stretchyReportParamDateOptions; - this.runAsUserId = runAsUserId; - } + private Long id; + private String name; + private String description; + private ZonedDateTime startDateTime; + private String recurrence; + private ReportMailingJobTimelineData timeline; + private String emailRecipients; + private String emailSubject; + private String emailMessage; + private EnumOptionData emailAttachmentFileFormat; + private ReportData stretchyReport; + private String stretchyReportParamMap; + private ZonedDateTime previousRunDateTime; + private ZonedDateTime nextRunDateTime; + private String previousRunStatus; + private String previousRunErrorLog; + private String previousRunErrorMessage; + private Integer numberOfRuns; + private boolean isActive; + private List emailAttachmentFileFormatOptions; + private List stretchyReportParamDateOptions; + private Long runAsUserId; /** * @return an instance of the ReportMailingJobData class @@ -92,9 +67,13 @@ public final class ReportMailingJobData { final ZonedDateTime previousRunDateTime, final ZonedDateTime nextRunDateTime, final String previousRunStatus, final String previousRunErrorLog, final String previousRunErrorMessage, final Integer numberOfRuns, final boolean isActive, final Long runAsUserId) { - return new ReportMailingJobData(id, name, description, startDateTime, recurrence, timeline, emailRecipients, emailSubject, - emailMessage, emailAttachmentFileFormat, stretchyReport, stretchyReportParamMap, previousRunDateTime, nextRunDateTime, - previousRunStatus, previousRunErrorLog, previousRunErrorMessage, numberOfRuns, isActive, null, null, runAsUserId); + return new ReportMailingJobData().setId(id).setName(name).setDescription(description).setStartDateTime(startDateTime) + .setRecurrence(recurrence).setTimeline(timeline).setEmailRecipients(emailRecipients).setEmailSubject(emailSubject) + .setEmailMessage(emailMessage).setEmailAttachmentFileFormat(emailAttachmentFileFormat).setStretchyReport(stretchyReport) + .setStretchyReportParamMap(stretchyReportParamMap).setPreviousRunDateTime(previousRunDateTime) + .setNextRunDateTime(nextRunDateTime).setPreviousRunStatus(previousRunStatus).setPreviousRunErrorLog(previousRunErrorLog) + .setPreviousRunErrorMessage(previousRunErrorMessage).setNumberOfRuns(numberOfRuns).setActive(isActive) + .setRunAsUserId(runAsUserId); } /** @@ -102,8 +81,8 @@ public final class ReportMailingJobData { **/ public static ReportMailingJobData newInstance(final List emailAttachmentFileFormatOptions, final List stretchyReportParamDateOptions) { - return new ReportMailingJobData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, false, emailAttachmentFileFormatOptions, stretchyReportParamDateOptions, null); + return new ReportMailingJobData().setEmailAttachmentFileFormatOptions(emailAttachmentFileFormatOptions) + .setStretchyReportParamDateOptions(stretchyReportParamDateOptions); } /** @@ -111,168 +90,21 @@ public final class ReportMailingJobData { **/ public static ReportMailingJobData newInstance(final ReportMailingJobData dataWithoutEnumOptions, final ReportMailingJobData dataWithEnumOptions) { - return new ReportMailingJobData(dataWithoutEnumOptions.id, dataWithoutEnumOptions.name, dataWithoutEnumOptions.description, - dataWithoutEnumOptions.startDateTime, dataWithoutEnumOptions.recurrence, dataWithoutEnumOptions.timeline, - dataWithoutEnumOptions.emailRecipients, dataWithoutEnumOptions.emailSubject, dataWithoutEnumOptions.emailMessage, - dataWithoutEnumOptions.emailAttachmentFileFormat, dataWithoutEnumOptions.stretchyReport, - dataWithoutEnumOptions.stretchyReportParamMap, dataWithoutEnumOptions.previousRunDateTime, - dataWithoutEnumOptions.nextRunDateTime, dataWithoutEnumOptions.previousRunStatus, - dataWithoutEnumOptions.previousRunErrorLog, dataWithoutEnumOptions.previousRunErrorMessage, - dataWithoutEnumOptions.numberOfRuns, dataWithoutEnumOptions.isActive, dataWithEnumOptions.emailAttachmentFileFormatOptions, - dataWithEnumOptions.stretchyReportParamDateOptions, dataWithoutEnumOptions.runAsUserId); - } - - /** - * @return the id - */ - public Long getId() { - return id; - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @return the description - */ - public String getDescription() { - return description; - } - - /** - * @return the startDateTime - */ - public ZonedDateTime getStartDateTime() { - return startDateTime; - } - - /** - * @return the recurrence - */ - public String getRecurrence() { - return recurrence; - } - - /** - * @return the timeline - */ - public ReportMailingJobTimelineData getTimeline() { - return timeline; - } - - /** - * @return the emailRecipients - */ - public String getEmailRecipients() { - return emailRecipients; - } - - /** - * @return the emailSubject - */ - public String getEmailSubject() { - return emailSubject; - } - - /** - * @return the emailMessage - */ - public String getEmailMessage() { - return emailMessage; - } - - /** - * @return the emailAttachmentFileFormat - */ - public EnumOptionData getEmailAttachmentFileFormat() { - return emailAttachmentFileFormat; - } - - /** - * @return the stretchyReport - */ - public ReportData getStretchyReport() { - return stretchyReport; - } - - /** - * @return the stretchyReportParamMap - */ - public String getStretchyReportParamMap() { - return stretchyReportParamMap; - } - - /** - * @return the previousRunDateTime - */ - public ZonedDateTime getPreviousRunDateTime() { - return previousRunDateTime; - } - - /** - * @return the nextRunDateTime - */ - public ZonedDateTime getNextRunDateTime() { - return nextRunDateTime; - } - - /** - * @return the previousRunStatus - */ - public String getPreviousRunStatus() { - return previousRunStatus; - } - - /** - * @return the previousRunErrorLog - */ - public String getPreviousRunErrorLog() { - return previousRunErrorLog; - } - - /** - * @return the previousRunErrorMessage - */ - public String getPreviousRunErrorMessage() { - return previousRunErrorMessage; - } - - /** - * @return the isActive - */ - public boolean isActive() { - return isActive; - } - - /** - * @return the emailAttachmentFileFormatOptions - */ - public List getEmailAttachmentFileFormatOptions() { - return emailAttachmentFileFormatOptions; - } - - /** - * @return the stretchyReportParamDateOptions - **/ - public List getStretchyReportParamDateOptions() { - return this.stretchyReportParamDateOptions; - } - - /** - * @return the numberOfRuns - */ - public Integer getNumberOfRuns() { - return numberOfRuns; - } - - /** - * @return the runAsUserId - */ - public Long getRunAsUserId() { - return runAsUserId; + return new ReportMailingJobData().setId(dataWithoutEnumOptions.id).setName(dataWithoutEnumOptions.name) + .setDescription(dataWithoutEnumOptions.description).setStartDateTime(dataWithoutEnumOptions.startDateTime) + .setRecurrence(dataWithoutEnumOptions.recurrence).setTimeline(dataWithoutEnumOptions.timeline) + .setEmailRecipients(dataWithoutEnumOptions.emailRecipients).setEmailSubject(dataWithoutEnumOptions.emailSubject) + .setEmailMessage(dataWithoutEnumOptions.emailMessage) + .setEmailAttachmentFileFormat(dataWithoutEnumOptions.emailAttachmentFileFormat) + .setStretchyReport(dataWithoutEnumOptions.stretchyReport) + .setStretchyReportParamMap(dataWithoutEnumOptions.stretchyReportParamMap) + .setPreviousRunDateTime(dataWithoutEnumOptions.previousRunDateTime) + .setNextRunDateTime(dataWithoutEnumOptions.nextRunDateTime).setPreviousRunStatus(dataWithoutEnumOptions.previousRunStatus) + .setPreviousRunErrorLog(dataWithoutEnumOptions.previousRunErrorLog) + .setPreviousRunErrorMessage(dataWithoutEnumOptions.previousRunErrorMessage) + .setNumberOfRuns(dataWithoutEnumOptions.numberOfRuns).setActive(dataWithoutEnumOptions.isActive) + .setEmailAttachmentFileFormatOptions(dataWithEnumOptions.emailAttachmentFileFormatOptions) + .setStretchyReportParamDateOptions(dataWithEnumOptions.stretchyReportParamDateOptions) + .setRunAsUserId(dataWithoutEnumOptions.runAsUserId); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobEmailData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobEmailData.java index b4b0cf607..1ae1af02d 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobEmailData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobEmailData.java @@ -19,49 +19,21 @@ package org.apache.fineract.infrastructure.reportmailingjob.data; import java.io.File; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; /** * Immutable data object representing report mailing job email data. **/ +@Data +@NoArgsConstructor +@Accessors(chain = true) public class ReportMailingJobEmailData { - private final String to; - private final String text; - private final String subject; - private final File attachment; + private String to; + private String text; + private String subject; + private File attachment; - public ReportMailingJobEmailData(final String to, final String text, final String subject, final File attachment) { - this.to = to; - this.text = text; - this.subject = subject; - this.attachment = attachment; - } - - /** - * @return the to - */ - public String getTo() { - return to; - } - - /** - * @return the text - */ - public String getText() { - return text; - } - - /** - * @return the subject - */ - public String getSubject() { - return subject; - } - - /** - * @return the attachment - */ - public File getAttachment() { - return attachment; - } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobRunHistoryData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobRunHistoryData.java index 48d4d14f3..fd978e4f4 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobRunHistoryData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobRunHistoryData.java @@ -19,33 +19,25 @@ package org.apache.fineract.infrastructure.reportmailingjob.data; import java.time.ZonedDateTime; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; /** * Immutable data object representing report mailing job run history data. **/ +@Data +@NoArgsConstructor +@Accessors(chain = true) public final class ReportMailingJobRunHistoryData { - private final Long id; - private final Long reportMailingJobId; - private final ZonedDateTime startDateTime; - private final ZonedDateTime endDateTime; - private final String status; - private final String errorMessage; - private final String errorLog; - - /** - * ReportMailingJobRunHistoryData private constructor - **/ - private ReportMailingJobRunHistoryData(Long id, Long reportMailingJobId, ZonedDateTime startDateTime, ZonedDateTime endDateTime, - String status, String errorMessage, String errorLog) { - this.id = id; - this.reportMailingJobId = reportMailingJobId; - this.startDateTime = startDateTime; - this.endDateTime = endDateTime; - this.status = status; - this.errorMessage = errorMessage; - this.errorLog = errorLog; - } + private Long id; + private Long reportMailingJobId; + private ZonedDateTime startDateTime; + private ZonedDateTime endDateTime; + private String status; + private String errorMessage; + private String errorLog; /** * creates an instance of the ReportMailingJobRunHistoryData class @@ -54,55 +46,7 @@ public final class ReportMailingJobRunHistoryData { **/ public static ReportMailingJobRunHistoryData newInstance(Long id, Long reportMailingJobId, ZonedDateTime startDateTime, ZonedDateTime endDateTime, String status, String errorMessage, String errorLog) { - return new ReportMailingJobRunHistoryData(id, reportMailingJobId, startDateTime, endDateTime, status, errorMessage, errorLog); - } - - /** - * @return the id - */ - public Long getId() { - return id; - } - - /** - * @return the reportMailingJobId - */ - public Long getReportMailingJobId() { - return reportMailingJobId; - } - - /** - * @return the startDateTime - */ - public ZonedDateTime getStartDateTime() { - return startDateTime; - } - - /** - * @return the endDateTime - */ - public ZonedDateTime getEndDateTime() { - return endDateTime; - } - - /** - * @return the status - */ - public String getStatus() { - return status; - } - - /** - * @return the errorMessage - */ - public String getErrorMessage() { - return errorMessage; - } - - /** - * @return the errorLog - */ - public String getErrorLog() { - return errorLog; + return new ReportMailingJobRunHistoryData().setId(id).setReportMailingJobId(reportMailingJobId).setStartDateTime(startDateTime) + .setEndDateTime(endDateTime).setStatus(status).setErrorMessage(errorMessage).setErrorLog(errorLog); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobTimelineData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobTimelineData.java index c760ebbf3..d240dfd91 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobTimelineData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobTimelineData.java @@ -19,42 +19,25 @@ package org.apache.fineract.infrastructure.reportmailingjob.data; import java.time.LocalDate; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; /** * Immutable data object represent the timeline events of a report mailing job (creation) **/ +@Data +@NoArgsConstructor +@Accessors(chain = true) @SuppressWarnings("unused") public class ReportMailingJobTimelineData { - private final LocalDate createdOnDate; - private final String createdByUsername; - private final String createdByFirstname; - private final String createdByLastname; - private final LocalDate updatedOnDate; - private final String updatedByUsername; - private final String updatedByFirstname; - private final String updatedByLastname; - - /** - * @param createdOnDate - * @param createdByUsername - * @param createdByFirstname - * @param createdByLastname - * @param updatedOnDate - * @param updatedByUsername - * @param updatedByFirstname - * @param updatedByLastname - */ - public ReportMailingJobTimelineData(LocalDate createdOnDate, String createdByUsername, String createdByFirstname, - String createdByLastname, LocalDate updatedOnDate, String updatedByUsername, String updatedByFirstname, - String updatedByLastname) { - this.createdOnDate = createdOnDate; - this.createdByUsername = createdByUsername; - this.createdByFirstname = createdByFirstname; - this.createdByLastname = createdByLastname; - this.updatedOnDate = updatedOnDate; - this.updatedByUsername = updatedByUsername; - this.updatedByFirstname = updatedByFirstname; - this.updatedByLastname = updatedByLastname; - } + private LocalDate createdOnDate; + private String createdByUsername; + private String createdByFirstname; + private String createdByLastname; + private LocalDate updatedOnDate; + private String updatedByUsername; + private String updatedByFirstname; + private String updatedByLastname; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJob.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJob.java index 2ab21a1ae..9f9834721 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJob.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJob.java @@ -28,6 +28,10 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.UniqueConstraint; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.experimental.Accessors; import org.apache.commons.lang3.StringUtils; import org.apache.fineract.infrastructure.core.api.JsonCommand; import org.apache.fineract.infrastructure.core.domain.AbstractAuditableCustom; @@ -35,11 +39,14 @@ import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.infrastructure.dataqueries.domain.Report; import org.apache.fineract.infrastructure.reportmailingjob.ReportMailingJobConstants; import org.apache.fineract.infrastructure.reportmailingjob.data.ReportMailingJobEmailAttachmentFileFormat; -import org.apache.fineract.infrastructure.reportmailingjob.data.ReportMailingJobPreviousRunStatus; import org.apache.fineract.useradministration.domain.AppUser; @Entity @Table(name = "m_report_mailing_job", uniqueConstraints = { @UniqueConstraint(columnNames = { "name" }, name = "unique_name") }) +@Getter +@Setter +@NoArgsConstructor +@Accessors(chain = true) public class ReportMailingJob extends AbstractAuditableCustom { private static final long serialVersionUID = -2197602941230009227L; @@ -103,64 +110,6 @@ public class ReportMailingJob extends AbstractAuditableCustom { @JoinColumn(name = "run_as_userid", nullable = false) private AppUser runAsUser; - /** - * ReportMailingJob protected constructor - **/ - protected ReportMailingJob() {} - - /** - * ReportMailingJob private constructor - **/ - private ReportMailingJob(final String name, final String description, final LocalDateTime startDateTime, final String recurrence, - final String emailRecipients, final String emailSubject, final String emailMessage, - final ReportMailingJobEmailAttachmentFileFormat emailAttachmentFileFormat, final Report stretchyReport, - final String stretchyReportParamMap, final LocalDateTime previousRunDateTime, final LocalDateTime nextRunDateTime, - final ReportMailingJobPreviousRunStatus previousRunStatus, final String previousRunErrorLog, - final String previousRunErrorMessage, final boolean isActive, final boolean isDeleted, final AppUser runAsUser) { - this.name = name; - this.description = description; - this.startDateTime = null; - - if (startDateTime != null) { - this.startDateTime = startDateTime; - } - - this.recurrence = recurrence; - this.emailRecipients = emailRecipients; - this.emailSubject = emailSubject; - this.emailMessage = emailMessage; - this.emailAttachmentFileFormat = emailAttachmentFileFormat.getValue(); - this.stretchyReport = stretchyReport; - this.stretchyReportParamMap = stretchyReportParamMap; - this.previousRunDateTime = null; - - if (previousRunDateTime != null) { - this.previousRunDateTime = previousRunDateTime; - } - - this.nextRunDateTime = null; - - if (nextRunDateTime != null) { - this.nextRunDateTime = nextRunDateTime; - } - - this.previousRunStatus = null; - - if (previousRunStatus != null) { - this.previousRunStatus = previousRunStatus.getValue(); - } - - if (numberOfRuns == null) { - this.numberOfRuns = 0; - } - - this.previousRunErrorLog = previousRunErrorLog; - this.previousRunErrorMessage = previousRunErrorMessage; - this.isActive = isActive; - this.isDeleted = isDeleted; - this.runAsUser = runAsUser; - } - /** * create a new instance of the ReportMailingJob for a new entry * @@ -170,9 +119,10 @@ public class ReportMailingJob extends AbstractAuditableCustom { final String recurrence, final String emailRecipients, final String emailSubject, final String emailMessage, final ReportMailingJobEmailAttachmentFileFormat emailAttachmentFileFormat, final Report stretchyReport, final String stretchyReportParamMap, final boolean isActive, final AppUser runAsUser) { - return new ReportMailingJob(name, description, startDateTime, recurrence, emailRecipients, emailSubject, emailMessage, - emailAttachmentFileFormat, stretchyReport, stretchyReportParamMap, null, null, null, null, null, isActive, false, - runAsUser); + return new ReportMailingJob().setName(name).setDescription(description).setStartDateTime(startDateTime).setRecurrence(recurrence) + .setEmailRecipients(emailRecipients).setEmailSubject(emailSubject).setEmailMessage(emailMessage) + .setEmailAttachmentFileFormat(emailAttachmentFileFormat.getValue()).setStretchyReport(stretchyReport) + .setStretchyReportParamMap(stretchyReportParamMap).setActive(isActive).setDeleted(false).setRunAsUser(runAsUser); } /** @@ -207,9 +157,11 @@ public class ReportMailingJob extends AbstractAuditableCustom { } } - return new ReportMailingJob(name, description, startDateTime, recurrence, emailRecipients, emailSubject, emailMessage, - emailAttachmentFileFormat, stretchyReport, stretchyReportParamMap, null, startDateTime, null, null, null, isActive, false, - runAsUser); + return new ReportMailingJob().setName(name).setDescription(description).setStartDateTime(startDateTime).setRecurrence(recurrence) + .setEmailRecipients(emailRecipients).setEmailSubject(emailSubject).setEmailMessage(emailMessage) + .setEmailAttachmentFileFormat(emailAttachmentFileFormat.getValue()).setStretchyReport(stretchyReport) + .setStretchyReportParamMap(stretchyReportParamMap).setNextRunDateTime(startDateTime).setActive(isActive).setDeleted(false) + .setRunAsUser(runAsUser); } /** @@ -324,19 +276,6 @@ public class ReportMailingJob extends AbstractAuditableCustom { return actualChanges; } - /** - * update the stretchy report entity associated with the credit check - * - * @param stretchyReport - * -- Report entity - * - **/ - public void update(final Report stretchyReport) { - if (stretchyReport != null) { - this.stretchyReport = stretchyReport; - } - } - /** * delete the report mailing job, set the isDeleted property to 1 and alter the name * @@ -348,153 +287,6 @@ public class ReportMailingJob extends AbstractAuditableCustom { this.name = this.name + "_deleted_" + this.getId(); } - /** - * @return the value of the name property - **/ - public String getName() { - return this.name; - } - - /** - * @return the value of the description property - **/ - public String getDescription() { - return this.description; - } - - /** - * @return the value of the startDateTime property - **/ - public LocalDateTime getStartDateTime() { - return this.startDateTime; - } - - /** - * @return the value of the recurrence property - **/ - public String getRecurrence() { - return this.recurrence; - } - - /** - * @return value of the isDeleted property - **/ - public boolean isDeleted() { - return this.isDeleted; - } - - /** - * @return boolean true if isDeleted property equals 0, else false - **/ - public boolean isNotDeleted() { - return !this.isDeleted; - } - - /** - * @return the value of the isActive property - **/ - public boolean isActive() { - return this.isActive; - } - - /** - * @return boolean true if isActive property equals 0, else false - **/ - public boolean isNotActive() { - return !this.isActive; - } - - /** - * @return the emailRecipients - */ - public String getEmailRecipients() { - return emailRecipients; - } - - /** - * @return the emailSubject - */ - public String getEmailSubject() { - return emailSubject; - } - - /** - * @return the emailMessage - */ - public String getEmailMessage() { - return emailMessage; - } - - /** - * @return the emailAttachmentFileFormat - */ - public String getEmailAttachmentFileFormat() { - return emailAttachmentFileFormat; - } - - /** - * @return the stretchyReport - */ - public Report getStretchyReport() { - return stretchyReport; - } - - /** - * @return the stretchyReportParamMap - */ - public String getStretchyReportParamMap() { - return stretchyReportParamMap; - } - - /** - * @return the previousRunDateTime - */ - public LocalDateTime getPreviousRunDateTime() { - return this.previousRunDateTime; - } - - /** - * @return the nextRunDateTime - */ - public LocalDateTime getNextRunDateTime() { - return this.nextRunDateTime; - } - - /** - * @return the previousRunStatus - */ - public String getPreviousRunStatus() { - return previousRunStatus; - } - - /** - * @return the previousRunErrorLog - */ - public String getPreviousRunErrorLog() { - return previousRunErrorLog; - } - - /** - * @return the previousRunErrorMessage - */ - public String getPreviousRunErrorMessage() { - return previousRunErrorMessage; - } - - /** - * @return the numberOfRuns - */ - public Integer getNumberOfRuns() { - return numberOfRuns; - } - - /** - * @return the runAsUser - */ - public AppUser getRunAsUser() { - return runAsUser; - } - /** * increase the numberOfRuns by 1 * @@ -504,66 +296,4 @@ public class ReportMailingJob extends AbstractAuditableCustom { this.numberOfRuns++; } - /** - * update the previousRunStatus - * - * @param previousRunStatus - * -- the status of the previous job execution - * - **/ - public void updatePreviousRunStatus(final String previousRunStatus) { - if (!StringUtils.isEmpty(previousRunStatus)) { - this.previousRunStatus = previousRunStatus; - } - } - - /** - * update the previousRunDateTime - * - * @param previousRunDateTime - * -- previous run date - * - **/ - public void updatePreviousRunDateTime(final LocalDateTime previousRunDateTime) { - if (previousRunDateTime != null) { - this.previousRunDateTime = previousRunDateTime; - } - } - - /** - * update the nextRunDateTime - * - * @param nextRunDateTime - * -- the next run DateTime - * - **/ - public void updateNextRunDateTime(final LocalDateTime nextRunDateTime) { - if (nextRunDateTime != null) { - this.nextRunDateTime = nextRunDateTime; - } - - else { - this.nextRunDateTime = null; - } - } - - /** - * deactivate the report mailing job by setting the isActive property to 0 - * - * - **/ - public void deactivate() { - this.isActive = false; - } - - /** - * update the previousRunErrorLog property - * - * @param previousRunErrorLog - * -- the previous job run error log - * - **/ - public void updatePreviousRunErrorLog(final String previousRunErrorLog) { - this.previousRunErrorLog = previousRunErrorLog; - } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobConfiguration.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobConfiguration.java index bb24cabe4..e747e1caa 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobConfiguration.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobConfiguration.java @@ -22,11 +22,19 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.UniqueConstraint; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.experimental.Accessors; import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom; @Entity @Table(name = "m_report_mailing_job_configuration", uniqueConstraints = { @UniqueConstraint(columnNames = { "name" }, name = "unique_name") }) +@Getter +@Setter +@NoArgsConstructor +@Accessors(chain = true) public class ReportMailingJobConfiguration extends AbstractPersistableCustom { private static final long serialVersionUID = 3099279770861263184L; @@ -37,39 +45,12 @@ public class ReportMailingJobConfiguration extends AbstractPersistableCustom { @Column(name = "value", nullable = false) private String value; - /** - * ReportMailingJobConfiguration protected constructor - **/ - protected ReportMailingJobConfiguration() {} - - /** - * ReportMailingJobConfiguration private constructor - **/ - private ReportMailingJobConfiguration(final String name, final String value) { - this.name = name; - this.value = value; - } - /** * creates an instance of the ReportMailingJobConfiguration class * * @return ReportMailingJobConfiguration object **/ public static ReportMailingJobConfiguration newInstance(final String name, final String value) { - return new ReportMailingJobConfiguration(name, value); - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @return the value - */ - public String getValue() { - return value; + return new ReportMailingJobConfiguration().setName(name).setValue(value); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobRunHistory.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobRunHistory.java index 50162da4a..9ba59e434 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobRunHistory.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobRunHistory.java @@ -24,10 +24,18 @@ import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.experimental.Accessors; import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom; @Entity @Table(name = "m_report_mailing_job_run_history") +@Getter +@Setter +@NoArgsConstructor +@Accessors(chain = true) public class ReportMailingJobRunHistory extends AbstractPersistableCustom { private static final long serialVersionUID = -3757370929988421076L; @@ -51,34 +59,6 @@ public class ReportMailingJobRunHistory extends AbstractPersistableCustom { @Column(name = "error_log", nullable = false) private String errorLog; - /** - * ReportMailingJobRunHistory protected constructor - **/ - protected ReportMailingJobRunHistory() {} - - /** - * ReportMailingJobRunHistory private constructor - **/ - private ReportMailingJobRunHistory(final ReportMailingJob reportMailingJob, final LocalDateTime startDateTime, - final LocalDateTime endDateTime, final String status, final String errorMessage, final String errorLog) { - this.reportMailingJob = reportMailingJob; - this.startDateTime = null; - - if (startDateTime != null) { - this.startDateTime = startDateTime; - } - - this.endDateTime = null; - - if (endDateTime != null) { - this.endDateTime = endDateTime; - } - - this.status = status; - this.errorMessage = errorMessage; - this.errorLog = errorLog; - } - /** * Creates an instance of the ReportMailingJobRunHistory class * @@ -86,48 +66,7 @@ public class ReportMailingJobRunHistory extends AbstractPersistableCustom { **/ public static ReportMailingJobRunHistory newInstance(final ReportMailingJob reportMailingJob, final LocalDateTime startDateTime, final LocalDateTime endDateTime, final String status, final String errorMessage, final String errorLog) { - return new ReportMailingJobRunHistory(reportMailingJob, startDateTime, endDateTime, status, errorMessage, errorLog); - } - - /** - * @return the reportMailingJobId - */ - public ReportMailingJob getReportMailingJob() { - return this.reportMailingJob; - } - - /** - * @return the startDateTime - */ - public LocalDateTime getStartDateTime() { - return this.startDateTime; - } - - /** - * @return the endDateTime - */ - public LocalDateTime getEndDateTime() { - return this.endDateTime; - } - - /** - * @return the status - */ - public String getStatus() { - return status; - } - - /** - * @return the errorMessage - */ - public String getErrorMessage() { - return errorMessage; - } - - /** - * @return the errorLog - */ - public String getErrorLog() { - return errorLog; + return new ReportMailingJobRunHistory().setReportMailingJob(reportMailingJob).setStartDateTime(startDateTime) + .setEndDateTime(endDateTime).setStatus(status).setErrorMessage(errorMessage).setErrorLog(errorLog); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobReadPlatformServiceImpl.java index 8f3081082..0a422be64 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobReadPlatformServiceImpl.java @@ -181,8 +181,10 @@ public class ReportMailingJobReadPlatformServiceImpl implements ReportMailingJob final String updatedByUsername = rs.getString("updatedByUsername"); final String updatedByFirstname = rs.getString("updatedByFirstname"); final String updatedByLastname = rs.getString("updatedByLastname"); - final ReportMailingJobTimelineData timeline = new ReportMailingJobTimelineData(createdOnDate, createdByUsername, - createdByFirstname, createdByLastname, updatedOnDate, updatedByUsername, updatedByFirstname, updatedByLastname); + final ReportMailingJobTimelineData timeline = new ReportMailingJobTimelineData().setCreatedOnDate(createdOnDate) + .setCreatedByUsername(createdByUsername).setCreatedByFirstname(createdByFirstname) + .setCreatedByLastname(createdByLastname).setUpdatedOnDate(updatedOnDate).setUpdatedByUsername(updatedByUsername) + .setUpdatedByFirstname(updatedByFirstname).setUpdatedByLastname(updatedByLastname); final Long runAsUserId = JdbcSupport.getLong(rs, "runAsUserId"); final Long reportId = JdbcSupport.getLong(rs, "reportId"); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java index 0146f84b4..57abc71f3 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java @@ -123,7 +123,7 @@ public class ReportMailingJobWritePlatformServiceImpl implements ReportMailingJo final Report stretchyReport = this.reportRepositoryWrapper.findOneThrowExceptionIfNotFound(stretchyReportId); // update the stretchy report - reportMailingJob.update(stretchyReport); + reportMailingJob.setStretchyReport(stretchyReport); } // check if the recurrence was updated @@ -146,13 +146,13 @@ public class ReportMailingJobWritePlatformServiceImpl implements ReportMailingJo final LocalDateTime nextRecurringDateTime = this.createNextRecurringDateTime(recurrence, startDateTime); // update the next run time property - reportMailingJob.updateNextRunDateTime(nextRecurringDateTime); + reportMailingJob.setNextRunDateTime(nextRecurringDateTime); // check if the next run LocalDateTime is not empty and the // recurrence is empty } else if (StringUtils.isBlank(recurrence) && (nextRunDateTime != null)) { // the next run LocalDateTime should be set to null - reportMailingJob.updateNextRunDateTime(null); + reportMailingJob.setNextRunDateTime(null); } } @@ -170,7 +170,7 @@ public class ReportMailingJobWritePlatformServiceImpl implements ReportMailingJo } // update the next run time property - reportMailingJob.updateNextRunDateTime(nextRecurringDateTime); + reportMailingJob.setNextRunDateTime(nextRecurringDateTime); } if (!changes.isEmpty()) {