1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.services.cms.views;
18
19 import java.io.InputStream;
20 import java.util.ArrayList;
21 import java.util.Iterator;
22 import java.util.List;
23
24 import org.exoplatform.commons.utils.IOUtil;
25 import org.exoplatform.container.component.BaseComponentPlugin;
26 import org.exoplatform.container.configuration.ConfigurationManager;
27 import org.exoplatform.container.xml.InitParams;
28 import org.exoplatform.container.xml.ObjectParameter;
29
30
31
32
33
34
35
36 public class PortletTemplatePlugin extends BaseComponentPlugin{
37
38 private ConfigurationManager configurationManager;
39 private InitParams initParams;
40 private String portletName;
41
42
43
44
45
46
47
48 public PortletTemplatePlugin(InitParams initParams, ConfigurationManager configurationManager) {
49 this.initParams = initParams;
50 this.configurationManager = configurationManager;
51 portletName = this.initParams.getValueParam("portletName").getValue();
52 }
53
54
55
56
57
58
59 public String getPortletName() { return portletName; }
60
61
62
63
64
65
66
67
68 public List<PortletTemplateConfig> getPortletTemplateConfigs() throws Exception {
69 List<PortletTemplateConfig> list = new ArrayList<PortletTemplateConfig>();
70 String configPath = initParams.getValueParam("portlet.template.path").getValue();
71 Iterator<ObjectParameter> iterator = initParams.getObjectParamIterator();
72 for(;iterator.hasNext();) {
73 Object obj = iterator.next().getObject();
74 PortletTemplateConfig config = PortletTemplateConfig.class.cast(obj);
75 String templateFile = configPath + "/" + config.getCategory() + "/" + config.getTemplateName();
76 InputStream input = configurationManager.getInputStream(templateFile);
77 String templateData = IOUtil.getStreamContentAsString(input);
78 config.setTemplateData(templateData);
79 list.add(config);
80 }
81 return list;
82 }
83
84
85
86
87 public static class PortletTemplateConfig {
88 private String category;
89 private ArrayList<String> accessPermissions;
90 private ArrayList<String> editPermissions;
91 private String templateName;
92 private String title;
93 private String templateData;
94
95
96
97
98
99
100 public String getCategory() {
101 return category;
102 }
103
104
105
106
107
108
109 public void setCategory(String category) {
110 this.category = category;
111 }
112
113
114
115
116
117
118 public ArrayList<String> getAccessPermissions() {
119 return accessPermissions;
120 }
121
122
123
124
125
126
127 public void setAccessPermissions(ArrayList<String> accessPermissions) {
128 this.accessPermissions = accessPermissions;
129 }
130
131
132
133
134
135
136 public ArrayList<String> getEditPermissions() {
137 return editPermissions;
138 }
139
140
141
142
143
144
145 public void setEditPermissions(ArrayList<String> editPermissions) {
146 this.editPermissions = editPermissions;
147 }
148
149
150
151
152
153
154 public String getTemplateName() {
155 return templateName;
156 }
157
158
159
160
161
162
163 public void setTemplateName(String templateName) {
164 this.templateName = templateName;
165 }
166
167
168
169
170
171
172 public String getTitle() {
173 return title;
174 }
175
176
177
178
179
180
181 public void setTitle(String title) {
182 this.title = title;
183 }
184
185
186
187
188
189
190 public String getTemplateData() {
191 return templateData;
192 }
193
194
195
196
197
198
199 public void setTemplateData(String templateData) {
200 this.templateData = templateData;
201 }
202 }
203 }