package miage.ecom.appclient;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import miage.ecom.entity.Account;
import miage.ecom.entity.Admin;
import miage.ecom.entity.Product;
import miage.ecom.session.AdminFacadeLocal;
/**
* Session bean stateful qui fourni le code métier
* pour le client lourd admin
*
* Ce bean est en mode remote car il est accessible depuis le client lourd
*
* @author Schwartz Michaël <m.schwartz@epokmedia.fr>
*/
@Stateful
@TransactionManagement(TransactionManagementType.BEAN)
public class EcomAdminBean extends AbstractEcomBean implements EcomAdminRemote {
@EJB
private AdminFacadeLocal adminFacade;
private String adminName;
@Override
public void authenticate(String login, String password){
Admin admin = this.adminFacade.authenticate(login, password);
if (admin != null) {
adminName = admin.getName();
}
}
@Override
public String getAdminName() {
return adminName;
}
@Remove
@Override
public void removeBean(){
}
@Override
public List<Account> getAccountList(){
return this.accountFacade.findAll();
}
@Override
public void saveProduct(Product p) {
p.setCategory(categoryFacade.find(100));
this.productFacade.insert(p);
}
}