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.content2bean.impl;
35
36 import info.magnolia.cms.core.SystemProperty;
37 import info.magnolia.content2bean.Content2BeanTransformer;
38 import info.magnolia.objectfactory.ClassFactory;
39 import info.magnolia.objectfactory.Classes;
40
41 import java.util.Iterator;
42 import java.util.Properties;
43
44 import org.apache.commons.lang3.StringUtils;
45 import org.slf4j.Logger;
46 import org.slf4j.LoggerFactory;
47
48
49
50
51
52
53
54 @Deprecated
55 public class PropertiesBasedTypeMapping extends TypeMappingImpl {
56
57 private static Logger log = LoggerFactory.getLogger(PropertiesBasedTypeMapping.class);
58
59 public PropertiesBasedTypeMapping() {
60 Properties properties = SystemProperty.getProperties();
61 for (Iterator<Object> iterator = properties.keySet().iterator(); iterator.hasNext(); ) {
62 String key = (String) iterator.next();
63 if (key.endsWith(".transformer")) {
64 String className = StringUtils.removeEnd(key, ".transformer");
65 String transformerClassName = properties.getProperty(key);
66 try {
67 final ClassFactory cl = Classes.getClassFactory();
68 final Class<?> beanClass = cl.forName(className);
69 final Class<Content2BeanTransformer> transformerClass = cl.forName(transformerClassName);
70
71
72
73 final Content2BeanTransformer transformer = cl.newInstance(transformerClass);
74
75 getTypeDescriptor(beanClass).setTransformer(transformer);
76 log.debug("Registered custom transformer [{}] for [{}]", className, transformerClassName);
77 } catch (Exception e) {
78 log.error("Can't register custom transformer for [{}]", className, e);
79 }
80 }
81 }
82
83 }
84 }