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