66 lines
2.2 KiB
Java
66 lines
2.2 KiB
Java
package wenrgise.ejb.common.utility;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import wenrgise.common.xml.vo.LOV;
|
|
import wenrgise.common.xml.vo.LOVClass;
|
|
import wenrgise.common.xml.vo.LOVInfo;
|
|
import wenrgise.common.xml.vo.Screen;
|
|
import wenrgise.common.xml.vo.ScreenMode;
|
|
import wenrgise.common.xml.vo.ScreenModes;
|
|
import wenrgise.common.xml.vo.Screens;
|
|
|
|
public class LOVManager {
|
|
private static LOVManager me;
|
|
|
|
private HashMap oMap = new HashMap();
|
|
|
|
public static LOVManager getInstance() {
|
|
if (me == null)
|
|
me = new LOVManager();
|
|
return me;
|
|
}
|
|
|
|
public LOVInfo getCachedObject(String name_) {
|
|
if (name_ == null || name_.trim().length() <= 0)
|
|
return null;
|
|
return (LOVInfo)this.oMap.get(name_);
|
|
}
|
|
|
|
public void init(LOVClass oLOVClass) {
|
|
if (oLOVClass == null)
|
|
return;
|
|
ArrayList oList = oLOVClass.get_LOV();
|
|
Iterator oIt = oList.iterator();
|
|
while (oIt.hasNext()) {
|
|
LOV oLOV = oIt.next();
|
|
String sLOVName = oLOV.get_LovKey();
|
|
Screens oScreens = oLOV.get_Screens();
|
|
Iterator oScreenIt = oScreens.get_Screen().iterator();
|
|
while (oScreenIt.hasNext()) {
|
|
Screen oScreen = oScreenIt.next();
|
|
String sScreenName = oScreen.get_ScreenName();
|
|
ScreenModes oScreenModes = oScreen.get_ScreenModes();
|
|
Iterator oScreenModeIt = oScreenModes.get_ScreenMode().iterator();
|
|
while (oScreenModeIt.hasNext()) {
|
|
ScreenMode oScreenMode = oScreenModeIt.next();
|
|
String sMode = oScreenMode.get_ModeName();
|
|
LOVInfo oLOVInfo = new LOVInfo();
|
|
oLOVInfo.setFacadeName(oScreenMode.get_FacadeName());
|
|
oLOVInfo.setFunctionName(oScreenMode.get_FunctionName());
|
|
oLOVInfo.setInsertFlag(oScreenMode.get_InsertFlag());
|
|
oLOVInfo.setRecursiveFlag(oScreenMode.get_RecursiveFlag());
|
|
String sCombinedKey = String.valueOf(String.valueOf(sLOVName).concat(String.valueOf(sScreenName))).concat(String.valueOf(sMode));
|
|
if (!this.oMap.containsKey(sCombinedKey))
|
|
this.oMap.put(sCombinedKey, oLOVInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void main(String[] argv) {
|
|
LOVManager oLov = new LOVManager();
|
|
}
|
|
}
|