usercontrollerbean.java

来自「《Java网络程序设计.rar》包括三个网络程序的源代码。」· Java 代码 · 共 125 行

JAVA
125
字号
/**/package org.impact.stars.control.ejb;import java.util.Collection;import java.util.HashMap;//import java.rmi.RemoteException;import javax.ejb.CreateException;import javax.ejb.EJBException;import javax.ejb.RemoveException;import javax.ejb.SessionBean;import javax.ejb.SessionContext;import javax.ejb.FinderException;import org.impact.stars.control.event.StarsEvent;import org.impact.stars.control.event.ConceptEvent;import org.impact.stars.util.Debug;import org.impact.stars.util.EJBUtil;import org.impact.stars.util.EJBKeys;import org.impact.stars.control.exceptions.StarsAppException;import org.impact.stars.control.exceptions.StarsEventException;import org.impact.stars.organizationmd.stakeholder.ejb.StakeholderLocal;import org.impact.stars.organizationmd.stakeholder.ejb.StakeholderLocalHome;import org.impact.stars.organizationmd.profilemgr.ejb.ProfileMgrLocal;import org.impact.stars.organizationmd.profilemgr.ejb.ProfileMgrLocalHome;import org.impact.stars.organizationmd.user.ejb.UserLocal;import org.impact.stars.organizationmd.user.ejb.UserLocalHome;/** * Session Bean implementation for UserController EJB. */public class UserControllerBean implements SessionBean {    private StateMachine sm;    private SessionContext sc;    private StakeholderLocal shdr;    private ProfileMgrLocal pro;    private UserLocal user;    public UserControllerBean() {}    /** @return the Stakeholder entity bean for this user. */    public StakeholderLocal getStakeholder() throws StarsAppException {        String userId = (String)sm.getAttribute(EJBKeys.USERNAME);        Debug.println("UserController: getStakeholder userId=" + userId);        if (shdr == null) {            try {                StakeholderLocalHome home = EJBUtil.getStakeholderLocalHome();                shdr = home.findByPrimaryKey(userId);            } catch (FinderException ce) {                throw new StarsAppException("Unable to find a Stakeholder instance while getting the details of user " + userId);            } catch (javax.naming.NamingException ne) {                throw new EJBException (ne);            }        }        return shdr;    }    /** @return the profilemgr entity bean for this user. */    public ProfileMgrLocal getProfileMgr() throws StarsAppException {        String userId = (String)sm.getAttribute(EJBKeys.USERNAME);        if (pro == null) {            try {                Debug.println("UserController: userId: " + userId);                ProfileMgrLocalHome home = EJBUtil.getProfileMgrLocalHome();                pro = home.findByPrimaryKey(userId);            } catch (FinderException fe) {                throw new StarsAppException("Unable to find the profile of user " + userId);            } catch (javax.naming.NamingException ne) {                throw new EJBException (ne);            }        }        return pro;    }     public UserLocal getUser() throws StarsAppException {        String userId = (String)sm.getAttribute(EJBKeys.USERNAME);        Debug.println("UserControler: getUser userId=" + userId);        if (user == null) {            try {                UserLocalHome home = EJBUtil.getUserLocalHome();                user = home.create();            } catch (CreateException ce) {                throw new StarsAppException("Unable to create a User instance while getting the details of user " + userId);            } catch (javax.naming.NamingException ne) {                throw new EJBException (ne);            }        }        return user;    }        public void ejbCreate() {        sm = new StateMachine(this, sc);    }/** returns a Collection of updated Models */    public Collection handleEvent(StarsEvent ese)        throws StarsEventException {          return (sm.handleEvent(ese));    }    public void setSessionContext(SessionContext sc) {        this.sc = sc;    }    public void ejbRemove() {                shdr = null;        pro = null;    }    public void ejbActivate() {}    public void ejbPassivate() {}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?