package de.hsel.itech.jsf; import de.hsel.itech.db.Database; import de.hsel.itech.db.pojo.Address; import de.hsel.itech.db.pojo.User; import lombok.Getter; import lombok.Setter; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.validation.constraints.Size; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * * @author Johannes Theiner * @version 1.0 */ @ManagedBean @SessionScoped public class AddressBean implements Serializable { public User getUser() { FacesContext context = FacesContext.getCurrentInstance(); return (User) context.getApplication().evaluateExpressionGet(context,"#{userBean.user}", User.class); } @Getter @Setter private String name; @Getter @Setter private String street; @Getter @Setter private String number; @Getter @Setter @Size(min = 5, max = 5) private Integer zipCode; @Getter @Setter private String city; @Getter private boolean valid = true; @Getter private Address selected; public String select(Address address) { selected = address; return "paymentSelection.jsf"; } public List
getAddressList() { List
list = Database.getInstance().address().getAll(getUser()); if(list == null) return new ArrayList<>(); return list; } public String add() { if(getUser() != null && name != null && street != null && number != null && zipCode != null && city != null) { Database.getInstance().address().insert(new Address(getUser(), name, street, number, zipCode, city)); name = null; number = null; zipCode = null; city = null; valid = true; return "address.xhtml"; } valid = false; return ""; } }