From 339725f73dc788f29c526b810ee99bd13b13bb2b Mon Sep 17 00:00:00 2001 From: FURUHASHI Sadayuki Date: Mon, 13 Dec 2010 18:52:25 +0900 Subject: [PATCH] java: throws MessagePackException if target==null on *ArrayTemplate --- .../java/org/msgpack/template/BooleanArrayTemplate.java | 6 +++++- java/src/main/java/org/msgpack/template/ByteTemplate.java | 6 +++++- .../src/main/java/org/msgpack/template/DefaultTemplate.java | 3 +++ .../main/java/org/msgpack/template/DoubleArrayTemplate.java | 6 +++++- .../main/java/org/msgpack/template/FloatArrayTemplate.java | 6 +++++- .../main/java/org/msgpack/template/IntArrayTemplate.java | 6 +++++- .../main/java/org/msgpack/template/LongArrayTemplate.java | 6 +++++- .../main/java/org/msgpack/template/ShortArrayTemplate.java | 6 +++++- java/src/main/java/org/msgpack/template/ShortTemplate.java | 6 +++++- 9 files changed, 43 insertions(+), 8 deletions(-) diff --git a/java/src/main/java/org/msgpack/template/BooleanArrayTemplate.java b/java/src/main/java/org/msgpack/template/BooleanArrayTemplate.java index 9999cc2b..a66e0e1e 100644 --- a/java/src/main/java/org/msgpack/template/BooleanArrayTemplate.java +++ b/java/src/main/java/org/msgpack/template/BooleanArrayTemplate.java @@ -28,7 +28,11 @@ public class BooleanArrayTemplate implements Template { throw new MessageTypeException(); } boolean[] array = (boolean[])target; - pk.packArray(array.length); + try { + pk.packArray(array.length); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } for(boolean a : array) { pk.pack(a); } diff --git a/java/src/main/java/org/msgpack/template/ByteTemplate.java b/java/src/main/java/org/msgpack/template/ByteTemplate.java index 225026ca..7c6048cb 100644 --- a/java/src/main/java/org/msgpack/template/ByteTemplate.java +++ b/java/src/main/java/org/msgpack/template/ByteTemplate.java @@ -24,7 +24,11 @@ public class ByteTemplate implements Template { private ByteTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packByte((Byte)target); + try { + pk.packByte((Byte)target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { diff --git a/java/src/main/java/org/msgpack/template/DefaultTemplate.java b/java/src/main/java/org/msgpack/template/DefaultTemplate.java index d9e118d5..7784eb27 100644 --- a/java/src/main/java/org/msgpack/template/DefaultTemplate.java +++ b/java/src/main/java/org/msgpack/template/DefaultTemplate.java @@ -42,6 +42,9 @@ public class DefaultTemplate implements Template { public void pack(Packer pk, Object target) throws IOException { if(messagePackable) { + if(target == null) { + throw new MessageTypeException("target is null."); + } ((MessagePackable)target).messagePack(pk); return; } diff --git a/java/src/main/java/org/msgpack/template/DoubleArrayTemplate.java b/java/src/main/java/org/msgpack/template/DoubleArrayTemplate.java index 8d36acb9..087a33bb 100644 --- a/java/src/main/java/org/msgpack/template/DoubleArrayTemplate.java +++ b/java/src/main/java/org/msgpack/template/DoubleArrayTemplate.java @@ -28,7 +28,11 @@ public class DoubleArrayTemplate implements Template { throw new MessageTypeException(); } double[] array = (double[])target; - pk.packArray(array.length); + try { + pk.packArray(array.length); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } for(double a : array) { pk.pack(a); } diff --git a/java/src/main/java/org/msgpack/template/FloatArrayTemplate.java b/java/src/main/java/org/msgpack/template/FloatArrayTemplate.java index 7c2685ba..a0ca1489 100644 --- a/java/src/main/java/org/msgpack/template/FloatArrayTemplate.java +++ b/java/src/main/java/org/msgpack/template/FloatArrayTemplate.java @@ -28,7 +28,11 @@ public class FloatArrayTemplate implements Template { throw new MessageTypeException(); } float[] array = (float[])target; - pk.packArray(array.length); + try { + pk.packArray(array.length); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } for(float a : array) { pk.pack(a); } diff --git a/java/src/main/java/org/msgpack/template/IntArrayTemplate.java b/java/src/main/java/org/msgpack/template/IntArrayTemplate.java index 0f7b9bff..76e6176b 100644 --- a/java/src/main/java/org/msgpack/template/IntArrayTemplate.java +++ b/java/src/main/java/org/msgpack/template/IntArrayTemplate.java @@ -28,7 +28,11 @@ public class IntArrayTemplate implements Template { throw new MessageTypeException(); } int[] array = (int[])target; - pk.packArray(array.length); + try { + pk.packArray(array.length); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } for(int a : array) { pk.pack(a); } diff --git a/java/src/main/java/org/msgpack/template/LongArrayTemplate.java b/java/src/main/java/org/msgpack/template/LongArrayTemplate.java index c216143a..2854697e 100644 --- a/java/src/main/java/org/msgpack/template/LongArrayTemplate.java +++ b/java/src/main/java/org/msgpack/template/LongArrayTemplate.java @@ -28,7 +28,11 @@ public class LongArrayTemplate implements Template { throw new MessageTypeException(); } long[] array = (long[])target; - pk.packArray(array.length); + try { + pk.packArray(array.length); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } for(long a : array) { pk.pack(a); } diff --git a/java/src/main/java/org/msgpack/template/ShortArrayTemplate.java b/java/src/main/java/org/msgpack/template/ShortArrayTemplate.java index 82fc4b6e..2beb61be 100644 --- a/java/src/main/java/org/msgpack/template/ShortArrayTemplate.java +++ b/java/src/main/java/org/msgpack/template/ShortArrayTemplate.java @@ -28,7 +28,11 @@ public class ShortArrayTemplate implements Template { throw new MessageTypeException(); } short[] array = (short[])target; - pk.packArray(array.length); + try { + pk.packArray(array.length); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } for(short a : array) { pk.pack(a); } diff --git a/java/src/main/java/org/msgpack/template/ShortTemplate.java b/java/src/main/java/org/msgpack/template/ShortTemplate.java index 6eb95ffc..9daba10c 100644 --- a/java/src/main/java/org/msgpack/template/ShortTemplate.java +++ b/java/src/main/java/org/msgpack/template/ShortTemplate.java @@ -24,7 +24,11 @@ public class ShortTemplate implements Template { private ShortTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packShort((Short)target); + try { + pk.packShort((Short)target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException {