From 7c6b15e3bcba9395e0a2eef674ec3603e60fa45c Mon Sep 17 00:00:00 2001 From: percyashu Date: Tue, 9 Jun 2020 05:56:43 +0100 Subject: [PATCH] FINERACT-822 enable ImmutableEnumChecker error --- fineract-provider/build.gradle | 4 +- .../campaigns/constants/CampaignType.java | 4 +- .../email/domain/EmailCampaignType.java | 4 +- .../ScheduledEmailAttachmentFileFormat.java | 6 +- ...ledEmailStretchyReportParamDateOption.java | 6 +- .../sms/constants/SmsCampaignTriggerType.java | 4 +- .../dataqueries/data/EntityTables.java | 61 ++++++++++--------- .../dataqueries/data/StatusEnum.java | 8 +-- .../EntityDatatableChecksDataValidator.java | 4 +- ...atatableChecksReadPlatformServiceImpl.java | 5 +- .../domain/StorageType.java | 4 +- ...rtMailingJobEmailAttachmentFileFormat.java | 6 +- ...ilingJobStretchyReportParamDateOption.java | 6 +- ...rtMailingJobEmailAttachmentFileFormat.java | 6 +- .../portfolio/group/domain/GroupTypes.java | 8 +-- .../loanproduct/domain/LendingStrategy.java | 6 +- ...PreClosureInterestCalculationStrategy.java | 4 +- .../portfolio/note/domain/NoteType.java | 6 +- .../template/domain/TemplateEntity.java | 11 +--- .../template/domain/TemplateType.java | 11 +--- 20 files changed, 82 insertions(+), 92 deletions(-) diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle index 25d0946c3..a8a697de4 100644 --- a/fineract-provider/build.gradle +++ b/fineract-provider/build.gradle @@ -367,6 +367,7 @@ tasks.withType(JavaCompile) { "VarTypeName", "ArgumentSelectionDefectChecker", "CompareToZero", + "ImmutableEnumChecker", "NarrowingCompoundAssignment", "MissingCasesInEnumSwitch", "ReferenceEquality", @@ -443,7 +444,8 @@ modernizer { ignorePackages = [] ignoreClassNamePatterns = [ - '.*AbstractPersistableCustom' + '.*AbstractPersistableCustom', + '.*EntityTables' ] ignoreGeneratedClasses = true diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/constants/CampaignType.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/constants/CampaignType.java index f9a3295e3..c9ee37b55 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/constants/CampaignType.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/constants/CampaignType.java @@ -23,8 +23,8 @@ import org.apache.fineract.infrastructure.core.data.EnumOptionData; public enum CampaignType { INVALID(0, "campaignType.invalid"), SMS(1, "campaignType.sms"), NOTIFICATION(2, "campaignType.notification"); - private Integer value; - private String code; + private final Integer value; + private final String code; private CampaignType(Integer value, String code) { this.value = value; diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/EmailCampaignType.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/EmailCampaignType.java index f443719f8..8d613a957 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/EmailCampaignType.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/EmailCampaignType.java @@ -22,8 +22,8 @@ public enum EmailCampaignType { DIRECT(1,"emailCampaignStatusType.direct"), SCHEDULE(2,"emailCampaignStatusType.schedule"); - private Integer value; - private String code; + private final Integer value; + private final String code; EmailCampaignType(Integer value, String code) { this.value = value; diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/ScheduledEmailAttachmentFileFormat.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/ScheduledEmailAttachmentFileFormat.java index 295a89f8e..aa26a6fdc 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/ScheduledEmailAttachmentFileFormat.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/ScheduledEmailAttachmentFileFormat.java @@ -24,9 +24,9 @@ public enum ScheduledEmailAttachmentFileFormat { PDF(2, "EmailAttachmentFileFormat.pdf", "pdf"), CSV(3, "EmailAttachmentFileFormat.csv", "csv"); - private String code; - private String value; - private Integer id; + private final String code; + private final String value; + private final Integer id; ScheduledEmailAttachmentFileFormat(final Integer id, final String code, final String value) { this.value = value; diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/ScheduledEmailStretchyReportParamDateOption.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/ScheduledEmailStretchyReportParamDateOption.java index fb9f2cec3..d36557f09 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/ScheduledEmailStretchyReportParamDateOption.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/domain/ScheduledEmailStretchyReportParamDateOption.java @@ -24,9 +24,9 @@ public enum ScheduledEmailStretchyReportParamDateOption { // YESTERDAY(2, "scheduledEmailStretchyReportParamDateOption.yesterday", "yesterday"), TOMORROW(3, "scheduledEmailStretchyReportParamDateOption.tomorrow", "tomorrow"); - private String code; - private String value; - private Integer id; + private final String code; + private final String value; + private final Integer id; /** * @param id diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/constants/SmsCampaignTriggerType.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/constants/SmsCampaignTriggerType.java index a133e6f9d..18d9d1089 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/constants/SmsCampaignTriggerType.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/constants/SmsCampaignTriggerType.java @@ -24,8 +24,8 @@ public enum SmsCampaignTriggerType { INVALID(-1, "triggerType.invalid"), DIRECT(1, "triggerType.direct"), SCHEDULE(2, "triggerType.schedule"), TRIGGERED(3, "triggerType.triggered"); - private Integer value; - private String code; + private final Integer value; + private final String code; private SmsCampaignTriggerType(Integer value, String code) { this.value = value; diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/EntityTables.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/EntityTables.java index be964591b..7a58093c8 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/EntityTables.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/EntityTables.java @@ -18,6 +18,7 @@ */ package org.apache.fineract.infrastructure.dataqueries.data; +import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -26,45 +27,45 @@ import java.util.Map; public enum EntityTables { CLIENT("m_client", - new Integer[]{StatusEnum.CREATE.getCode(), - StatusEnum.ACTIVATE.getCode(), - StatusEnum.CLOSE.getCode()}, - "client_id"), + ImmutableList.of(StatusEnum.CREATE.getCode(), + StatusEnum.ACTIVATE.getCode(), + StatusEnum.CLOSE.getCode()), + "client_id"), LOAN("m_loan", - new Integer[]{StatusEnum.CREATE.getCode(), - StatusEnum.APPROVE.getCode(), - StatusEnum.DISBURSE.getCode(), - StatusEnum.WITHDRAWN.getCode(), - StatusEnum.REJECTED.getCode(), - StatusEnum.WRITE_OFF.getCode()}, - "loan_id"), + ImmutableList.of(StatusEnum.CREATE.getCode(), + StatusEnum.APPROVE.getCode(), + StatusEnum.DISBURSE.getCode(), + StatusEnum.WITHDRAWN.getCode(), + StatusEnum.REJECTED.getCode(), + StatusEnum.WRITE_OFF.getCode()), + "loan_id"), GROUP("m_group", - new Integer[]{StatusEnum.CREATE.getCode(), - StatusEnum.ACTIVATE.getCode(), - StatusEnum.CLOSE.getCode(),}, - "group_id"), + ImmutableList.of(StatusEnum.CREATE.getCode(), + StatusEnum.ACTIVATE.getCode(), + StatusEnum.CLOSE.getCode()), + "group_id"), SAVING("m_savings_account", - new Integer[]{StatusEnum.CREATE.getCode(), - StatusEnum.APPROVE.getCode(), - StatusEnum.ACTIVATE.getCode(), - StatusEnum.WITHDRAWN.getCode(), - StatusEnum.REJECTED.getCode(), - StatusEnum.CLOSE.getCode()}, - "savings_account_id"); + ImmutableList.of(StatusEnum.CREATE.getCode(), + StatusEnum.APPROVE.getCode(), + StatusEnum.ACTIVATE.getCode(), + StatusEnum.WITHDRAWN.getCode(), + StatusEnum.REJECTED.getCode(), + StatusEnum.CLOSE.getCode()), + "savings_account_id"); private static final Map lookup = new HashMap(); static { for (EntityTables d : EntityTables.values()) - { lookup.put(d.getName(), d);} + { lookup.put(d.getName(), d);} } - private String name; + private final String name; - private Integer[] codes; + private final ImmutableList codes; - private String foreignKeyColumnNameOnDatatable; + private final String foreignKeyColumnNameOnDatatable; - private EntityTables(String name, Integer[] codes, String foreignKeyColumnNameOnDatatable) { + private EntityTables(String name, ImmutableList codes, String foreignKeyColumnNameOnDatatable) { this.name = name; this.codes = codes; this.foreignKeyColumnNameOnDatatable = foreignKeyColumnNameOnDatatable; @@ -82,14 +83,14 @@ public enum EntityTables { } - public static Integer[] getStatus(String name) { + public static ImmutableList getStatus(String name) { if (lookup.get(name) != null) { return lookup.get(name).getCodes(); } - return new Integer[]{}; + return ImmutableList.of(); } - public Integer[] getCodes() { + public ImmutableList getCodes() { return this.codes; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/StatusEnum.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/StatusEnum.java index 692bd2b17..82c922821 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/StatusEnum.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/StatusEnum.java @@ -27,14 +27,14 @@ public enum StatusEnum { CREATE("create", 100), APPROVE("approve", 200), ACTIVATE("activate", 300), WITHDRAWN("withdraw", 400), REJECTED("reject", 500), CLOSE( "close", 600), WRITE_OFF("write off", 601), RESCHEDULE("reschedule", 602), OVERPAY("overpay", 700), DISBURSE("disburse", 800); - private String name; + private final String name; - public Integer getCode() { + private final Integer code; + + public Integer getCode() { return code; } - private Integer code; - private StatusEnum(String name, Integer code) { this.name = name; diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksDataValidator.java index 767190808..2f712ddf6 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksDataValidator.java @@ -73,7 +73,7 @@ public final class EntityDatatableChecksDataValidator { .isOneOfTheseStringValues(EntityTables.getEntitiesList()); final Integer status = this.fromApiJsonHelper.extractIntegerSansLocaleNamed("status", element); - final Object[] entityTablesStatuses = EntityTables.getStatus(entity); + final Object[] entityTablesStatuses = EntityTables.getStatus(entity).toArray(); baseDataValidator.reset().parameter("status").value(status).isOneOfTheseValues(entityTablesStatuses); @@ -98,4 +98,4 @@ public final class EntityDatatableChecksDataValidator { throw new PlatformApiDataValidationException(dataValidationErrors); } } -} \ No newline at end of file +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadPlatformServiceImpl.java index 27ba724a1..2809f2db5 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadPlatformServiceImpl.java @@ -18,6 +18,7 @@ */ package org.apache.fineract.infrastructure.dataqueries.service; +import com.google.common.collect.ImmutableList; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; @@ -151,7 +152,7 @@ public class EntityDatatableChecksReadPlatformServiceImpl implements EntityDatat } - private List getStatusList(Integer[] statuses) { + private List getStatusList(ImmutableList statuses) { List ret = new ArrayList<>(); if (statuses != null) { for (Integer status : statuses) { @@ -216,4 +217,4 @@ public class EntityDatatableChecksReadPlatformServiceImpl implements EntityDatat } } -} \ No newline at end of file +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/documentmanagement/domain/StorageType.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/documentmanagement/domain/StorageType.java index 0a2757a50..56efab343 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/documentmanagement/domain/StorageType.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/documentmanagement/domain/StorageType.java @@ -24,7 +24,7 @@ import java.util.Map; public enum StorageType { FILE_SYSTEM(1), S3(2); - private Integer value; + private final Integer value; StorageType(final Integer value) { this.value = value; @@ -45,4 +45,4 @@ public enum StorageType { final StorageType type = intToEnumMap.get(Integer.valueOf(i)); return type; } -} \ No newline at end of file +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobEmailAttachmentFileFormat.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobEmailAttachmentFileFormat.java index 7bbad12fe..bf28d6a45 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobEmailAttachmentFileFormat.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobEmailAttachmentFileFormat.java @@ -29,9 +29,9 @@ public enum ReportMailingJobEmailAttachmentFileFormat { PDF(2, "ReportMailingJobEmailAttachmentFileFormat.PDF", "PDF"), CSV(3, "ReportMailingJobEmailAttachmentFileFormat.CSV", "CSV"); - private String code; - private String value; - private Integer id; + private final String code; + private final String value; + private final Integer id; ReportMailingJobEmailAttachmentFileFormat(final Integer id, final String code, final String value) { this.value = value; diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobStretchyReportParamDateOption.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobStretchyReportParamDateOption.java index 075e48dcc..7de02b407 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobStretchyReportParamDateOption.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobStretchyReportParamDateOption.java @@ -29,9 +29,9 @@ public enum ReportMailingJobStretchyReportParamDateOption { YESTERDAY(2, "ReportMailingJobStretchyReportParamDateOption.YESTERDAY", "Yesterday"), TOMORROW(3, "ReportMailingJobStretchyReportParamDateOption.TOMORROW", "Tomorrow"); - private String code; - private String value; - private Integer id; + private final String code; + private final String value; + private final Integer id; /** * @param id diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobEmailAttachmentFileFormat.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobEmailAttachmentFileFormat.java index b014cac4e..6d1806dfe 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobEmailAttachmentFileFormat.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobEmailAttachmentFileFormat.java @@ -24,9 +24,9 @@ public enum ReportMailingJobEmailAttachmentFileFormat { PDF(2, "ReportMailingJobEmailAttachmentFileFormat.pdf", "pdf"), CSV(3, "ReportMailingJobEmailAttachmentFileFormat.csv", "csv"); - private String code; - private String value; - private Integer id; + private final String code; + private final String value; + private final Integer id; private ReportMailingJobEmailAttachmentFileFormat(final Integer id, final String code, final String value) { this.value = value; diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/domain/GroupTypes.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/domain/GroupTypes.java index 428c98732..236f6df29 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/domain/GroupTypes.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/domain/GroupTypes.java @@ -27,9 +27,9 @@ public enum GroupTypes { CENTER(1L, "groupTypes.center", "center"), // GROUP(2L, "groupTypes.group", "group"); // - private Long id; - private String code; - private String value; + private final Long id; + private final String code; + private final String value; private GroupTypes(final Long id, final String code, final String value) { this.id = id; @@ -86,4 +86,4 @@ public enum GroupTypes { public String getValue() { return this.value; } -} \ No newline at end of file +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LendingStrategy.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LendingStrategy.java index aeff4ee19..25403336e 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LendingStrategy.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LendingStrategy.java @@ -38,9 +38,9 @@ public enum LendingStrategy { LINKED_LOAN(400, "lendingStrategy.linkedLoan", "linkedLoan"), // INVALID(900, "lendingStrategy.invalid", "invalid"); - private Integer id; - private String code; - private String value; + private final Integer id; + private final String code; + private final String value; LendingStrategy(final Integer id, final String code, final String value) { this.id = id; diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanPreClosureInterestCalculationStrategy.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanPreClosureInterestCalculationStrategy.java index e8d428ee2..4b4b64b22 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanPreClosureInterestCalculationStrategy.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanPreClosureInterestCalculationStrategy.java @@ -30,8 +30,8 @@ public enum LoanPreClosureInterestCalculationStrategy { // REPAYMENT_PERIOD_DATE(3, // "loanPreClosureInterestCalculationStrategy.repaymentPeriodDate") - private Integer value; - private String code; + private final Integer value; + private final String code; private static final Map intToEnumMap = new HashMap<>(); private static int minValue; diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/domain/NoteType.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/domain/NoteType.java index ed61bcf95..3610a7a70 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/domain/NoteType.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/domain/NoteType.java @@ -31,9 +31,9 @@ public enum NoteType { SHARE_ACCOUNT(700, "noteType.shares", "accounts/share"), SAVINGS_TRANSACTION(800, "noteType.savings.transaction", "savingsTransactions"); - private Integer value; - private String code; - private String apiUrl; + private final Integer value; + private final String code; + private final String apiUrl; NoteType(final Integer value, final String code, final String apiUrl) { this.value = value; diff --git a/fineract-provider/src/main/java/org/apache/fineract/template/domain/TemplateEntity.java b/fineract-provider/src/main/java/org/apache/fineract/template/domain/TemplateEntity.java index 164e53b46..c21556f42 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/template/domain/TemplateEntity.java +++ b/fineract-provider/src/main/java/org/apache/fineract/template/domain/TemplateEntity.java @@ -28,8 +28,8 @@ public enum TemplateEntity { CLIENT(0, "client"), @SerializedName("loan") LOAN(1, "loan"); - private int id; - private String name; + private final int id; + private final String name; private TemplateEntity(final int id, final String name) { this.id = id; @@ -40,15 +40,8 @@ public enum TemplateEntity { return this.name; } - public void setName(final String name) { - this.name = name; - } - public int getId() { return this.id; } - public void setId(final int id) { - this.id = id; - } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/template/domain/TemplateType.java b/fineract-provider/src/main/java/org/apache/fineract/template/domain/TemplateType.java index 3a3fefdb2..97f071355 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/template/domain/TemplateType.java +++ b/fineract-provider/src/main/java/org/apache/fineract/template/domain/TemplateType.java @@ -31,8 +31,8 @@ public enum TemplateType { /** * @SerializedName("E-Mail") EMAIL(1, "E-Mail") */ - private int id; - private String name; + private final int id; + private final String name; private TemplateType(final int id, final String name) { this.id = id; @@ -43,15 +43,8 @@ public enum TemplateType { return this.id; } - public void setId(final int id) { - this.id = id; - } - public String getName() { return this.name; } - public void setName(final String name) { - this.name = name; - } }