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.module.googlesitemap.app.field;
35
36 import info.magnolia.module.googlesitemap.GoogleSiteMapConfiguration;
37 import info.magnolia.module.googlesitemap.SiteMapNodeTypes;
38 import info.magnolia.ui.form.field.factory.SelectFieldFactory;
39 import info.magnolia.ui.vaadin.integration.jcr.DefaultPropertyUtil;
40
41 import com.google.inject.Inject;
42 import com.vaadin.data.Item;
43 import com.vaadin.data.Property;
44
45
46
47
48 public class GoogleSiteMapSelectFieldFactory extends SelectFieldFactory<GoogleSiteMapSelectFieldFactoryDefinition> {
49
50 private final GoogleSiteMapConfiguration configuration;
51
52 @Inject
53 public GoogleSiteMapSelectFieldFactory(GoogleSiteMapSelectFieldFactoryDefinition definition, Item relatedFieldItem, GoogleSiteMapConfiguration configuration) {
54 super(definition, relatedFieldItem);
55 this.configuration = configuration;
56 }
57
58 @Override
59 protected Object createDefaultValue(Property<?> dataSource) {
60 if (SiteMapNodeTypes.SiteMap.DEFAULT_CHANGEFREQ.equals(definition.getName())) {
61 return DefaultPropertyUtil.createTypedValue(String.class, configuration.getChangeFrequency());
62 }
63
64 if (SiteMapNodeTypes.SiteMap.DEFAULT_PRIORITY.equals(definition.getName())) {
65 return DefaultPropertyUtil.createTypedValue(Double.class, Double.toString(configuration.getPriority()));
66 }
67
68 return super.createDefaultValue(dataSource);
69 }
70 }