2222import static org .apache .commons .lang3 .StringUtils .trim ;
2323import static org .apache .commons .lang3 .StringUtils .truncate ;
2424
25- import com .fasterxml .jackson .databind .DeserializationFeature ;
2625import java .io .ByteArrayInputStream ;
27- import java .io .IOException ;
2826import java .text .ParseException ;
2927import java .text .SimpleDateFormat ;
3028import java .util .*;
3836import org .comixedproject .model .comicpages .ComicPage ;
3937import org .comixedproject .model .metadata .ComicInfo ;
4038import org .comixedproject .model .metadata .PageInfo ;
41- import org .springframework .http .converter .xml .MappingJackson2XmlHttpMessageConverter ;
39+ import org .springframework .http .converter .xml .JacksonXmlHttpMessageConverter ;
4240import org .springframework .util .StringUtils ;
41+ import tools .jackson .core .exc .StreamReadException ;
42+ import tools .jackson .databind .DeserializationFeature ;
4343
4444/**
4545 * <code>ComicInfoXmlFilenameContentAdaptor</code> provides an implementation of {@link
@@ -52,13 +52,15 @@ public class ComicInfoXmlFilenameContentAdaptor implements FilenameContentAdapto
5252 @ Getter private ArchiveEntryType archiveEntryType = ArchiveEntryType .FILE ;
5353
5454 private SimpleDateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd" );
55- private MappingJackson2XmlHttpMessageConverter xmlConverter ;
55+ private final JacksonXmlHttpMessageConverter xmlConverter ;
5656
5757 public ComicInfoXmlFilenameContentAdaptor () {
58- this .xmlConverter = new MappingJackson2XmlHttpMessageConverter ();
58+ this .xmlConverter = new JacksonXmlHttpMessageConverter ();
5959 this .xmlConverter
60- .getObjectMapper ()
61- .configure (DeserializationFeature .FAIL_ON_UNKNOWN_PROPERTIES , false );
60+ .getMapper ()
61+ .rebuild ()
62+ .configure (DeserializationFeature .FAIL_ON_UNKNOWN_PROPERTIES , false )
63+ .build ();
6264 }
6365
6466 @ Override
@@ -69,7 +71,7 @@ public void loadContent(final ComicBook comicBook, final String filename, final
6971 try {
7072 comicInfo =
7173 this .xmlConverter
72- .getObjectMapper ()
74+ .getMapper ()
7375 .readValue (new ByteArrayInputStream (content ), ComicInfo .class );
7476 log .trace ("Setting comic metadata" );
7577 comicBook .getComicDetail ().setPublisher (trim (comicInfo .getPublisher ()));
@@ -163,7 +165,7 @@ public void loadContent(final ComicBook comicBook, final String filename, final
163165 }
164166 }
165167 }
166- } catch (IOException | ParseException error ) {
168+ } catch (StreamReadException | ParseException error ) {
167169 throw new ContentAdaptorException ("Failed to load ComicInfo.xml" , error );
168170 }
169171 }
0 commit comments