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.rssaggregator.field;
35
36 import info.magnolia.ui.form.field.definition.ConfiguredFieldDefinition;
37 import info.magnolia.ui.form.field.transformer.basic.BasicTransformer;
38 import info.magnolia.ui.vaadin.integration.jcr.DefaultProperty;
39
40 import java.util.Iterator;
41 import java.util.List;
42
43 import com.vaadin.v7.data.Item;
44 import com.vaadin.v7.data.Property;
45 import com.vaadin.v7.data.util.PropertysetItem;
46
47
48
49
50
51
52 @Deprecated
53 public class RSSScheduleTabTransformer extends BasicTransformer<PropertysetItem> {
54
55 protected List<String> fieldsName;
56 protected String compositeFieldName = "true";
57
58 public RSSScheduleTabTransformer(Item relatedFormItem, ConfiguredFieldDefinition definition, Class<PropertysetItem> type, List<String> fieldsName) {
59 super(relatedFormItem, definition, type);
60 }
61
62 @Override
63 public void writeToItem(PropertysetItem newValues) {
64 Iterator<?> propertyNames = newValues.getItemPropertyIds().iterator();
65
66 while (propertyNames.hasNext()) {
67 String propertyName = (String) propertyNames.next();
68 if (propertyName.equals(compositeFieldName)) {
69 PropertysetItem values = (PropertysetItem) newValues.getItemProperty(propertyName).getValue();
70 Iterator<?> names = values.getItemPropertyIds().iterator();
71
72 while (names.hasNext()) {
73 String name = (String) names.next();
74 Property<?> property = relatedFormItem.getItemProperty(name);
75 if (property == null) {
76 relatedFormItem.addItemProperty(name, values.getItemProperty(name));
77 }
78 }
79 }
80 }
81 String propertyName = definePropertyName();
82 if (newValues.getItemProperty(propertyName) != null) {
83 relatedFormItem.addItemProperty(propertyName, newValues.getItemProperty(propertyName));
84 }
85 }
86
87 @Override
88 public PropertysetItem readFromItem() {
89 PropertysetItem compositeFielNewValues = new PropertysetItem();
90 for (String propertyName : fieldsName) {
91 if (relatedFormItem.getItemProperty(propertyName) != null) {
92 compositeFielNewValues.addItemProperty(propertyName, relatedFormItem.getItemProperty(propertyName));
93 }
94 }
95 PropertysetItem newValue = new PropertysetItem();
96 newValue.addItemProperty(compositeFieldName, new DefaultProperty<PropertysetItem>(PropertysetItem.class, compositeFielNewValues));
97
98 String propertyName = definePropertyName();
99 if (relatedFormItem.getItemProperty(propertyName) != null) {
100 newValue.addItemProperty(propertyName, relatedFormItem.getItemProperty(propertyName));
101 }
102
103 return newValue;
104 }
105 }