package com.joe; import java.util.Date; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.RequestScoped; import javax.faces.model.DataModel; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import com.joe.client.domain.IUserInfo; import com.joe.client.facade.IUserInfoFacade; import com.joe.core.domain.UserInfo; import com.joe.utilities.core.data.DataSource; import com.joe.utilities.core.data.LocalDataModel; import com.joe.utilities.core.exception.DBException; import com.joe.utilities.core.facade.IFacade; import com.joe.utilities.core.manager.facade.ICommonFacade; import com.joe.utilities.core.serviceLocator.ServiceLocator; @ManagedBean(name="mBean") @RequestScoped public class MBean extends DataSource{ @ManagedProperty(value="#{userInfoFacade}") private IUserInfoFacade userInfoFacade ; @Size(min = 1, message = "Please enter the Email") @Pattern(regexp = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+", message = "Email format is invalid.") private String email; public MBean() { super("id"); } public String addUser(){ IUserInfo user = new UserInfo(); user.setCreateDate(new Date()); user.setName("niu"); ICommonFacade commonFacade = (ICommonFacade)ServiceLocator.getInstance().getBean("commonFacade"); try { commonFacade.save(user); } catch (DBException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @SuppressWarnings("unchecked") public DataModel getMyPagedDataModel() { if (onePageDataModel == null) { onePageDataModel = new LocalDataModel((IFacade)getUserInfoFacade(), pageSize, sortColumnName, true); } return onePageDataModel; } protected boolean isDefaultAscending(String sortColumn) { return true; } @SuppressWarnings("deprecation") public IUserInfoFacade getUserInfoFacade() { if(userInfoFacade == null){ userInfoFacade = (IUserInfoFacade)ServiceLocator.getInstance().getBean("userInfoFacade"); } return userInfoFacade; } public void setUserInfoFacade(IUserInfoFacade userInfoFacade) { this.userInfoFacade = userInfoFacade; } }