Example usage for com.fasterxml.jackson.dataformat.xml JacksonXmlModule JacksonXmlModule

List of usage examples for com.fasterxml.jackson.dataformat.xml JacksonXmlModule JacksonXmlModule

Introduction

In this page you can find the example usage for com.fasterxml.jackson.dataformat.xml JacksonXmlModule JacksonXmlModule.

Prototype

public JacksonXmlModule() 

Source Link

Usage

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;
}