From 3d332f0840177b08a12a44f57834d763d73d3c9c Mon Sep 17 00:00:00 2001 From: Hemant Gupta Date: Thu, 13 Oct 2022 04:41:55 +0530 Subject: [PATCH] refactor: add lombok to mix module --- .../apache/fineract/mix/data/ContextData.java | 31 ++++--------- .../fineract/mix/data/MixTaxonomyData.java | 46 ++++++------------- .../mix/data/MixTaxonomyMappingData.java | 24 ++++------ .../fineract/mix/data/NamespaceData.java | 24 ++++------ .../apache/fineract/mix/data/XBRLData.java | 37 ++++----------- .../mix/domain/MixTaxonomyMapping.java | 14 ++++-- ...axonomyMappingReadPlatformServiceImpl.java | 2 +- .../MixTaxonomyReadPlatformServiceImpl.java | 3 +- .../NamespaceReadPlatformServiceImpl.java | 2 +- .../fineract/mix/service/XBRLBuilder.java | 10 ++-- .../mix/service/XBRLResultServiceImpl.java | 2 +- .../report/MixXbrlBuilderStepDefinitions.java | 2 +- 12 files changed, 74 insertions(+), 123 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/data/ContextData.java b/fineract-provider/src/main/java/org/apache/fineract/mix/data/ContextData.java index f1556d92b..7510f0d42 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/data/ContextData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/data/ContextData.java @@ -18,29 +18,18 @@ */ package org.apache.fineract.mix.data; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +@Data +@NoArgsConstructor +@Accessors(chain = true) public class ContextData { - private final String dimensionType; - private final String dimension; - private final Integer periodType; - - public ContextData(final String dimensionType, final String dimension, final Integer taxonomyType) { - this.dimensionType = dimensionType; - this.dimension = dimension; - this.periodType = taxonomyType.equals(MixTaxonomyData.BALANCESHEET) || taxonomyType.equals(MixTaxonomyData.PORTFOLIO) ? 0 : 1; - } - - public String getDimensionType() { - return this.dimensionType; - } - - public String getDimension() { - return this.dimension; - } - - public Integer getPeriodType() { - return this.periodType; - } + private String dimensionType; + private String dimension; + private Integer periodType; @Override public int hashCode() { diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/data/MixTaxonomyData.java b/fineract-provider/src/main/java/org/apache/fineract/mix/data/MixTaxonomyData.java index 5fc94b16c..7be6199f9 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/data/MixTaxonomyData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/data/MixTaxonomyData.java @@ -18,6 +18,13 @@ */ package org.apache.fineract.mix.data; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +@Data +@NoArgsConstructor +@Accessors(chain = true) public class MixTaxonomyData { public static final Integer PORTFOLIO = 0; @@ -26,40 +33,13 @@ public class MixTaxonomyData { public static final Integer EXPENSE = 3; @SuppressWarnings("unused") - private final Long id; - private final String name; - private final String namespace; - private final String dimension; - private final Integer type; + private Long id; + private String name; + private String namespace; + private String dimension; + private Integer type; @SuppressWarnings("unused") - private final String description; - - public MixTaxonomyData(final Long id, final String name, final String namespace, final String dimension, final Integer type, - final String description) { - - this.id = id; - this.name = name; - this.namespace = namespace; - this.dimension = dimension; - this.type = type; - this.description = description; - } - - public String getName() { - return this.name; - } - - public String getNamespace() { - return this.namespace; - } - - public String getDimension() { - return this.dimension; - } - - public Integer getType() { - return this.type; - } + private String description; public boolean isPortfolio() { return this.type == 5; diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/data/MixTaxonomyMappingData.java b/fineract-provider/src/main/java/org/apache/fineract/mix/data/MixTaxonomyMappingData.java index 10565923e..8b34240c1 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/data/MixTaxonomyMappingData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/data/MixTaxonomyMappingData.java @@ -18,21 +18,15 @@ */ package org.apache.fineract.mix.data; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +@Data +@NoArgsConstructor +@Accessors(chain = true) public class MixTaxonomyMappingData { - private final String identifier; - private final String config; - - public MixTaxonomyMappingData(final String identifier, final String config) { - this.identifier = identifier; - this.config = config; - } - - public String getIdentifier() { - return this.identifier; - } - - public String getConfig() { - return this.config; - } + private String identifier; + private String config; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/data/NamespaceData.java b/fineract-provider/src/main/java/org/apache/fineract/mix/data/NamespaceData.java index 2158cc557..954301a56 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/data/NamespaceData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/data/NamespaceData.java @@ -18,22 +18,18 @@ */ package org.apache.fineract.mix.data; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +@Data +@NoArgsConstructor +@Accessors(chain = true) public class NamespaceData { @SuppressWarnings("unused") - private final Long id; + private Long id; @SuppressWarnings("unused") - private final String prefix; - private final String url; - - public NamespaceData(final Long id, final String prefix, final String url) { - - this.id = id; - this.prefix = prefix; - this.url = url; - } - - public String url() { - return this.url; - } + private String prefix; + private String url; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/data/XBRLData.java b/fineract-provider/src/main/java/org/apache/fineract/mix/data/XBRLData.java index 99032866f..f53c1785c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/data/XBRLData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/data/XBRLData.java @@ -21,34 +21,17 @@ package org.apache.fineract.mix.data; import java.math.BigDecimal; import java.sql.Date; import java.util.HashMap; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +@Data +@NoArgsConstructor +@Accessors(chain = true) public class XBRLData { - private final HashMap resultMap; - private final Date startDate; - private final Date endDate; - private final String currency; - - public XBRLData(final HashMap resultMap, final Date startDate, final Date endDate, final String currency) { - this.resultMap = resultMap; - this.startDate = startDate; - this.endDate = endDate; - this.currency = currency; - } - - public HashMap getResultMap() { - return this.resultMap; - } - - public Date getStartDate() { - return this.startDate; - } - - public Date getEndDate() { - return this.endDate; - } - - public String getCurrency() { - return this.currency; - } + private HashMap resultMap; + private Date startDate; + private Date endDate; + private String currency; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/domain/MixTaxonomyMapping.java b/fineract-provider/src/main/java/org/apache/fineract/mix/domain/MixTaxonomyMapping.java index 727bb27e6..64cae48bc 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/domain/MixTaxonomyMapping.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/domain/MixTaxonomyMapping.java @@ -21,13 +21,21 @@ package org.apache.fineract.mix.domain; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +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.AbstractPersistableCustom; @Entity @Table(name = "mix_taxonomy_mapping") -public class MixTaxonomyMapping extends AbstractPersistableCustom { +@Getter +@Setter +@NoArgsConstructor +@Accessors(chain = true) +public final class MixTaxonomyMapping extends AbstractPersistableCustom { @Column(name = "identifier") private String identifier; @@ -38,10 +46,6 @@ public class MixTaxonomyMapping extends AbstractPersistableCustom { @Column(name = "currency") private String currency; - protected MixTaxonomyMapping() { - // default - } - private MixTaxonomyMapping(final String identifier, final String config, final String currency) { this.identifier = StringUtils.defaultIfEmpty(identifier, null); this.config = StringUtils.defaultIfEmpty(config, null); diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/service/MixTaxonomyMappingReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/mix/service/MixTaxonomyMappingReadPlatformServiceImpl.java index a2a7eceb9..1e58680a4 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/service/MixTaxonomyMappingReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/service/MixTaxonomyMappingReadPlatformServiceImpl.java @@ -47,7 +47,7 @@ public class MixTaxonomyMappingReadPlatformServiceImpl implements MixTaxonomyMap public MixTaxonomyMappingData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { final String identifier = rs.getString("identifier"); final String config = rs.getString("config"); - return new MixTaxonomyMappingData(identifier, config); + return new MixTaxonomyMappingData().setIdentifier(identifier).setConfig(config); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/service/MixTaxonomyReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/mix/service/MixTaxonomyReadPlatformServiceImpl.java index 10338fd57..f807cee5c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/service/MixTaxonomyReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/service/MixTaxonomyReadPlatformServiceImpl.java @@ -55,7 +55,8 @@ public class MixTaxonomyReadPlatformServiceImpl implements MixTaxonomyReadPlatfo final String dimension = rs.getString("dimension"); final Integer type = rs.getInt("type"); final String desc = rs.getString("description"); - return new MixTaxonomyData(id, name, namespace, dimension, type, desc); + return new MixTaxonomyData().setId(id).setName(name).setNamespace(namespace).setDimension(dimension).setType(type) + .setDescription(desc); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/service/NamespaceReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/mix/service/NamespaceReadPlatformServiceImpl.java index b1f7e4f9b..d5ca291cf 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/service/NamespaceReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/service/NamespaceReadPlatformServiceImpl.java @@ -49,7 +49,7 @@ public class NamespaceReadPlatformServiceImpl implements NamespaceReadPlatformSe final long id = rs.getLong("id"); final String prefix = rs.getString("prefix"); final String url = rs.getString("url"); - return new NamespaceData(id, prefix, url); + return new NamespaceData().setId(id).setPrefix(prefix).setUrl(url); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/service/XBRLBuilder.java b/fineract-provider/src/main/java/org/apache/fineract/mix/service/XBRLBuilder.java index fd58bae44..47fc4ecd2 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/service/XBRLBuilder.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/service/XBRLBuilder.java @@ -100,7 +100,7 @@ public class XBRLBuilder { final NamespaceData ns = this.readNamespaceService.retrieveNamespaceByPrefix(prefix); if (ns != null) { - this.root.addNamespace(prefix, ns.url()); + this.root.addNamespace(prefix, ns.getUrl()); } qname = prefix + ":" + taxonomy.getName(); @@ -115,12 +115,16 @@ public class XBRLBuilder { final List dims = Splitter.on(':').splitToList(dimension); if (dims.size() == 2) { - context = new ContextData(dims.get(0), dims.get(1), taxonomy.getType()); + context = new ContextData().setDimensionType(dims.get(0)).setDimension(dims.get(1)).setPeriodType( + taxonomy.getType().equals(MixTaxonomyData.BALANCESHEET) || taxonomy.getType().equals(MixTaxonomyData.PORTFOLIO) ? 0 + : 1); } } if (context == null) { - context = new ContextData(null, null, taxonomy.getType()); + context = new ContextData().setPeriodType( + taxonomy.getType().equals(MixTaxonomyData.BALANCESHEET) || taxonomy.getType().equals(MixTaxonomyData.PORTFOLIO) ? 0 + : 1); } if (!this.contextMap.containsKey(context)) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/mix/service/XBRLResultServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/mix/service/XBRLResultServiceImpl.java index 1360bd4d5..1a0a1c710 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/mix/service/XBRLResultServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/mix/service/XBRLResultServiceImpl.java @@ -66,7 +66,7 @@ public class XBRLResultServiceImpl implements XBRLResultService { if (config == null || config.size() == 0) { throw new XBRLMappingInvalidException("Mapping is empty"); } - return new XBRLData(config, startDate, endDate, currency); + return new XBRLData().setResultMap(config).setStartDate(startDate).setEndDate(endDate).setCurrency(currency); } @SuppressWarnings("unchecked") diff --git a/fineract-provider/src/test/java/org/apache/fineract/mix/report/MixXbrlBuilderStepDefinitions.java b/fineract-provider/src/test/java/org/apache/fineract/mix/report/MixXbrlBuilderStepDefinitions.java index 6c4807f42..d9d9152ac 100644 --- a/fineract-provider/src/test/java/org/apache/fineract/mix/report/MixXbrlBuilderStepDefinitions.java +++ b/fineract-provider/src/test/java/org/apache/fineract/mix/report/MixXbrlBuilderStepDefinitions.java @@ -57,7 +57,7 @@ public class MixXbrlBuilderStepDefinitions implements En { (String start, String end, String currency, String taxonomy, String sample) -> { readNamespaceService = mock(NamespaceReadPlatformServiceImpl.class); lenient().when(this.readNamespaceService.retrieveNamespaceByPrefix(ArgumentMatchers.anyString())) - .thenReturn(new NamespaceData(1L, "mockedprefix", "mockedurl")); + .thenReturn(new NamespaceData().setId(1L).setPrefix("mockedprefix").setUrl("mockedurl")); this.start = Date.valueOf(start); this.end = Date.valueOf(end);