📄 usersessionfacadebean.java~3~
字号:
package loginejb;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import javax.ejb.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collection;
public class UserSessionFacadeBean
implements SessionBean {
SessionContext sessionContext;
private UserHome userHome;
public void ejbCreate() throws CreateException {
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
try {
findUserHome();
}
catch (Exception e) {
throw new EJBException(e.getMessage());
}
}
public void createUser(UserDTO userDTO) throws EJBException {
if (userDTO == null) {
return;
}
try {
User user = userHome.create(userDTO.getUsername());
setUserFromUserDTO(user, userDTO);
}
catch (Exception e) {
throw new EJBException(e.getMessage());
}
}
public void removeUser(String username) throws EJBException {
try {
userHome.remove(username);
}
catch (Exception e) {
throw new EJBException(e.getMessage());
}
}
public void removeUser(UserDTO userDTO) throws EJBException {
if (userDTO != null) {
String username = userDTO.getUsername();
removeUser(username);
}
}
public void updateUser(UserDTO userDTO) throws EJBException {
if (userDTO != null) {
String username = userDTO.getUsername();
try {
User user = userHome.findByPrimaryKey(username);
setUserFromUserDTO(user, userDTO);
}
catch (Exception e) {
throw new EJBException(e.getMessage());
}
}
}
public void updateUsers(UserDTO[] userDtos) throws EJBException {
if (userDtos != null) {
for (int i = 0; i < userDtos.length; i++) {
updateUser(userDtos[i]);
}
}
}
public UserDTO userFindByPrimaryKey(String username) throws EJBException {
try {
return assembleUserDto(userHome.findByPrimaryKey(username));
}
catch (Exception e) {
throw new EJBException(e.getMessage());
}
}
private void setUserFromUserDTO(User user, UserDTO userDTO) {
user.setPassword(userDTO.getPassword());
}
private void findUserHome() throws EJBException {
final String ENTITY_NAME = "java:comp/env/ejb/user";
if (userHome == null) {
try {
ServiceLocator locator = ServiceLocator.getInstance();
userHome = (UserHome) locator.getEjbLocalHome(ENTITY_NAME);
}
catch (ServiceLocatorException e) {
throw new EJBException(e.getMessage());
}
}
}
private UserDTO assembleUserDto(User user) {
return UserDtoAssembler.createDto(user);
}
private UserDTO[] assembleUserDtos(Collection users) {
List list = new ArrayList();
if (users != null) {
Iterator iterator = users.iterator();
while (iterator.hasNext()) {
User user = (User) iterator.next();
list.add(assembleUserDto(user));
}
}
UserDTO[] returnArray = new UserDTO[list.size()];
return (UserDTO[]) list.toArray(returnArray);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -