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 2014/07/23 05:46:40 UTC
svn commit: r1612750 - in
/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed:
aggregator/impl/PortletAggregatorImpl.java
request/JetspeedRequestContext.java
Author: taylor
Date: Wed Jul 23 03:46:40 2014
New Revision: 1612750
URL: http://svn.apache.org/r1612750
Log:
JS2-1298: allow fragments to be looked up by exact name, not with ContentFragment paths __
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java?rev=1612750&r1=1612749&r2=1612750&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorImpl.java Wed Jul 23 03:46:40 2014
@@ -16,15 +16,6 @@
*/
package org.apache.jetspeed.aggregator.impl;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.portlet.PortletMode;
-import javax.portlet.WindowState;
-
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.jetspeed.JetspeedActions;
@@ -42,6 +33,14 @@ import org.apache.jetspeed.request.Reque
import org.apache.jetspeed.util.HeadElementUtils;
import org.apache.jetspeed.util.KeyValue;
+import javax.portlet.PortletMode;
+import javax.portlet.WindowState;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* PortletAggregator builds the content required to render a single portlet.
*
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java?rev=1612750&r1=1612749&r2=1612750&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/request/JetspeedRequestContext.java Wed Jul 23 03:46:40 2014
@@ -646,7 +646,7 @@ public class JetspeedRequestContext impl
if (window == null)
{
// ensure RootContentFragment is initialized
- getPage().getRootFragment();
+ getPage().getRootFragment();
ContentFragment fragment = getPage().getFragmentById(windowId);
if (fragment == null)
{
@@ -722,9 +722,19 @@ public class JetspeedRequestContext impl
}
}
}
-
PortletWindow window = null;
-
+ if (portletUniqueName == null)
+ {
+ // JS2-1298: allow fragments to be looked up by exact name, not with ContentFragment paths __
+ ContentFragment fragment = getPage().getFragmentByFragmentId(windowId);
+ if (fragment != null) {
+ portletUniqueName = fragment.getName();
+ window = createPortletWindow(fragment);
+ registerInstantWindow(window.getWindowId(), portletUniqueName);
+ registerInstantWindow(windowId, portletUniqueName);
+ return window;
+ }
+ }
if (portletUniqueName != null)
{
// dynamically create instantly rendered content fragment and window
@@ -735,40 +745,45 @@ public class JetspeedRequestContext impl
if (register && !registered && window.isValid())
{
- if (session == null)
- {
- session = getRequest().getSession(true);
- }
-
- Map<String,Map<String,String>> pages = null;
-
- synchronized (session)
- {
- pages = (Map<String,Map<String,String>>) session.getAttribute(INSTANT_WINDOWS_SESSION_KEY);
-
- if (pages == null)
- {
- pages = Collections.synchronizedMap(new HashMap<String,Map<String,String>>());
- session.setAttribute(INSTANT_WINDOWS_SESSION_KEY, pages);
- }
- }
-
- String pageId = getPage().getId();
- Map<String,String> instantWindows = pages.get(pageId);
-
- if (instantWindows == null)
- {
- instantWindows = Collections.synchronizedMap(new HashMap<String,String>());
- pages.put(pageId, instantWindows);
- }
-
- instantWindows.put(windowId, portletUniqueName);
+ registerInstantWindow(windowId, portletUniqueName);
}
}
return window;
}
-
+
+ private void registerInstantWindow(String windowId, String portletUniqueName)
+ {
+ if (session == null)
+ {
+ session = getRequest().getSession(true);
+ }
+
+ Map<String,Map<String,String>> pages = null;
+
+ synchronized (session)
+ {
+ pages = (Map<String,Map<String,String>>) session.getAttribute(INSTANT_WINDOWS_SESSION_KEY);
+
+ if (pages == null)
+ {
+ pages = Collections.synchronizedMap(new HashMap<String,Map<String,String>>());
+ session.setAttribute(INSTANT_WINDOWS_SESSION_KEY, pages);
+ }
+ }
+
+ String pageId = getPage().getId();
+ Map<String,String> instantWindows = pages.get(pageId);
+
+ if (instantWindows == null)
+ {
+ instantWindows = Collections.synchronizedMap(new HashMap<String,String>());
+ pages.put(pageId, instantWindows);
+ }
+
+ instantWindows.put(windowId, portletUniqueName);
+ }
+
@SuppressWarnings("unchecked")
public void registerInstantlyCreatedPortletWindow(PortletWindow portletWindow)
{
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org