/* * Copyright (C) 2003-2007 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.ecm.webui.component.explorer.popup.admin; import javax.jcr.Node; import org.exoplatform.container.xml.PortalContainerInfo; import org.exoplatform.ecm.webui.component.explorer.UIJCRExplorer; import org.exoplatform.portal.webui.util.Util; import org.exoplatform.resolver.ResourceResolver; import org.exoplatform.services.cms.templates.TemplateService; import org.exoplatform.services.wcm.core.NodeLocation; import org.exoplatform.services.wcm.utils.WCMCoreUtils; import org.exoplatform.webui.application.WebuiRequestContext; import org.exoplatform.webui.config.annotation.ComponentConfig; import org.exoplatform.webui.core.UIContainer; /** * Created by The eXo Platform SARL * Author : Pham Tuan * phamtuanchip@yahoo.de * Nov 15, 2006 10:08:29 AM */ @ComponentConfig() public class UIActionViewTemplate extends UIContainer { private String documentType_ ; private NodeLocation node_ ; public void setTemplateNode(Node node) throws Exception { node_ = NodeLocation.getNodeLocationByNode(node); documentType_ = node.getPrimaryNodeType().getName() ; } public String getViewTemplatePath(){ TemplateService templateService = getApplicationComponent(TemplateService.class) ; String userName = Util.getPortalRequestContext().getRemoteUser() ; try { return templateService.getTemplatePathByUser(false, documentType_, userName) ; } catch (Exception e) { return null ; } } public String getPortalName() { PortalContainerInfo containerInfo = WCMCoreUtils.getService(PortalContainerInfo.class) ; return containerInfo.getContainerName() ; } public String getWorkspaceName() throws Exception { return NodeLocation.getNodeByLocation(node_).getSession().getWorkspace().getName() ; } public String getTemplate() { return getViewTemplatePath() ;} public ResourceResolver getTemplateResourceResolver(WebuiRequestContext context, String template) { return getAncestorOfType(UIJCRExplorer.class).getJCRTemplateResourceResolver() ; } public Node getNode() { return NodeLocation.getNodeByLocation(node_); } }