package com.ycsoft.report.query.cube.impl; import java.util.HashMap; import java.util.List; import java.util.Map; import com.ycsoft.commons.exception.ReportException; import com.ycsoft.commons.helper.LoggerHelper; import com.ycsoft.report.query.menory.MemoryCacheInit; import com.ycsoft.report.query.cube.Dimension; import com.ycsoft.report.query.cube.DimensionLevel; import com.ycsoft.report.query.key.Impl.QueryKeyValue; public class DimensionLevelValueManage implements MemoryCacheInit { private static Map<DimensionLevel,List<QueryKeyValue>> levelValueList=new HashMap<DimensionLevel,List<QueryKeyValue>>(); private static Map<DimensionLevel,Map<String,QueryKeyValue>> levelValueMap=new HashMap<DimensionLevel,Map<String,QueryKeyValue>>(); public String initAll() { StringBuilder buffer=new StringBuilder(); for(Dimension dim: DimensionManage.getDimList()){ for(int i=1;i<=dim.getLevelNum();i++){ try{ levelValueList.put(dim.getLevel(i), dim.getLevelValuesByDatabase(i)); Map<String,QueryKeyValue> levelMap=new HashMap<String,QueryKeyValue>(); for(QueryKeyValue vo:levelValueList.get(dim.getLevel(i))) levelMap.put(vo.getId(), vo); levelValueMap.put(dim.getLevel(i), levelMap); }catch(Exception e1){ buffer.append("rep_dimension_level(").append(dim.getId()).append(")_initlevel(").append(i).append(")_error:").append(e1.getMessage()).append(";"); LoggerHelper.error(this.getClass(), "rep_dimenison_level_init_error", e1); } } } return buffer.toString(); } public static List<QueryKeyValue> getDimLevelValueList(DimensionLevel level){ return levelValueList.get(level); } public static Map<String,QueryKeyValue> getDimLevelValueMap(DimensionLevel level){ return levelValueMap.get(level); } }