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.ui.datasource.jcr;
35
36 import info.magnolia.context.Context;
37 import info.magnolia.ui.api.i18n.I18NAuthoringSupport;
38 import info.magnolia.ui.JcrDataModifier;
39 import info.magnolia.ui.contentapp.DataModifier;
40 import info.magnolia.ui.contentapp.HierarchicalJcrDataProvider;
41 import info.magnolia.ui.contentapp.JcrDataProvider;
42 import info.magnolia.ui.contentapp.JcrItemDescriber;
43 import info.magnolia.ui.contentapp.JcrItemInteractionAvailability;
44 import info.magnolia.ui.contentapp.JcrNodeResolver;
45 import info.magnolia.ui.contentapp.JcrPropertySetFactory;
46 import info.magnolia.ui.contentapp.JcrWorkspaceHierarchySupport;
47 import info.magnolia.ui.contentapp.browser.ItemInteractionAvailability;
48 import info.magnolia.ui.contentapp.browser.preview.PreviewProvider;
49 import info.magnolia.ui.contentapp.observation.JcrDataSourceObservation;
50 import info.magnolia.ui.contentapp.observation.JcrObservation;
51 import info.magnolia.ui.contentapp.preview.JcrPreviewProvider;
52 import info.magnolia.ui.databinding.converter.JcrItemToLinkConverter;
53 import info.magnolia.ui.framework.datasource.DatasourceBundle;
54 import info.magnolia.ui.framework.datasource.components.HierarchySupport;
55 import info.magnolia.ui.framework.datasource.components.ItemDescriber;
56 import info.magnolia.ui.framework.datasource.components.ItemResolver;
57 import info.magnolia.ui.framework.datasource.components.PropertySetFactory;
58
59 import javax.inject.Inject;
60 import javax.inject.Provider;
61 import javax.inject.Singleton;
62 import javax.servlet.http.HttpServletRequest;
63
64 import com.vaadin.data.Converter;
65 import com.vaadin.data.provider.DataProvider;
66 import com.vaadin.data.provider.HierarchicalDataProvider;
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 @Singleton
82 public class JcrDataSourceBundle extends DatasourceBundle<JcrDatasourceDefinition> {
83
84 @Inject
85 public JcrDataSourceBundle(Provider<Context> contextProvider, JcrObservation observation, Provider<HttpServletRequest> requestProvider, Provider<I18NAuthoringSupport> i18NAuthoringSupport) {
86 super(JcrDatasourceDefinition.class);
87
88 register(PropertySetFactory.class, def -> new JcrPropertySetFactory(i18NAuthoringSupport.get()));
89 register(JcrDatasourceDefinition.class, def -> def);
90 register(JcrDataProvider.class, def -> new JcrDataProvider(def, new JcrDataSourceObservation(observation), contextProvider));
91 register(HierarchicalDataProvider.class, def -> new HierarchicalJcrDataProvider(def, new JcrDataSourceObservation(observation), contextProvider));
92 register(DataModifier.class, def -> new JcrDataModifier());
93 register(JcrItemDescriber.class, def -> new JcrItemDescriber(def));
94 register(JcrNodeResolver.class, def -> new JcrNodeResolver(def, contextProvider));
95 register(ItemInteractionAvailability.class, def -> new JcrItemInteractionAvailability());
96 register(HierarchySupport.class, def -> new JcrWorkspaceHierarchySupport(def, contextProvider));
97 register(Converter.class, def -> new JcrItemToLinkConverter(def, contextProvider));
98 register(PreviewProvider.class, def -> new JcrPreviewProvider(def, requestProvider));
99 }
100 }