ReaderView.java 1.48 KB
package fi.insomnia.bortal.view;

import java.util.ArrayList;
import java.util.Set;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.model.ListDataModel;

import fi.insomnia.bortal.view.RfidContainer.RfidEvent;

@ManagedBean(name = "readerView")
@SessionScoped
public class ReaderView {

    @ManagedProperty(value = "#{rfidContainer}")
    private RfidContainer container;
    private ListDataModel<String> readerlist;
    private String readername;
    private ListDataModel<RfidEvent> readerevents;

    public ListDataModel<String> getReaders() {
        Set<String> keyset = getContainer().getReaders().keySet();
        readerlist = new ListDataModel<String>(new ArrayList<String>(keyset));
        return readerlist;
    }

    public String selectReader() {
        setReadername(readerlist.getRowData());
        return "showReaderEvents";
    }

    public ListDataModel<RfidEvent> getReaderEvents() {
        readerevents = new ListDataModel<RfidEvent>(getContainer().getReaderEvents(getReadername()));
        return readerevents;
    }

    public void setContainer(RfidContainer container) {
        this.container = container;
    }

    public RfidContainer getContainer() {
        return container;
    }

    public void setReadername(String readername) {
        this.readername = readername;
    }

    public String getReadername() {
        return readername;
    }
}