1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.admincentral.apps.notifications;
35
36 import info.magnolia.objectfactory.ComponentProvider;
37 import info.magnolia.ui.api.ioc.UiContextScoped;
38 import info.magnolia.ui.api.message.Message;
39 import info.magnolia.ui.availability.AvailabilityChecker;
40 import info.magnolia.ui.contentapp.Datasource;
41 import info.magnolia.ui.contentapp.FilterableListDataProvider;
42 import info.magnolia.ui.contentapp.browser.ListPresenter;
43 import info.magnolia.ui.contentapp.configuration.GridViewDefinition;
44 import info.magnolia.ui.observation.DatasourceObservation;
45
46 import javax.inject.Inject;
47
48 import com.vaadin.data.BeanPropertySet;
49 import com.vaadin.data.PropertySet;
50
51
52
53
54 @UiContextScoped
55 public class NotificationListPresenter extends ListPresenter<Message> {
56
57 private final NotificationDataProvider dataProvider;
58
59 @Inject
60 public NotificationListPresenter(
61 GridViewDefinition<Message> viewDefinition,
62 ComponentProvider componentProvider,
63 AvailabilityChecker<Message> availabilityChecker,
64 Datasource<Message> datasource,
65 DatasourceObservation datasourceObservation,
66 NotificationDataProvider dataProvider) {
67 super(viewDefinition, componentProvider, availabilityChecker, datasource, datasourceObservation);
68 this.dataProvider = dataProvider;
69 }
70
71 @Override
72 protected FilterableListDataProvider<Message> createDataProvider() {
73 return FilterableListDataProvider.wrap(dataProvider);
74 }
75
76 @Override
77 protected PropertySet<Message> createPropertySet() {
78 return BeanPropertySet.get(Message.class);
79 }
80 }