mirror of
https://github.com/mapstruct/mapstruct.git
synced 2025-07-12 00:00:08 +08:00
#1009 avoid including non used createDecimalFormat helper method
This commit is contained in:
parent
44fe197d3b
commit
3b84ff797c
@ -21,7 +21,7 @@ package org.mapstruct.ap.internal.conversion;
|
||||
import static org.mapstruct.ap.internal.util.Collections.asSet;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ -74,8 +74,11 @@ public class BigDecimalToStringConversion extends AbstractNumberToStringConversi
|
||||
|
||||
@Override
|
||||
public List<HelperMethod> getRequiredHelperMethods(ConversionContext conversionContext) {
|
||||
HelperMethod helperMethod = new CreateDecimalFormat( conversionContext.getTypeFactory() );
|
||||
return Arrays.asList( helperMethod );
|
||||
List<HelperMethod> helpers = new ArrayList();
|
||||
if ( conversionContext.getNumberFormat() != null ) {
|
||||
helpers.add( new CreateDecimalFormat( conversionContext.getTypeFactory() ) );
|
||||
}
|
||||
return helpers;
|
||||
}
|
||||
|
||||
private void appendDecimalFormatter(StringBuilder sb, ConversionContext conversionContext) {
|
||||
|
@ -21,7 +21,7 @@ package org.mapstruct.ap.internal.conversion;
|
||||
import static org.mapstruct.ap.internal.util.Collections.asSet;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ -81,8 +81,11 @@ public class BigIntegerToStringConversion extends AbstractNumberToStringConversi
|
||||
|
||||
@Override
|
||||
public List<HelperMethod> getRequiredHelperMethods(ConversionContext conversionContext) {
|
||||
HelperMethod helperMethod = new CreateDecimalFormat( conversionContext.getTypeFactory() );
|
||||
return Arrays.asList( helperMethod );
|
||||
List<HelperMethod> helpers = new ArrayList();
|
||||
if ( conversionContext.getNumberFormat() != null ) {
|
||||
helpers.add( new CreateDecimalFormat( conversionContext.getTypeFactory() ) );
|
||||
}
|
||||
return helpers;
|
||||
}
|
||||
|
||||
private void appendDecimalFormatter(StringBuilder sb, ConversionContext conversionContext) {
|
||||
|
@ -22,12 +22,14 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import org.junit.Rule;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mapstruct.ap.testutil.IssueKey;
|
||||
import org.mapstruct.ap.testutil.WithClasses;
|
||||
import org.mapstruct.ap.testutil.runner.AnnotationProcessorTestRunner;
|
||||
import org.mapstruct.ap.testutil.runner.GeneratedSource;
|
||||
|
||||
/**
|
||||
* Tests conversions between {@link BigInteger} and numbers as well as String.
|
||||
@ -37,6 +39,13 @@ import org.mapstruct.ap.testutil.runner.AnnotationProcessorTestRunner;
|
||||
@RunWith(AnnotationProcessorTestRunner.class)
|
||||
public class BigNumbersConversionTest {
|
||||
|
||||
private final GeneratedSource generatedSource = new GeneratedSource();
|
||||
|
||||
@Rule
|
||||
public GeneratedSource getGeneratedSource() {
|
||||
return generatedSource;
|
||||
}
|
||||
|
||||
@Test
|
||||
@IssueKey("21")
|
||||
@WithClasses({ BigIntegerSource.class, BigIntegerTarget.class, BigIntegerMapper.class })
|
||||
@ -188,4 +197,11 @@ public class BigNumbersConversionTest {
|
||||
assertThat( source.getString() ).isEqualTo( new BigDecimal( "13.45" ) );
|
||||
assertThat( source.getBigInteger() ).isEqualTo( new BigDecimal( "14" ) );
|
||||
}
|
||||
|
||||
@Test
|
||||
@IssueKey("1009")
|
||||
@WithClasses({ BigIntegerSource.class, BigIntegerTarget.class, BigIntegerMapper.class })
|
||||
public void shouldNotGenerateCreateDecimalFormatMethod() {
|
||||
getGeneratedSource().forMapper( BigIntegerMapper.class ).content().doesNotContain( "createDecimalFormat" );
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user