All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.airlenet.xml.XmlConfigBean Maven / Gradle / Ivy

package com.airlenet.xml;

import com.airlenet.repo.domain.Node;
import com.airlenet.repo.domain.Result;
import com.airlenet.repo.domain.Tree;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author lig
 * @date 17/9/8
 */
@Configuration
public class XmlConfigBean {


    @Bean
    public XmlMapper objectMapper() {
        XmlMapper xmlMapper  = new XmlMapper();
        xmlMapper.enable(SerializationFeature.INDENT_OUTPUT);
        xmlMapper.registerModule(simpleModule());
//        // objectMapper.setAnnotationIntrospector(ai)
//
//        objectMapper.addMixIn(Persistable.class, AntPathFilterMixin.class);
//        objectMapper.addMixIn(List.class, AntPathFilterMixin.class);
//        objectMapper.setSerializationInclusion(Include.NON_NULL);
//        objectMapper.disable(SerializationFeature.FAIL_ON_SELF_REFERENCES);
//
//        SimpleFilterProvider filterPrvider=	new SimpleFilterProvider().addFilter("antPathFilter", new AntPathPropertyFilter(new String[] { "*","*.*" }));
//        objectMapper.setFilterProvider(filterPrvider);
        return xmlMapper;
    }

    @Bean
    public JacksonXmlModule simpleModule() {
        JacksonXmlModule simpleModule = new JacksonXmlModule();
//        simpleModule.addSerializer(DateTime.class, new JodaDateTimeSerializer());
//        simpleModule.addSerializer(Page.class, new PageSerializer<>());
//        simpleModule.addSerializer(Tree.class, new TreeSerializer<>());
//        simpleModule.addSerializer(Node.class, new NodeSerializer<>());
        simpleModule.addSerializer(Result.class, new ResultSerializer());
        return simpleModule;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy