1
22
23 package com.liferay.portal.velocity;
24
25 import com.liferay.portal.kernel.io.unsync.UnsyncStringWriter;
26 import com.liferay.portal.kernel.util.Validator;
27
28 import java.util.Iterator;
29 import java.util.Map;
30
31 import org.apache.velocity.VelocityContext;
32 import org.apache.velocity.app.Velocity;
33
34
39 public class VelocityUtil {
40
41 public static String evaluate(String input) throws Exception {
42 return evaluate(input, null);
43 }
44
45 public static String evaluate(String input, Map<String, Object> variables)
46 throws Exception {
47
48 Velocity.init();
49
50 VelocityContext velocityContext = new VelocityContext();
51
52 if (variables != null) {
53 Iterator<Map.Entry<String, Object>> itr =
54 variables.entrySet().iterator();
55
56 while (itr.hasNext()) {
57 Map.Entry<String, Object> entry = itr.next();
58
59 String key = entry.getKey();
60 Object value = entry.getValue();
61
62 if (Validator.isNotNull(key)) {
63 velocityContext.put(key, value);
64 }
65 }
66 }
67
68 UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter(true);
69
70 Velocity.evaluate(
71 velocityContext, unsyncStringWriter, VelocityUtil.class.getName(),
72 input);
73
74 return unsyncStringWriter.toString();
75 }
76
77 }