Index: HotDeployPortletListener.java =================================================================== --- HotDeployPortletListener.java (revision 2544) +++ HotDeployPortletListener.java (working copy) @@ -34,6 +34,7 @@ import com.liferay.portal.kernel.util.ClassUtil; import com.liferay.portal.model.Portlet; import com.liferay.portal.model.PortletCategory; +import com.liferay.portal.security.permission.ResourceActionsUtil; import com.liferay.portal.service.spring.PortletLocalServiceUtil; import com.liferay.portal.servlet.PortletContextPool; import com.liferay.portal.servlet.PortletContextWrapper; @@ -52,6 +53,7 @@ import com.liferay.util.Validator; import com.liferay.util.lucene.Indexer; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -87,7 +89,6 @@ // Servlet context ServletContext ctx = event.getServletContext(); - servletContextName = ctx.getServletContextName(); if (_log.isDebugEnabled()) { @@ -136,6 +137,8 @@ Iterator itr1 = portlets.iterator(); + Map originalPortletIds = new HashMap(); + while (itr1.hasNext()) { Portlet portlet = (Portlet)itr1.next(); @@ -259,6 +262,13 @@ customUserAttributes); PortletContextPool.put(portlet.getPortletId(), pcw); + + String originalPortletId = portlet.getOriginalPortletId(); + if (originalPortletId != null && + !originalPortletId.equals(portlet.getPortletId())) { + originalPortletIds.put(originalPortletId, + portlet.getPortletId()); + } } // Struts bridges @@ -298,7 +308,9 @@ _vars.put( servletContextName, new ObjectValuePair(companyIds, portlets)); - + + initResourceActions(ctx, portletClassLoader, originalPortletIds); + if (_log.isInfoEnabled()) { _log.info( "Portlets for " + servletContextName + @@ -379,6 +391,18 @@ } } + private void initResourceActions(ServletContext ctx, + ClassLoader classLoader, + Map originalPortletIds) { + String resourceActionsFile = ctx.getInitParameter( + PropsUtil.RESOURCE_ACTIONS_CONFIGS); + if (resourceActionsFile != null) { + ResourceActionsUtil.updateResourceActions(classLoader, + resourceActionsFile, + originalPortletIds); + } + } + private static Log _log = LogFactory.getLog(HotDeployPortletListener.class); private static Map _vars = CollectionFactory.getHashMap();