59 lines
2.0 KiB
Java
59 lines
2.0 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|