183 lines
5.2 KiB
Java
183 lines
5.2 KiB
Java
package wenrgise.ejb.common.session;
|
|
|
|
import java.text.DateFormat;
|
|
import java.util.Collection;
|
|
import java.util.HashMap;
|
|
import java.util.Locale;
|
|
import javax.ejb.EJBObject;
|
|
import javax.ejb.SessionBean;
|
|
import javax.ejb.SessionContext;
|
|
import wenrgise.common.utility.UserInfo;
|
|
import wenrgise.common.vo.BaseDetailVO;
|
|
import wenrgise.common.vo.BaseHeaderVO;
|
|
import wenrgise.common.vo.BaseQueryVO;
|
|
import wenrgise.ejb.common.helper.ScreenWrapper;
|
|
|
|
public class UserSessionBean implements SessionBean {
|
|
private SessionContext context;
|
|
|
|
private UserInfo userInfo;
|
|
|
|
private HashMap oFormMap = new HashMap();
|
|
|
|
private Locale oUserLocale;
|
|
|
|
private Locale oDefaultLocale = Locale.getDefault();
|
|
|
|
private HashMap moduleFacade = new HashMap();
|
|
|
|
private String moduleName = null;
|
|
|
|
private HashMap securityMap = new HashMap();
|
|
|
|
public void ejbCreate() {}
|
|
|
|
public void ejbActivate() {}
|
|
|
|
public void ejbPassivate() {}
|
|
|
|
public void ejbRemove() {}
|
|
|
|
public void setSessionContext(SessionContext ctx) {
|
|
this.context = ctx;
|
|
}
|
|
|
|
public HashMap getAccessInfo() {
|
|
return this.securityMap;
|
|
}
|
|
|
|
public void setAccessInfo(HashMap oMap) {
|
|
this.securityMap = oMap;
|
|
}
|
|
|
|
public void removeAllIfExists(String sFormName, String sScreenName) {
|
|
ScreenWrapper oScreenMap = (ScreenWrapper)this.oFormMap.get(sFormName);
|
|
if (oScreenMap == null)
|
|
return;
|
|
this.oFormMap.remove(sFormName);
|
|
}
|
|
|
|
private ScreenWrapper getScreenWrapper(String sFormName) {
|
|
ScreenWrapper oScreenWrapper = (ScreenWrapper)this.oFormMap.get(sFormName);
|
|
if (oScreenWrapper == null) {
|
|
oScreenWrapper = new ScreenWrapper();
|
|
this.oFormMap.put(sFormName, oScreenWrapper);
|
|
}
|
|
return oScreenWrapper;
|
|
}
|
|
|
|
public void setForwardedPage(String sFormName, String sForwardedPage) {
|
|
ScreenWrapper screenWrapper = getScreenWrapper(sFormName);
|
|
if (null != screenWrapper)
|
|
screenWrapper.setForwardedPage(sForwardedPage);
|
|
}
|
|
|
|
public String getForwardedPage(String sFormName) {
|
|
ScreenWrapper screenWrapper = getScreenWrapper(sFormName);
|
|
if (null != screenWrapper)
|
|
return screenWrapper.getForwardedPage();
|
|
return null;
|
|
}
|
|
|
|
private HashMap getScreenMap(String sFormName) {
|
|
ScreenWrapper oScreenWrapper = getScreenWrapper(sFormName);
|
|
HashMap oScreenMap = oScreenWrapper.getOScreenMap();
|
|
if (oScreenMap == null) {
|
|
oScreenMap = new HashMap();
|
|
oScreenWrapper.setOScreenMap(oScreenMap);
|
|
}
|
|
return oScreenMap;
|
|
}
|
|
|
|
public void putBaseHeaderVO(String sFormName, BaseHeaderVO oBaseHeaderVO) {
|
|
getScreenWrapper(sFormName).setOBaseHeaderVO(oBaseHeaderVO);
|
|
}
|
|
|
|
public void putBaseQueryVO(String sFormName, BaseQueryVO oBaseQueryVO) {
|
|
getScreenWrapper(sFormName).setOBaseQueryVO(oBaseQueryVO);
|
|
}
|
|
|
|
public void putBaseDetailVO(String sFormName, String sScreenName, BaseDetailVO oBaseDetailVO) {
|
|
getScreenMap(sFormName).put(sScreenName, oBaseDetailVO);
|
|
}
|
|
|
|
public BaseHeaderVO getBaseHeaderVO(String sFormName) {
|
|
ScreenWrapper oScreenWrapper = (ScreenWrapper)this.oFormMap.get(sFormName);
|
|
if (oScreenWrapper == null)
|
|
return null;
|
|
return oScreenWrapper.getOBaseHeaderVO();
|
|
}
|
|
|
|
public BaseQueryVO getBaseQueryVO(String sFormName) {
|
|
ScreenWrapper oScreenWrapper = (ScreenWrapper)this.oFormMap.get(sFormName);
|
|
if (oScreenWrapper == null)
|
|
return null;
|
|
return oScreenWrapper.getOBaseQueryVO();
|
|
}
|
|
|
|
public BaseDetailVO getBaseDetailVO(String sFormName, String sScreenName) {
|
|
ScreenWrapper oScreenWrapper = (ScreenWrapper)this.oFormMap.get(sFormName);
|
|
if (oScreenWrapper == null)
|
|
return null;
|
|
return (BaseDetailVO)oScreenWrapper.getOScreenMap().get(sScreenName);
|
|
}
|
|
|
|
public UserInfo getUserInfo() {
|
|
return this.userInfo;
|
|
}
|
|
|
|
public void setUserInfo(UserInfo newUserInfo) {
|
|
this.userInfo = newUserInfo;
|
|
}
|
|
|
|
public Locale getUserLocale() {
|
|
return this.oUserLocale;
|
|
}
|
|
|
|
public void setUserLocale(Locale oUserLocale) {
|
|
if (oUserLocale == null)
|
|
oUserLocale = this.oDefaultLocale;
|
|
}
|
|
|
|
public Locale getDefaultLocale() {
|
|
return this.oDefaultLocale;
|
|
}
|
|
|
|
public DateFormat getUserDateFormat() {
|
|
if (this.oUserLocale != null)
|
|
return DateFormat.getDateInstance(2, this.oUserLocale);
|
|
return DateFormat.getDateInstance();
|
|
}
|
|
|
|
public DateFormat getDefaultDateFormat() {
|
|
if (this.oDefaultLocale != null)
|
|
return DateFormat.getDateInstance(2, this.oDefaultLocale);
|
|
return DateFormat.getDateInstance();
|
|
}
|
|
|
|
public HashMap getModuleFacade() {
|
|
return this.moduleFacade;
|
|
}
|
|
|
|
public void setModuleFacade(HashMap newModuleFacade) {
|
|
this.moduleFacade = newModuleFacade;
|
|
}
|
|
|
|
public void removeAllDetailVO(String sFormName) {
|
|
ScreenWrapper oScreenWrapper = (ScreenWrapper)this.oFormMap.get(sFormName);
|
|
HashMap oMap = oScreenWrapper.getOScreenMap();
|
|
Collection oCollection = oMap.values();
|
|
oCollection.clear();
|
|
}
|
|
|
|
public void setModuleName(String moduleName) {
|
|
this.moduleName = moduleName;
|
|
}
|
|
|
|
public EJBObject getModuleEJBObject() {
|
|
if (null != this.moduleFacade)
|
|
return (EJBObject)this.moduleFacade.get(this.moduleName);
|
|
return null;
|
|
}
|
|
}
|