From 1a3acb86df4df323da618c1f750ef4948dc635e5 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Fri, 3 Jun 2016 08:09:04 +1200 Subject: [PATCH] #732 - NPE in ScalarTypeArrayList.read(ScalarTypeArrayList.java:89) ... --- .../server/type/ScalarTypeArrayList.java | 6 +++++- .../server/type/ScalarTypeArrayListTest.java | 21 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/test/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayListTest.java diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayList.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayList.java index 02adbc0b1..0e7b693db 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayList.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayList.java @@ -86,7 +86,11 @@ public class ScalarTypeArrayList extends ScalarTypeJsonCollection { @Override public List read(DataReader reader) throws SQLException { Array array = reader.getArray(); - return fromArray((Object[]) array.getArray()); + if (array == null) { + return null; + } else { + return fromArray((Object[]) array.getArray()); + } } @Override diff --git a/src/test/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayListTest.java b/src/test/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayListTest.java new file mode 100644 index 000000000..9a60004e5 --- /dev/null +++ b/src/test/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayListTest.java @@ -0,0 +1,21 @@ +package com.avaje.ebeaninternal.server.type; + + +import org.junit.Test; +import org.mockito.Mockito; + +import java.sql.SQLException; + +public class ScalarTypeArrayListTest { + + @Test + public void read_when_null() throws SQLException { + + DataReader mock = Mockito.mock(DataReader.class); + Mockito.when(mock.getArray()).thenReturn(null); + + ScalarTypeArrayList scalarType = ScalarTypeArrayList.typeFor(Long.class); + scalarType.read(mock); + + } +} \ No newline at end of file