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.app.ui.field.factory;
35
36 import info.magnolia.cms.core.Path;
37 import info.magnolia.dam.app.ui.field.definition.DamUploadFieldDefinition;
38 import info.magnolia.dam.app.ui.field.upload.AssetUploadReceiver;
39 import info.magnolia.dam.app.ui.field.upload.DamUploadField;
40 import info.magnolia.event.EventBus;
41 import info.magnolia.i18nsystem.SimpleTranslator;
42 import info.magnolia.objectfactory.ComponentProvider;
43 import info.magnolia.objectfactory.Components;
44 import info.magnolia.ui.api.app.SubAppContext;
45 import info.magnolia.ui.api.context.UiContext;
46 import info.magnolia.ui.api.i18n.I18NAuthoringSupport;
47 import info.magnolia.ui.form.field.factory.AbstractFieldFactory;
48 import info.magnolia.ui.form.field.transformer.Transformer;
49 import info.magnolia.ui.imageprovider.ImageProvider;
50 import info.magnolia.ui.mediaeditor.MediaEditorPresenterFactory;
51
52 import java.io.File;
53
54 import javax.inject.Inject;
55
56 import com.vaadin.v7.data.Item;
57 import com.vaadin.v7.ui.Field;
58
59
60
61
62 public class DamUploadFieldFactory extends AbstractFieldFactory<DamUploadFieldDefinition, AssetUploadReceiver> {
63
64 private final MediaEditorPresenterFactory mediaEditorFactory;
65 private final UiContext uiContext;
66 private final ImageProvider imageProvider;
67 private final ComponentProvider componentProvider;
68 private final SimpleTranslator i18n;
69
70 @Inject
71 public DamUploadFieldFactory(DamUploadFieldDefinition definition, Item relatedFieldItem, UiContext uiContext, I18NAuthoringSupport i18NAuthoringSupport, ImageProvider imageProvider, MediaEditorPresenterFactory mediaEditorFactory, ComponentProvider componentProvider, SimpleTranslator i18n) {
72 super(definition, relatedFieldItem, uiContext, i18NAuthoringSupport);
73 this.mediaEditorFactory = mediaEditorFactory;
74 this.uiContext = uiContext;
75 this.imageProvider = imageProvider;
76 this.componentProvider = componentProvider;
77 this.i18n = i18n;
78 }
79
80
81
82
83 @Deprecated
84 public DamUploadFieldFactory(DamUploadFieldDefinition definition, Item relatedFieldItem, ImageProvider imageProvider, UiContext uiContext, MediaEditorPresenterFactory mediaEditorFactory, ComponentProvider componentProvider, SimpleTranslator i18n, I18NAuthoringSupport i18NAuthoringSupport, EventBus subAppEventBus) {
85 this(definition, relatedFieldItem, uiContext, i18NAuthoringSupport, imageProvider, mediaEditorFactory, componentProvider, i18n);
86 }
87
88
89
90
91 @Deprecated
92 public DamUploadFieldFactory(DamUploadFieldDefinition definition, Item relatedFieldItem, ImageProvider imageProvider, UiContext uiContext, MediaEditorPresenterFactory mediaEditorFactory, ComponentProvider componentProvider, SimpleTranslator i18n) {
93 this(definition, relatedFieldItem, uiContext, Components.getComponent(I18NAuthoringSupport.class), imageProvider, mediaEditorFactory, componentProvider, i18n);
94 }
95
96
97
98
99 @Deprecated
100 public DamUploadFieldFactory(DamUploadFieldDefinition definition, Item relatedFieldItem, ImageProvider imageProvider, SubAppContext subAppContext, MediaEditorPresenterFactory mediaEditorFactory, ComponentProvider componentProvider, SimpleTranslator i18n) {
101 this(definition, relatedFieldItem, subAppContext, Components.getComponent(I18NAuthoringSupport.class), imageProvider, mediaEditorFactory, componentProvider, i18n);
102 }
103
104 @Override
105 protected Field<AssetUploadReceiver> createFieldComponent() {
106 return new DamUploadField(imageProvider, uiContext, mediaEditorFactory, componentProvider, definition, i18n);
107 }
108
109
110
111
112 File getTempDirectory() {
113 return Path.getTempDirectory();
114 }
115
116 @Override
117 protected Transformer<?> initializeTransformer(Class<? extends Transformer<?>> transformerClass) {
118 return this.componentProvider.newInstance(transformerClass, item, definition, AssetUploadReceiver.class);
119 }
120 }