List of usage examples for com.fasterxml.jackson.dataformat.xml JacksonXmlModule JacksonXmlModule
public JacksonXmlModule()
From source file:org.resthub.web.converter.MappingJackson2XmlHttpMessageConverter.java
/** * Construct a new {@code BindingJacksonHttpMessageConverter}. */// ww w . j a va 2 s .c o m public MappingJackson2XmlHttpMessageConverter() { super(new MediaType("application", "xml", DEFAULT_CHARSET)); JacksonXmlModule xmlModule = new JacksonXmlModule(); xmlModule.setDefaultUseWrapper(false); objectMapper = new XmlMapper(xmlModule); SimpleModule module = new SimpleModule(); module.addAbstractTypeMapping(Page.class, PageResponse.class); objectMapper.registerModule(module); AnnotationIntrospector introspector = new JacksonAnnotationIntrospector(); objectMapper.setAnnotationIntrospector(introspector); }
From source file:org.jberet.support.io.XmlFactoryObjectFactory.java
/** * Gets an instance of {@code com.fasterxml.jackson.dataformat.xml.XmlFactory} based on the resource configuration in the * application server. The parameter {@code environment} contains XmlFactory configuration properties, and accepts * the following properties://from ww w .ja v a2 s . c o m * <ul> * <li>inputDecorator: fully-qualified name of a class that extends {@code com.fasterxml.jackson.core.io.InputDecorator} * <li>outputDecorator: fully-qualified name of a class that extends {@code com.fasterxml.jackson.core.io.OutputDecorator} * <li>xmlTextElementName: * <li>defaultUseWrapper: * </ul> * * @param obj the JNDI name of {@code com.fasterxml.jackson.dataformat.xml.XmlFactory} resource * @param name always null * @param nameCtx always null * @param environment a {@code Hashtable} of configuration properties * @return an instance of {@code com.fasterxml.jackson.dataformat.xml.XmlFactory} * @throws Exception any exception occurred */ @Override public Object getObjectInstance(final Object obj, final Name name, final Context nameCtx, final Hashtable<?, ?> environment) throws Exception { XmlFactory xmlFactory = xmlFactoryCached; if (xmlFactory == null) { synchronized (this) { xmlFactory = xmlFactoryCached; if (xmlFactory == null) { xmlFactoryCached = xmlFactory = new XmlFactory(); } JacksonXmlModule xmlModule = null; NoMappingJsonFactoryObjectFactory.configureInputDecoratorAndOutputDecorator(xmlFactory, environment); final Object xmlTextElementName = environment.get("xmlTextElementName"); if (xmlTextElementName != null) { xmlModule = new JacksonXmlModule(); xmlModule.setXMLTextElementName((String) xmlTextElementName); } final Object defaultUseWrapper = environment.get("defaultUseWrapper"); if (defaultUseWrapper != null) { if (defaultUseWrapper.equals("false")) { if (xmlModule == null) { xmlModule = new JacksonXmlModule(); } xmlModule.setDefaultUseWrapper(false); } else if (defaultUseWrapper.equals("true")) { //default value is already true, so nothing to do } else { throw SupportMessages.MESSAGES.invalidReaderWriterProperty(null, (String) defaultUseWrapper, "defaultUseWrapper"); } } final XmlMapper xmlMapper = xmlModule == null ? new XmlMapper(xmlFactory) : new XmlMapper(xmlFactory, xmlModule); xmlFactory.setCodec(xmlMapper); } } return xmlFactory; }
From source file:com.opentable.extension.BodyTransformer.java
@Override public ResponseDefinition transform(Request request, ResponseDefinition responseDefinition, FileSource fileSource, Parameters parameters) { Map object = null;/*from ww w . j av a2 s.c o m*/ String requestBody = request.getBodyAsString(); try { object = jsonMapper.readValue(requestBody, Map.class); } catch (IOException e) { try { JacksonXmlModule configuration = new JacksonXmlModule(); //Set the default value name for xml elements like <user type="String">Dmytro</user> configuration.setXMLTextElementName("value"); xmlMapper = new XmlMapper(configuration); object = xmlMapper.readValue(requestBody, Map.class); } catch (IOException ex) { //Validate is a body has the 'name=value' parameters if (StringUtils.isNotEmpty(requestBody) && (requestBody.contains("&") || requestBody.contains("="))) { object = new HashMap(); String[] pairedValues = requestBody.split("&"); for (String pair : pairedValues) { String[] values = pair.split("="); object.put(values[0], values.length > 1 ? decodeUTF8Value(values[1]) : ""); } } else { System.err.println( "[Body parse error] The body doesn't match any of 3 possible formats (JSON, XML, key=value)."); } } } if (hasEmptyBody(responseDefinition)) { return responseDefinition; } String body = getBody(responseDefinition, fileSource); return ResponseDefinitionBuilder.like(responseDefinition).but().withBodyFile(null) .withBody(transformResponse(object, body)).build(); }
From source file:org.jberet.support.io.XmlItemReader.java
@Override protected void initXmlModule() { if (xmlTextElementName != null && !xmlTextElementName.isEmpty()) { xmlModule = new JacksonXmlModule(); xmlModule.setXMLTextElementName(xmlTextElementName); }/*from ww w . j a v a 2 s.c o m*/ }
From source file:org.jberet.support.io.XmlItemWriter.java
@Override protected void initXmlModule() { if (defaultUseWrapper != null) { if (defaultUseWrapper.equals("false")) { xmlModule = new JacksonXmlModule(); xmlModule.setDefaultUseWrapper(false); } else if (defaultUseWrapper.equals("true")) { //default value is already true, so nothing to do } else {//from w w w . ja va 2s .c o m throw SupportMessages.MESSAGES.invalidReaderWriterProperty(null, defaultUseWrapper, "defaultUseWrapper"); } } }
From source file:com.msopentech.odatajclient.engine.data.Deserializer.java
private static XMLODataError toODataErrorFromXML(final InputStream input) { try {//from w w w. j a v a 2 s. com final XmlMapper xmlMapper = new XmlMapper( new XmlFactory(new InputFactoryImpl(), new OutputFactoryImpl()), new JacksonXmlModule()); return xmlMapper.readValue(input, XMLODataError.class); } catch (Exception e) { throw new IllegalArgumentException("While deserializing XML error", e); } }
From source file:org.apache.olingo.client.core.serialization.ClientODataDeserializerImpl.java
protected XmlMapper getXmlMapper() { final XmlMapper xmlMapper = new XmlMapper(new XmlFactory(new InputFactoryImpl(), new OutputFactoryImpl()), new JacksonXmlModule()); xmlMapper.setInjectableValues(new InjectableValues.Std().addValue(Boolean.class, Boolean.FALSE)); xmlMapper.addHandler(new DeserializationProblemHandler() { @Override/*from w ww .j a v a2s. c o m*/ public boolean handleUnknownProperty(final DeserializationContext ctxt, final JsonParser jp, final com.fasterxml.jackson.databind.JsonDeserializer<?> deserializer, final Object beanOrClass, final String propertyName) throws IOException, JsonProcessingException { // skip any unknown property ctxt.getParser().skipChildren(); return true; } }); return xmlMapper; }