You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2017/12/01 01:22:28 UTC
svn commit: r1816788 -
/portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
Author: taylor
Date: Fri Dec 1 01:22:28 2017
New Revision: 1816788
URL: http://svn.apache.org/viewvc?rev=1816788&view=rev
Log:
JS2-1364: layout portlet configuration properties can now optionally be loaded via servlet context resource stream
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java?rev=1816788&r1=1816787&r2=1816788&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java Fri Dec 1 01:22:28 2017
@@ -16,20 +16,6 @@
*/
package org.apache.jetspeed.portlets.layout;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import javax.portlet.ActionRequest;
-import javax.portlet.ActionResponse;
-import javax.portlet.PortletConfig;
-import javax.portlet.PortletException;
-import javax.portlet.PortletPreferences;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
-
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
@@ -39,6 +25,7 @@ import org.apache.jetspeed.PortalReserve
import org.apache.jetspeed.administration.PortalConfiguration;
import org.apache.jetspeed.administration.PortalConfigurationConstants;
import org.apache.jetspeed.capabilities.CapabilityMap;
+import org.apache.jetspeed.container.PortletWindow;
import org.apache.jetspeed.layout.JetspeedPowerTool;
import org.apache.jetspeed.locator.LocatorDescriptor;
import org.apache.jetspeed.locator.TemplateDescriptor;
@@ -48,11 +35,23 @@ import org.apache.jetspeed.om.page.Conte
import org.apache.jetspeed.om.page.ContentPage;
import org.apache.jetspeed.request.RequestContext;
import org.apache.jetspeed.velocity.JetspeedPowerToolFactory;
-import org.apache.jetspeed.container.PortletWindow;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletPreferences;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.StringTokenizer;
+
/**
*/
public class LayoutPortlet extends org.apache.portals.bridges.common.GenericServletPortlet
@@ -90,7 +89,10 @@ public class LayoutPortlet extends org.a
public static final String TEMPLATE_EXTENSION_KEY = "template.extension";
public static final String DEFAULT_TEMPLATE_TYPE = "velocity";
public static final String TEMPLATE_TYPE_KEY = "template.type";
-
+
+ // JS2-1361: load templates from webapp resource loader
+ protected boolean isLoadFromFileSystem = true;
+
public void init( PortletConfig config ) throws PortletException
{
super.init(config);
@@ -116,6 +118,9 @@ public class LayoutPortlet extends org.a
templateLocator = (TemplateLocator) getPortletContext().getAttribute("TemplateLocator");
decorationLocator = (TemplateLocator) getPortletContext().getAttribute("DecorationLocator");
+
+ // JS2-1361: load templates from webapp resource loader
+ isLoadFromFileSystem = portalConfiguration.getBoolean(PortalConfigurationConstants.RESOURCE_LOADER_FILESYSTEM, true);
}
public void doHelp( RenderRequest request, RenderResponse response ) throws PortletException, IOException
@@ -542,7 +547,7 @@ public class LayoutPortlet extends org.a
}
// get decorator template
- Configuration decoConf = new PropertiesConfiguration(propsTemp.getAbsolutePath());
+ Configuration decoConf = loadPropertiesConfiguration(propsTemp.getAbsolutePath(), request);
String ext = decoConf.getString("template.extension");
String decoratorPath = decorator + "/" + DECORATOR_TYPE + ext;
TemplateDescriptor template = null;
@@ -561,6 +566,17 @@ public class LayoutPortlet extends org.a
return template.getAppRelativePath();
}
+
+ protected Configuration loadPropertiesConfiguration(String path, RenderRequest request) throws ConfigurationException {
+ if (isLoadFromFileSystem) {
+ return new PropertiesConfiguration(path);
+ }
+ RequestContext context = getRequestContext(request);
+ InputStream stream = context.getConfig().getServletContext().getResourceAsStream(path);
+ PropertiesConfiguration configuration = new PropertiesConfiguration();
+ configuration.load(stream);
+ return configuration;
+ }
/**
*
@@ -657,7 +673,7 @@ public class LayoutPortlet extends org.a
// load Decoration.CONFIG_FILE_NAME (layout.properties)
try
{
- props = new PropertiesConfiguration(templatePropertiesPath);
+ props = loadPropertiesConfiguration(templatePropertiesPath, request);
if (log.isDebugEnabled())
log.debug("Successfully read in: <" + templatePropertiesPath + "> ");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org