Skip to content

Commit e61bdb1

Browse files
committed
Fixed issue where invokeWriteMethod would attempt to apply a null value on a primitive value. Now checks for primitives and applies the default value instead of null.
1 parent f36d2ea commit e61bdb1

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/main/java/de/danielbechler/diff/introspection/PropertyAccessor.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package de.danielbechler.diff.introspection;
1818

19+
import com.google.common.base.Defaults;
1920
import de.danielbechler.diff.access.PropertyAwareAccessor;
2021
import de.danielbechler.diff.selector.BeanPropertyElementSelector;
2122
import de.danielbechler.util.Assert;
@@ -227,7 +228,9 @@ private void invokeWriteMethod(final Object target, final Object value)
227228
{
228229
try
229230
{
230-
writeMethod.invoke(target, value);
231+
if (writeMethod.getParameterTypes()[0].isPrimitive() && value == null) {
232+
writeMethod.invoke(target, Defaults.defaultValue(writeMethod.getParameterTypes()[0]));
233+
} else writeMethod.invoke(target, value);
231234
}
232235
catch (final Exception cause)
233236
{

0 commit comments

Comments
 (0)