package com.vci.rmip.code.client.codeapply.Apply410; import java.io.IOException; import java.util.*; 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.rmip.code.client.codeapply.Apply410.object.CodeClassify; import com.vci.rmip.code.client.codeapply.Apply410.object.CodeClassifyTemplateVO; import com.vci.rmip.code.client.codeapply.Apply410.object.DataGrid; import com.vci.rmip.code.client.codeapply.Apply410.object.R; import com.vci.rmip.code.client.codeapply.Apply410.object.ubcscode.page.BaseModel; import com.vci.rmip.code.client.codeapply.Apply410.object.ubcscode.vo.CodeClassifyTemplateAttrVO; import com.vci.rmip.code.client.codeapply.Apply410.utils.HttpUtil; import com.vci.rmip.code.client.codeapply.Apply410.utils.ListUtil; import com.vci.rmip.code.client.codeapply.Apply410.utils.ConfigUtils; import com.vci.rmip.code.client.codeapply.Apply410.utils.VciBaseUtil; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.codehaus.jackson.map.ObjectMapper; 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())){ for (CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO : codeClassifyTemplateVO.getAttributes()) { 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.get(field+"_text") ; }else if(defaultDataMap.containsKey(field+"Text")){ data=defaultDataMap.get(field+"Text") ; }else{ data=defaultDataMap.get(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 (IOException 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); for (Map map : dataList) { 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[]{}); } }