#534 fix array initializer for NullValueMappingStrategy.RETURN_DEFAULT

This commit is contained in:
Andreas Gudian 2015-04-10 11:22:46 +02:00
parent 229537284a
commit 8816b380c3
3 changed files with 10 additions and 6 deletions

View File

@ -33,7 +33,7 @@
}
return<#if returnType.name != "void"> ${resultName}</#if>;
<#else>
return new <@includeModel object=resultElementType/>[];
return new <@includeModel object=resultElementType/>[0];
</#if>
<#else>
<#if existingInstanceMapping>

View File

@ -18,8 +18,6 @@
*/
package org.mapstruct.ap.test.array;
import static org.fest.assertions.Assertions.assertThat;
import java.util.Arrays;
import java.util.List;
@ -31,6 +29,8 @@ import org.mapstruct.ap.testutil.IssueKey;
import org.mapstruct.ap.testutil.WithClasses;
import org.mapstruct.ap.testutil.runner.AnnotationProcessorTestRunner;
import static org.fest.assertions.Assertions.assertThat;
@WithClasses( { Scientist.class, ScientistDto.class, ScienceMapper.class } )
@RunWith(AnnotationProcessorTestRunner.class)
@IssueKey("108")
@ -142,6 +142,7 @@ public class ArrayMappingTest {
assertThat( existingTarget ).onProperty( "name" ).containsOnly( "Jim" );
}
@IssueKey("534")
@Test
public void shouldMapbooleanWhenReturnDefault() {
@ -150,6 +151,8 @@ public class ArrayMappingTest {
assertThat( target ).containsOnly( false );
assertThat( existingTarget ).containsOnly( false );
assertThat( ScienceMapper.INSTANCE.nvmMapping( null ) ).isEmpty();
}
@Test

View File

@ -19,8 +19,8 @@
package org.mapstruct.ap.test.array;
import java.util.List;
import org.mapstruct.IterableMapping;
import org.mapstruct.IterableMapping;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import org.mapstruct.NullValueMappingStrategy;
@ -43,6 +43,9 @@ public interface ScienceMapper {
ScientistDto[] scientistsToDtos(Scientist[] scientists, @MappingTarget ScientistDto[] target);
@IterableMapping(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT)
boolean[] nvmMapping(boolean[] source);
@IterableMapping( nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT )
boolean[] nvmMapping(boolean[] source, @MappingTarget boolean[] target);
@ -71,6 +74,4 @@ public interface ScienceMapper {
@IterableMapping( nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT )
void nvmMappingVoidReturnDefault(int[] source, @MappingTarget long[] target);
}