zoukankan      html  css  js  c++  java
  • PageMapAdapter MapAdapter (续webServices)

    public class PageMapAdapter extends
            XmlAdapter<PageMapConverter, IPage<Map<String, Object>>> {
        
        @Override
        public PageMapConverter marshal(IPage<Map<String, Object>> v)
                throws Exception {
            if(v == null){
                return null;
            }
            PageMapConverter page = new PageMapConverter();
            ArrayList<PageMapConverter.Entry[]> pageResult = new ArrayList<PageMapConverter.Entry[]>();
            if(v.getResult() != null){
                for (Map<String, Object> map : v.getResult()) {
                    PageMapConverter.Entry[] object = new PageMapConverter.Entry[map.size()];
                    int i = 0;
                    for (Map.Entry<String, Object> entry : map.entrySet()) {
                        PageMapConverter.Entry mapEntry = new PageMapConverter.Entry();
                        mapEntry.setKey(entry.getKey());
                        if(entry.getValue() instanceof String){
                            mapEntry.setValue(EncodeUtil.urlEncode(entry.getValue().toString()));
                        }
                        else {
                            mapEntry.setValue(entry.getValue());
                        }
                        //System.out.println(mapEntry.getValue());
                        object[i++] = mapEntry;
                    }
                    pageResult.add(object);
                }
            }
            
            page.setResult(pageResult);
            page.setPageNo(v.getPageNo());
            page.setPageSize(v.getPageSize());
            page.setTotalCount(v.getTotalCount());
            page.setAutoCount(v.isAutoCount());
            page.setJumpNumber(v.getJumpNumber());
            page.setOrder(v.getOrder());
            page.setOrderBy(v.getOrderBy());
            page.setTogglestatus(v.getTogglestatus());
            page.setTotalPages(v.getTotalPages());
            
            return page;
        }
    
        @Override
        public IPage<Map<String, Object>> unmarshal(PageMapConverter v) throws Exception {
            if(v == null){
                return null;
            }
            
            Page<Map<String, Object>> page = new Page<Map<String, Object>>();
            List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
            Map<String, Object> map = null;
            if(v.getResult() != null){
                for (PageMapConverter.Entry[] list : v.getResult()) {
                    map = new HashMap<String, Object>();
                    for (PageMapConverter.Entry mapEntry : list) {
                        if(mapEntry.getValue() instanceof String){
                            map.put(mapEntry.getKey(), EncodeUtil.urlDecode(mapEntry.getValue().toString()));
                        }
                        else if(mapEntry.getValue() instanceof XMLGregorianCalendarImpl){
                            XMLGregorianCalendarImpl date = (XMLGregorianCalendarImpl)mapEntry.getValue();
                            map.put(mapEntry.getKey(), date.toGregorianCalendar().getTime());
                        }
                        else {
                            map.put(mapEntry.getKey(), mapEntry.getValue());
                        }
                        
                    }
                    mapList.add(map);
                }
            }
            
            page.setResult(mapList);
            page.setPageNo(v.getPageNo());
            page.setPageSize(v.getPageSize());
            page.setTotalCount(v.getTotalCount());
            page.setTotalCount(v.getTotalCount());
            page.setAutoCount(v.isAutoCount());
            page.setJumpNumber(v.getJumpNumber());
            //should not null or empty
            if(StringUtil.isNotEmpty(v.getOrder())){
                page.setOrder(v.getOrder());
            }
            page.setOrderBy(v.getOrderBy());
            page.setTogglestatus(v.getTogglestatus());
            page.setTotalPages(v.getTotalPages());
            
            return page;
        }
    
    }

    (2)MapAdapter

    /**
     * Map适配器
     * @author caosongqing
     *
     */
    public class MapAdapter extends 
            XmlAdapter<MapConverter, Map<String, Object>>{
     
        @Override
        public MapConverter marshal(Map<String, Object> map) throws Exception {
            if(map == null){
                return null;
            }
            
            MapConverter converter = new MapConverter();
            for(Map.Entry<String, Object> entry:map.entrySet()){
                MapConverter.MapEntry e = new MapConverter.MapEntry();
                e.setKey(entry.getKey());
                e.setValue(ConverterUtil.encode(entry.getValue()));
                converter.addEntry(e);
            }
            return converter;
        }
     
        @Override
        public Map<String, Object> unmarshal(MapConverter map) throws Exception {
            if(map == null){
                return null;
            }
            
            Map<String, Object> result = new HashMap<String, Object>();
            for(MapConverter.MapEntry e : map.getEntries()){
                result.put(e.getKey(), ConverterUtil.decode(e.getValue()));
            }
    
            return result;
        }
       
    }
  • 相关阅读:
    echarts-五分钟的教程
    vue中的路由
    2x or 3X的图
    background-size cover和contain的用法详解
    吃转基因有害?科普这么多年咋还有人信!
    基于UDP协议的Socket通信
    基于TCP协议Socket通信
    echarts地图
    Ehcache缓存实例
    Tomcat配置绝对路径
  • 原文地址:https://www.cnblogs.com/aGboke/p/4864189.html
Copyright © 2011-2022 走看看