package wenrgise.common.utility; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import wenrgise.common.xml.vo.INFOClass; import wenrgise.common.xml.vo.Module; import wenrgise.common.xml.vo.Report; import wenrgise.common.xml.vo.ReportInfo; import wenrgise.common.xml.vo.Reports; import wenrgise.common.xml.vo.ScreenInfo; public class ReportManager { private static ReportManager me; private HashMap oMap = new HashMap(); public static ReportManager getInstance() { if (me == null) me = new ReportManager(); return me; } public ReportInfo getCachedObject(String name_) { if (name_ == null || name_.trim().length() <= 0) return null; return (ReportInfo)this.oMap.get(name_); } public void init(INFOClass oINFOClass) { if (oINFOClass == null) return; ArrayList oList = oINFOClass.get_Module(); Iterator oIt = oList.iterator(); while (oIt.hasNext()) { Module oModule = oIt.next(); String sModuleName = oModule.get_ModuleName(); ArrayList oScreenInfoList = oModule.get_ScreenInfo(); Iterator oScreenInfoIt = oScreenInfoList.iterator(); while (oScreenInfoIt.hasNext()) { ScreenInfo oScreenInfo = oScreenInfoIt.next(); String sScreenName = oScreenInfo.get_ScreenName(); Reports oReports = oScreenInfo.get_Reports(); ArrayList oReportList = oReports.get_Report(); Iterator oReportIt = oReportList.iterator(); while (oReportIt.hasNext()) { Report oReport = oReportIt.next(); ReportInfo oReportInfo = new ReportInfo(); oReportInfo.setReportKey(oReport.get_ReportKey()); String sCombinedKey = String.valueOf(String.valueOf(sModuleName).concat(String.valueOf(sScreenName))).concat(String.valueOf(oReport.get_KeyInfo())); System.out.println(String.valueOf("The key is ").concat(String.valueOf(sCombinedKey))); if (!this.oMap.containsKey(sCombinedKey)) this.oMap.put(sCombinedKey, oReportInfo); } } } } }