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.dam.external.app.field.factory;
35
36 import info.magnolia.cms.i18n.I18nContentSupport;
37 import info.magnolia.dam.api.metadata.AssetMetadataRegistry;
38 import info.magnolia.dam.external.app.field.AssetMetadataField;
39 import info.magnolia.dam.external.app.field.definition.AssetMetadataFieldDefinition;
40 import info.magnolia.objectfactory.ComponentProvider;
41 import info.magnolia.ui.api.context.UiContext;
42 import info.magnolia.ui.api.i18n.I18NAuthoringSupport;
43 import info.magnolia.ui.form.field.factory.AbstractFieldFactory;
44 import info.magnolia.ui.form.field.factory.FieldFactoryFactory;
45
46 import javax.inject.Inject;
47
48 import com.vaadin.v7.data.Item;
49 import com.vaadin.v7.data.util.BeanItem;
50 import com.vaadin.v7.ui.Field;
51
52
53
54
55 public class AssetMetadataFieldFactory extends AbstractFieldFactory<AssetMetadataFieldDefinition, BeanItem> {
56
57 private final FieldFactoryFactory fieldFactoryFactory;
58 private final ComponentProvider componentProvider;
59 private final AssetMetadataRegistry metadataRegistry;
60
61 @Inject
62 public AssetMetadataFieldFactory(AssetMetadataFieldDefinition definition, Item item, UiContext uiContext, I18NAuthoringSupport i18nAuthoringSupport, FieldFactoryFactory fieldFactoryFactory, ComponentProvider componentProvider, AssetMetadataRegistry metadataRegistry) {
63 super(definition, item, uiContext, i18nAuthoringSupport);
64 this.fieldFactoryFactory = fieldFactoryFactory;
65 this.componentProvider = componentProvider;
66 this.metadataRegistry = metadataRegistry;
67 }
68
69
70
71
72 @Deprecated
73 public AssetMetadataFieldFactory(AssetMetadataFieldDefinition definition, Item item, FieldFactoryFactory fieldFactoryFactory, I18nContentSupport i18nContentSupport, ComponentProvider componentProvider, AssetMetadataRegistry metadataRegistry) {
74 this(definition, item, componentProvider.getComponent(UiContext.class), componentProvider.getComponent(I18NAuthoringSupport.class), fieldFactoryFactory, componentProvider, metadataRegistry);
75 }
76
77 @Override
78 protected Field<BeanItem> createFieldComponent() {
79 return new AssetMetadataField(definition, item, fieldFactoryFactory, componentProvider, metadataRegistry);
80 }
81
82 }