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.form.field.definition.migration;
35
36 import info.magnolia.ui.field.CompositeFieldDefinition;
37 import info.magnolia.ui.field.UploadFieldDefinition;
38 import info.magnolia.ui.form.field.transformer.item.FileTransformer;
39
40 import java.io.File;
41 import java.util.Collections;
42
43
44
45
46 public class BasicUploadFieldDefinitionConverter extends AbstractComplexFieldDefinitionConverter<File, CompositeFieldDefinition<File>, info.magnolia.ui.form.field.definition.BasicUploadFieldDefinition> {
47
48 @Override
49 public CompositeFieldDefinition<File> convert(info.magnolia.ui.form.field.definition.BasicUploadFieldDefinition oldDefinition) {
50 CompositeFieldDefinition<File> wrappedDefinition = super.convert(oldDefinition);
51
52 UploadFieldDefinition newDefinition = new UploadFieldDefinitionConverter().convert(oldDefinition);
53 newDefinition.setLabel("");
54 newDefinition.setName(oldDefinition.getName());
55
56 wrappedDefinition.setName(oldDefinition.getBinaryNodeName());
57 wrappedDefinition.setProperties(Collections.singletonList(newDefinition));
58
59 return wrappedDefinition;
60 }
61
62 @Override
63 CompositeFieldDefinition<File> createNewDefinition(info.magnolia.ui.form.field.definition.BasicUploadFieldDefinition oldDefinition) {
64 return new CompositeFieldDefinition<>();
65 }
66
67 @Override
68 protected boolean supportsTransformerClass(Class transformerClass) {
69 return transformerClass.equals(FileTransformer.class);
70 }
71
72
73
74
75 private class UploadFieldDefinitionConverter extends AbstractConfiguredFieldDefinitionConverter<File, UploadFieldDefinition, info.magnolia.ui.form.field.definition.BasicUploadFieldDefinition> {
76
77 @Override
78 public UploadFieldDefinition convert(info.magnolia.ui.form.field.definition.BasicUploadFieldDefinition oldDefinition) {
79 UploadFieldDefinition newDefinition = super.convert(oldDefinition);
80 newDefinition.setAllowedMimeTypePattern(oldDefinition.getAllowedMimeTypePattern());
81 newDefinition.setDeleteLabel(oldDefinition.getDeleteCaption());
82 newDefinition.setDropZoneLabel(oldDefinition.getDropZoneCaption());
83 newDefinition.setErrorNoteLabel(oldDefinition.getErrorNoteCaption());
84 newDefinition.setFileDetailFormatLabel(oldDefinition.getFileDetailFormatCaption());
85 newDefinition.setFileDetailHeaderLabel(oldDefinition.getFileDetailHeaderCaption());
86 newDefinition.setFileDetailNameLabel(oldDefinition.getFileDetailNameCaption());
87 newDefinition.setFileDetailSizeLabel(oldDefinition.getFileDetailSizeCaption());
88 newDefinition.setFileDetailSourceLabel(oldDefinition.getFileDetailSourceCaption());
89 newDefinition.setInProgressLabel(oldDefinition.getInProgressCaption());
90 newDefinition.setInProgressRatioLabel(oldDefinition.getInProgressRatioCaption());
91 newDefinition.setMaxUploadSize(oldDefinition.getMaxUploadSize());
92 newDefinition.setSelectAnotherLabel(oldDefinition.getSelectAnotherCaption());
93 newDefinition.setSelectNewLabel(oldDefinition.getSelectNewCaption());
94 newDefinition.setSizeInterruption(oldDefinition.getSizeInterruption());
95 newDefinition.setSuccessNoteLabel(oldDefinition.getSuccessNoteCaption());
96 newDefinition.setTypeInterruption(oldDefinition.getTypeInterruption());
97 newDefinition.setUserInterruption(oldDefinition.getUserInterruption());
98 newDefinition.setWarningNoteLabel(oldDefinition.getWarningNoteCaption());
99 return newDefinition;
100 }
101
102 @Override
103 UploadFieldDefinition createNewDefinition(info.magnolia.ui.form.field.definition.BasicUploadFieldDefinition oldDefinition) {
104 return new UploadFieldDefinition();
105 }
106
107 @Override
108 File convertDefaultValue(info.magnolia.ui.form.field.definition.BasicUploadFieldDefinition oldDefinition, UploadFieldDefinition newDefinition) {
109 return null;
110 }
111 }
112 }