zoukankan      html  css  js  c++  java
  • XML解析工具类

    package com.alibaba.otter.canal.utils;
    
    import com.alibaba.otter.canal.bo.FileUploadBO;
    import org.elasticsearch.common.xcontent.XContentBuilder;
    import org.elasticsearch.common.xcontent.XContentFactory;
    
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author kaikai_zheng
     * @version 1.0.0
     * @className XmlContentUtil
     * @description //XML模板解析
     * @data 2020-07-13 15:01
     */
    public class XmlContentUtil {
        /**
         * Log转化为ES标准数据
         *
         * @param object 要转化的实体类FileUploadBO
         * @return
         */
        public static XContentBuilder getXContentBuilder(Object object) {
            if (object.getClass().getName().contains("FileUploadBO")) {
                return getEsbMonitorXContentBuilder((FileUploadBO) object);
            }
            return null;
        }
    
        /**
         * FileUploadBO转化为ES标准数据
         *
         * @param fileUploadBO
         * @return
         */
        public static XContentBuilder getEsbMonitorXContentBuilder(FileUploadBO fileUploadBO) {
            XContentBuilder xContentBuilder = null;
            try {
                xContentBuilder = XContentFactory.jsonBuilder().startObject()// 标识开始设置值
                        .field("row_update_time", fileUploadBO.getRowUpdateTime())
                        .endObject();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return xContentBuilder;
        }
    
        /**
         * 生成ES标准数据
         *
         * @param clazz
         * @return
         * @throws IOException
         */
        @SuppressWarnings("rawtypes")
        public static XContentBuilder getXContentBuilderMapping(Class clazz) throws IOException {
            if (clazz.getName().contains("FileUploadBO")) {
                return XmlContentUtil.getEsbMonitorXContentBuilderMapping();
            }
            return null;
        }
    
        /**
         * 生成Monitor的ES标准数据模板
         *
         * @return
         * @throws IOException
         */
        public static XContentBuilder getEsbMonitorXContentBuilderMapping() throws IOException {
            Map<String, Object> keyword = new HashMap<String, Object>();
            keyword.put("type", "keyword");
            keyword.put("ignore_above", 256);
            XContentBuilder mapping = XContentFactory.jsonBuilder()
                    .startObject()//标识开始设置值
                    .startObject("row_update_time")
                    .startObject("date").field("type", "date").startObject("fields").field("keyword", keyword).endObject().endObject()
                    .endObject().endObject();
            return mapping;
        }
    
    }
  • 相关阅读:
    VS2008下编的程序生成的EXE 在没有安装VS2008的计算机上能运行
    GDI+使用小记
    双缓冲技术绘图
    INI文件格式及其读写
    缩放图片并保存
    按值传递&&按引用传递&&按地址传递
    傻瓜式制作的U盘winpe(支持4G以上U盘)速度超快
    vi 命令大全
    fopen和open的区别
    Linux下Socket网络编程,文件传输,数据传输的C语言例子
  • 原文地址:https://www.cnblogs.com/zk-blog/p/13409770.html
Copyright © 2011-2022 走看看