package miage.ecom.appclient;
import javax.ejb.EJB;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import miage.ecom.auth.AuthIdentity;
import miage.ecom.auth.AuthResult;
import miage.ecom.auth.AuthResultCode;
import miage.ecom.entity.Customer;
import miage.ecom.session.CustomerFacadeLocal;
/**
* Session bean stateful qui fourni le code métier
* pour le client lourd customer
*
* @author Schwartz Michaël <m.schwartz@epokmedia.fr>
*/
@Stateful
@TransactionManagement(TransactionManagementType.BEAN)
public class EcomCustomerBean extends AbstractEcomBean implements EcomCustomerRemote {
@EJB
private CustomerFacadeLocal customerFacade;
private AuthResult authResult = AuthResult.ERROR;
@Override
public void authenticate(String login, String password) {
Customer customer = this.customerFacade.authenticate(login, password);
if (customer != null) {
authResult = new AuthResult("", AuthResultCode.SUCCESS, new AuthIdentity(customer));
} else {
authResult = new AuthResult("Nom d'utilisateur ou mot de passe incorrect", AuthResultCode.INVALID_CREDENTIAL, null);
}
}
@Override
public AuthResult getAuthResult() {
return this.authResult;
}
@Remove
@Override
public void removeBean(){
}
}