1: package cz.cvut.x33eja.macosond.web.back;
2:
3: import cz.cvut.x33eja.macosond.business.music.BandLocal;
4: import cz.cvut.x33eja.macosond.persistence.entity.Band;
5: import java.util.ArrayList;
6: import java.util.Date;
7: import java.util.List;
8: import javax.ejb.EJB;
9: import javax.faces.model.DataModel;
10: import javax.faces.model.ListDataModel;
11: import javax.faces.model.SelectItem;
12:
13: 14: 15: 16:
17: public class BandBack
18: {
19: @EJB
20: private BandLocal bandBean;
21: private Band band;
22: private DataModel bandListModel;
23:
24: public BandBack()
25: {
26: super();
27: band = new Band();
28: band.setDateCreated(new Date());
29: }
30:
31: public BandLocal getBandBean()
32: {
33: return bandBean;
34: }
35:
36: public void setBandBean(BandLocal bandBean)
37: {
38: this.bandBean = bandBean;
39: }
40:
41: public Band getBand()
42: {
43: return band;
44: }
45:
46: public void setBand(Band band)
47: {
48: this.band = band;
49: }
50:
51: public List<Band> getBandList()
52: {
53: return new ArrayList<Band>(bandBean.getAll());
54: }
55:
56: public DataModel getBandListModel()
57: {
58: bandListModel = new ListDataModel(getBandList());
59: return bandListModel;
60: }
61:
62: public void setBandListModel(DataModel bandListModel)
63: {
64: this.bandListModel = bandListModel;
65: }
66:
67: public DataModel getBandListSelectItemModel()
68: {
69: List<Band> bands = getBandList();
70: ArrayList<SelectItem> output = new ArrayList<SelectItem>();
71: for (Band b : bands) {
72: output.add(new SelectItem(b, b.getName()));
73: }
74: return new ListDataModel(output);
75: }
76:
77: 78: 79:
80:
81: public String add()
82: {
83: bandBean.add(band);
84: return "list";
85: }
86:
87: public String edit()
88: {
89: band = (Band) bandListModel.getRowData();
90: return "edit";
91: }
92:
93: public String saveChanges()
94: {
95: bandBean.edit(band);
96: return "list";
97: }
98:
99: public String delete()
100: {
101: bandBean.delete((Band) bandListModel.getRowData());
102: return "list";
103: }
104:
105: }
106: