package org.t4f.msc.managedbeans; import java.io.Serializable; import java.util.List; import java.util.logging.Logger; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.event.ComponentSystemEvent; import org.t4f.msc.model.Subscriber; import org.t4f.msc.model.SubscribersGroup; import org.t4f.msc.services.SubscriberServices; import org.t4f.msc.services.SubscribersGroupServices; @ManagedBean @ViewScoped public class MaintainSubscribers extends ManagedBeanCommon implements Serializable { private static final long serialVersionUID = 8845202700145663082L; private final static Logger LOGGER = Logger.getLogger("POCSAG-MSC"); private Subscriber subscriberFilter = new Subscriber(); private Subscriber subscriberEdit; private transient List<Subscriber> subscriberList; private transient List<SubscribersGroup> groupList; private boolean popupEditMode; //This bool indicates that popup has to show in edit mode instead of create mode private int idSubscriber; public List<Subscriber> getSubscriberList() { return subscriberList; } public void setSubscriberList(List<Subscriber> subscriberList) { this.subscriberList = subscriberList; } public Subscriber getSubscriberFilter() { return subscriberFilter; } public void setSubscriberFilter(Subscriber subscriber) { this.subscriberFilter = subscriber; } public Subscriber getSubscriberEdit() { return subscriberEdit; } public void setSubscriberEdit(Subscriber subscriberEdit) { this.subscriberEdit = subscriberEdit; } public List<SubscribersGroup> getGroupList() { return groupList; } public void setGroupList(List<SubscribersGroup> groupList) { this.groupList = groupList; } public boolean isPopupEditMode() { return popupEditMode; } public void setPopupEditMode(boolean popupEditMode) { this.popupEditMode = popupEditMode; } public void loadSubscribers(ComponentSystemEvent event) { SubscriberServices subscriberServices = new SubscriberServices(); subscriberList = subscriberServices.find(subscriberFilter); } public String loadSubscribersGroups() { SubscribersGroupServices subscribersGroupServices = new SubscribersGroupServices(); idSubscriber = Integer.parseInt(getParameter("id")); if ((groupList = subscribersGroupServices.getGroupsMembershipByUserId(idSubscriber)) == null) return "main"; //error else return null; } public String loadSubscriberToEdit() { popupEditMode = true; SubscriberServices subscriberServices = new SubscriberServices(); int id = Integer.parseInt(getParameter("id")); if ((this.subscriberEdit = subscriberServices.read(id)) == null) return "main"; //error else return null; } public String loadSubscriberToCreate() { popupEditMode = false; this.subscriberEdit = new Subscriber(); return null; } public String editSubscriber() { SubscriberServices subscriberServices = new SubscriberServices(); if (subscriberServices.update(subscriberEdit)) addMessage("message", "Error saving changes."); else addMessage("message", "Changes saved correctly."); return null; } public String createSubscriber() { SubscriberServices subscriberServices = new SubscriberServices(); if (subscriberServices.create(subscriberEdit)) addMessage("message", "Error creating subscriber."); else addMessage("message", "Subscriber created correctly."); return null; } public String deleteSubscriber() { SubscriberServices subscriberServices = new SubscriberServices(); int id = Integer.parseInt(getParameter("id")); if (subscriberServices.delete(id)) addMessage("message", "Error deleting subscriber."); else addMessage("message", "Subscriber deleted."); return null; } public String changeSubscriberGroupsMembership() { SubscribersGroupServices subscribersGroupServices = new SubscribersGroupServices(); if (subscribersGroupServices.setGroupsMembershipByUserId(idSubscriber, groupList)) addMessage("message", "Error editing groups."); else addMessage("message", "Subscriber's groups modified correctly."); return null; } }