1
22
23 package com.liferay.portlet.layoutconfiguration.util.velocity;
24
25 import com.liferay.portal.model.Portlet;
26 import com.liferay.portal.util.comparator.PortletRenderWeightComparator;
27
28 import java.util.HashMap;
29 import java.util.Map;
30 import java.util.TreeMap;
31
32 import javax.servlet.ServletContext;
33 import javax.servlet.http.HttpServletRequest;
34 import javax.servlet.http.HttpServletResponse;
35
36
43 public class TemplateProcessor {
44
45 public TemplateProcessor(
46 ServletContext servletContext, HttpServletRequest request,
47 HttpServletResponse response, String portletId) {
48
49 _servletContext = servletContext;
50 _request = request;
51 _response = response;
52 _portletId = portletId;
53 _columnsMap = new HashMap<String, String>();
54 _portletsMap = new TreeMap<Portlet, Object[]>(
55 new PortletRenderWeightComparator());
56 }
57
58 public String processColumn(String columnId) throws Exception {
59 Map<String, String> attributes = new HashMap<String, String>();
60
61 attributes.put("id", columnId);
62
63 PortletColumnLogic logic = new PortletColumnLogic(
64 _servletContext, _request, _response);
65
66 StringBuilder sb = new StringBuilder();
67
68 logic.processContent(sb, attributes);
69
70 _portletsMap.putAll(logic.getPortletsMap());
71
72 String columnIdPlaceHolder = "[$TEMPLATE_COLUMN_" + columnId + "$]";
73
74 _columnsMap.put(columnIdPlaceHolder, sb.toString());
75
76 return columnIdPlaceHolder;
77 }
78
79 public String processMax() throws Exception {
80 RuntimeLogic logic = new PortletLogic(
81 _servletContext, _request, _response, _portletId);
82
83 StringBuilder sb = new StringBuilder();
84
85 logic.processContent(sb, new HashMap<String, String>());
86
87 return sb.toString();
88 }
89
90 public String processPortlet(String portletId) throws Exception {
91 RuntimeLogic logic = new PortletLogic(
92 _servletContext, _request, _response, portletId);
93
94 StringBuilder sb = new StringBuilder();
95
96 logic.processContent(sb, new HashMap<String, String>());
97
98 return sb.toString();
99 }
100
101 public Map<String, String> getColumnsMap() {
102 return _columnsMap;
103 }
104
105 public Map<Portlet, Object[]> getPortletsMap() {
106 return _portletsMap;
107 }
108
109 private ServletContext _servletContext;
110 private HttpServletRequest _request;
111 private HttpServletResponse _response;
112 private String _portletId;
113 private Map<String, String> _columnsMap;
114 private Map<Portlet, Object[]> _portletsMap;
115
116 }