package com.vci.ubcs.codeapply; import java.util.*; import com.alibaba.cloud.commons.lang.StringUtils; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.vci.base.ui.swing.VCIOptionPane; import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider; import com.vci.base.ui.swing.components.table.VCIJTableNode; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.codeapply.object.*; import com.vci.ubcs.codeapply.utils.ConfigUtils; import com.vci.ubcs.codeapply.utils.HttpUtil; import com.vci.ubcs.codeapply.utils.ListUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.apache.commons.collections4.CollectionUtils; public class CodeApplyFor410SearchProvider extends AbstractVCIJTableDataProvider { private String[] fields = {}; private boolean view = true; private String codeName; LinkedList fieldList = new LinkedList(); private CodeApplyFor410SearchDialog dialog = null; private String url= ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController"); public CodeApplyFor410SearchProvider(CodeApplyFor410SearchDialog dialog){ this.dialog = dialog; } @Override public String[] getSpecialColumns() { LinkedList nameList = new LinkedList(); CodeClassifyTemplateVO codeClassifyTemplateVO=this.dialog.getOwnerPanel().getCurrentCodeClassifyTemplateVO(); if(codeClassifyTemplateVO!=null){ if(!CollectionUtils.isEmpty(codeClassifyTemplateVO.getAttributes())){ codeClassifyTemplateVO.getAttributes().stream().forEach(codeClassifyTemplateAttrVO -> { fieldList.add(codeClassifyTemplateAttrVO.getId()); nameList.add(codeClassifyTemplateAttrVO.getName()); }); } } fields = fieldList.toArray(new String[]{}); return nameList.toArray(new String[]{}); } @Override public int getTotal() { // TODO Auto-generated method stub return this.total; } @Override public VCIJTableNode getNewRowNode(BaseModel dataObj) { Map dataMap= dataObj.getData(); Map defaultDataMap= VciBaseUtil.objectToMapString(dataObj); defaultDataMap.putAll(dataMap); VCIJTableNode res = new VCIJTableNode(dataObj); int i=dataColumnStartIndex; String data=""; for (String field:fields){ if(defaultDataMap.containsKey(field+"_text")){ data=defaultDataMap.getOrDefault(field+"_text",""); }else if(defaultDataMap.containsKey(field+"Text")){ data=defaultDataMap.getOrDefault(field+"Text",""); }else{ data=defaultDataMap.getOrDefault(field,""); } res.setPropertyValue(getColumns()[i++], data); } return res; } @Override public BaseModel[] getDatas(int pageIndex, int pageSize) { DataGrid dataGrid=new DataGrid(); try{ CodeClassifyTemplateVO codeClassifyTemplateVO=this.dialog.getOwnerPanel().getCurrentCodeClassifyTemplateVO(); CodeClassify codeClassify = (CodeClassify) this.dialog.getOwnerPanel().getRightMainPanel().getTransTreeObject().getCurrentTreeNode().getObj(); Map condtionMap=new HashMap<>(); condtionMap.put("codeClassifyOid",codeClassify.getOid()); condtionMap.put("templateOid",codeClassifyTemplateVO.getOid()); condtionMap.put("page",pageIndex+""); condtionMap.put("limit",pageSize+""); if(StringUtils.isNotBlank(this.dialog.getStrName())){ condtionMap.put("conditionMap[id]",this.dialog.getStrName()); } //condtionMap.put("conditionMap[lcStatus]","Released"); Map headerMap=new HashMap<>(); headerMap.put("Blade-Auth",this.dialog.getOwnerPanel().getTokenUserObject().getAccess_token()); R r= HttpUtil.sendGet(url+"/gridTableDataByClassifyOid",condtionMap,headerMap); if(r.isSuccess()){ Object object= r.getData(); if(object!=null) { ObjectMapper objectMapper = new ObjectMapper(); dataGrid = objectMapper.readValue(object.toString(), DataGrid.class); } }else{ VCIOptionPane.showMessage(this.dialog,r.getMsg()); } } catch ( JsonProcessingException e) { e.printStackTrace(); } this.total= new Long(dataGrid.getTotal()).intValue(); List dataList= dataGrid.getData(); List hostInfos=new ArrayList<>(); //List hostInfos= ListUtil.listMapParseListObj(dataList, BaseModel.class); dataList.stream().forEach(map->{ BaseModel baseModel=ListUtil.mapParseJavaBean(map,BaseModel.class); baseModel.setData(map); hostInfos.add(baseModel); }); //List hostInfos = (List) dataList.stream().map(entity -> JSONUtil.toBean(JSONUtil.parseObj(entity), BaseModel.class)).collect(Collectors.toList()); return hostInfos.toArray(new BaseModel[]{}); } }