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