📄 rolemanagerbean.java
字号:
package com.jdon.security.auth.ejb;
import javax.ejb.*;
import org.apache.log4j.Logger;
import com.jdon.servicelocator.ejb.*;
import com.jdon.security.auth.PrincipalException;
import com.jdon.security.auth.util.JNDINames;
import com.jdon.security.Constants;
import com.jdon.sequence.SequenceGeneratorLocalHome;
import com.jdon.sequence.SequenceGeneratorLocal;
import com.jdon.security.Role;
import com.jdon.security.model.RoleModel;
public class RoleManagerBean implements SessionBean {
private final static Logger logger = Logger.getLogger(RoleManagerBean.class);
SessionContext sessionContext;
RoleHome roleHome;
SequenceGeneratorLocalHome sequenceHome;
public void ejbCreate() throws CreateException {
try {
ServiceLocator serviceLocator = new ServiceLocator();
roleHome = (RoleHome) serviceLocator.getLocalHome(
JNDINames.ROLE_HOME);
sequenceHome = (SequenceGeneratorLocalHome) serviceLocator.getLocalHome(
JNDINames.SEQUENCEGENERATOR_HOME);
} catch (Exception ex) {
logger.error("create error:" + ex);
throw new CreateException();
}
}
public int getNewId(String name) {
try {
SequenceGeneratorLocal seq = sequenceHome.create();
return seq.nextSequenceNumber(name);
} catch (Exception ex) {
throw new EJBException("Error generating id for : " + name + ex);
}
}
public Role createRole(Role roleDTO) throws Exception {
RoleLocal roleLocal = null;
try {
String id = Integer.toString(getNewId(Constants.SEQUENCE_ROLE_NAME));
roleLocal = roleHome.create(id);
roleDTO.setRoleId(id);
updateRole(roleDTO);
return roleDTO;
} catch (Exception ex) {
logger.error(ex);
throw new EJBException(ex);
}
}
public void updateRole(Role roleDTO) throws Exception {
RoleLocal roleLocal = null;
try {
roleLocal = roleHome.findByPrimaryKey(roleDTO.getRoleId());
roleLocal.setName(roleDTO.getName());
} catch (Exception ex) {
logger.error(ex);
throw new EJBException(ex);
}
}
public Role getRoleById(String roleId) {
roleId = roleId.trim().toLowerCase();
RoleLocal roleLocal = null;
try {
roleLocal = roleHome.findByPrimaryKey(roleId);
} catch (Exception ex) {
logger.error(ex);
}
return getRole(roleLocal);
}
/**
* get role Id by name
* if not exsit then create it.
* @param name
* @return
*/
public String getRoleId(String name) throws Exception {
try {
Role role = getRoleByName(name);
if (role == null) {
role = createRole(new RoleModel(name));
}
return role.getRoleId();
} catch (Exception ex) {
logger.error(ex);
throw new EJBException(ex);
}
}
public Role getRoleByName(String name) {
RoleLocal roleLocal = null;
try {
roleLocal = roleHome.findByName(name);
} catch (Exception ex) {
logger.error(ex);
}
return getRole(roleLocal);
}
private Role getRole(RoleLocal roleLocal) {
if (roleLocal == null)
return null;
Role role = new RoleModel(roleLocal.getRoleId());
role.setName(roleLocal.getName());
role.setRoleId(roleLocal.getRoleId());
return role;
}
public void ejbRemove() {
/**@todo Complete this method*/
}
public void ejbActivate() {
/**@todo Complete this method*/
}
public void ejbPassivate() {
/**@todo Complete this method*/
}
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -