PortletTemplatePlugin.java
- /*
- * Copyright (C) 2003-2008 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
- */
- package org.exoplatform.services.cms.views;
- import java.io.InputStream;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import org.exoplatform.commons.utils.IOUtil;
- import org.exoplatform.container.component.BaseComponentPlugin;
- import org.exoplatform.container.configuration.ConfigurationManager;
- import org.exoplatform.container.xml.InitParams;
- import org.exoplatform.container.xml.ObjectParameter;
- /**
- * Created by The eXo Platform SAS
- * Author : Hoa Pham
- * hoa.phamvu@exoplatform.com
- * Oct 15, 2008
- */
- public class PortletTemplatePlugin extends BaseComponentPlugin{
- private ConfigurationManager configurationManager;
- private InitParams initParams;
- private String portletName;
- /**
- * Instantiates a new portlet template plugin.
- *
- * @param initParams the init params
- * @param configurationManager the configuration manager
- */
- public PortletTemplatePlugin(InitParams initParams, ConfigurationManager configurationManager) {
- this.initParams = initParams;
- this.configurationManager = configurationManager;
- portletName = this.initParams.getValueParam("portletName").getValue();
- }
- /**
- * Gets the portlet name.
- *
- * @return the portlet name
- */
- public String getPortletName() { return portletName; }
- /**
- * Retrieves all portlet template config for a portlet in plugin
- *
- * @return the portlet template configs
- *
- * @throws Exception the exception
- */
- public List<PortletTemplateConfig> getPortletTemplateConfigs() throws Exception {
- List<PortletTemplateConfig> list = new ArrayList<PortletTemplateConfig>();
- String configPath = initParams.getValueParam("portlet.template.path").getValue();
- Iterator<ObjectParameter> iterator = initParams.getObjectParamIterator();
- for(;iterator.hasNext();) {
- Object obj = iterator.next().getObject();
- PortletTemplateConfig config = PortletTemplateConfig.class.cast(obj);
- String templateFile = configPath + "/" + config.getCategory() + "/" + config.getTemplateName();
- InputStream input = configurationManager.getInputStream(templateFile);
- String templateData = IOUtil.getStreamContentAsString(input);
- config.setTemplateData(templateData);
- list.add(config);
- }
- return list;
- }
- /**
- * The Class PortletTemplateConfig.
- */
- public static class PortletTemplateConfig {
- private String category;
- private ArrayList<String> accessPermissions;
- private ArrayList<String> editPermissions;
- private String templateName;
- private String title;
- private String templateData;
- /**
- * Gets the category.
- *
- * @return the category
- */
- public String getCategory() {
- return category;
- }
- /**
- * Sets the category.
- *
- * @param category the new category
- */
- public void setCategory(String category) {
- this.category = category;
- }
- /**
- * Gets the access permissions.
- *
- * @return the access permissions
- */
- public ArrayList<String> getAccessPermissions() {
- return accessPermissions;
- }
- /**
- * Sets the access permissions.
- *
- * @param accessPermissions the new access permissions
- */
- public void setAccessPermissions(ArrayList<String> accessPermissions) {
- this.accessPermissions = accessPermissions;
- }
- /**
- * Gets the edits the permissions.
- *
- * @return the edits the permissions
- */
- public ArrayList<String> getEditPermissions() {
- return editPermissions;
- }
- /**
- * Sets the edits the permissions.
- *
- * @param editPermissions the new edits the permissions
- */
- public void setEditPermissions(ArrayList<String> editPermissions) {
- this.editPermissions = editPermissions;
- }
- /**
- * Gets the template name.
- *
- * @return the template name
- */
- public String getTemplateName() {
- return templateName;
- }
- /**
- * Sets the template name.
- *
- * @param templateName the new template name
- */
- public void setTemplateName(String templateName) {
- this.templateName = templateName;
- }
-
- /**
- * Gets the full text template name.
- *
- * @return the template name
- */
- public String getTitle() {
- return title;
- }
- /**
- * Sets the full text template title.
- *
- * @param title the new template title
- */
- public void setTitle(String title) {
- this.title = title;
- }
- /**
- * Gets the template data.
- *
- * @return the template data
- */
- public String getTemplateData() {
- return templateData;
- }
- /**
- * Sets the template data.
- *
- * @param templateData the new template data
- */
- public void setTemplateData(String templateData) {
- this.templateData = templateData;
- }
- }
- }