is open method signature right? or typo? void open(Configuration parameters) throws Exception;
On Sat, Jul 23, 2016 at 12:09 AM, Stephan Ewen <se...@apache.org> wrote: > I think you overrode the open method with the wrong signature. The right > signature would be "open(Configuration cfg) {...}". You probably overlooked > this because you missed the "@Override" annotation. > > On Fri, Jul 22, 2016 at 4:49 PM, Yassin Marzouki <yassmar...@gmail.com> > wrote: > >> Hi everyone, >> >> I want to convert a stream of json strings to POJOs using Jackson, so I >> did the following: >> >> .map(new RichMapFunction<String, Request>() { >> >> private ObjectMapper objectMapper; >> >> public void open() { >> objectMapper = new ObjectMapper(); >> } >> >> @Override >> public Request map(String value) throws Exception { >> return objectMapper.readValue(value, Request.class); >> } >> }) >> >> But this code gave me a NullPointerException because the objectMapper was >> not initialized successfully. >> >> 1. Isn't the open() method supposed to be called before map() and >> initialize objectMapper? >> 2. I figured out that initializing objectMapper before the open() method >> resolves the problem, and that it works also with a simple MapFunction. In >> that case, is there an advantage for using a RichMapFunction? >> >> Best, >> Yassine >> > > -- <A HREF="http://www.kiva.org" TARGET="_top"> <IMG SRC="http://www.kiva.org/images/bannerlong.png" WIDTH="460" HEIGHT="60" ALT="Kiva - loans that change lives" BORDER="0" ALIGN="BOTTOM"></A>