/**
* Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved.
* EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* http://www.ewcms.com
*/
package com.ewcms.plugin.report.generate.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.ewcms.plugin.report.generate.vo.PageShowParam;
import com.ewcms.plugin.report.model.Parameter;
import com.ewcms.plugin.report.model.data.StaticData;
import com.ewcms.plugin.report.model.view.ComponentView;
import com.ewcms.plugin.report.model.view.SessionView;
/**
* 数据库中的参数值转换成页面对象
*
* @author 吴智俊
*/
public class ParamConversionPage {
/**
* 把数据库里的参数集合转换成页面显示的记录集
*
* @param paramSet 数据库参数集合
* @return 页面显示记录集
*/
public static List<PageShowParam> conversion(Set<Parameter> paramSet) {
List<PageShowParam> pspList = new ArrayList<PageShowParam>();
if (paramSet != null && paramSet.size() > 0) {
for (Parameter param : paramSet) {
Map<String, String> showValue = new HashMap<String, String>();
if (param.getType() == Parameter.Type.SESSION) {
ComponentView componentView = param.getComponentView();
if (componentView != null) {
SessionView sessionView = (SessionView) componentView;
showValue.put("0", sessionView.getName());
}
} else if (param.getType() == Parameter.Type.LIST || param.getType() == Parameter.Type.CHECK) {
StaticData staticData = (StaticData) param.getData();
if (staticData != null) {
showValue = AnalysisUtil.analysis(staticData.getValue());
}
} else if (param.getType() == Parameter.Type.BOOLEAN) {
showValue.put("true", "true");
showValue.put("false", "false");
}
PageShowParam psp = new PageShowParam();
psp.setValue(showValue);
psp.setCnName(param.getCnName());
psp.setDefaultValue(param.getDefaultValue());
psp.setEnName(param.getEnName());
psp.setId(param.getId());
psp.setType(param.getType());
pspList.add(psp);
}
}
return pspList;
}
}