Repository: incubator-juneau Updated Branches: refs/heads/master d5ba83970 -> 9d086440e
Fix possible NPEs in Calendar and Date swaps. Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/9475ed21 Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/9475ed21 Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/9475ed21 Branch: refs/heads/master Commit: 9475ed212e035be5e6eeb681b000cfbd98f83bc1 Parents: d5ba839 Author: JamesBognar <[email protected]> Authored: Wed Jun 14 14:56:53 2017 -0400 Committer: JamesBognar <[email protected]> Committed: Wed Jun 14 15:00:33 2017 -0400 ---------------------------------------------------------------------- .../java/org/apache/juneau/transforms/CalendarSwap.java | 10 ++++++++++ .../java/org/apache/juneau/transforms/DateLongSwap.java | 2 ++ .../java/org/apache/juneau/transforms/DateMapSwap.java | 2 ++ .../main/java/org/apache/juneau/transforms/DateSwap.java | 10 ++++++++++ 4 files changed, 24 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9475ed21/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java b/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java index 9f45498..02294ab 100644 --- a/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java +++ b/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java @@ -142,6 +142,8 @@ public class CalendarSwap extends StringSwap<Calendar> { @Override /* PojoSwap */ public String swap(BeanSession session, Calendar o) { + if (o == null) + return null; o = setTimeZone(session, o); return DatatypeConverter.printDateTime(o); } @@ -173,6 +175,8 @@ public class CalendarSwap extends StringSwap<Calendar> { @Override /* PojoSwap */ public String swap(BeanSession session, Calendar o) { + if (o == null) + return null; if (o.getTimeZone().getRawOffset() != 0) { Calendar c = Calendar.getInstance(GMT); c.setTime(o.getTime()); @@ -192,6 +196,8 @@ public class CalendarSwap extends StringSwap<Calendar> { @Override /* PojoSwap */ public String swap(BeanSession session, Calendar o) { + if (o == null) + return null; String s = super.swap(session, o); return String.format("%s.%03d%s", s.substring(0, 19), o.get(Calendar.MILLISECOND), s.substring(19)); } @@ -207,6 +213,8 @@ public class CalendarSwap extends StringSwap<Calendar> { @Override /* PojoSwap */ public String swap(BeanSession session, Calendar o) { + if (o == null) + return null; String s = super.swap(session, o); return String.format("%s.%03d%s", s.substring(0, 19), o.get(Calendar.MILLISECOND), s.substring(19)); } @@ -552,6 +560,8 @@ public class CalendarSwap extends StringSwap<Calendar> { */ @Override /* PojoSwap */ public String swap(BeanSession session, Calendar o) { + if (o == null) + return null; return getDateFormat(session, o).format(o.getTime()); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9475ed21/juneau-core/src/main/java/org/apache/juneau/transforms/DateLongSwap.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/transforms/DateLongSwap.java b/juneau-core/src/main/java/org/apache/juneau/transforms/DateLongSwap.java index 11d4a03..9316280 100644 --- a/juneau-core/src/main/java/org/apache/juneau/transforms/DateLongSwap.java +++ b/juneau-core/src/main/java/org/apache/juneau/transforms/DateLongSwap.java @@ -28,6 +28,8 @@ public class DateLongSwap extends PojoSwap<Date,Long> { */ @Override /* PojoSwap */ public Long swap(BeanSession session, Date o) { + if (o == null) + return null; return o.getTime(); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9475ed21/juneau-core/src/main/java/org/apache/juneau/transforms/DateMapSwap.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/transforms/DateMapSwap.java b/juneau-core/src/main/java/org/apache/juneau/transforms/DateMapSwap.java index b882dc0..fcaafe0 100644 --- a/juneau-core/src/main/java/org/apache/juneau/transforms/DateMapSwap.java +++ b/juneau-core/src/main/java/org/apache/juneau/transforms/DateMapSwap.java @@ -29,6 +29,8 @@ public class DateMapSwap extends PojoSwap<Date,Map> { */ @Override /* PojoSwap */ public Map swap(BeanSession session, Date o) { + if (o == null) + return null; ObjectMap m = new ObjectMap(); m.put("time", o.getTime()); return m; http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/9475ed21/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java b/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java index b2fb0b0..3de5ba3 100644 --- a/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java +++ b/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java @@ -141,6 +141,8 @@ public class DateSwap extends StringSwap<Date> { @Override /* PojoSwap */ public String swap(BeanSession session, Date o) { + if (o == null) + return null; Calendar c = new GregorianCalendar(); c.setTime(o); c = setTimeZone(session, c); @@ -174,6 +176,8 @@ public class DateSwap extends StringSwap<Date> { @Override /* PojoSwap */ public String swap(BeanSession session, Date o) { + if (o == null) + return null; Calendar c = new GregorianCalendar(); c.setTime(o); if (c.getTimeZone().getRawOffset() != 0) { @@ -195,6 +199,8 @@ public class DateSwap extends StringSwap<Date> { @Override /* PojoSwap */ public String swap(BeanSession session, Date o) { + if (o == null) + return null; Calendar c = new GregorianCalendar(); c.setTime(o); String s = super.swap(session, o); @@ -212,6 +218,8 @@ public class DateSwap extends StringSwap<Date> { @Override /* PojoSwap */ public String swap(BeanSession session, Date o) { + if (o == null) + return null; Calendar c = new GregorianCalendar(); c.setTime(o); String s = super.swap(session, o); @@ -553,6 +561,8 @@ public class DateSwap extends StringSwap<Date> { */ @Override /* PojoSwap */ public String swap(BeanSession session, Date o) { + if (o == null) + return null; return getDateFormat(session).format(o.getTime()); }
