<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-14377</id>
	<title>Nabble - Jetspeed</title>
	<updated>2009-12-09T11:03:21Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Jetspeed-f14377.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Jetspeed-f14377.html" />
	<subtitle type="html">Jetspeed is an Open Source implementation of an Enterprise Information Portal, using Java and XML. Jetspeed home is &lt;a href=&quot;http://portals.apache.org/jetspeed-1/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26715780</id>
	<title>svn commit: r888925 - in /portals/jetspeed-2/applications/j2-admin/trunk/src/main: java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java webapp/WEB-INF/view/toolbox/toolbox.jsp</title>
	<published>2009-12-09T11:03:21Z</published>
	<updated>2009-12-09T11:03:21Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Wed Dec &amp;nbsp;9 19:03:21 2009
&lt;br&gt;New Revision: 888925
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888925&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888925&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1057: Fixing layout/theme selection.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java?rev=888925&amp;r1=888924&amp;r2=888925&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java?rev=888925&amp;r1=888924&amp;r2=888925&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java Wed Dec &amp;nbsp;9 19:03:21 2009
&lt;br&gt;@@ -34,16 +34,13 @@
&lt;br&gt;&amp;nbsp;import org.apache.commons.lang.math.NumberUtils;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.CommonPortletServices;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.JetspeedActions;
&lt;br&gt;-import org.apache.jetspeed.components.portletregistry.PortletRegistry;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.decoration.DecorationFactory;
&lt;br&gt;+import org.apache.jetspeed.layout.PageLayoutComponent;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.page.ContentFragment;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.page.ContentPage;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.page.Fragment;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.portlet.HeaderPhaseSupportConstants;
&lt;br&gt;-import org.apache.jetspeed.profiler.Profiler;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.request.RequestContext;
&lt;br&gt;-import org.apache.jetspeed.search.SearchEngine;
&lt;br&gt;-import org.apache.jetspeed.security.SecurityAccessController;
&lt;br&gt;&amp;nbsp;import org.apache.portals.bridges.common.GenericServletPortlet;
&lt;br&gt;&amp;nbsp;import org.slf4j.Logger;
&lt;br&gt;&amp;nbsp;import org.slf4j.LoggerFactory;
&lt;br&gt;@@ -59,11 +56,8 @@
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;static Logger log = LoggerFactory.getLogger(JetspeedToolbox.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected PortletRegistry registry;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected SearchEngine searchEngine;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected Profiler profiler;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected SecurityAccessController securityAccessController;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected DecorationFactory decorationFactory; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected PageLayoutComponent pageLayoutComponent;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected DecorationFactory decorationFactory;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected String yuiScriptPath = &amp;quot;/javascript/yui/build/yui/yui-min.js&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void init(PortletConfig config) throws PortletException
&lt;br&gt;@@ -72,28 +66,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletContext context = getPortletContext();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;registry = (PortletRegistry)context.getAttribute(CommonPortletServices.CPS_REGISTRY_COMPONENT);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == registry)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PortletException(&amp;quot;Failed to find the Portlet Registry on portlet initialization&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;searchEngine = (SearchEngine)context.getAttribute(CommonPortletServices.CPS_SEARCH_COMPONENT);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == searchEngine)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PortletException(&amp;quot;Failed to find the Search Engine on portlet initialization&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;securityAccessController = (SecurityAccessController)context.getAttribute(CommonPortletServices.CPS_SECURITY_ACCESS_CONTROLLER);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == securityAccessController)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PortletException(&amp;quot;Failed to find the Security Access Controller on portlet initialization&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;profiler = (Profiler)context.getAttribute(CommonPortletServices.CPS_PROFILER_COMPONENT);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == profiler)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageLayoutComponent = (PageLayoutComponent) context.getAttribute(CommonPortletServices.CPS_PAGE_LAYOUT_COMPONENT);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pageLayoutComponent == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PortletException(&amp;quot;Failed to find the Profiler on portlet initialization&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PortletException(&amp;quot;Failed to find the Page Layout Component on portlet initialization&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;decorationFactory = (DecorationFactory)context.getAttribute(CommonPortletServices.CPS_DECORATION_FACTORY);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == decorationFactory)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (decorationFactory == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PortletException(&amp;quot;Failed to find the Decoration Factory on portlet initialization&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -131,7 +113,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) request.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestContext.getPage().checkAccess(JetspeedActions.EDIT);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage contentPage = requestContext.getPage();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;contentPage.checkAccess(JetspeedActions.EDIT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hasEditAccess = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch(Exception ignore)
&lt;br&gt;@@ -153,12 +136,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (theme != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage page = requestContext.getPage();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;page.updateDefaultDecorator(theme, ContentFragment.LAYOUT);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;page.updateDefaultDecorator(theme, ContentFragment.PORTLET);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage page = requestContext.getPage();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageLayoutComponent.updateDefaultDecorator(page, theme, ContentFragment.LAYOUT);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageLayoutComponent.updateDefaultDecorator(page, theme, ContentFragment.LAYOUT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;actionRequest.getPortletSession().removeAttribute(&amp;quot;themes&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;@@ -169,12 +151,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (layout != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage page = requestContext.getPage();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment layoutFragment = page.getRootFragment();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layoutFragment.updateName(layout);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment layoutFragment = pageLayoutComponent.getUnlockedRootFragment(requestContext.getPage());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageLayoutComponent.updateName(layoutFragment, layout);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;actionRequest.getPortletSession().removeAttribute(&amp;quot;layouts&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;@@ -182,23 +162,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Page has not been updated.&amp;quot;, e);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String portletAdd = actionRequest.getParameter(&amp;quot;portletAdd&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (portletAdd != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// BOZO: this should be done via AJAX API
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage page = requestContext.getPage();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addPortletToLeastUsedColumn(page, portletAdd); 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Unable to add portlet to page: &amp;quot; + e, e);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@SuppressWarnings(&amp;quot;unchecked&amp;quot;)
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java?rev=888925&amp;r1=888924&amp;r2=888925&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java?rev=888925&amp;r1=888924&amp;r2=888925&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java Wed Dec &amp;nbsp;9 19:03:21 2009
&lt;br&gt;@@ -23,6 +23,8 @@
&lt;br&gt;&amp;nbsp;import javax.portlet.PortletRequest;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.decoration.DecorationFactory;
&lt;br&gt;+import org.apache.jetspeed.om.page.ContentFragment;
&lt;br&gt;+import org.apache.jetspeed.om.page.ContentPage;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.request.RequestContext;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class LayoutBean implements Serializable
&lt;br&gt;@@ -103,24 +105,28 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext rc = (RequestContext) request.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// BOZO: support 4 for now, need to localize, formalize etc
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LayoutBean single = new LayoutBean(&amp;quot;OneColumn&amp;quot;, &amp;quot;One Column&amp;quot;, &amp;quot;OneColumn.jpg&amp;quot;, &amp;quot;jetspeed-layouts::VelocityOneColumn&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addLayout(single, rc, layouts);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layouts.add(single);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LayoutBean twoColumns = new LayoutBean(&amp;quot;TwoColumn&amp;quot;, &amp;quot;Two Columns&amp;quot;, &amp;quot;TwoColumns.jpg&amp;quot;, &amp;quot;jetspeed-layouts::VelocityTwoColumns&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addLayout(twoColumns, rc, layouts);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layouts.add(twoColumns);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LayoutBean threeColumns = new LayoutBean(&amp;quot;ThreeColumn&amp;quot;, &amp;quot;Three Columns&amp;quot;, &amp;quot;ThreeColumns.jpg&amp;quot;, &amp;quot;jetspeed-layouts::VelocityThreeColumns&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addLayout(threeColumns, rc, layouts);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layouts.add(threeColumns);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LayoutBean fourColumns = new LayoutBean(&amp;quot;FourColumn&amp;quot;, &amp;quot;Four Columns&amp;quot;, &amp;quot;FourColumns.jpg&amp;quot;, &amp;quot;jetspeed-layouts::VelocityFourColumns&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addLayout(fourColumns, rc, layouts); &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.getPortletSession().setAttribute(&amp;quot;layouts&amp;quot;, layouts);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return layouts;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static void addLayout(LayoutBean bean, RequestContext rc, List&amp;lt;LayoutBean&amp;gt; layouts)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (rc.getPage().getRootFragment().getName().equals(bean.getLayoutPortlet()))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layouts.add(fourColumns);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage page = rc.getPage();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment layoutFragment = page.getPageLayoutComponent().getUnlockedRootFragment(page);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String currentLayoutName = layoutFragment.getName();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (LayoutBean layout : layouts)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bean.setSelected(true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (layout.getLayoutPortlet().equals(currentLayoutName))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layout.setSelected(true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; layouts.add(bean); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.getPortletSession().setAttribute(&amp;quot;layouts&amp;quot;, layouts);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return layouts;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888925&amp;r1=888924&amp;r2=888925&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888925&amp;r1=888924&amp;r2=888925&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Wed Dec &amp;nbsp;9 19:03:21 2009
&lt;br&gt;@@ -290,8 +290,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;var onAddPortletComplete = function(id, o, args) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (o.status == 200 &amp;&amp; o.readyState == 4) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;location.reload();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (o.status == 200) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;location.href = location.href;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26715780&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26715780&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888925---in--portals-jetspeed-2-applications-j2-admin-trunk-src-main%3A-java-org-apache-jetspeed-portlets-toolbox-JetspeedToolbox.java-java-org-apache-jetspeed-portlets-toolbox-LayoutBean.java-webapp-WEB-INF-view-toolbox-toolbox.jsp-tp26715780p26715780.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26715745</id>
	<title>svn commit: r888923 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/ components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/ jetspeed-api/src/main/java/org/apache/jetspeed/la...</title>
	<published>2009-12-09T11:01:04Z</published>
	<updated>2009-12-09T11:01:04Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Wed Dec &amp;nbsp;9 19:01:03 2009
&lt;br&gt;New Revision: 888923
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888923&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888923&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1057: Adding a method to retrieve unlocked root fragment.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java?rev=888923&amp;r1=888922&amp;r2=888923&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java?rev=888923&amp;r1=888922&amp;r2=888923&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java Wed Dec &amp;nbsp;9 19:01:03 2009
&lt;br&gt;@@ -1440,7 +1440,28 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PageLayoutComponentException(&amp;quot;Unexpected exception: &amp;quot;+e, e);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @see org.apache.jetspeed.layout.PageLayoutComponent#getUnlockedRootFragment(org.apache.jetspeed.om.page.ContentPage)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentFragment getUnlockedRootFragment(ContentPage contentPage)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment rootFragment = contentPage.getRootFragment();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (rootFragment.isLocked())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContentFragment f : (List&amp;lt;ContentFragment&amp;gt;) rootFragment.getFragments())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!f.isLocked() &amp;&amp; f.getType().equals(ContentFragment.LAYOUT))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return f;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return rootFragment;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Merge content page attributes from source PSML page.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * 
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java?rev=888923&amp;r1=888922&amp;r2=888923&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java?rev=888923&amp;r1=888922&amp;r2=888923&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java Wed Dec &amp;nbsp;9 19:01:03 2009
&lt;br&gt;@@ -29,6 +29,7 @@
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.decoration.Theme;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.headerresource.HeaderResource;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.headerresource.HeaderResourceFactory;
&lt;br&gt;+import org.apache.jetspeed.layout.PageLayoutComponent;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.page.ContentFragment;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.pipeline.PipelineException;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.portlet.HeadElement;
&lt;br&gt;@@ -48,12 +49,14 @@
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private PortletRenderer renderer;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private HeaderResourceFactory headerFactory;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private PageLayoutComponent pageLayoutComponent;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private String layoutTemplate;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public Jetui(PortletRenderer renderer, HeaderResourceFactory headerFactory, String layoutTemplate)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Jetui(PortletRenderer renderer, HeaderResourceFactory headerFactory, PageLayoutComponent pageLayoutComponent, String layoutTemplate)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.renderer = renderer;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.headerFactory = headerFactory;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.pageLayoutComponent = pageLayoutComponent;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.layoutTemplate = layoutTemplate;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -64,18 +67,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestDispatcher dispatcher = request.getRequest().getRequestDispatcher(layoutTemplate);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.setAttribute(&amp;quot;jetui&amp;quot;, this);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment rootFragment = request.getPage().getRootFragment(); &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (rootFragment.isLocked())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContentFragment f : (List&amp;lt;ContentFragment&amp;gt;)rootFragment.getFragments())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!f.isLocked() &amp;&amp; f.getType().equals(ContentFragment.LAYOUT))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rootFragment = f;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment rootFragment = pageLayoutComponent.getUnlockedRootFragment(request.getPage());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (maximized == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String jetspeedLayout = rootFragment.getName();
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java?rev=888923&amp;r1=888922&amp;r2=888923&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java?rev=888923&amp;r1=888922&amp;r2=888923&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java Wed Dec &amp;nbsp;9 19:01:03 2009
&lt;br&gt;@@ -280,4 +280,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param shortTitle page short title
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;void updateTitles(ContentPage contentPage, String title, String shortTitle);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * Returns the root fragment which is not locked and not merged from a page template
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @param contentPage content page context
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;ContentFragment getUnlockedRootFragment(ContentPage contentPage);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml?rev=888923&amp;r1=888922&amp;r2=888923&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml?rev=888923&amp;r1=888922&amp;r2=888923&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml Wed Dec &amp;nbsp;9 19:01:03 2009
&lt;br&gt;@@ -914,10 +914,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg&amp;gt;&amp;lt;ref bean=&amp;quot;org.apache.jetspeed.aggregator.PortletRenderer&amp;quot;/&amp;gt;&amp;lt;/constructor-arg&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg&amp;gt;&amp;lt;ref bean=&amp;quot;org.apache.jetspeed.headerresource.HeaderResourceFactory&amp;quot;/&amp;gt;&amp;lt;/constructor-arg&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg&amp;gt;&amp;lt;ref bean=&amp;quot;org.apache.jetspeed.layout.PageLayoutComponent&amp;quot; /&amp;gt;&amp;lt;/constructor-arg&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg&amp;gt;&amp;lt;value&amp;gt;/WEB-INF/jetui/yui/jetui.jsp&amp;lt;/value&amp;gt;&amp;lt;/constructor-arg&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;lt;bean id=&amp;quot;jetuiAggregator&amp;quot; class=&amp;quot;org.apache.jetspeed.ui.JetuiAggregatorImpl&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;jetuiAggregator&amp;quot; class=&amp;quot;org.apache.jetspeed.ui.JetuiAggregatorImpl&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg index=&amp;quot;0&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;org.apache.jetspeed.aggregator.PortletRenderer&amp;quot; /&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26715745&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26715745&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888923---in--portals-jetspeed-2-portal-trunk%3A-components-jetspeed-page-layout-src-main-java-org-apache-jetspeed-layout-impl--components-jetspeed-portal-src-main-java-org-apache-jetspeed-ui--jetspeed-api-src-main-java-org-apache-jetspeed-la...-tp26715745p26715745.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26712851</id>
	<title>svn commit: r888853 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/ jetspeed-portal-resources/src/main/resources/assembly/</title>
	<published>2009-12-09T08:09:58Z</published>
	<updated>2009-12-09T08:09:58Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Wed Dec &amp;nbsp;9 16:09:57 2009
&lt;br&gt;New Revision: 888853
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888853&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888853&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Removing static access to jetspeed component manager from jaxrs application.
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java &amp;nbsp; (with props)
&lt;br&gt;Removed:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JetspeedJaxrsApplication.java
&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
&lt;br&gt;&lt;br&gt;Added: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java?rev=888853&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java?rev=888853&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java (added)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java Wed Dec &amp;nbsp;9 16:09:57 2009
&lt;br&gt;@@ -0,0 +1,117 @@
&lt;br&gt;+/*
&lt;br&gt;+ * Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+ * contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+ * this work for additional information regarding copyright ownership.
&lt;br&gt;+ * The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+ * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+ * the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ * 
&lt;br&gt;+ * &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+ * 
&lt;br&gt;+ * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+ * See the License for the specific language governing permissions and
&lt;br&gt;+ * limitations under the License.
&lt;br&gt;+ */
&lt;br&gt;+package org.apache.jetspeed.services.rest;
&lt;br&gt;+
&lt;br&gt;+import org.apache.commons.beanutils.MethodUtils;
&lt;br&gt;+import org.apache.jetspeed.pipeline.PipelineException;
&lt;br&gt;+import org.apache.jetspeed.pipeline.valve.AbstractValve;
&lt;br&gt;+import org.apache.jetspeed.pipeline.valve.ValveContext;
&lt;br&gt;+import org.apache.jetspeed.request.RequestContext;
&lt;br&gt;+import org.slf4j.Logger;
&lt;br&gt;+import org.slf4j.LoggerFactory;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * JaxrsServiceValve
&lt;br&gt;+ *
&lt;br&gt;+ * @version $Id$
&lt;br&gt;+ */
&lt;br&gt;+public class JaxrsServiceValve extends AbstractValve
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Logger log = LoggerFactory.getLogger(JaxrsServiceValve.class);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Class&amp;lt;?&amp;gt; busFactoryClass; &amp;nbsp; &amp;nbsp; &amp;nbsp; // org.apache.cxf.BusFactory
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Object bus; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // org.apache.cxf.Bus
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Object servletController; &amp;nbsp; &amp;nbsp; &amp;nbsp; // org.apache.cxf.transport.servlet.ServletController
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Object jaxrsServerFactoryBean; &amp;nbsp;// org.apache.cxf.jaxrs.JAXRSServerFactoryBean
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public JaxrsServiceValve(Class&amp;lt;?&amp;gt; busFactoryClass, Object bus, Object servletController, Object jaxrsServerFactoryBean)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.busFactoryClass = busFactoryClass;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.bus = bus;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.servletController = servletController;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.jaxrsServerFactoryBean = jaxrsServerFactoryBean;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void initialize() throws PipelineException
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MethodUtils.invokeStaticMethod(busFactoryClass, &amp;quot;setThreadDefaultBus&amp;quot;, new Object [] { bus });
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MethodUtils.invokeMethod(jaxrsServerFactoryBean, &amp;quot;create&amp;quot;, null);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Failed to initialize jaxrs server.&amp;quot;, e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;finally 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MethodUtils.invokeStaticMethod(busFactoryClass, &amp;quot;setThreadDefaultBus&amp;quot;, &amp;nbsp;new Object [] { null });
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception ignore)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void destroy() 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MethodUtils.invokeMethod(bus, &amp;quot;shutdown&amp;quot;, Boolean.TRUE);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Failed to destroy jaxrs bus.&amp;quot;, e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void invoke(RequestContext request, ValveContext context) throws PipelineException
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MethodUtils.invokeStaticMethod(busFactoryClass, &amp;quot;setThreadDefaultBus&amp;quot;, new Object [] { bus });
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MethodUtils.invokeMethod(servletController, &amp;quot;invoke&amp;quot;, new Object [] { request.getRequest(), request.getResponse() });
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (log.isDebugEnabled())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Failed to invoke jaxrs service.&amp;quot;, e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Failed to invoke jaxrs service. {}&amp;quot;, e.toString());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;finally 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MethodUtils.invokeStaticMethod(busFactoryClass, &amp;quot;setThreadDefaultBus&amp;quot;, &amp;nbsp;new Object [] { null });
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception ignore)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:keywords = Id
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:mime-type = text/plain
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=888853&amp;r1=888852&amp;r2=888853&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=888853&amp;r1=888852&amp;r2=888853&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml Wed Dec &amp;nbsp;9 16:09:57 2009
&lt;br&gt;@@ -32,43 +32,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;!-- To set resource singletons bean id properties --&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;bean class=&amp;quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetClass&amp;quot; value=&amp;quot;java.lang.System&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetMethod&amp;quot; value=&amp;quot;setProperty&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;arguments&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;list&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;org.apache.jetspeed.services.rest.singletons&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;org.apache.jetspeed.services.rest.singletons&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/list&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;!-- Delegating CXF Servlet --&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;bean id=&amp;quot;cxfServlet&amp;quot; class=&amp;quot;org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;!-- CXF Servlet Config --&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;bean id=&amp;quot;cxfServletConfig&amp;quot; class=&amp;quot;org.apache.jetspeed.pipeline.valve.impl.ServletDelegatingValve$ServletConfigImpl&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg value=&amp;quot;CXFNonSpringJaxrsServlet&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;props&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;prop key=&amp;quot;javax.ws.rs.Application&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;org.apache.jetspeed.services.rest.JetspeedJaxrsApplication
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/prop&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/props&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/constructor-arg&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;servletContext&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bean class=&amp;quot;org.springframework.beans.factory.config.PropertyPathFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetObject&amp;quot; ref=&amp;quot;javax.servlet.ServletConfig&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;propertyPath&amp;quot; value=&amp;quot;servletContext&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;bean id=&amp;quot;jacksonObjectMapper&amp;quot; class=&amp;quot;org.codehaus.jackson.map.ObjectMapper&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;@@ -116,20 +79,56 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;mapper&amp;quot; ref=&amp;quot;jacksonObjectMapper&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;!-- JAX-RS Service Singleton Resource Beans &amp;nbsp;--&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;bean id=&amp;quot;org.apache.jetspeed.services.rest.singletons&amp;quot; class=&amp;quot;org.springframework.beans.factory.config.SetFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;cxfJaxrsBus&amp;quot; class=&amp;quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;sourceSet&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;set&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- JAX-RS Providers --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetClass&amp;quot; value=&amp;quot;org.apache.cxf.BusFactory&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetMethod&amp;quot; value=&amp;quot;getThreadDefaultBus&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;arguments&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;list&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/list&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;cxfDestinationFactory&amp;quot; class=&amp;quot;org.apache.cxf.transport.servlet.ServletTransportFactory&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;cxfJaxrsBus&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;cxfJaxrsServletController&amp;quot; class=&amp;quot;org.apache.cxf.transport.servlet.ServletController&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;cxfDestinationFactory&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;javax.servlet.ServletConfig&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bean class=&amp;quot;org.springframework.beans.factory.config.PropertyPathFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetObject&amp;quot; ref=&amp;quot;javax.servlet.ServletConfig&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;propertyPath&amp;quot; value=&amp;quot;servletContext&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/constructor-arg&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;cxfJaxrsBus&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;cxfJaxrsServerFactoryBean&amp;quot; class=&amp;quot;org.apache.cxf.jaxrs.JAXRSServerFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;address&amp;quot; value=&amp;quot;/&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;destinationFactory&amp;quot; ref=&amp;quot;cxfDestinationFactory&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;providers&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;list&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jaxrsJsonProvider&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Resource providers --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jaxrsPortletRegistryService&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jaxrsPageManagementService&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/set&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/list&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;resourceProviders&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;list&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bean class=&amp;quot;org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;jaxrsPortletRegistryService&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bean class=&amp;quot;org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;jaxrsPageManagementService&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/list&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml?rev=888853&amp;r1=888852&amp;r2=888853&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml?rev=888853&amp;r1=888852&amp;r2=888853&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml Wed Dec &amp;nbsp;9 16:09:57 2009
&lt;br&gt;@@ -350,11 +350,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/constructor-arg&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;bean id=&amp;quot;RestfulServicesValve&amp;quot; class=&amp;quot;org.apache.jetspeed.pipeline.valve.impl.ServletDelegatingValve&amp;quot; 
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;RestfulServicesValve&amp;quot; class=&amp;quot;org.apache.jetspeed.services.rest.JaxrsServiceValve&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;init-method=&amp;quot;initialize&amp;quot; destroy-method=&amp;quot;destroy&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;cxfServlet&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;cxfServletConfig&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg value=&amp;quot;org.apache.cxf.BusFactory&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;cxfJaxrsBus&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;cxfJaxrsServletController&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;cxfJaxrsServerFactoryBean&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;bean id=&amp;quot;DecorationValve&amp;quot; class=&amp;quot;org.apache.jetspeed.decoration.DecorationValve&amp;quot; init-method=&amp;quot;initialize&amp;quot;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26712851&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26712851&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888853---in--portals-jetspeed-2-portal-trunk%3A-components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-rest--jetspeed-portal-resources-src-main-resources-assembly--tp26712851p26712851.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26705786</id>
	<title>svn commit: r888711 - in /portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src: main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java</title>
	<published>2009-12-08T22:33:07Z</published>
	<updated>2009-12-08T22:33:07Z</updated>
	<author>
		<name>Ate Douma-2</name>
	</author>
	<content type="html">Author: ate
&lt;br&gt;Date: Wed Dec &amp;nbsp;9 06:33:06 2009
&lt;br&gt;New Revision: 888711
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888711&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888711&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1088: fixing TestUserInfoManager testcase
&lt;br&gt;As the UserInfoManager no longer retrieves user attributes from the UserManager but takes them directly from the Subject UserPrincipal, the testcase needed to be adjusted to use a properly setup UserPrincipal to test against as well.
&lt;br&gt;Also, I've fixed a small glitch I introduced with my previous changes to never return null for an authenticated User (by the way untested by the testcase)
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java?rev=888711&amp;r1=888710&amp;r2=888711&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java?rev=888711&amp;r1=888710&amp;r2=888711&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java Wed Dec &amp;nbsp;9 06:33:06 2009
&lt;br&gt;@@ -104,11 +104,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(&amp;quot;Getting user info for portlet application: &amp;quot; + appName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String, String&amp;gt; userInfo = getUserInformation(context);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == userInfo || userInfo.isEmpty())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == userInfo)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(PortletRequest.USER_INFO + &amp;quot; is null or empty&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(PortletRequest.USER_INFO + &amp;quot; is null&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (userInfo.isEmpty())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(PortletRequest.USER_INFO + &amp;quot; is empty&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Collections.emptyMap();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return mapUserInfo(userInfo, getLinkedUserAttr(appName));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -149,17 +154,20 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected Map&amp;lt;String, String&amp;gt; mapUserInfo(Map&amp;lt;String, String&amp;gt; userInfo, List&amp;lt;UserAttributeRef&amp;gt; linkedUserAttributes)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String, String&amp;gt;userInfoMap = new HashMap&amp;lt;String, String&amp;gt;();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (UserAttributeRef currentAttributeRef : linkedUserAttributes)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (linkedUserAttributes != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String key = currentAttributeRef.getNameLink();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = currentAttributeRef.getName();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (key == null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key = name;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (userInfo.containsKey(key))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (UserAttributeRef currentAttributeRef : linkedUserAttributes)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMap.put(name, userInfo.get(key));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String key = currentAttributeRef.getNameLink();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = currentAttributeRef.getName();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (key == null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key = name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (userInfo.containsKey(key))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMap.put(name, userInfo.get(key));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return userInfoMap;
&lt;br&gt;@@ -194,4 +202,4 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return userInfo;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-}
&lt;br&gt;\ No newline at end of file
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java?rev=888711&amp;r1=888710&amp;r2=888711&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java?rev=888711&amp;r1=888710&amp;r2=888711&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java Wed Dec &amp;nbsp;9 06:33:06 2009
&lt;br&gt;@@ -169,9 +169,20 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return The request context.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private RequestContext initRequestContext(String username)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext request = new MockRequestContext(&amp;quot;default-other&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.setSubject(JetspeedSubjectFactory.createSubject(new UserImpl(username), null, null, null));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;User user = null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// need to retrieve user from usermanager to retrieve previously configured user attributes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if user doesn't exist (e.g. anon user), a transient UserImpl will be used instead
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;user = ums.getUser(username);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (SecurityException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;user = new UserImpl(username);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.setSubject(JetspeedSubjectFactory.createSubject(user, null, null, null));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return request;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26705786&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26705786&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888711---in--portals-jetspeed-2-portal-trunk-components-jetspeed-portal-src%3A-main-java-org-apache-jetspeed-userinfo-impl-UserInfoManagerImpl.java-test-java-org-apache-jetspeed-userinfo-TestUserInfoManager.java-tp26705786p26705786.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26702761</id>
	<title>Add Portlet does not add portlet and opens a new web browser</title>
	<published>2009-12-08T15:21:33Z</published>
	<updated>2009-12-08T15:21:33Z</updated>
	<author>
		<name>jainneha_81</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;My jetspeed 2.2 portal was working fine. But suddenly, the Add Portlet functionality stopped working. Now when I click on Add Portlet, the add portlet page opens in a new web browser and the portlet does not get added to the original page.
&lt;br&gt;I am not able to figure out why this has started to happen suddenly.
&lt;br&gt;&lt;br&gt;Please help.
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Neha
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;This message was sent on behalf of &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26702761&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jainneha_81@...&lt;/a&gt; at openSubscriber.com
&lt;br&gt;&lt;a href=&quot;http://opensubscriber.com/messages/jetspeed-user@portals.apache.org/topic.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://opensubscriber.com/messages/jetspeed-user@.../topic.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26702761&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26702761&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---User-f198.html&quot; embed=&quot;fixTarget[198]&quot; target=&quot;_top&quot; &gt;Jetspeed - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Add-Portlet-does-not-add-portlet-and-opens-a-new-web-browser-tp26702761p26702761.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26698979</id>
	<title>svn commit: r888524 - /portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp</title>
	<published>2009-12-08T11:04:37Z</published>
	<updated>2009-12-08T11:04:37Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Tue Dec &amp;nbsp;8 19:04:37 2009
&lt;br&gt;New Revision: 888524
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888524&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888524&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Adding rest invocation to add portlet.
&lt;br&gt;TODO: Move &amp;quot;addPortletToLeastUsedColumn&amp;quot; method to layout component. How to avoid refreshing after portlet addition?
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888524&amp;r1=888523&amp;r2=888524&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888524&amp;r1=888523&amp;r2=888524&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Tue Dec &amp;nbsp;8 19:04:37 2009
&lt;br&gt;@@ -35,6 +35,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;c:if test=&amp;quot;${empty portalContextPath}&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;portalContextPath&amp;quot; value=&amp;quot;/&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;portalServletPath&amp;quot; value=&amp;quot;${requestContext.request.servletPath}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;table style=&amp;quot;border-collapse: collapse; &amp;nbsp;width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;@@ -240,9 +241,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:choose&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:when test=&amp;quot;${editAccess}&amp;quot;&amp;gt;
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var actionURL = &amp;quot;&amp;lt;portlet:actionURL/&amp;gt;&amp;quot;;
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var addActionURL = actionURL + (actionURL.indexOf('?') == -1 ? &amp;quot;?portletAdd=&amp;quot; : &amp;quot;&amp;portletAdd=&amp;quot;) + def.uniqueName;
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.all(&amp;quot;a&amp;quot;).item(1).set(&amp;quot;href&amp;quot;, addActionURL);
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.Node.getDOMNode(clone.all(&amp;quot;a&amp;quot;).item(1)).setAttribute(&amp;quot;portletUniqueName&amp;quot;, def.uniqueName);
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.all(&amp;quot;a&amp;quot;).item(1).on(&amp;quot;click&amp;quot;, addPortlet);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:when&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:otherwise&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.all(&amp;quot;a&amp;quot;).item(1).remove();
&lt;br&gt;@@ -288,6 +288,30 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.halt();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;var onAddPortletComplete = function(id, o, args) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (o.status == 200 &amp;&amp; o.readyState == 4) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;location.reload();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;var addPortlet = function(e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var a = Y.Node.getDOMNode(e.target);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var portletUniqueName = a.getAttribute(&amp;quot;portletUniqueName&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (portletUniqueName) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var re = new RegExp(&amp;quot;\\&amp;quot; + &amp;quot;${portalServletPath}&amp;quot; + &amp;quot;(\\/|$)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var uri = location.href.replace(re, &amp;quot;/services/&amp;quot;).replace(/#$/, &amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on('io:complete', onAddPortletComplete, this, []);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var config = {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method: &amp;quot;POST&amp;quot;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;data: &amp;quot;type=portlet&amp;name=&amp;quot; + portletUniqueName 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var request = Y.io(uri, config);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.halt();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;};
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on(&amp;quot;click&amp;quot;, switchTab, &amp;quot;#&amp;lt;portlet:namespace/&amp;gt;portletsTabAction&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on(&amp;quot;click&amp;quot;, switchTab, &amp;quot;#&amp;lt;portlet:namespace/&amp;gt;layoutsTabAction&amp;quot;);
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26698979&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26698979&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888524----portals-jetspeed-2-applications-j2-admin-trunk-src-main-webapp-WEB-INF-view-toolbox-toolbox.jsp-tp26698979p26698979.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26698956</id>
	<title>svn commit: r888521 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml</title>
	<published>2009-12-08T11:02:37Z</published>
	<updated>2009-12-08T11:02:37Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Tue Dec &amp;nbsp;8 19:02:36 2009
&lt;br&gt;New Revision: 888521
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888521&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888521&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Adding jax-rs operations for addPortlet and removePortlet.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java?rev=888521&amp;r1=888520&amp;r2=888521&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java?rev=888521&amp;r1=888520&amp;r2=888521&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java Tue Dec &amp;nbsp;8 19:02:36 2009
&lt;br&gt;@@ -21,17 +21,24 @@
&lt;br&gt;&amp;nbsp;import javax.servlet.ServletConfig;
&lt;br&gt;&amp;nbsp;import javax.servlet.ServletContext;
&lt;br&gt;&amp;nbsp;import javax.servlet.http.HttpServletRequest;
&lt;br&gt;+import javax.ws.rs.DELETE;
&lt;br&gt;+import javax.ws.rs.FormParam;
&lt;br&gt;&amp;nbsp;import javax.ws.rs.GET;
&lt;br&gt;+import javax.ws.rs.POST;
&lt;br&gt;&amp;nbsp;import javax.ws.rs.Path;
&lt;br&gt;&amp;nbsp;import javax.ws.rs.PathParam;
&lt;br&gt;+import javax.ws.rs.QueryParam;
&lt;br&gt;&amp;nbsp;import javax.ws.rs.WebApplicationException;
&lt;br&gt;&amp;nbsp;import javax.ws.rs.core.Context;
&lt;br&gt;&amp;nbsp;import javax.ws.rs.core.PathSegment;
&lt;br&gt;+import javax.ws.rs.core.Response;
&lt;br&gt;&amp;nbsp;import javax.ws.rs.core.UriInfo;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+import org.apache.commons.lang.StringUtils;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.JetspeedActions;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.components.portletregistry.PortletRegistry;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.decoration.DecorationValve;
&lt;br&gt;+import org.apache.jetspeed.layout.PageLayoutComponent;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.layout.PortletActionSecurityBehavior;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.page.ContentPage;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.page.PageManager;
&lt;br&gt;@@ -66,42 +73,81 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private DecorationValve decorationValve;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private PageLayoutComponent pageLayoutComponent;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public PageManagementService(PageManager pageManager,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PortletActionSecurityBehavior securityBehavior,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PortletRegistry portletRegistry,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DecorationValve decorationValve)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DecorationValve decorationValve,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PageLayoutComponent pageLayoutComponent)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.pageManager = pageManager;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.securityBehavior = securityBehavior;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portletRegistry = portletRegistry;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.decorationValve = decorationValve;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.pageLayoutComponent = pageLayoutComponent;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@GET
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@Path(&amp;quot;/{path:.*}&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public ContentPageBean getContentPage(@Context HttpServletRequest servletRequest,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@Context UriInfo uriInfo,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@PathParam(&amp;quot;path&amp;quot;) List&amp;lt;PathSegment&amp;gt; pathSegments)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@Context UriInfo uriInfo,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@PathParam(&amp;quot;path&amp;quot;) List&amp;lt;PathSegment&amp;gt; pathSegments)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) servletRequest.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage contentPage = getContentPage(requestContext);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new ContentPageBean(contentPage);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@POST
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Path(&amp;quot;/{path:.*}&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Response addContentFragment(@Context HttpServletRequest servletRequest,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Context UriInfo uriInfo,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @PathParam(&amp;quot;path&amp;quot;) List&amp;lt;PathSegment&amp;gt; pathSegments,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @FormParam(&amp;quot;type&amp;quot;) String fragmentType,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @FormParam(&amp;quot;name&amp;quot;) String fragmentName)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (StringUtils.isBlank(fragmentType) || StringUtils.isBlank(fragmentName))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checkPageAccess(requestContext, JetspeedActions.VIEW);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new WebApplicationException(new IllegalArgumentException(&amp;quot;Fragment type and name not specified&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (SecurityException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) servletRequest.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage contentPage = getContentPage(requestContext);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageLayoutComponent.addPortlet(contentPage, fragmentType, fragmentName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Response.ok().build();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@DELETE
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Path(&amp;quot;/{path:.*}&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Response deleteContentFragment(@Context HttpServletRequest servletRequest,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Context UriInfo uriInfo,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @PathParam(&amp;quot;path&amp;quot;) List&amp;lt;PathSegment&amp;gt; pathSegments,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @QueryParam(&amp;quot;id&amp;quot;) String fragmentId)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (StringUtils.isBlank(fragmentId))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new WebApplicationException(e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new WebApplicationException(new IllegalArgumentException(&amp;quot;Fragment id not specified&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) servletRequest.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage contentPage = getContentPage(requestContext);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageLayoutComponent.removeFragment(contentPage, fragmentId);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Response.ok().build();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private ContentPage getContentPage(RequestContext requestContext) throws WebApplicationException
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checkPageAccess(requestContext, JetspeedActions.VIEW);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Run the Decoration valve to get actions
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;decorationValve.invoke(requestContext, null);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage contentPage = requestContext.getPage();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new ContentPageBean(contentPage);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return requestContext.getPage();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=888521&amp;r1=888520&amp;r2=888521&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=888521&amp;r1=888520&amp;r2=888521&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml Tue Dec &amp;nbsp;8 19:02:36 2009
&lt;br&gt;@@ -148,6 +148,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;PortletActionSecurityBehavior&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.components.portletregistry.PortletRegistry&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;DecorationValve&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.layout.PageLayoutComponent&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/beans&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26698956&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26698956&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888521---in--portals-jetspeed-2-portal-trunk%3A-components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-rest-PageManagementService.java-jetspeed-portal-resources-src-main-resources-assembly-jetspeed-restful-services.xml-tp26698956p26698956.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26697226</id>
	<title>svn commit: r888487 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/ jetspeed-portal-resources/src/main/resou...</title>
	<published>2009-12-08T09:10:56Z</published>
	<updated>2009-12-08T09:10:56Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Tue Dec &amp;nbsp;8 17:10:54 2009
&lt;br&gt;New Revision: 888487
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888487&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888487&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Initial addition of page management service bean. It's a simple replacement of GetPageAction.
&lt;br&gt;TODO: Add another service for layout component.
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java &amp;nbsp; (with props)
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java &amp;nbsp; (with props)
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java &amp;nbsp; (with props)
&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;&lt;br&gt;Added: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java?rev=888487&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java?rev=888487&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java (added)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java Tue Dec &amp;nbsp;8 17:10:54 2009
&lt;br&gt;@@ -0,0 +1,165 @@
&lt;br&gt;+/*
&lt;br&gt;+ * Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+ * contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+ * this work for additional information regarding copyright ownership.
&lt;br&gt;+ * The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+ * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+ * the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ * 
&lt;br&gt;+ * &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+ * 
&lt;br&gt;+ * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+ * See the License for the specific language governing permissions and
&lt;br&gt;+ * limitations under the License.
&lt;br&gt;+ */
&lt;br&gt;+package org.apache.jetspeed.services.beans;
&lt;br&gt;+
&lt;br&gt;+import java.io.Serializable;
&lt;br&gt;+import java.util.ArrayList;
&lt;br&gt;+import java.util.Collection;
&lt;br&gt;+import java.util.Map;
&lt;br&gt;+
&lt;br&gt;+import javax.xml.bind.annotation.XmlElement;
&lt;br&gt;+import javax.xml.bind.annotation.XmlElementWrapper;
&lt;br&gt;+import javax.xml.bind.annotation.XmlElements;
&lt;br&gt;+import javax.xml.bind.annotation.XmlRootElement;
&lt;br&gt;+
&lt;br&gt;+import org.apache.jetspeed.om.page.ContentFragment;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * ContentFragmentBean
&lt;br&gt;+ * 
&lt;br&gt;+ * @version $Id$
&lt;br&gt;+ */
&lt;br&gt;+@XmlRootElement(name=&amp;quot;fragment&amp;quot;)
&lt;br&gt;+public class ContentFragmentBean implements Serializable
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String id;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String decorator;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String mode;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String state;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Map&amp;lt;String, String&amp;gt; properties;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Collection&amp;lt;ContentFragmentBean&amp;gt; contentFragmentBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentFragmentBean()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentFragmentBean(final ContentFragment contentFragment)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;id = contentFragment.getId();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type = contentFragment.getType();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name = contentFragment.getName();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;decorator = contentFragment.getDecorator();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mode = contentFragment.getMode();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;state = contentFragment.getState();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;properties = contentFragment.getProperties();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;ContentFragment&amp;gt; childContentFragments = contentFragment.getFragments();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (childContentFragments != null &amp;&amp; !childContentFragments.isEmpty())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ArrayList&amp;lt;ContentFragmentBean&amp;gt; childContentFragmentBeanList = new ArrayList&amp;lt;ContentFragmentBean&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContentFragment childContentFragment : childContentFragments)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;childContentFragmentBeanList.add(new ContentFragmentBean(childContentFragment));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;contentFragmentBeans = childContentFragmentBeanList;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getId()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return id;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setId(String id)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.id = id;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getType()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setType(String type)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.type = type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getName()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setName(String name)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.name = name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getDecorator()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return decorator;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setDecorator(String decorator)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.decorator = decorator;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getMode()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return mode;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setMode(String mode)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.mode = mode;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getState()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return state;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setState(String state)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.state = state;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Map&amp;lt;String, String&amp;gt; getProperties()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return properties;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setProperties(Map&amp;lt;String, String&amp;gt; properties)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.properties = properties;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElementWrapper(name=&amp;quot;fragments&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElements(@XmlElement(name=&amp;quot;fragment&amp;quot;))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Collection&amp;lt;ContentFragmentBean&amp;gt; getContentFragmentBeans()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return contentFragmentBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setContentFragmentBeans(Collection&amp;lt;ContentFragmentBean&amp;gt; contentFragmentBeans)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.contentFragmentBeans = contentFragmentBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:keywords = Id
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentFragmentBean.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:mime-type = text/plain
&lt;br&gt;&lt;br&gt;Added: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java?rev=888487&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java?rev=888487&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java (added)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java Tue Dec &amp;nbsp;8 17:10:54 2009
&lt;br&gt;@@ -0,0 +1,151 @@
&lt;br&gt;+/*
&lt;br&gt;+ * Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+ * contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+ * this work for additional information regarding copyright ownership.
&lt;br&gt;+ * The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+ * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+ * the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ * 
&lt;br&gt;+ * &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+ * 
&lt;br&gt;+ * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+ * See the License for the specific language governing permissions and
&lt;br&gt;+ * limitations under the License.
&lt;br&gt;+ */
&lt;br&gt;+package org.apache.jetspeed.services.beans;
&lt;br&gt;+
&lt;br&gt;+import java.io.Serializable;
&lt;br&gt;+
&lt;br&gt;+import javax.xml.bind.annotation.XmlElement;
&lt;br&gt;+import javax.xml.bind.annotation.XmlRootElement;
&lt;br&gt;+
&lt;br&gt;+import org.apache.jetspeed.om.page.ContentFragment;
&lt;br&gt;+import org.apache.jetspeed.om.page.ContentPage;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * ContentPageBean
&lt;br&gt;+ * 
&lt;br&gt;+ * @version $Id$
&lt;br&gt;+ */
&lt;br&gt;+@XmlRootElement(name=&amp;quot;page&amp;quot;)
&lt;br&gt;+public class ContentPageBean implements Serializable
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String id;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String path;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String title;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String shortTitle;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String url;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String skin;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private ContentFragmentBean rootFragmentBean;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentPageBean()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentPageBean(final ContentPage contentPage)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;id = contentPage.getId();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name = contentPage.getName();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;path = contentPage.getPath();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;title = contentPage.getTitle();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;shortTitle = contentPage.getShortTitle();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;url = contentPage.getUrl();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;skin = contentPage.getSkin();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment rootFragment = contentPage.getRootFragment();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (rootFragment != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rootFragmentBean = new ContentFragmentBean(rootFragment);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getId()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return id;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setId(String id)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.id = id;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getName()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setName(String name)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.name = name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getPath()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return path;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setPath(String path)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.path = path;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getTitle()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return title;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setTitle(String title)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.title = title;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getShortTitle()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return shortTitle;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setShortTitle(String shortTitle)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.shortTitle = shortTitle;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getUrl()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return url;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setUrl(String url)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.url = url;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getSkin()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return skin;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setSkin(String skin)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.skin = skin;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElement(name=&amp;quot;fragment&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentFragmentBean getContentFragmentBean()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return rootFragmentBean;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setContentFragmentBean(ContentFragmentBean rootFragmentBean)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.rootFragmentBean = rootFragmentBean;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:keywords = Id
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContentPageBean.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:mime-type = text/plain
&lt;br&gt;&lt;br&gt;Added: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java?rev=888487&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java?rev=888487&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java (added)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java Tue Dec &amp;nbsp;8 17:10:54 2009
&lt;br&gt;@@ -0,0 +1,123 @@
&lt;br&gt;+/*
&lt;br&gt;+ * Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+ * contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+ * this work for additional information regarding copyright ownership.
&lt;br&gt;+ * The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+ * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+ * the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ * 
&lt;br&gt;+ * &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+ * 
&lt;br&gt;+ * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+ * See the License for the specific language governing permissions and
&lt;br&gt;+ * limitations under the License.
&lt;br&gt;+ */
&lt;br&gt;+package org.apache.jetspeed.services.rest;
&lt;br&gt;+
&lt;br&gt;+import java.util.List;
&lt;br&gt;+
&lt;br&gt;+import javax.servlet.ServletConfig;
&lt;br&gt;+import javax.servlet.ServletContext;
&lt;br&gt;+import javax.servlet.http.HttpServletRequest;
&lt;br&gt;+import javax.ws.rs.GET;
&lt;br&gt;+import javax.ws.rs.Path;
&lt;br&gt;+import javax.ws.rs.PathParam;
&lt;br&gt;+import javax.ws.rs.WebApplicationException;
&lt;br&gt;+import javax.ws.rs.core.Context;
&lt;br&gt;+import javax.ws.rs.core.PathSegment;
&lt;br&gt;+import javax.ws.rs.core.UriInfo;
&lt;br&gt;+
&lt;br&gt;+import org.apache.jetspeed.JetspeedActions;
&lt;br&gt;+import org.apache.jetspeed.components.portletregistry.PortletRegistry;
&lt;br&gt;+import org.apache.jetspeed.decoration.DecorationValve;
&lt;br&gt;+import org.apache.jetspeed.layout.PortletActionSecurityBehavior;
&lt;br&gt;+import org.apache.jetspeed.om.page.ContentPage;
&lt;br&gt;+import org.apache.jetspeed.page.PageManager;
&lt;br&gt;+import org.apache.jetspeed.request.RequestContext;
&lt;br&gt;+import org.apache.jetspeed.services.beans.ContentPageBean;
&lt;br&gt;+import org.slf4j.Logger;
&lt;br&gt;+import org.slf4j.LoggerFactory;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * PageManagementService
&lt;br&gt;+ * 
&lt;br&gt;+ * @version $Id$
&lt;br&gt;+ */
&lt;br&gt;+
&lt;br&gt;+@Path(&amp;quot;/&amp;quot;)
&lt;br&gt;+public class PageManagementService
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static Logger log = LoggerFactory.getLogger(PageManagementService.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Context
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private ServletConfig servletConfig;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Context
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private ServletContext servletContext;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private PageManager pageManager;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private PortletActionSecurityBehavior securityBehavior;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private PortletRegistry portletRegistry;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private DecorationValve decorationValve;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public PageManagementService(PageManager pageManager,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PortletActionSecurityBehavior securityBehavior,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PortletRegistry portletRegistry,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DecorationValve decorationValve)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.pageManager = pageManager;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.securityBehavior = securityBehavior;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portletRegistry = portletRegistry;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.decorationValve = decorationValve;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@GET
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Path(&amp;quot;/{path:.*}&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentPageBean getContentPage(@Context HttpServletRequest servletRequest,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@Context UriInfo uriInfo,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@PathParam(&amp;quot;path&amp;quot;) List&amp;lt;PathSegment&amp;gt; pathSegments)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) servletRequest.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checkPageAccess(requestContext, JetspeedActions.VIEW);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (SecurityException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new WebApplicationException(e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Run the Decoration valve to get actions
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;decorationValve.invoke(requestContext, null);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage contentPage = requestContext.getPage();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new ContentPageBean(contentPage);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new WebApplicationException(e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private void checkPageAccess(RequestContext requestContext, String action) throws SecurityException
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (securityBehavior != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!securityBehavior.checkAccess(requestContext, action))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new SecurityException(&amp;quot;Insufficient access to view page&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:keywords = Id
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PageManagementService.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:mime-type = text/plain
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=888487&amp;r1=888486&amp;r2=888487&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=888487&amp;r1=888486&amp;r2=888487&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml Tue Dec &amp;nbsp;8 17:10:54 2009
&lt;br&gt;@@ -127,6 +127,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Resource providers --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jaxrsPortletRegistryService&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jaxrsPageManagementService&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/set&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;@@ -140,4 +141,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.search.SearchEngine&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;!-- Portal Page Management JAX-RS Service --&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;jaxrsPageManagementService&amp;quot; class=&amp;quot;org.apache.jetspeed.services.rest.PageManagementService&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.page.PageManager&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;PortletActionSecurityBehavior&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.components.portletregistry.PortletRegistry&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;DecorationValve&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/beans&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26697226&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26697226&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888487---in--portals-jetspeed-2-portal-trunk%3A-components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-beans--components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-rest--jetspeed-portal-resources-src-main-resou...-tp26697226p26697226.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26696031</id>
	<title>Re: Page Security Report</title>
	<published>2009-12-08T07:54:18Z</published>
	<updated>2009-12-08T07:54:18Z</updated>
	<author>
		<name>Randy Watler</name>
	</author>
	<content type="html">Michael,
&lt;br&gt;&lt;br&gt;There is not a simple way to do this, but it is possible using the 
&lt;br&gt;PortalSite component.
&lt;br&gt;&lt;br&gt;The PortalSite component generates a view of the portal folder/page 
&lt;br&gt;hierarchy that is used to construct menus. One of the most important 
&lt;br&gt;aspects of menus is that they present only what the user is able to 
&lt;br&gt;access and, at the same time, everything they can. Consequently, if you 
&lt;br&gt;walk the Folder/Page proxy hierarchy returned by the PortalSite, you 
&lt;br&gt;will have exactly what you need.
&lt;br&gt;&lt;br&gt;To do this for each user, you need to become the user and then ask the 
&lt;br&gt;portal site for the root folder and recurse from there as the user. You 
&lt;br&gt;can also ask the PortalSite to return a deep menu of all folders and 
&lt;br&gt;pages if you want a comprehensive set of URLs for the user. See the 
&lt;br&gt;Security and Profiler valves for hints on how to do this. Feel free to 
&lt;br&gt;ask any more detailed questions as they come up.
&lt;br&gt;&lt;br&gt;HTH.
&lt;br&gt;&lt;br&gt;Randy
&lt;br&gt;&lt;br&gt;Michael Binette wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I have a custom &amp;quot;report&amp;quot; portlet that uses the UserManager, GroupManager,
&lt;br&gt;&amp;gt; and RoleManager to create a report showing each user with what groups and
&lt;br&gt;&amp;gt; roles are assigned to them. That works great. But what we really need is a
&lt;br&gt;&amp;gt; list of Folders and Pages each user has access to as well. Right now they
&lt;br&gt;&amp;gt; are using a big Excel spreadsheet but of course keeping that up to date is
&lt;br&gt;&amp;gt; error prone. It doesn't look like the PageManager in Jetspeed does what I
&lt;br&gt;&amp;gt; need. Does anyone think of a way for me to do this using the information
&lt;br&gt;&amp;gt; already setup in Jetspeed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Michael
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26696031&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-user-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26696031&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-user-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---User-f198.html&quot; embed=&quot;fixTarget[198]&quot; target=&quot;_top&quot; &gt;Jetspeed - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Page-Security-Report-tp26683751p26696031.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26695686</id>
	<title>Leveraging Jetspeed security tables to secure access to external resources</title>
	<published>2009-12-08T07:31:04Z</published>
	<updated>2009-12-08T07:31:04Z</updated>
	<author>
		<name>shikarishambu</name>
	</author>
	<content type="html">&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;&amp;nbsp;I have a solution that uses Jetspeed with Alfresco ECM. Rather than create users and access permissions in both places I plan to access Alfresco content from Jetspeed through a service account and implement the authorization checks on the front end - in Jetspeed portal. I would like to see if there is a way to leverage the Jetspeed security tables to achieve this.
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Essentially, I have document types and sub types. Specific roles have specific permissions on document type (in which case they have the same permission on all sub types) or they have defined permissions on the sub type. All documents related to a document type are stored in a folder/ space in Alfresco.
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;I am toying with the idea of using the security_permission table and create document management specific entries
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;PERMISSION_ID &amp;nbsp; &amp;nbsp; PERMISSION_TYPE &amp;nbsp; &amp;nbsp; NAME &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ACTIONS
&lt;br&gt;&lt;br&gt;XXX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /doctype &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; view, edit
&lt;br&gt;&lt;br&gt;YYY &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /doctype/subtype &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; view, edit
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Is this a valid/ good approach? Or, is there a better way to extend jetspeed security to support access to external resources?
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;TIA
&lt;br&gt;&amp;nbsp;		 	 &amp;nbsp; 		 &amp;nbsp;
&lt;br&gt;_________________________________________________________________
&lt;br&gt;Windows Live Hotmail gives you a free,exclusive &amp;nbsp;gift.
&lt;br&gt;&lt;a href=&quot;http://www.microsoft.com/windows/windowslive/hotmail_bl1/hotmail_bl1.aspx?ocid=PID23879::T:WLMTAGL:ON:WL:en-ww:WM_IMHM_7:092009&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.microsoft.com/windows/windowslive/hotmail_bl1/hotmail_bl1.aspx?ocid=PID23879::T:WLMTAGL:ON:WL:en-ww:WM_IMHM_7:092009&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---User-f198.html&quot; embed=&quot;fixTarget[198]&quot; target=&quot;_top&quot; &gt;Jetspeed - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Leveraging-Jetspeed-security-tables-to-secure-access-to-external-resources-tp26695686p26695686.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26692971</id>
	<title>svn commit: r888357 - /portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp</title>
	<published>2009-12-08T04:10:37Z</published>
	<updated>2009-12-08T04:10:37Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Tue Dec &amp;nbsp;8 12:10:36 2009
&lt;br&gt;New Revision: 888357
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888357&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888357&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Changing to keep up with the json marshaling changes in Jetspeed
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888357&amp;r1=888356&amp;r2=888357&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888357&amp;r1=888356&amp;r2=888357&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Tue Dec &amp;nbsp;8 12:10:36 2009
&lt;br&gt;@@ -222,10 +222,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portletsPanel = clonedPortletsPanel;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var templatePanel = Y.Node.one(&amp;quot;#&amp;lt;portlet:namespace/&amp;gt;portletItemTemplate&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var defs = [];
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dataOut.collection) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;defs = dataOut.collection;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var defs = dataOut.definitions;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (var i = 0; i &amp;lt; defs.length; i++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var def = defs[i];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var clone = templatePanel.cloneNode(true);
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26692971&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26692971&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888357----portals-jetspeed-2-applications-j2-admin-trunk-src-main-webapp-WEB-INF-view-toolbox-toolbox.jsp-tp26692971p26692971.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26692813</id>
	<title>svn commit: r888350 - in /portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services: beans/ rest/</title>
	<published>2009-12-08T03:57:19Z</published>
	<updated>2009-12-08T03:57:19Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Tue Dec &amp;nbsp;8 11:57:19 2009
&lt;br&gt;New Revision: 888350
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888350&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888350&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: To keep consitency between xml and json marshalings
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java?rev=888350&amp;r1=888349&amp;r2=888350&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java?rev=888350&amp;r1=888349&amp;r2=888350&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java Tue Dec &amp;nbsp;8 11:57:19 2009
&lt;br&gt;@@ -17,11 +17,7 @@
&lt;br&gt;&amp;nbsp;package org.apache.jetspeed.services.beans;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.io.Serializable;
&lt;br&gt;-import java.util.Collection;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-import javax.xml.bind.annotation.XmlAttribute;
&lt;br&gt;-import javax.xml.bind.annotation.XmlElement;
&lt;br&gt;-import javax.xml.bind.annotation.XmlElements;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlRootElement;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;@@ -29,13 +25,11 @@
&lt;br&gt;&amp;nbsp; * 
&lt;br&gt;&amp;nbsp; * @version $Id$
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;-@XmlRootElement(name=&amp;quot;collection&amp;quot;)
&lt;br&gt;-public class BeanCollection&amp;lt;T&amp;gt; implements Serializable
&lt;br&gt;+@XmlRootElement(name=&amp;quot;data&amp;quot;)
&lt;br&gt;+public class BeanCollection implements Serializable
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Collection&amp;lt;T&amp;gt; collection;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private int totalSize = -1;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private int beginIndex = -1;
&lt;br&gt;@@ -45,28 +39,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected Collection&amp;lt;T&amp;gt; getCollection()
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return collection;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected void setCollection(Collection&amp;lt;T&amp;gt; collection)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.collection = collection;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@XmlAttribute(name=&amp;quot;size&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public int getSize()
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (collection != null ? collection.size() : 0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public void setSize()
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@XmlAttribute(name=&amp;quot;totalSize&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public int getTotalSize()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return totalSize;
&lt;br&gt;@@ -77,7 +49,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.totalSize = totalSize;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@XmlAttribute(name=&amp;quot;beginIndex&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public int getBeginIndex()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return beginIndex;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java?rev=888350&amp;r1=888349&amp;r2=888350&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java?rev=888350&amp;r1=888349&amp;r2=888350&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java Tue Dec &amp;nbsp;8 11:57:19 2009
&lt;br&gt;@@ -19,6 +19,7 @@
&lt;br&gt;&amp;nbsp;import java.util.Collection;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlElement;
&lt;br&gt;+import javax.xml.bind.annotation.XmlElementWrapper;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlElements;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlRootElement;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -27,25 +28,27 @@
&lt;br&gt;&amp;nbsp; * 
&lt;br&gt;&amp;nbsp; * @version $Id$
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;-@XmlRootElement(name=&amp;quot;applications&amp;quot;)
&lt;br&gt;-public class PortletApplicationBeanCollection extends BeanCollection&amp;lt;PortletApplicationBean&amp;gt;
&lt;br&gt;+@XmlRootElement(name=&amp;quot;data&amp;quot;)
&lt;br&gt;+public class PortletApplicationBeanCollection extends BeanCollection
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Collection&amp;lt;PortletApplicationBean&amp;gt; applicationBeans;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public PortletApplicationBeanCollection()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElementWrapper(name=&amp;quot;applications&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@XmlElements(@XmlElement(name=&amp;quot;application&amp;quot;))
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public Collection&amp;lt;PortletApplicationBean&amp;gt; getCollection()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Collection&amp;lt;PortletApplicationBean&amp;gt; getApplications()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return super.getCollection();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return applicationBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public void setPortletApplicationBeans(Collection&amp;lt;PortletApplicationBean&amp;gt; collection)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setApplications(Collection&amp;lt;PortletApplicationBean&amp;gt; applicationBeans)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.setCollection(collection);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.applicationBeans = applicationBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java?rev=888350&amp;r1=888349&amp;r2=888350&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java?rev=888350&amp;r1=888349&amp;r2=888350&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java Tue Dec &amp;nbsp;8 11:57:19 2009
&lt;br&gt;@@ -19,6 +19,7 @@
&lt;br&gt;&amp;nbsp;import java.util.Collection;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlElement;
&lt;br&gt;+import javax.xml.bind.annotation.XmlElementWrapper;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlElements;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlRootElement;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -27,26 +28,28 @@
&lt;br&gt;&amp;nbsp; * 
&lt;br&gt;&amp;nbsp; * @version $Id$
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;-@XmlRootElement(name=&amp;quot;definitions&amp;quot;)
&lt;br&gt;-public class PortletDefinitionBeanCollection extends BeanCollection&amp;lt;PortletDefinitionBean&amp;gt;
&lt;br&gt;+@XmlRootElement(name=&amp;quot;data&amp;quot;)
&lt;br&gt;+public class PortletDefinitionBeanCollection extends BeanCollection
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Collection&amp;lt;PortletDefinitionBean&amp;gt; definitionBeans;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public PortletDefinitionBeanCollection()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElementWrapper(name=&amp;quot;definitions&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@XmlElements(@XmlElement(name=&amp;quot;definition&amp;quot;))
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public Collection&amp;lt;PortletDefinitionBean&amp;gt; getCollection()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Collection&amp;lt;PortletDefinitionBean&amp;gt; getDefinitions()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return super.getCollection();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return definitionBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public void setPortletApplicationBeans(Collection&amp;lt;PortletDefinitionBean&amp;gt; collection)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setDefinitions(Collection&amp;lt;PortletDefinitionBean&amp;gt; definitionBeans)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.setCollection(collection);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.definitionBeans = definitionBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=888350&amp;r1=888349&amp;r2=888350&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=888350&amp;r1=888349&amp;r2=888350&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java Tue Dec &amp;nbsp;8 11:57:19 2009
&lt;br&gt;@@ -155,7 +155,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeans.setPortletApplicationBeans(paBeanList);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeans.setApplications(paBeanList);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return paBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -270,7 +270,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setPortletApplicationBeans(pdBeanList);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setDefinitions(pdBeanList);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return pdBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26692813&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26692813&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888350---in--portals-jetspeed-2-portal-trunk-components-jetspeed-portal-src-main-java-org-apache-jetspeed-services%3A-beans--rest--tp26692813p26692813.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26683893</id>
	<title>Repost Jetspeed2 error</title>
	<published>2009-12-07T12:46:38Z</published>
	<updated>2009-12-07T12:46:38Z</updated>
	<author>
		<name>Smith, Nathan-3</name>
	</author>
	<content type="html">I'm trying to run my portal-app on Jetspeed 2.2.0. &amp;nbsp;It is configured similar to the Jetexpress example with the exception that I'm using Spring 3 to create my portlet(s) and control the dispatching. &amp;nbsp;Could this create problems for Jetspeed? &amp;nbsp;I'm at a loss as to what else I might need to configure within Jetspeed to get this running. &amp;nbsp;Responses would be greatly appreciated.
&lt;br&gt;&lt;br&gt;I receive the following error(s):
&lt;br&gt;&lt;br&gt;org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portalURLValve' defined in ServletContext resource [/WEB-INF/assembly/pipelines.xml]: Cannot resolve reference to bean 'NavigationalStateComponent' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NavigationalStateComponent' defined in ServletContext resource [/WEB-INF/assembly/portal-url-generation.xml]: Instantiation of bean failed;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.jetspeed.container.state.impl.JetspeedNavigationalStateComponent]: Constructor threw exception;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.request.RequestContextComponent' defined in ServletContext resource [/WEB-INF/assembly/jetspeed-spring.xml]: Cannot resolve reference to bean 'org.apache.jetspeed.components.portletregistry.PortletRegistry' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.components.portletregistry.PortletRegistry' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'portletRegistryImpl' while setting bean property 'target';
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portletRegistryImpl' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'org.apache.pluto.services.PreferencesService' while setting bean property 'target';
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.pluto.services.PreferencesService' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'portletFactory' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portletFactory' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Initialization of bean failed;
&lt;br&gt;&lt;br&gt;nested exception is java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/StandardClassLoader) previously initiated loading for a different type with name &amp;quot;javax/portlet/PreferencesValidator&amp;quot;
&lt;br&gt;at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
&lt;br&gt;at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
&lt;br&gt;at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:600)
&lt;br&gt;at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:140)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:289)
&lt;br&gt;at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:286)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:188)
&lt;br&gt;at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:558)
&lt;br&gt;at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:852)
&lt;br&gt;at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:422)
&lt;br&gt;at org.apache.jetspeed.components.SpringComponentManager.start(SpringComponentManager.java:308)
&lt;br&gt;at org.apache.jetspeed.engine.JetspeedEngine.start(JetspeedEngine.java:119)
&lt;br&gt;at org.apache.jetspeed.engine.JetspeedServlet.init(JetspeedServlet.java:208)
&lt;br&gt;at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
&lt;br&gt;at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
&lt;br&gt;at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4149)
&lt;br&gt;at org.apache.catalina.core.StandardContext.start(StandardContext.java:4458)
&lt;br&gt;at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
&lt;br&gt;at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
&lt;br&gt;at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
&lt;br&gt;at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
&lt;br&gt;at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
&lt;br&gt;at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
&lt;br&gt;at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
&lt;br&gt;at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
&lt;br&gt;at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
&lt;br&gt;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
&lt;br&gt;at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
&lt;br&gt;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
&lt;br&gt;at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
&lt;br&gt;at org.apache.catalina.core.StandardService.start(StandardService.java:516)
&lt;br&gt;at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
&lt;br&gt;at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
&lt;br&gt;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&lt;br&gt;at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&lt;br&gt;at java.lang.reflect.Method.invoke(Method.java:597)
&lt;br&gt;at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
&lt;br&gt;at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
&lt;br&gt;Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NavigationalStateComponent' defined in ServletContext resource [/WEB-INF/assembly/portal-url-generation.xml]: Instantiation of bean failed;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.jetspeed.container.state.impl.JetspeedNavigationalStateComponent]: Constructor threw exception;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.request.RequestContextComponent' defined in ServletContext resource [/WEB-INF/assembly/jetspeed-spring.xml]: Cannot resolve reference to bean 'org.apache.jetspeed.components.portletregistry.PortletRegistry' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.components.portletregistry.PortletRegistry' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'portletRegistryImpl' while setting bean property 'target';
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portletRegistryImpl' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'org.apache.pluto.services.PreferencesService' while setting bean property 'target';
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.pluto.services.PreferencesService' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'portletFactory' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portletFactory' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Initialization of bean failed; nested exception is java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/StandardClassLoader) previously initiated loading for a different type with name &amp;quot;javax/portlet/PreferencesValidator&amp;quot;
&lt;br&gt;at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:283)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:289)
&lt;br&gt;at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:286)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:188)
&lt;br&gt;at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
&lt;br&gt;... 43 more
&lt;br&gt;Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.jetspeed.container.state.impl.JetspeedNavigationalStateComponent]: Constructor threw exception;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.request.RequestContextComponent' defined in ServletContext resource [/WEB-INF/assembly/jetspeed-spring.xml]: Cannot resolve reference to bean 'org.apache.jetspeed.components.portletregistry.PortletRegistry' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.components.portletregistry.PortletRegistry' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'portletRegistryImpl' while setting bean property 'target';
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portletRegistryImpl' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'org.apache.pluto.services.PreferencesService' while setting bean property 'target';
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.pluto.services.PreferencesService' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'portletFactory' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portletFactory' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Initialization of bean failed;
&lt;br&gt;&lt;br&gt;nested exception is java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/StandardClassLoader) previously initiated loading for a different type with name &amp;quot;javax/portlet/PreferencesValidator&amp;quot;
&lt;br&gt;at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141)
&lt;br&gt;at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:107)
&lt;br&gt;at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:275)
&lt;br&gt;... 52 more
&lt;br&gt;&lt;br&gt;Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.request.RequestContextComponent' defined in ServletContext resource [/WEB-INF/assembly/jetspeed-spring.xml]: Cannot resolve reference to bean 'org.apache.jetspeed.components.portletregistry.PortletRegistry' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.components.portletregistry.PortletRegistry' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'portletRegistryImpl' while setting bean property 'target';
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portletRegistryImpl' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'org.apache.pluto.services.PreferencesService' while setting bean property 'target';
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.pluto.services.PreferencesService' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Cannot resolve reference to bean 'portletFactory' while setting constructor argument;
&lt;br&gt;&lt;br&gt;nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'portletFactory' defined in ServletContext resource [/WEB-INF/assembly/registry.xml]: Initialization of bean failed;
&lt;br&gt;&lt;br&gt;nested exception is java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/StandardClassLoader) previously initiated loading for a different type with name &amp;quot;javax/portlet/PreferencesValidator&amp;quot;
&lt;br&gt;at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
&lt;br&gt;at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
&lt;br&gt;at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:586)
&lt;br&gt;at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:140)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:289)
&lt;br&gt;at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:286)
&lt;br&gt;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:188)
&lt;br&gt;at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1010)
&lt;br&gt;at org.apache.jetspeed.components.SpringComponentManager.getComponent(SpringComponentManager.java:178)
&lt;br&gt;at org.apache.jetspeed.engine.JetspeedEngine.getCurrentRequestContext(JetspeedEngine.java:285)
&lt;br&gt;at org.apache.jetspeed.Jetspeed.getCurrentRequestContext(Jetspeed.java:88)
&lt;br&gt;at org.apache.jetspeed.JetspeedPortalContext.getSupportedModes(JetspeedPortalContext.java:223)
&lt;br&gt;at org.apache.jetspeed.JetspeedPortalContext.getSupportedPortletModes(JetspeedPortalContext.java:240)
&lt;br&gt;at org.apache.jetspeed.container.state.impl.JetspeedNavigationalStateComponent.&amp;lt;init&amp;gt;(JetspeedNavigationalStateComponent.java:78)
&lt;br&gt;at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
&lt;br&gt;at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
&lt;br&gt;at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
&lt;br&gt;at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
&lt;br&gt;at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126)
&lt;br&gt;... 54 more
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Repost-Jetspeed2-error-tp26683893p26683893.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26683751</id>
	<title>Page Security Report</title>
	<published>2009-12-07T12:39:28Z</published>
	<updated>2009-12-07T12:39:28Z</updated>
	<author>
		<name>Michael Binette-2</name>
	</author>
	<content type="html">I have a custom &amp;quot;report&amp;quot; portlet that uses the UserManager, GroupManager,
&lt;br&gt;and RoleManager to create a report showing each user with what groups and
&lt;br&gt;roles are assigned to them. That works great. But what we really need is a
&lt;br&gt;list of Folders and Pages each user has access to as well. Right now they
&lt;br&gt;are using a big Excel spreadsheet but of course keeping that up to date is
&lt;br&gt;error prone. It doesn't look like the PageManager in Jetspeed does what I
&lt;br&gt;need. Does anyone think of a way for me to do this using the information
&lt;br&gt;already setup in Jetspeed.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Michael
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---User-f198.html&quot; embed=&quot;fixTarget[198]&quot; target=&quot;_top&quot; &gt;Jetspeed - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Page-Security-Report-tp26683751p26683751.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26682711</id>
	<title>svn commit: r888099 - /portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp</title>
	<published>2009-12-07T11:27:51Z</published>
	<updated>2009-12-07T11:27:51Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Mon Dec &amp;nbsp;7 19:27:49 2009
&lt;br&gt;New Revision: 888099
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888099&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888099&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1057: changes on json handling caused by jetspeed json provider change.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888099&amp;r1=888098&amp;r2=888099&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888099&amp;r1=888098&amp;r2=888099&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Mon Dec &amp;nbsp;7 19:27:49 2009
&lt;br&gt;@@ -223,12 +223,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var templatePanel = Y.Node.one(&amp;quot;#&amp;lt;portlet:namespace/&amp;gt;portletItemTemplate&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var defs = [];
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dataOut.definitions.definition) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dataOut.definitions.definition instanceof Array) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;defs = dataOut.definitions.definition;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;defs.push(dataOut.definitions.definition);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dataOut.collection) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;defs = dataOut.collection;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (var i = 0; i &amp;lt; defs.length; i++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var def = defs[i];
&lt;br&gt;@@ -242,14 +238,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var nameNode = clone.one('div');
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (def.displayNames.displayName) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (def.displayNames.displayName instanceof Array) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nameNode.setContent(def.displayNames.displayName[0].value);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nameNode.setContent(def.displayNames.displayName.value);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nameNode.setContent(def.displayNames[0].value);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:choose&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:when test=&amp;quot;${editAccess}&amp;quot;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682711&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682711&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888099----portals-jetspeed-2-applications-j2-admin-trunk-src-main-webapp-WEB-INF-view-toolbox-toolbox.jsp-tp26682711p26682711.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26682699</id>
	<title>svn commit: r888098 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-portal/pom.xml jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml pom.xml</title>
	<published>2009-12-07T11:26:20Z</published>
	<updated>2009-12-07T11:26:20Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Mon Dec &amp;nbsp;7 19:26:13 2009
&lt;br&gt;New Revision: 888098
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888098&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888098&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Using jackson json provider. Thanks to Randy for the pointer.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/pom.xml
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml?rev=888098&amp;r1=888097&amp;r2=888098&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml?rev=888098&amp;r1=888097&amp;r2=888098&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml Mon Dec &amp;nbsp;7 19:26:13 2009
&lt;br&gt;@@ -174,6 +174,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;cxf-rt-frontend-jaxrs&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.codehaus.jackson&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;jackson-jaxrs&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.codehaus.jackson&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;jackson-xc&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Test Dependencies --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=888098&amp;r1=888097&amp;r2=888098&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=888098&amp;r1=888097&amp;r2=888098&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml Mon Dec &amp;nbsp;7 19:26:13 2009
&lt;br&gt;@@ -68,27 +68,54 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;jacksonObjectMapper&amp;quot; class=&amp;quot;org.codehaus.jackson.map.ObjectMapper&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;jacksonJaxbIntrospector&amp;quot; class=&amp;quot;org.codehaus.jackson.xc.JaxbAnnotationIntrospector&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean class=&amp;quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetObject&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bean class=&amp;quot;org.springframework.beans.factory.config.PropertyPathFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetObject&amp;quot; ref=&amp;quot;jacksonObjectMapper&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;propertyPath&amp;quot; value=&amp;quot;serializationConfig&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetMethod&amp;quot; value=&amp;quot;setAnnotationIntrospector&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;arguments&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;list&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jacksonJaxbIntrospector&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/list&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;bean id=&amp;quot;jaxrsJsonProvider&amp;quot; class=&amp;quot;org.apache.cxf.jaxrs.provider.JSONProvider&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean class=&amp;quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;serializeAsArray&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;arrayKeys&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetObject&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bean class=&amp;quot;org.springframework.beans.factory.config.PropertyPathFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetObject&amp;quot; ref=&amp;quot;jacksonObjectMapper&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;propertyPath&amp;quot; value=&amp;quot;deserializationConfig&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;targetMethod&amp;quot; value=&amp;quot;setAnnotationIntrospector&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;arguments&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;list&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!--
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;displayName&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;description&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;initparam&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;language&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;field&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;portletMode&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;windowState&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;definition&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;application&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jacksonJaxbIntrospector&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/list&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;jaxrsJsonProvider&amp;quot; class=&amp;quot;org.codehaus.jackson.jaxrs.JacksonJsonProvider&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;mapper&amp;quot; ref=&amp;quot;jacksonObjectMapper&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;!-- JAX-RS Service Singleton Resource Beans &amp;nbsp;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;bean id=&amp;quot;org.apache.jetspeed.services.rest.singletons&amp;quot; class=&amp;quot;org.springframework.beans.factory.config.SetFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;@@ -113,4 +140,4 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.search.SearchEngine&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;-&amp;lt;/beans&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;+&amp;lt;/beans&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/pom.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/pom.xml?rev=888098&amp;r1=888097&amp;r2=888098&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/pom.xml?rev=888098&amp;r1=888097&amp;r2=888098&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/pom.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/pom.xml Mon Dec &amp;nbsp;7 19:26:13 2009
&lt;br&gt;@@ -313,6 +313,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;commonj.version&amp;gt;1.1&amp;lt;/commonj.version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tyrex.version&amp;gt;1.0.1&amp;lt;/tyrex.version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;cxf.version&amp;gt;2.2.5&amp;lt;/cxf.version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;jackson.version&amp;gt;1.3.2&amp;lt;/jackson.version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;!-- Dependency Configuration --&amp;gt;
&lt;br&gt;@@ -1014,6 +1015,22 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/exclusions&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Jackson JSON --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.codehaus.jackson&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;jackson-jaxrs&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${jackson.version}&amp;lt;/version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Jacson Xml Compatibility extensions --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.codehaus.jackson&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;jackson-xc&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${jackson.version}&amp;lt;/version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;scope&amp;gt;runtime&amp;lt;/scope&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Test --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;junit&amp;lt;/groupId&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682699&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682699&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888098---in--portals-jetspeed-2-portal-trunk%3A-components-jetspeed-portal-pom.xml-jetspeed-portal-resources-src-main-resources-assembly-jetspeed-restful-services.xml-pom.xml-tp26682699p26682699.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26680342</id>
	<title>svn commit: r888004 - in /portals/jetspeed-2/applications/j2-admin/trunk/src/main: java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java webapp/WEB-INF/view/toolbox/toolbox.jsp</title>
	<published>2009-12-07T09:04:02Z</published>
	<updated>2009-12-07T09:04:02Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Mon Dec &amp;nbsp;7 17:04:01 2009
&lt;br&gt;New Revision: 888004
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=888004&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=888004&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1057: Code clean up. Removing unused codes.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java?rev=888004&amp;r1=888003&amp;r2=888004&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java?rev=888004&amp;r1=888003&amp;r2=888004&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java Mon Dec &amp;nbsp;7 17:04:01 2009
&lt;br&gt;@@ -17,17 +17,8 @@
&lt;br&gt;&amp;nbsp;package org.apache.jetspeed.portlets.toolbox;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.io.IOException;
&lt;br&gt;-import java.io.Serializable;
&lt;br&gt;-import java.util.ArrayList;
&lt;br&gt;-import java.util.Collection;
&lt;br&gt;-import java.util.Collections;
&lt;br&gt;-import java.util.Comparator;
&lt;br&gt;-import java.util.Iterator;
&lt;br&gt;+import java.util.Arrays;
&lt;br&gt;&amp;nbsp;import java.util.List;
&lt;br&gt;-import java.util.Locale;
&lt;br&gt;-import java.util.Map;
&lt;br&gt;-import java.util.Random;
&lt;br&gt;-import java.util.StringTokenizer;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.portlet.ActionRequest;
&lt;br&gt;&amp;nbsp;import javax.portlet.ActionResponse;
&lt;br&gt;@@ -35,12 +26,12 @@
&lt;br&gt;&amp;nbsp;import javax.portlet.PortletConfig;
&lt;br&gt;&amp;nbsp;import javax.portlet.PortletContext;
&lt;br&gt;&amp;nbsp;import javax.portlet.PortletException;
&lt;br&gt;-import javax.portlet.PortletPreferences;
&lt;br&gt;&amp;nbsp;import javax.portlet.PortletRequest;
&lt;br&gt;-import javax.portlet.PortletSession;
&lt;br&gt;&amp;nbsp;import javax.portlet.RenderRequest;
&lt;br&gt;&amp;nbsp;import javax.portlet.RenderResponse;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+import org.apache.commons.lang.StringUtils;
&lt;br&gt;+import org.apache.commons.lang.math.NumberUtils;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.CommonPortletServices;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.JetspeedActions;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.components.portletregistry.PortletRegistry;
&lt;br&gt;@@ -48,16 +39,9 @@
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.page.ContentFragment;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.page.ContentPage;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.page.Fragment;
&lt;br&gt;-import org.apache.jetspeed.om.page.Page;
&lt;br&gt;-import org.apache.jetspeed.om.portlet.InitParam;
&lt;br&gt;-import org.apache.jetspeed.om.portlet.LocalizedField;
&lt;br&gt;-import org.apache.jetspeed.om.portlet.PortletApplication;
&lt;br&gt;-import org.apache.jetspeed.om.portlet.PortletDefinition;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.portlet.HeaderPhaseSupportConstants;
&lt;br&gt;-import org.apache.jetspeed.portlets.PortletInfo;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.profiler.Profiler;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.request.RequestContext;
&lt;br&gt;-import org.apache.jetspeed.search.ParsedObject;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.search.SearchEngine;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.security.SecurityAccessController;
&lt;br&gt;&amp;nbsp;import org.apache.portals.bridges.common.GenericServletPortlet;
&lt;br&gt;@@ -71,7 +55,7 @@
&lt;br&gt;&amp;nbsp; * @author &amp;lt;a href=&amp;quot;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26680342&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;taylor@...&lt;/a&gt;&amp;quot;&amp;gt;David Sean Taylor&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; * @version $Id$
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;-public class JetspeedToolbox extends GenericServletPortlet implements Comparator
&lt;br&gt;+public class JetspeedToolbox extends GenericServletPortlet
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;static Logger log = LoggerFactory.getLogger(JetspeedToolbox.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -80,23 +64,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected Profiler profiler;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected SecurityAccessController securityAccessController;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected DecorationFactory decorationFactory; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected Random rand;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected String yuiScriptPath = &amp;quot;/javascript/yui/build/yui/yui-min.js&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public final String[] DEFAULT_IMAGES = new String[]
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;images/portlets/applications-development.png&amp;quot;,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;images/portlets/applications-system.png&amp;quot;,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;images/portlets/applications-other.png&amp;quot;,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;images/portlets/linux.png&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public final static String PORTLET_ICON = &amp;quot;portlet-icon&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void init(PortletConfig config) throws PortletException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.init(config);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletContext context = getPortletContext(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletContext context = getPortletContext();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;registry = (PortletRegistry)context.getAttribute(CommonPortletServices.CPS_REGISTRY_COMPONENT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == registry)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -122,7 +97,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PortletException(&amp;quot;Failed to find the Decoration Factory on portlet initialization&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rand = new Random( 19580427 );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String param = config.getInitParameter(&amp;quot;yuiScriptPath&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -145,33 +119,27 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@SuppressWarnings(&amp;quot;unchecked&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void doView(RenderRequest request, RenderResponse response)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws PortletException, IOException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String category = request.getParameter(&amp;quot;category&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String filter = request.getParameter(&amp;quot;filter&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filter == null || &amp;nbsp;filter.equals(&amp;quot;&amp;quot;)) filter = null; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (category == null || category.equals(&amp;quot;&amp;quot;)) category = &amp;quot;All&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) request.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//TODO: The following two lines need to be move somewhere like 'serveResource()'
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;because portlets info should be retrieved from ajax calls.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//List&amp;lt;PortletInfo&amp;gt; portlets = retrievePortlets(request, null);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//request.setAttribute(&amp;quot;portlets&amp;quot;, portlets);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.setAttribute(&amp;quot;categories&amp;quot;, retrieveCategories(request));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.setAttribute(&amp;quot;layouts&amp;quot;, LayoutBean.retrieveLayouts(request, decorationFactory));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.setAttribute(&amp;quot;themes&amp;quot;, ThemeBean.retrieveThemes(request, decorationFactory));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean hasEditAccess = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) request.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestContext.getPage().checkAccess(JetspeedActions.EDIT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hasEditAccess = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch(Exception e)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.setAttribute(&amp;quot;editAccess&amp;quot;, new Boolean(hasEditAccess));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch(Exception ignore)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.setAttribute(&amp;quot;editAccess&amp;quot;, hasEditAccess ? Boolean.TRUE : Boolean.FALSE);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.doView(request, response); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -179,32 +147,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;IOException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String category = null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String filter = actionRequest.getParameter(&amp;quot;filter&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String theme = &amp;nbsp;actionRequest.getParameter(&amp;quot;theme&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String layout = &amp;nbsp;actionRequest.getParameter(&amp;quot;layout&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) actionRequest.getAttribute(RequestContext.REQUEST_PORTALENV); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filter != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filter.trim().equals(&amp;quot;&amp;quot;))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filter = null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;category = &amp;quot;all&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;actionRequest.getPortletSession().removeAttribute(&amp;quot;portlets&amp;quot;, PortletSession.PORTLET_SCOPE);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CategoryResult result = getPortlets(actionRequest, category, &amp;quot;1&amp;quot;, 10, filter); &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;actionRequest.getPortletSession().setAttribute(&amp;quot;portlets&amp;quot;, result.getPortlets(), &amp;nbsp;PortletSession.PORTLET_SCOPE);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Invalidate category results...
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;CategoryResult&amp;gt; categories = (List) actionRequest.getPortletSession().getAttribute(&amp;quot;categories&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (categories != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;actionRequest.getPortletSession().removeAttribute(&amp;quot;categories&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RequestContext requestContext = (RequestContext) actionRequest.getAttribute(RequestContext.REQUEST_PORTALENV);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (theme != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage page = requestContext.getPage();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;page.updateDefaultDecorator(theme, ContentFragment.LAYOUT);
&lt;br&gt;@@ -216,10 +166,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Page has not been updated.&amp;quot;, e);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (layout != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage page = requestContext.getPage();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment layoutFragment = page.getRootFragment();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layoutFragment.updateName(layout);
&lt;br&gt;@@ -230,11 +182,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Page has not been updated.&amp;quot;, e);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String portletAdd = actionRequest.getParameter(&amp;quot;portletAdd&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (portletAdd != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// BOZO: this should be done via AJAX API
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentPage page = requestContext.getPage();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addPortletToLeastUsedColumn(page, portletAdd); 
&lt;br&gt;@@ -247,317 +202,35 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@SuppressWarnings(&amp;quot;unchecked&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public List&amp;lt;PortletInfo&amp;gt; retrievePortlets(PortletRequest request, String filter)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;PortletInfo&amp;gt; portletsList = (List&amp;lt;PortletInfo&amp;gt;)request.getPortletSession().getAttribute(&amp;quot;portlets&amp;quot;, PortletSession.PORTLET_SCOPE);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filter == null &amp;&amp; portletsList != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return portletsList;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator portlets = null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List list = new ArrayList();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Locale locale = request.getLocale(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filter == null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portlets = registry.getAllPortletDefinitions().iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portlets = searchEngine.search(filter).getResults().iterator(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (portlets.hasNext())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletDefinition portlet = null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filter == null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portlet = (PortletDefinition)portlets.next();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portlet = getPortletFromParsedObject((ParsedObject)portlets.next());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletInfo portletInfo = filterPortlet(portlet, locale, request);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (portletInfo != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;list.add(portletInfo);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collections.sort(list, this);
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filter == null ) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.getPortletSession().setAttribute(&amp;quot;portlets&amp;quot;, list, &amp;nbsp;PortletSession.PORTLET_SCOPE);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return list;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected PortletDefinition getPortletFromParsedObject(ParsedObject po)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public List&amp;lt;String&amp;gt; retrieveCategories(PortletRequest request) throws PortletException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean found = false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = &amp;quot;&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map fields = po.getFields();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(fields != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object id = fields.get(&amp;quot;ID&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(id != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(id instanceof Collection)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection coll = (Collection)id;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name = (String) coll.iterator().next();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name = (String)id;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(po.getType().equals(&amp;quot;portlet&amp;quot;))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object pa = fields.get(&amp;quot;portlet_application&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String paName = &amp;quot;&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(pa != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(id instanceof Collection)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection coll = (Collection)pa;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paName = (String) coll.iterator().next();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paName = (String)pa;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name = paName + &amp;quot;::&amp;quot; + name;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;found = true;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (found == false)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;String&amp;gt; categories = (List) request.getPortletSession().getAttribute(&amp;quot;categories&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return registry.getPortletDefinitionByUniqueName(name);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Filters portlets being added to the based on security checks and layout criteria
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param portlet
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @return null if filtered, otherwise PortletInfo to be added to list
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected PortletInfo filterPortlet(PortletDefinition portlet, Locale locale, PortletRequest request)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (portlet == null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filterByRole(portlet, request))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Do not display Jetspeed Layout Applications
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletApplication pa = (PortletApplication)portlet.getApplication();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pa.isLayoutApplication())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// SECURITY filtering
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String uniqueName = pa.getName() + &amp;quot;::&amp;quot; + portlet.getPortletName();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (securityAccessController.checkPortletAccess(portlet, JetspeedActions.MASK_VIEW))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;InitParam param = portlet.getInitParam(PORTLET_ICON);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String image;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (param != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//String relativeImagePath = param.getValue();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//String context = muta.getWebApplicationDefinition().getContextRoot();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Have to use a supported icon in jetspeed, otherwise image can be out of skew
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String &amp;nbsp;imagePath = param.getParamValue();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (imagePath == null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;image = DEFAULT_IMAGES[rand.nextInt(DEFAULT_IMAGES.length)];
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (-1 == imagePath.indexOf(&amp;quot;/&amp;quot;))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;image = &amp;quot;images/portlets/&amp;quot; + param.getParamValue();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;image = param.getParamValue();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;image = DEFAULT_IMAGES[rand.nextInt(DEFAULT_IMAGES.length)];
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new PortletInfo(uniqueName, cleanup(portlet.getDisplayNameText(locale)), cleanup(portlet.getDescriptionText(locale)), &amp;quot;/&amp;quot; + image);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public int compare(Object obj1, Object obj2)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletInfo portlet1 = (PortletInfo)obj1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletInfo portlet2 = (PortletInfo)obj2;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name1 = portlet1.getDisplayName();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name2 = portlet2.getDisplayName();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name1 = (name1 == null) ? &amp;quot;unknown&amp;quot; : name1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name2 = (name2 == null) ? &amp;quot;unknown&amp;quot; : name2;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return name1.compareTo(name2);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected boolean filterByRole(PortletDefinition portlet, PortletRequest request)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean doFilter = false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection c = portlet.getMetadata().getFields(&amp;quot;selector.conditional.role&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (c != null) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator it = c.iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (it.hasNext()) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LocalizedField roleField = (LocalizedField) it.next();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String role = roleField.getValue();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (role != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (role.equals(&amp;quot;*&amp;quot;))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;doFilter = true;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (!request.isUserInRole(role));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return doFilter;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected String cleanup(String str)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (str == null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return str;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return str.replaceAll(&amp;quot;\r|\n|\&amp;quot;|\'&amp;quot;, &amp;quot;&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@SuppressWarnings(&amp;quot;unchecked&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public List&amp;lt;CategoryResult&amp;gt; retrieveCategories(PortletRequest request)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;throws PortletException
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;CategoryResult&amp;gt; categories = (List)request.getPortletSession().getAttribute(&amp;quot;categories&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (categories != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return categories;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Locale locale = request.getLocale(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;categories = new ArrayList&amp;lt;CategoryResult&amp;gt;();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletPreferences prefs = request.getPreferences();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String cats = prefs.getValue(&amp;quot;Categories&amp;quot;, null);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String cats = request.getPreferences().getValue(&amp;quot;Categories&amp;quot;, null);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (cats == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new PortletException(&amp;quot;No categories defined, please add categories via edit mode.&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringTokenizer catTokenizer = new StringTokenizer(cats, &amp;quot;,&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (catTokenizer.hasMoreTokens())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = catTokenizer.nextToken().trim();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;PortletInfo&amp;gt; portlets = new ArrayList&amp;lt;PortletInfo&amp;gt;();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String keywords = prefs.getValue(&amp;quot;Keywords:&amp;quot; + name, null);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (keywords != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringTokenizer keyTokenizer = new StringTokenizer(keywords, &amp;quot;,&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringBuffer searchString = new StringBuffer();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int count = 0;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (keyTokenizer.hasMoreTokens())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String keyword = keyTokenizer.nextToken().trim();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (count &amp;gt; 0)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;searchString.append(&amp;quot; | &amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;searchString.append(keyword);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;count++;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (count &amp;gt; 0)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator portletsIter = searchEngine.search(searchString.toString()).getResults().iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (portletsIter.hasNext())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletDefinition portlet = 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getPortletFromParsedObject((ParsedObject) portletsIter.next());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletInfo portletInfo = filterPortlet(portlet, locale, request);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (portletInfo != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portlets.add(portletInfo);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collections.sort(portlets, this);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;categories.add(new CategoryResult(name, portlets));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.getPortletSession().setAttribute(&amp;quot;categories&amp;quot;, categories); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return categories;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private CategoryResult getPortlets(PortletRequest request,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String category, String pageNumber, int portletPerPages,String filter) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;PortletInfo&amp;gt; list = new ArrayList&amp;lt;PortletInfo&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (category != null &amp;&amp; category.equalsIgnoreCase(&amp;quot;all&amp;quot;)) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;list = retrievePortlets(request, filter);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (filter != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;list = retrievePortlets(request, filter);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;CategoryResult&amp;gt; catList = retrieveCategories(request);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (CategoryResult catInfo : catList)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (catInfo.getName().equalsIgnoreCase(category)) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;list = catInfo.getPortlets();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Cannot retrieve portlets.&amp;quot;, e);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;categories = Arrays.asList(StringUtils.split(cats, &amp;quot;, \t\n&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new CategoryResult(category, list);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static class CategoryResult implements Serializable
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request.getPortletSession().setAttribute(&amp;quot;categories&amp;quot;, categories);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;PortletInfo&amp;gt; portlets;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * @param name
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * @param list
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public CategoryResult(String name, List&amp;lt;PortletInfo&amp;gt; portlets) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.name = name;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portlets = portlets;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the name
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getName() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return name;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the list
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public List&amp;lt;PortletInfo&amp;gt; getPortlets() 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return portlets;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} &amp;nbsp; 
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return categories;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected ContentFragment findFirstUnlockedFragment(ContentFragment fragment)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fragment.isLocked())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ContentFragment&amp;gt; fragments = (List&amp;lt;ContentFragment&amp;gt;)fragment.getFragments();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ContentFragment&amp;gt; fragments = (List&amp;lt;ContentFragment&amp;gt;) fragment.getFragments();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContentFragment f : fragments)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (f.getType().equals(Fragment.LAYOUT))
&lt;br&gt;@@ -566,7 +239,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fragment != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return fragment;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return fragment;
&lt;br&gt;@@ -577,17 +251,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected void addPortletToLeastUsedColumn(ContentPage page, String portletName)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment layoutFragment = findFirstUnlockedFragment(page.getRootFragment());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (layoutFragment != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String layoutType = layoutFragment.getName();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ContentFragment&amp;gt; fragments = (List&amp;lt;ContentFragment&amp;gt;)layoutFragment.getFragments();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int columnCounts[] = new int[getLayoutSize(layoutType)];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContentFragment fragment : fragments)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int column = fragment.getLayoutColumn();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int row = fragment.getLayoutRow();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (column == -1)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;column = min(columnCounts);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;column = NumberUtils.min(columnCounts);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (row == -1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;row = columnCounts[column]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (column &amp;gt; fragments.size() -1)
&lt;br&gt;@@ -597,29 +273,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;columnCounts[column]++;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int placedColumn = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int ix = 1; ix &amp;lt; columnCounts.length; ix++)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (columnCounts[ix] &amp;lt; columnCounts[placedColumn])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;placedColumn = ix;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layoutFragment.addPortlet(ContentFragment.PORTLET, portletName, columnCounts[placedColumn], placedColumn);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static int min(int[] numbers)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int minValue = numbers[0];
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 1; i &amp;lt; numbers.length; i++)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (numbers[i] &amp;lt; minValue)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;minValue = numbers[i];
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return minValue;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static int getLayoutSize(String layoutType)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (layoutType.indexOf(&amp;quot;TwoColumns&amp;quot;) &amp;gt; -1)
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888004&amp;r1=888003&amp;r2=888004&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=888004&amp;r1=888003&amp;r2=888004&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Mon Dec &amp;nbsp;7 17:04:01 2009
&lt;br&gt;@@ -67,7 +67,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;select id=&amp;quot;&amp;lt;portlet:namespace/&amp;gt;categories&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Choose a category&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:forEach var=&amp;quot;category&amp;quot; items=&amp;quot;${categories}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;option value=&amp;quot;${category.name}&amp;quot;&amp;gt;${category.name}&amp;lt;/option&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;option value=&amp;quot;${category}&amp;quot;&amp;gt;${category}&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:forEach&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/select&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26680342&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26680342&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r888004---in--portals-jetspeed-2-applications-j2-admin-trunk-src-main%3A-java-org-apache-jetspeed-portlets-toolbox-JetspeedToolbox.java-webapp-WEB-INF-view-toolbox-toolbox.jsp-tp26680342p26680342.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26679220</id>
	<title>svn commit: r887964 - /portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java</title>
	<published>2009-12-07T07:50:02Z</published>
	<updated>2009-12-07T07:50:02Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Mon Dec &amp;nbsp;7 15:50:01 2009
&lt;br&gt;New Revision: 887964
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887964&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887964&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Adds the existing portlet filtering out logic by role
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=887964&amp;r1=887963&amp;r2=887964&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=887964&amp;r1=887963&amp;r2=887964&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java Mon Dec &amp;nbsp;7 15:50:01 2009
&lt;br&gt;@@ -36,6 +36,7 @@
&lt;br&gt;&amp;nbsp;import org.apache.commons.lang.math.NumberUtils;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.JetspeedActions;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.components.portletregistry.PortletRegistry;
&lt;br&gt;+import org.apache.jetspeed.om.portlet.LocalizedField;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.PortletApplication;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.PortletDefinition;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.search.ParsedObject;
&lt;br&gt;@@ -219,7 +220,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; filteredPortletDefinitions = filterPortletDefinitionsBySecurityAccess(searchedPortletDefinitions, JetspeedActions.MASK_VIEW);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; filteredPortletDefinitions = filterPortletDefinitionsBySecurityAccess(searchedPortletDefinitions, JetspeedActions.MASK_VIEW, servletRequest);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(filteredPortletDefinitions.size());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (Collection&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subCollection(filteredPortletDefinitions, beginIndex, maxResults))
&lt;br&gt;@@ -231,7 +232,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (StringUtils.isBlank(applicationName) &amp;&amp; StringUtils.isBlank(definitionName))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = filterPortletDefinitionsBySecurityAccess(portletRegistry.getAllPortletDefinitions(), JetspeedActions.MASK_VIEW);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = filterPortletDefinitionsBySecurityAccess(portletRegistry.getAllPortletDefinitions(), JetspeedActions.MASK_VIEW, servletRequest);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(pds.size());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (Collection&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subCollection(pds, beginIndex, maxResults))
&lt;br&gt;@@ -247,7 +248,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (StringUtils.isBlank(definitionName))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = filterPortletDefinitionsBySecurityAccess(pa.getPortlets(), JetspeedActions.MASK_VIEW);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = filterPortletDefinitionsBySecurityAccess(pa.getPortlets(), JetspeedActions.MASK_VIEW, servletRequest);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(pds.size());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (List&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subCollection(pds, beginIndex, maxResults))
&lt;br&gt;@@ -274,7 +275,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return pdBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Collection&amp;lt;PortletDefinition&amp;gt; filterPortletDefinitionsBySecurityAccess(Collection&amp;lt;PortletDefinition&amp;gt; collection, int mask)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Collection&amp;lt;PortletDefinition&amp;gt; filterPortletDefinitionsBySecurityAccess(Collection&amp;lt;PortletDefinition&amp;gt; collection, int mask, HttpServletRequest servletRequest)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (securityAccessController == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -290,6 +291,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : collection)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (isFilteredOutByRole(pd, servletRequest))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;continue;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (securityAccessController.checkPortletAccess(pd, mask))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filteredCollection.add(pd);
&lt;br&gt;@@ -299,4 +305,31 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return filteredCollection;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private boolean isFilteredOutByRole(PortletDefinition pd, HttpServletRequest servletRequest)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean filteredOut = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;LocalizedField&amp;gt; fields = pd.getMetadata().getFields(&amp;quot;selector.conditional.role&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fields != null &amp;&amp; !fields.isEmpty()) 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LocalizedField field = fields.iterator().next();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String role = field.getValue();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!StringUtils.isBlank(role))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (role.equals(&amp;quot;*&amp;quot;))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filteredOut = true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filteredOut = (!servletRequest.isUserInRole(role));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return filteredOut;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26679220&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26679220&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887964----portals-jetspeed-2-portal-trunk-components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-rest-PortletRegistryService.java-tp26679220p26679220.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26676496</id>
	<title>RE: wicket portlet</title>
	<published>2009-12-07T04:21:17Z</published>
	<updated>2009-12-07T04:21:17Z</updated>
	<author>
		<name>Vlachogiannis Evangelos</name>
	</author>
	<content type="html">Thnx for your time!
&lt;br&gt;I have compared with these and everything seems ok. However I still have same problem...
&lt;br&gt;Let me try give some &amp;quot;context&amp;quot;. I am actually trying to develop a very simple CMS based on jcr/jackrabbit and wicket. You can find source code in &lt;a href=&quot;http://source.aegean.gr/svn/projects/e-university/uportal3/cmsApp/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://source.aegean.gr/svn/projects/e-university/uportal3/cmsApp/&lt;/a&gt;&amp;nbsp;. It would be great if somebody could take a look or even deploy and give me a hint. When I am testing as wicket application everything is ok. When I deploy as portlet I get the exception below..
&lt;br&gt;&lt;br&gt;Thanks in advance,
&lt;br&gt;Vangelis
&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: Woonsan Ko [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;woon_san@...&lt;/a&gt;]
&lt;br&gt;Sent: Monday, December 07, 2009 11:12 AM
&lt;br&gt;To: Jetspeed Developers List
&lt;br&gt;Subject: Re: wicket portlet
&lt;br&gt;&lt;br&gt;HiVlachogiannis,
&lt;br&gt;&lt;br&gt;I think you can compare your configurations with j2-admin's wicket portlets.
&lt;br&gt;For example, WicketProfilerAdminApplication is configured in web.xml like this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;lt;filter&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-name&amp;gt;WicketProfilerAdminApplication&amp;lt;/filter-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-class&amp;gt;org.apache.wicket.protocol.http.WicketFilter&amp;lt;/filter-class&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;init-param&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;param-name&amp;gt;applicationClassName&amp;lt;/param-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;param-value&amp;gt;org.apache.jetspeed.portlets.profiler.WicketProfilerAdminApplication&amp;lt;/param-value&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/init-param&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/filter&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;lt;filter-mapping&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-name&amp;gt;WicketProfilerAdminApplication&amp;lt;/filter-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;url-pattern&amp;gt;/profileradmin/*&amp;lt;/url-pattern&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;dispatcher&amp;gt;REQUEST&amp;lt;/dispatcher&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;dispatcher&amp;gt;INCLUDE&amp;lt;/dispatcher&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/filter-mapping&amp;gt;
&lt;br&gt;&lt;br&gt;The dispatcher configurations (REQUEST and INCLUDE) are important.
&lt;br&gt;Also, the portlet is configured in portlet.xml like this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;lt;portlet&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;description&amp;gt;Profiler Administration&amp;lt;/description&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;portlet-name&amp;gt;WicketProfilerAdmin&amp;lt;/portlet-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;display-name&amp;gt;Profiler Administration&amp;lt;/display-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;portlet-class&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.wicket.protocol.http.portlet.WicketPortlet&amp;lt;/portlet-class&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;init-param&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;name&amp;gt;wicketFilterPath&amp;lt;/name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;value&amp;gt;/profileradmin&amp;lt;/value&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/init-param&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;supports&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;mime-type&amp;gt;*/*&amp;lt;/mime-type&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;portlet-mode&amp;gt;VIEW&amp;lt;/portlet-mode&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/supports&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;supported-locale&amp;gt;en&amp;lt;/supported-locale&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;portlet-info&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;Profiler Admin&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;short-title&amp;gt;ProfilerAdmin&amp;lt;/short-title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;keywords&amp;gt;admin,profiler&amp;lt;/keywords&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/portlet-info&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/portlet&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;HTH,
&lt;br&gt;&lt;br&gt;Woonsan
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: Vlachogiannis Evangelos &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;evlach@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: Jetspeed Developers List &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sent: Sun, December 6, 2009 9:44:46 AM
&lt;br&gt;&amp;gt; Subject: RE: wicket portlet
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thnx a lot! That seems to work now as a portlet, but in my particular
&lt;br&gt;&amp;gt; application I get the following exception. In my markup I ref all ids. Out of
&lt;br&gt;&amp;gt; the portal I test that and works fine. Any ideas please?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Unexpected RuntimeException
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; WicketMessage: The component(s) below failed to render. A common problem is that
&lt;br&gt;&amp;gt; you have added a component in code but forgot to reference it in the markup
&lt;br&gt;&amp;gt; (thus the component will never be rendered).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1. [MarkupContainer [Component id = tree]]
&lt;br&gt;&amp;gt; 2. [MarkupContainer [Component id = i]]
&lt;br&gt;&amp;gt; 3. [MarkupContainer [Component id = 0]]
&lt;br&gt;&amp;gt; 4. [MarkupContainer [Component id = junctionLink]]
&lt;br&gt;&amp;gt; 5. [MarkupContainer [Component id = nodeComponent]]
&lt;br&gt;&amp;gt; 6. [MarkupContainer [Component id = iconLink]]
&lt;br&gt;&amp;gt; 7. [Component id = icon]
&lt;br&gt;&amp;gt; 8. [MarkupContainer [Component id = contentLink]]
&lt;br&gt;&amp;gt; 9. [Component id = content]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Root cause:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; org.apache.wicket.WicketRuntimeException: The component(s) below failed to
&lt;br&gt;&amp;gt; render. A common problem is that you have added a component in code but forgot
&lt;br&gt;&amp;gt; to reference it in the markup (thus the component will never be rendered).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1. [MarkupContainer [Component id = tree]]
&lt;br&gt;&amp;gt; 2. [MarkupContainer [Component id = i]]
&lt;br&gt;&amp;gt; 3. [MarkupContainer [Component id = 0]]
&lt;br&gt;&amp;gt; 4. [MarkupContainer [Component id = junctionLink]]
&lt;br&gt;&amp;gt; 5. [MarkupContainer [Component id = nodeComponent]]
&lt;br&gt;&amp;gt; 6. [MarkupContainer [Component id = iconLink]]
&lt;br&gt;&amp;gt; 7. [Component id = icon]
&lt;br&gt;&amp;gt; 8. [MarkupContainer [Component id = contentLink]]
&lt;br&gt;&amp;gt; 9. [Component id = content]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at org.apache.wicket.Page.checkRendering(Page.java:1162)
&lt;br&gt;&amp;gt; at org.apache.wicket.Page.renderPage(Page.java:922)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:262)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
&lt;br&gt;&amp;gt; at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
&lt;br&gt;&amp;gt; at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
&lt;br&gt;&amp;gt; at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
&lt;br&gt;&amp;gt; at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:468)
&lt;br&gt;&amp;gt; at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:301)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:222)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.wicket.protocol.http.portlet.WicketPortlet.processMimeResponseRequest(WicketPortlet.java:655)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.wicket.protocol.http.portlet.WicketPortlet.processRequest(WicketPortlet.java:608)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.wicket.protocol.http.portlet.WicketPortlet.doView(WicketPortlet.java:469)
&lt;br&gt;&amp;gt; at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:348)
&lt;br&gt;&amp;gt; at javax.portlet.GenericPortlet.render(GenericPortlet.java:253)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.portlet.PortletObjectProxy.proxyRender(PortletObjectProxy.java:244)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.portlet.PortletObjectProxy.invoke(PortletObjectProxy.java:159)
&lt;br&gt;&amp;gt; at $Proxy19.render(Unknown Source)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortletInstance.java:110)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.services.JetspeedFilterChain.doFilter(JetspeedFilterChain.java:142)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.services.JetspeedFilterChain.processFilter(JetspeedFilterChain.java:92)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.services.JetspeedFilterManager.processFilter(JetspeedFilterManager.java:112)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:272)
&lt;br&gt;&amp;gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
&lt;br&gt;&amp;gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:165)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.invoker.JetspeedPortletInvokerService.render(JetspeedPortletInvokerService.java:127)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.JetspeedPortletContainerWrapper.doRender(JetspeedPortletContainerWrapper.java:69)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobImpl.java:183)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:160)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:138)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.BaseAggregatorImpl.renderMaximizedWindow(BaseAggregatorImpl.java:101)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.java:73)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:46)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.HeaderAggregatorValve.invoke(HeaderAggregatorValve.java:53)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.java:137)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.resource.ResourceValveImpl.invoke(ResourceValveImpl.java:84)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:139)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:88)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.PageHistoryValve.invoke(PageHistoryValve.java:108)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.profiler.impl.RefreshUserHomepageValveImpl.invoke(RefreshUserHomepageValveImpl.java:110)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:251)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:158)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:151)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:170)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:138)
&lt;br&gt;&amp;gt; at java.security.AccessController.doPrivileged(Native Method)
&lt;br&gt;&amp;gt; at javax.security.auth.Subject.doAsPrivileged(Subject.java:454)
&lt;br&gt;&amp;gt; at org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:179)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:132)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:67)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:127)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:146)
&lt;br&gt;&amp;gt; at org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:225)
&lt;br&gt;&amp;gt; at org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:300)
&lt;br&gt;&amp;gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
&lt;br&gt;&amp;gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.jetspeed.engine.servlet.XXSUrlAttackFilter.doFilter(XXSUrlAttackFilter.java:52)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at gr.uportal.filter.CASPortalFilter.doFilter(CASPortalFilter.java:154)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
&lt;br&gt;&amp;gt; at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
&lt;br&gt;&amp;gt; at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
&lt;br&gt;&amp;gt; at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
&lt;br&gt;&amp;gt; at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
&lt;br&gt;&amp;gt; at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
&lt;br&gt;&amp;gt; at java.lang.Thread.run(Thread.java:595)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Woonsan Ko [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;woon_san@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: Friday, December 04, 2009 11:27 AM
&lt;br&gt;&amp;gt; To: Jetspeed Developers List
&lt;br&gt;&amp;gt; Subject: Re: wicket portlet
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi Vlachogiannis,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; There's a simple guideline here:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://cwiki.apache.org/WICKET/portal-howto.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cwiki.apache.org/WICKET/portal-howto.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Woonsan
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ----- Original Message ----
&lt;br&gt;&amp;gt; &amp;gt; From: Vlachogiannis Evangelos
&lt;br&gt;&amp;gt; &amp;gt; To: Jetspeed Developers List
&lt;br&gt;&amp;gt; &amp;gt; Sent: Fri, December 4, 2009 9:14:06 AM
&lt;br&gt;&amp;gt; &amp;gt; Subject: wicket portlet
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Hi list,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Is there a howto page for developing a wicket portlet for jetspeed? Some
&lt;br&gt;&amp;gt; hints?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks a lot,
&lt;br&gt;&amp;gt; &amp;gt; Vangelis
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676496&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/wicket-portlet-tp26639087p26676496.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26676282</id>
	<title>svn commit: r887897 - /portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp</title>
	<published>2009-12-07T04:03:31Z</published>
	<updated>2009-12-07T04:03:31Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Mon Dec &amp;nbsp;7 12:03:31 2009
&lt;br&gt;New Revision: 887897
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887897&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887897&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1057: replacing json target url by new jax-rs service url.
&lt;br&gt;removes empty img src url.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=887897&amp;r1=887896&amp;r2=887897&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=887897&amp;r1=887896&amp;r2=887897&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Mon Dec &amp;nbsp;7 12:03:31 2009
&lt;br&gt;@@ -50,15 +50,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/table&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;form id=&amp;quot;&amp;lt;portlet:namespace/&amp;gt;form&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;table id=&amp;quot;&amp;lt;portlet:namespace/&amp;gt;portletsTab&amp;quot; style=&amp;quot;display: none; border-collapse: collapse; &amp;nbsp;width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;form onsubmit=&amp;quot;return false;&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;th class=&amp;quot;portlet-section-header&amp;quot; colspan=&amp;quot;10&amp;quot;&amp;gt;Portlets&amp;lt;/th&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td class=&amp;quot;portlet-section-subheader&amp;quot; colspan='10'&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input id=&amp;quot;&amp;lt;portlet:namespace/&amp;gt;query&amp;quot; type=&amp;quot;text&amp;quot; name=&amp;quot;filter&amp;quot; size=&amp;quot;15&amp;quot; value=&amp;quot;&amp;quot; &amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input id=&amp;quot;&amp;lt;portlet:namespace/&amp;gt;search&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Search&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;query&amp;quot; size=&amp;quot;15&amp;quot; value=&amp;quot;&amp;quot; &amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Search&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -82,14 +82,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;th class=&amp;quot;portlet-section-header&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/th&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/form&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/table&amp;gt;
&lt;br&gt;+&amp;lt;/form&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;div id=&amp;quot;&amp;lt;portlet:namespace/&amp;gt;portletItemTemplate&amp;quot; style=&amp;quot;display: none&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;table style=&amp;quot;border-collapse: collapse; width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;20%&amp;quot; class=&amp;quot;portlet-section-body&amp;quot;&amp;gt;
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;img src='${portalContextPath}' /&amp;gt;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;img/&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td width=&amp;quot;80%&amp;quot; class=&amp;quot;portlet-section-body&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div&amp;gt;#&amp;lt;/span&amp;gt;
&lt;br&gt;@@ -168,7 +168,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/table&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;
&lt;br&gt;-YUI().use('io', 'dataschema-json', 'node-base', 'cookie', function(Y) {
&lt;br&gt;+YUI().use('io', 'json', 'node-base', 'cookie', function(Y) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;function switchTab(e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var tabId = ('string' == typeof(e) ? e : e.target.get(&amp;quot;id&amp;quot;));
&lt;br&gt;@@ -203,23 +203,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;var onLoadPortletComplete = function(id, o, args) { 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var id = id; // Transaction ID. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var data = o.responseText; // Response data.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var schemaPortletList = {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;metaFields: {status:&amp;quot;status&amp;quot;, action:&amp;quot;action&amp;quot;},
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;resultListLocator: &amp;quot;portlets&amp;quot;, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;resultFields: [{key:&amp;quot;name&amp;quot;}, {key:&amp;quot;displayName&amp;quot;}, {key:&amp;quot;description&amp;quot;}, {key:&amp;quot;image&amp;quot;}]
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var dataOut = null;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dataOut = Y.DataSchema.JSON.apply(schemaPortletList, data);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: error handling
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dataOut = Y.JSON.parse(data);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!dataOut) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.log(&amp;quot;Error: no data found.&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (dataOut.error) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.log(&amp;quot;Error: &amp;quot; + dataOut.error);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.log(&amp;quot;Error: &amp;quot; + e.message);
&lt;br&gt;@@ -232,27 +222,49 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portletsPanel = clonedPortletsPanel;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var templatePanel = Y.Node.one(&amp;quot;#&amp;lt;portlet:namespace/&amp;gt;portletItemTemplate&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var results = dataOut.results;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (var i = 0; i &amp;lt; results.length; i++) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var item = results[i];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var defs = [];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dataOut.definitions.definition) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dataOut.definitions.definition instanceof Array) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;defs = dataOut.definitions.definition;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;defs.push(dataOut.definitions.definition);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (var i = 0; i &amp;lt; defs.length; i++) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var def = defs[i];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var clone = templatePanel.cloneNode(true);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.setStyle('display', '');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var imgNode = clone.one('img');
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var url = imgNode.get('src');
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var imgURL = url + &amp;quot;/&amp;quot; + item.image;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;imgNode.set('src', imgURL);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var nameNode = clone.one('div');
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nameNode.setContent(item.displayName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (def.portletIcon) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;imgNode.set(&amp;quot;src&amp;quot;, &amp;quot;${portalContextPath}/images/portlets/&amp;quot; + def.portletIcon);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;imgNode.set(&amp;quot;src&amp;quot;, &amp;quot;${portalContextPath}/images/portlets/applications-other.png&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:if test=&amp;quot;${editAccess}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var actionURL = &amp;quot;&amp;lt;portlet:actionURL/&amp;gt;&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var addActionURL = actionURL + (actionURL.indexOf('?') == -1 ? &amp;quot;?portletAdd=&amp;quot; : &amp;quot;&amp;portletAdd=&amp;quot;) + item.name;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.all(&amp;quot;a&amp;quot;).item(1).set(&amp;quot;href&amp;quot;, addActionURL);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var nameNode = clone.one('div');
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (def.displayNames.displayName) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (def.displayNames.displayName instanceof Array) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nameNode.setContent(def.displayNames.displayName[0].value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nameNode.setContent(def.displayNames.displayName.value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:choose&amp;gt;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:when test=&amp;quot;${editAccess}&amp;quot;&amp;gt;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var actionURL = &amp;quot;&amp;lt;portlet:actionURL/&amp;gt;&amp;quot;;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var addActionURL = actionURL + (actionURL.indexOf('?') == -1 ? &amp;quot;?portletAdd=&amp;quot; : &amp;quot;&amp;portletAdd=&amp;quot;) + def.uniqueName;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.all(&amp;quot;a&amp;quot;).item(1).set(&amp;quot;href&amp;quot;, addActionURL);
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:when&amp;gt;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c:otherwise&amp;gt;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.all(&amp;quot;a&amp;quot;).item(1).remove();
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:otherwise&amp;gt;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:choose&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: add handlers for preview
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.set(&amp;quot;id&amp;quot;, &amp;quot;&amp;lt;portlet:namespace/&amp;gt;portletItem-&amp;quot; + item.name);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clone.set(&amp;quot;id&amp;quot;, &amp;quot;&amp;lt;portlet:namespace/&amp;gt;portletItem-&amp;quot; + def.uniqueName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portletsPanel.appendChild(clone);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -268,23 +280,26 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.Cookie.set(&amp;quot;toolboxcat&amp;quot;, category);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var uri = &amp;quot;${portalContextPath}/ajaxapi/?action=getportlets&amp;format=json&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;uri += &amp;quot;&amp;filter=&amp;quot; + category;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var uri = &amp;quot;${portalContextPath}/services/portletregistry/definition/?_type=json&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;uri += &amp;quot;&amp;query=&amp;quot; + category;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on('io:complete', onLoadPortletComplete, this, []); 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var request = Y.io(uri);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.Node.one(&amp;quot;#&amp;lt;portlet:namespace/&amp;gt;query&amp;quot;).set(&amp;quot;value&amp;quot;, &amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.Node.getDOMNode(Y.Node.one(&amp;quot;#&amp;lt;portlet:namespace/&amp;gt;form&amp;quot;)).query.value = &amp;quot;&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;var loadPortletsByQuery = function(e) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var query = Y.Node.one(&amp;quot;#&amp;lt;portlet:namespace/&amp;gt;query&amp;quot;).get(&amp;quot;value&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var uri = &amp;quot;${portalContextPath}/ajaxapi/?action=getportlets&amp;format=json&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var form = Y.Node.getDOMNode(e.target);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var query = form.query.value;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var uri = &amp;quot;${portalContextPath}/services/portletregistry/definition/?_type=json&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (query) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;uri += &amp;quot;&amp;filter=&amp;quot; + query;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;uri += &amp;quot;&amp;query=&amp;quot; + query;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on('io:complete', onLoadPortletComplete, this, []); 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var request = Y.io(uri);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y.Node.getDOMNode(Y.Node.one(&amp;quot;#&amp;lt;portlet:namespace/&amp;gt;categories&amp;quot;)).selectedIndex = 0;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.halt();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on(&amp;quot;click&amp;quot;, switchTab, &amp;quot;#&amp;lt;portlet:namespace/&amp;gt;portletsTabAction&amp;quot;);
&lt;br&gt;@@ -292,8 +307,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on(&amp;quot;click&amp;quot;, switchTab, &amp;quot;#&amp;lt;portlet:namespace/&amp;gt;themesTabAction&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on(&amp;quot;click&amp;quot;, switchTab, &amp;quot;#&amp;lt;portlet:namespace/&amp;gt;widgetsTabAction&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Y.on(&amp;quot;change&amp;quot;, loadPortletsInCategory, &amp;quot;#&amp;lt;portlet:namespace/&amp;gt;categories&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;Y.on(&amp;quot;click&amp;quot;, loadPortletsByQuery, &amp;quot;#&amp;lt;portlet:namespace/&amp;gt;search&amp;quot;);
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Y.on(&amp;quot;submit&amp;quot;, loadPortletsByQuery, &amp;quot;#&amp;lt;portlet:namespace/&amp;gt;form&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;var tabId = Y.Cookie.get(&amp;quot;toolboxtab&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (!tabId) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tabId = &amp;quot;&amp;lt;portlet:namespace/&amp;gt;portletsTabAction&amp;quot;;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676282&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676282&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887897----portals-jetspeed-2-applications-j2-admin-trunk-src-main-webapp-WEB-INF-view-toolbox-toolbox.jsp-tp26676282p26676282.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26676099</id>
	<title>svn commit: r887895 - /portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java</title>
	<published>2009-12-07T03:48:06Z</published>
	<updated>2009-12-07T03:48:06Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Mon Dec &amp;nbsp;7 11:48:05 2009
&lt;br&gt;New Revision: 887895
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887895&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887895&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Adds portlet icon property.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java?rev=887895&amp;r1=887894&amp;r2=887895&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java?rev=887895&amp;r1=887894&amp;r2=887895&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java Mon Dec &amp;nbsp;7 11:48:05 2009
&lt;br&gt;@@ -46,6 +46,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private String applicationName;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private String portletName;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private String uniqueName;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private String portletIcon;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private PortletInfoBean portletInfoBean;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Collection&amp;lt;DisplayNameBean&amp;gt; displayNameBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Collection&amp;lt;DescriptionBean&amp;gt; descriptionBeans;
&lt;br&gt;@@ -108,6 +109,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (InitParam initParam : portletDefinition.getInitParams())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initParamBeanList.add(new InitParamBean(initParam));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (&amp;quot;portlet-icon&amp;quot;.equals(initParam.getParamName()))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;portletIcon = initParam.getParamValue();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initParamBeans = initParamBeanList;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -132,6 +138,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portletName = portletName;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getPortletIcon()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return portletIcon;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setPortletIcon(String portletIcon)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portletIcon = portletIcon;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public String getUniqueName()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return uniqueName;
&lt;br&gt;@@ -224,8 +240,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.containerRuntimeOptionBeans = containerRuntimeOptionBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@XmlElementWrapper(name=&amp;quot;initparams&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;@XmlElements(@XmlElement(name=&amp;quot;initparam&amp;quot;))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElementWrapper(name=&amp;quot;initParams&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElements(@XmlElement(name=&amp;quot;initParam&amp;quot;))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Collection&amp;lt;InitParamBean&amp;gt; getInitParamBeans()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return initParamBeans;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676099&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26676099&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887895----portals-jetspeed-2-portal-trunk-components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-beans-PortletDefinitionBean.java-tp26676099p26676099.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26675264</id>
	<title>Re: Apa-RSS</title>
	<published>2009-12-07T02:24:05Z</published>
	<updated>2009-12-07T02:24:05Z</updated>
	<author>
		<name>Gonzalo Aguilar Delgado-4</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 TRANSITIONAL//EN&quot;&gt;
&lt;HTML&gt;
&lt;HEAD&gt;
  &lt;META HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; CHARSET=UTF-8&quot;&gt;
  &lt;META NAME=&quot;GENERATOR&quot; CONTENT=&quot;GtkHTML/3.28.1&quot;&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
Here is the patch. &lt;BR&gt;
&lt;BR&gt;
Sorry for the delay
&lt;/BODY&gt;
&lt;/HTML&gt;
&lt;br /&gt; &lt;br /&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26675264&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26675264&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;apa-rss-add-html-support-slf4j-20091207.patch.gz&lt;/strong&gt; (6K) &lt;a href=&quot;http://old.nabble.com/attachment/26675264/0/apa-rss-add-html-support-slf4j-20091207.patch.gz&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Apa-RSS-tp26546499p26675264.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26674943</id>
	<title>[jira] Commented: (JS2-1088) UserInfoManager implementation needs inprovements in resolving mapped user attributes and its cache handling</title>
	<published>2009-12-07T01:55:18Z</published>
	<updated>2009-12-07T01:55:18Z</updated>
	<author>
		<name>Jetspeed - Dev mailing list</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/JS2-1088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12786840#action_12786840&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/JS2-1088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12786840#action_12786840&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;Ate Douma commented on JS2-1088:
&lt;br&gt;--------------------------------
&lt;br&gt;&lt;br&gt;I've refactored the code a bit and added a caching solution which should improve performance considerably.
&lt;br&gt;What remains to be improved is dealing with registry changes with regards to the user attribute mapping which requires invalidation for the cache entries.
&lt;br&gt;Furthermore, the changes still need to be back ported to the 2.1.4 branch.
&lt;br&gt;Leaving this issue open until those tasks are completed as well.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; UserInfoManager implementation needs inprovements in resolving mapped user attributes and its cache handling
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: JS2-1088
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/JS2-1088&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/JS2-1088&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Jetspeed 2
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Container
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.1.3, 2.2.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Ate Douma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Ate Douma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority: Minor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.1.4, 2.2.1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The UserInfoManager currently doesn't properly maintain a cache of mapped (linked) attributes for a portlet application as there are some bugs in the code.
&lt;br&gt;&amp;gt; Furthermore, I discovered the UserInfoManager didn't work when logging was set to DEBUG (it throws a NPE then).
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674943&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674943&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28JS2-1088%29-UserInfoManager-implementation-needs-inprovements-in-resolving-mapped-user-attributes-and-its-cache-handling-tp26674925p26674943.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26674925</id>
	<title>[jira] Created: (JS2-1088) UserInfoManager implementation needs inprovements in resolving mapped user attributes and its cache handling</title>
	<published>2009-12-07T01:53:18Z</published>
	<updated>2009-12-07T01:53:18Z</updated>
	<author>
		<name>Jetspeed - Dev mailing list</name>
	</author>
	<content type="html">UserInfoManager implementation needs inprovements in resolving mapped user attributes and its cache handling
&lt;br&gt;------------------------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: JS2-1088
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/JS2-1088&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/JS2-1088&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: Jetspeed 2
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Improvement
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: Container
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.1.3, 2.2.0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Ate Douma
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Ate Douma
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority: Minor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 2.1.4, 2.2.1
&lt;br&gt;&lt;br&gt;&lt;br&gt;The UserInfoManager currently doesn't properly maintain a cache of mapped (linked) attributes for a portlet application as there are some bugs in the code.
&lt;br&gt;Furthermore, I discovered the UserInfoManager didn't work when logging was set to DEBUG (it throws a NPE then).
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674925&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674925&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28JS2-1088%29-UserInfoManager-implementation-needs-inprovements-in-resolving-mapped-user-attributes-and-its-cache-handling-tp26674925p26674925.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26674926</id>
	<title>svn commit: r887871 - in /portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl: AbstractUserInfoManagerImpl.java MultiSourceUserInfoManagerImpl.java UserInfoManagerImpl.java</title>
	<published>2009-12-07T01:53:17Z</published>
	<updated>2009-12-07T01:53:17Z</updated>
	<author>
		<name>Ate Douma-2</name>
	</author>
	<content type="html">Author: ate
&lt;br&gt;Date: Mon Dec &amp;nbsp;7 09:53:16 2009
&lt;br&gt;New Revision: 887871
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887871&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887871&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1088: Improvements for the mapped user attributes resolving and the UserInfoManager cache handling
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/AbstractUserInfoManagerImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/MultiSourceUserInfoManagerImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/AbstractUserInfoManagerImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/AbstractUserInfoManagerImpl.java?rev=887871&amp;r1=887870&amp;r2=887871&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/AbstractUserInfoManagerImpl.java?rev=887871&amp;r1=887870&amp;r2=887871&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/AbstractUserInfoManagerImpl.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/AbstractUserInfoManagerImpl.java Mon Dec &amp;nbsp;7 09:53:16 2009
&lt;br&gt;@@ -17,8 +17,7 @@
&lt;br&gt;&amp;nbsp;package org.apache.jetspeed.userinfo.impl;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.util.ArrayList;
&lt;br&gt;-import java.util.Collection;
&lt;br&gt;-import java.util.Iterator;
&lt;br&gt;+import java.util.List;
&lt;br&gt;&amp;nbsp;import java.util.Map;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.portlet.PortletRequest;
&lt;br&gt;@@ -29,7 +28,6 @@
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.UserAttributeRef;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.impl.UserAttributeRefImpl;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.request.RequestContext;
&lt;br&gt;-import org.apache.pluto.container.PortletContainerException;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.container.PortletWindow;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;@@ -55,50 +53,47 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param userAttributeRefs
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The declarative jetspeed portlet extension user attributes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reference.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @return The collection of linked attributes.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @return The list of linked attributes.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected Collection mapLinkedUserAttributes(Collection userAttributes, Collection userAttributeRefs)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected List&amp;lt;UserAttributeRef&amp;gt; mapLinkedUserAttributes(List&amp;lt;UserAttribute&amp;gt; userAttributes, List&amp;lt;UserAttributeRef&amp;gt; userAttributeRefs)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection linkedUserAttributes = new ArrayList();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UserAttributeRefImpl impl;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;UserAttributeRef&amp;gt; linkedUserAttributes = new ArrayList&amp;lt;UserAttributeRef&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((null != userAttributeRefs) &amp;&amp; (userAttributeRefs.size() &amp;gt; 0))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator attrIter = userAttributes.iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (attrIter.hasNext())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (UserAttribute currentAttribute : userAttributes)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UserAttribute currentAttribute = (UserAttribute) attrIter.next();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean linkedAttribute = false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null != currentAttribute)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl = new UserAttributeRefImpl();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (UserAttributeRef currentAttributeRef : userAttributeRefs)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator attrRefsIter = userAttributeRefs.iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (attrRefsIter.hasNext())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((currentAttribute.getName()).equals(currentAttributeRef.getNameLink()))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UserAttributeRef currentAttributeRef = (UserAttributeRef) attrRefsIter.next();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null != currentAttributeRef)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (log.isDebugEnabled())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((currentAttribute.getName()).equals(currentAttributeRef.getNameLink()))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (log.isDebugEnabled())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(&amp;quot;Linking user attribute ref: [[name, &amp;quot; + currentAttribute.getName()
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+ &amp;quot;], [linked name, &amp;quot; + currentAttributeRef.getName() + &amp;quot;]]&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedUserAttributes.add(currentAttributeRef);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedAttribute = true;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(&amp;quot;Linking user attribute ref: [[name, &amp;quot; + currentAttribute.getName()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+ &amp;quot;], [linked name, &amp;quot; + currentAttributeRef.getName() + &amp;quot;]]&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl.setName(currentAttributeRef.getName());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl.setNameLink(currentAttributeRef.getNameLink());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedAttribute = true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!linkedAttribute)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedUserAttributes.add(new UserAttributeRefImpl(currentAttribute));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl.setName(currentAttribute.getName());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedUserAttributes.add(impl);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator attrIter = userAttributes.iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (attrIter.hasNext())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (UserAttribute currentAttribute : userAttributes)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UserAttribute currentAttribute = (UserAttribute) attrIter.next();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedUserAttributes.add(new UserAttributeRefImpl(currentAttribute));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl = new UserAttributeRefImpl();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;impl.setName(currentAttribute.getName());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedUserAttributes.add(impl);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return linkedUserAttributes;
&lt;br&gt;@@ -107,10 +102,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * For Pluto 2.0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public Map&amp;lt;String, String&amp;gt; getUserInfo(PortletRequest request, org.apache.pluto.container.PortletWindow window) throws PortletContainerException
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Map&amp;lt;String, String&amp;gt; getUserInfo(PortletRequest request, org.apache.pluto.container.PortletWindow window)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String remoteUser = request.getRemoteUser(); 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( remoteUser == null ) 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( request.getUserPrincipal() == null ) 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/MultiSourceUserInfoManagerImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/MultiSourceUserInfoManagerImpl.java?rev=887871&amp;r1=887870&amp;r2=887871&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/MultiSourceUserInfoManagerImpl.java?rev=887871&amp;r1=887870&amp;r2=887871&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/MultiSourceUserInfoManagerImpl.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/MultiSourceUserInfoManagerImpl.java Mon Dec &amp;nbsp;7 09:53:16 2009
&lt;br&gt;@@ -16,23 +16,19 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;package org.apache.jetspeed.userinfo.impl;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-import java.util.Collection;
&lt;br&gt;&amp;nbsp;import java.util.HashMap;
&lt;br&gt;-import java.util.Iterator;
&lt;br&gt;&amp;nbsp;import java.util.List;
&lt;br&gt;&amp;nbsp;import java.util.Map;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-import javax.portlet.PortletRequest;
&lt;br&gt;&amp;nbsp;import javax.security.auth.Subject;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import org.slf4j.Logger;
&lt;br&gt;&amp;nbsp;import org.slf4j.LoggerFactory;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.components.portletregistry.PortletRegistry;
&lt;br&gt;-import org.apache.jetspeed.om.portlet.PortletApplication;
&lt;br&gt;+import org.apache.jetspeed.om.portlet.UserAttributeRef;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.request.RequestContext;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.userinfo.UserAttributeRetrievalException;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.userinfo.UserAttributeSource;
&lt;br&gt;-import org.apache.jetspeed.userinfo.UserInfoManager;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;&amp;nbsp; * Multisource User Information manager
&lt;br&gt;@@ -42,57 +38,51 @@
&lt;br&gt;&amp;nbsp; * @author &amp;lt;a href=&amp;quot;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674926&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;taylor@...&lt;/a&gt;&amp;quot;&amp;gt;David Sean Taylor &amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; * @version $Id: $
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;-public class MultiSourceUserInfoManagerImpl extends AbstractUserInfoManagerImpl
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implements UserInfoManager
&lt;br&gt;+public class MultiSourceUserInfoManagerImpl extends UserInfoManagerImpl
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/** Logger */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final Logger log = LoggerFactory.getLogger(MultiSourceUserInfoManagerImpl.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private List sources;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private List&amp;lt;UserAttributeSource&amp;gt; sources;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private PortletRegistry portletRegistry;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public Map getUserInfoMap(String appName, RequestContext context)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Map&amp;lt;String,String&amp;gt; getUserInfoMap(String appName, RequestContext context)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String,String&amp;gt; userInfoMap = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map userInfoMap = new HashMap();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Subject subject = context.getSubject();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletApplication pa = portletRegistry.getPortletApplication(appName, true);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == pa)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null != subject)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(PortletRequest.USER_INFO + &amp;quot; is set to null&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection userAttributes = pa.getUserAttributes();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection userAttributeRefs = pa.getUserAttributeRefs();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection linkedUserAttributes = mapLinkedUserAttributes(
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userAttributes, userAttributeRefs);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Iterator iter = sources.iterator(); iter.hasNext();)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMap = new HashMap&amp;lt;String,String&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;UserAttributeRef&amp;gt; linkedUserAttributes = getLinkedUserAttr(appName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (UserAttributeSource source : sources)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UserAttributeSource source = (UserAttributeSource) iter.next();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map sourceMap;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sourceMap = source.getUserAttributeMap(subject,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedUserAttributes, context);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMap.putAll(sourceMap);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String, String&amp;gt; sourceMap = source.getUserAttributeMap(subject, linkedUserAttributes, context);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (sourceMap != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMap.putAll(sourceMap);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return userInfoMap;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (UserAttributeRetrievalException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (UserAttributeRetrievalException e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Until external api is changed return
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.printStackTrace(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(e.getMessage(), e); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return userInfoMap;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param sources
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The sources to set.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public void setSources(List sources)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setSources(List&amp;lt;UserAttributeSource&amp;gt; sources)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.sources = sources;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -103,7 +93,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void setPortletRegistry(PortletRegistry portletRegistry)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portletRegistry = portletRegistry;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;registry = portletRegistry;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java?rev=887871&amp;r1=887870&amp;r2=887871&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java?rev=887871&amp;r1=887870&amp;r2=887871&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java Mon Dec &amp;nbsp;7 09:53:16 2009
&lt;br&gt;@@ -17,10 +17,9 @@
&lt;br&gt;&amp;nbsp;package org.apache.jetspeed.userinfo.impl;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.security.Principal;
&lt;br&gt;-import java.util.Collection;
&lt;br&gt;&amp;nbsp;import java.util.Collections;
&lt;br&gt;&amp;nbsp;import java.util.HashMap;
&lt;br&gt;-import java.util.Iterator;
&lt;br&gt;+import java.util.List;
&lt;br&gt;&amp;nbsp;import java.util.Map;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.portlet.PortletRequest;
&lt;br&gt;@@ -30,9 +29,10 @@
&lt;br&gt;&amp;nbsp;import org.slf4j.LoggerFactory;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.components.portletregistry.PortletRegistry;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.PortletApplication;
&lt;br&gt;+import org.apache.jetspeed.om.portlet.UserAttribute;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.UserAttributeRef;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.request.RequestContext;
&lt;br&gt;-import org.apache.jetspeed.security.SecurityException;
&lt;br&gt;+import org.apache.jetspeed.security.JetspeedPrincipal;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.security.SubjectHelper;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.security.User;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.security.UserManager;
&lt;br&gt;@@ -53,19 +53,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/** Logger */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final Logger log = LoggerFactory.getLogger(UserInfoManagerImpl.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// TODO Same caching issue as usual. We should look into JCS. That wil do
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// for now.
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/** Map used to cache user info maps for each mapped portlet application. */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Map&amp;lt;String, Map&amp;lt;String, String&amp;gt;&amp;gt; userInfoMapCache;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// TODO: needs cache invalidation when portlet application user info configuration changes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/** Map to cache user info keys for each mapped portlet application. */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static Map&amp;lt;String, List&amp;lt;UserAttributeRef&amp;gt;&amp;gt; appUserInfoAttrCache = Collections.synchronizedMap(new HashMap&amp;lt;String,List&amp;lt;UserAttributeRef&amp;gt;&amp;gt;());
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/** The user manager */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;UserManager userMgr;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected UserManager userMgr;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/** The portlet registry. */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;PortletRegistry registry;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/** The object id of the portlet application being processed. */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;String oid;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected PortletRegistry registry;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected UserInfoManagerImpl()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;lt;p&amp;gt;
&lt;br&gt;@@ -79,7 +79,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.userMgr = userMgr;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.registry = registry;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initUserInfoMapCache();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;@@ -97,36 +96,42 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.userMgr = userMgr;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.registry = registry;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initUserInfoMapCache();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Map&amp;lt;String, String&amp;gt; getUserInfoMap(String appName, RequestContext context)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (log.isDebugEnabled())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(&amp;quot;Getting user info for portlet application: &amp;quot; + oid.toString());
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Check if user info map is in cache.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (userInfoMapCache.containsKey(appName))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return userInfoMapCache.get(appName);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Not in cache, map user info.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(&amp;quot;Getting user info for portlet application: &amp;quot; + appName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String, String&amp;gt; userInfo = getUserInformation(context);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == userInfo)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == userInfo || userInfo.isEmpty())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(PortletRequest.USER_INFO + &amp;quot; is set to null&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(PortletRequest.USER_INFO + &amp;quot; is null or empty&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletApplication pa = registry.getPortletApplication(appName, true);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == pa)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return mapUserInfo(userInfo, getLinkedUserAttr(appName));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected List&amp;lt;UserAttributeRef&amp;gt; getLinkedUserAttr(String appName)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Check if user info map is in cache.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;UserAttributeRef&amp;gt; linkedUserAttr = appUserInfoAttrCache.get(appName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (linkedUserAttr == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(PortletRequest.USER_INFO + &amp;quot; is set to null&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletApplication pa = registry.getPortletApplication(appName, true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == pa)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(PortletRequest.USER_INFO + &amp;quot; is set to null&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;UserAttribute&amp;gt; userAttributes = pa.getUserAttributes();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;UserAttributeRef&amp;gt; userAttributeRefs = pa.getUserAttributeRefs();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linkedUserAttr = mapLinkedUserAttributes(userAttributes, userAttributeRefs);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;appUserInfoAttrCache.put(appName, linkedUserAttr);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection userAttributes = pa.getUserAttributes();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection userAttributeRefs = pa.getUserAttributeRefs();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return mapUserInfo(userInfo, userAttributes, userAttributeRefs);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return linkedUserAttr;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;@@ -141,40 +146,22 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;attributes reference.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return The user info map.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Map&amp;lt;String, String&amp;gt; mapUserInfo(Map&amp;lt;String, String&amp;gt; userInfo, Collection userAttributes, Collection userAttributeRefs)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected Map&amp;lt;String, String&amp;gt; mapUserInfo(Map&amp;lt;String, String&amp;gt; userInfo, List&amp;lt;UserAttributeRef&amp;gt; linkedUserAttributes)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String, String&amp;gt;userInfoMap = new HashMap&amp;lt;String, String&amp;gt;();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((null == userAttributes) || (userAttributes.size() == 0))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (UserAttributeRef currentAttributeRef : linkedUserAttributes)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection linkedUserAttributes = mapLinkedUserAttributes(userAttributes, userAttributeRefs);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator iter = linkedUserAttributes.iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (iter.hasNext())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UserAttributeRef currentAttributeRef = (UserAttributeRef) iter.next();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null != currentAttributeRef)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String key = currentAttributeRef.getNameLink();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = currentAttributeRef.getName();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (key == null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key = name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (userInfo.containsKey(key))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (String key : userInfo.keySet())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null != currentAttributeRef.getNameLink())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((currentAttributeRef.getNameLink()).equals(key))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMap.put(currentAttributeRef.getName(), userInfo.get(key));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((currentAttributeRef.getName()).equals(key))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMap.put(currentAttributeRef.getName(), userInfo.get(key));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMap.put(name, userInfo.get(key));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMapCache.put(oid, userInfoMap);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return userInfoMap;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -191,7 +178,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Map&amp;lt;String, String&amp;gt; getUserInformation(RequestContext context)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String, String&amp;gt; userInfo = new HashMap&amp;lt;String, String&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String, String&amp;gt; userInfo = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Subject subject = context.getSubject();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null != subject)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -199,29 +186,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null != userPrincipal)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(&amp;quot;Got user principal: &amp;quot; + userPrincipal.getName());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (userMgr.userExists(userPrincipal.getName()))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;User user = userMgr.getUser(userPrincipal.getName());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfo = user.getInfoMap();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (SecurityException sex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (userPrincipal instanceof JetspeedPrincipal)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.warn(&amp;quot;Unexpected SecurityException in UserInfoManager&amp;quot;, sex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ((JetspeedPrincipal)userPrincipal).getInfoMap();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return userInfo;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private void initUserInfoMapCache()
&lt;br&gt;- &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null == userInfoMapCache)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userInfoMapCache = Collections.synchronizedMap(new HashMap());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674926&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674926&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887871---in--portals-jetspeed-2-portal-trunk-components-jetspeed-portal-src-main-java-org-apache-jetspeed-userinfo-impl%3A-AbstractUserInfoManagerImpl.java-MultiSourceUserInfoManagerImpl.java-UserInfoManagerImpl.java-tp26674926p26674926.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26674509</id>
	<title>Re: wicket portlet</title>
	<published>2009-12-07T01:11:53Z</published>
	<updated>2009-12-07T01:11:53Z</updated>
	<author>
		<name>Woonsan Ko</name>
	</author>
	<content type="html">HiVlachogiannis,
&lt;br&gt;&lt;br&gt;I think you can compare your configurations with j2-admin's wicket portlets.
&lt;br&gt;For example, WicketProfilerAdminApplication is configured in web.xml like this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;lt;filter&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-name&amp;gt;WicketProfilerAdminApplication&amp;lt;/filter-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-class&amp;gt;org.apache.wicket.protocol.http.WicketFilter&amp;lt;/filter-class&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;init-param&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;param-name&amp;gt;applicationClassName&amp;lt;/param-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;param-value&amp;gt;org.apache.jetspeed.portlets.profiler.WicketProfilerAdminApplication&amp;lt;/param-value&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/init-param&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/filter&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;lt;filter-mapping&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-name&amp;gt;WicketProfilerAdminApplication&amp;lt;/filter-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;url-pattern&amp;gt;/profileradmin/*&amp;lt;/url-pattern&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;dispatcher&amp;gt;REQUEST&amp;lt;/dispatcher&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;dispatcher&amp;gt;INCLUDE&amp;lt;/dispatcher&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/filter-mapping&amp;gt;
&lt;br&gt;&lt;br&gt;The dispatcher configurations (REQUEST and INCLUDE) are important.
&lt;br&gt;Also, the portlet is configured in portlet.xml like this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;lt;portlet&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;description&amp;gt;Profiler Administration&amp;lt;/description&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;portlet-name&amp;gt;WicketProfilerAdmin&amp;lt;/portlet-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;display-name&amp;gt;Profiler Administration&amp;lt;/display-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;portlet-class&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.wicket.protocol.http.portlet.WicketPortlet&amp;lt;/portlet-class&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;init-param&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;name&amp;gt;wicketFilterPath&amp;lt;/name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;value&amp;gt;/profileradmin&amp;lt;/value&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/init-param&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;supports&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;mime-type&amp;gt;*/*&amp;lt;/mime-type&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;portlet-mode&amp;gt;VIEW&amp;lt;/portlet-mode&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/supports&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;supported-locale&amp;gt;en&amp;lt;/supported-locale&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;portlet-info&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;Profiler Admin&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;short-title&amp;gt;ProfilerAdmin&amp;lt;/short-title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;keywords&amp;gt;admin,profiler&amp;lt;/keywords&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/portlet-info&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/portlet&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;HTH,
&lt;br&gt;&lt;br&gt;Woonsan
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: Vlachogiannis Evangelos &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;evlach@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: Jetspeed Developers List &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sent: Sun, December 6, 2009 9:44:46 AM
&lt;br&gt;&amp;gt; Subject: RE: wicket portlet
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thnx a lot! That seems to work now as a portlet, but in my particular 
&lt;br&gt;&amp;gt; application I get the following exception. In my markup I ref all ids. Out of 
&lt;br&gt;&amp;gt; the portal I test that and works fine. Any ideas please?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Unexpected RuntimeException
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; WicketMessage: The component(s) below failed to render. A common problem is that 
&lt;br&gt;&amp;gt; you have added a component in code but forgot to reference it in the markup 
&lt;br&gt;&amp;gt; (thus the component will never be rendered).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1. [MarkupContainer [Component id = tree]]
&lt;br&gt;&amp;gt; 2. [MarkupContainer [Component id = i]]
&lt;br&gt;&amp;gt; 3. [MarkupContainer [Component id = 0]]
&lt;br&gt;&amp;gt; 4. [MarkupContainer [Component id = junctionLink]]
&lt;br&gt;&amp;gt; 5. [MarkupContainer [Component id = nodeComponent]]
&lt;br&gt;&amp;gt; 6. [MarkupContainer [Component id = iconLink]]
&lt;br&gt;&amp;gt; 7. [Component id = icon]
&lt;br&gt;&amp;gt; 8. [MarkupContainer [Component id = contentLink]]
&lt;br&gt;&amp;gt; 9. [Component id = content]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Root cause:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; org.apache.wicket.WicketRuntimeException: The component(s) below failed to 
&lt;br&gt;&amp;gt; render. A common problem is that you have added a component in code but forgot 
&lt;br&gt;&amp;gt; to reference it in the markup (thus the component will never be rendered).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1. [MarkupContainer [Component id = tree]]
&lt;br&gt;&amp;gt; 2. [MarkupContainer [Component id = i]]
&lt;br&gt;&amp;gt; 3. [MarkupContainer [Component id = 0]]
&lt;br&gt;&amp;gt; 4. [MarkupContainer [Component id = junctionLink]]
&lt;br&gt;&amp;gt; 5. [MarkupContainer [Component id = nodeComponent]]
&lt;br&gt;&amp;gt; 6. [MarkupContainer [Component id = iconLink]]
&lt;br&gt;&amp;gt; 7. [Component id = icon]
&lt;br&gt;&amp;gt; 8. [MarkupContainer [Component id = contentLink]]
&lt;br&gt;&amp;gt; 9. [Component id = content]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; at org.apache.wicket.Page.checkRendering(Page.java:1162)
&lt;br&gt;&amp;gt; at org.apache.wicket.Page.renderPage(Page.java:922)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:262)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
&lt;br&gt;&amp;gt; at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
&lt;br&gt;&amp;gt; at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
&lt;br&gt;&amp;gt; at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
&lt;br&gt;&amp;gt; at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:468)
&lt;br&gt;&amp;gt; at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:301)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:222)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.wicket.protocol.http.portlet.WicketPortlet.processMimeResponseRequest(WicketPortlet.java:655)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.wicket.protocol.http.portlet.WicketPortlet.processRequest(WicketPortlet.java:608)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.wicket.protocol.http.portlet.WicketPortlet.doView(WicketPortlet.java:469)
&lt;br&gt;&amp;gt; at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:348)
&lt;br&gt;&amp;gt; at javax.portlet.GenericPortlet.render(GenericPortlet.java:253)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.portlet.PortletObjectProxy.proxyRender(PortletObjectProxy.java:244)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.portlet.PortletObjectProxy.invoke(PortletObjectProxy.java:159)
&lt;br&gt;&amp;gt; at $Proxy19.render(Unknown Source)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortletInstance.java:110)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.services.JetspeedFilterChain.doFilter(JetspeedFilterChain.java:142)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.services.JetspeedFilterChain.processFilter(JetspeedFilterChain.java:92)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.services.JetspeedFilterManager.processFilter(JetspeedFilterManager.java:112)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:272)
&lt;br&gt;&amp;gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
&lt;br&gt;&amp;gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:165)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.invoker.JetspeedPortletInvokerService.render(JetspeedPortletInvokerService.java:127)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.JetspeedPortletContainerWrapper.doRender(JetspeedPortletContainerWrapper.java:69)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobImpl.java:183)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:160)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:138)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.BaseAggregatorImpl.renderMaximizedWindow(BaseAggregatorImpl.java:101)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.java:73)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:46)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.aggregator.HeaderAggregatorValve.invoke(HeaderAggregatorValve.java:53)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.java:137)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.resource.ResourceValveImpl.invoke(ResourceValveImpl.java:84)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:139)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:88)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.PageHistoryValve.invoke(PageHistoryValve.java:108)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.profiler.impl.RefreshUserHomepageValveImpl.invoke(RefreshUserHomepageValveImpl.java:110)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:251)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:158)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:151)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:170)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:138)
&lt;br&gt;&amp;gt; at java.security.AccessController.doPrivileged(Native Method)
&lt;br&gt;&amp;gt; at javax.security.auth.Subject.doAsPrivileged(Subject.java:454)
&lt;br&gt;&amp;gt; at org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:179)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:132)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:67)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:127)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:146)
&lt;br&gt;&amp;gt; at org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:225)
&lt;br&gt;&amp;gt; at org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:300)
&lt;br&gt;&amp;gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
&lt;br&gt;&amp;gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.jetspeed.engine.servlet.XXSUrlAttackFilter.doFilter(XXSUrlAttackFilter.java:52)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at gr.uportal.filter.CASPortalFilter.doFilter(CASPortalFilter.java:154)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
&lt;br&gt;&amp;gt; at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
&lt;br&gt;&amp;gt; at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
&lt;br&gt;&amp;gt; at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
&lt;br&gt;&amp;gt; at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
&lt;br&gt;&amp;gt; at 
&lt;br&gt;&amp;gt; org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
&lt;br&gt;&amp;gt; at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
&lt;br&gt;&amp;gt; at java.lang.Thread.run(Thread.java:595)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Woonsan Ko [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;woon_san@...&lt;/a&gt;] 
&lt;br&gt;&amp;gt; Sent: Friday, December 04, 2009 11:27 AM
&lt;br&gt;&amp;gt; To: Jetspeed Developers List
&lt;br&gt;&amp;gt; Subject: Re: wicket portlet
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hi Vlachogiannis,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There's a simple guideline here:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://cwiki.apache.org/WICKET/portal-howto.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cwiki.apache.org/WICKET/portal-howto.html&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Woonsan
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ----- Original Message ----
&lt;br&gt;&amp;gt; &amp;gt; From: Vlachogiannis Evangelos 
&lt;br&gt;&amp;gt; &amp;gt; To: Jetspeed Developers List 
&lt;br&gt;&amp;gt; &amp;gt; Sent: Fri, December 4, 2009 9:14:06 AM
&lt;br&gt;&amp;gt; &amp;gt; Subject: wicket portlet
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Hi list,
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Is there a howto page for developing a wicket portlet for jetspeed? Some 
&lt;br&gt;&amp;gt; hints?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Thanks a lot,
&lt;br&gt;&amp;gt; &amp;gt; Vangelis
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674509&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/wicket-portlet-tp26639087p26674509.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26674258</id>
	<title>Re: Progress...</title>
	<published>2009-12-07T00:45:57Z</published>
	<updated>2009-12-07T00:45:57Z</updated>
	<author>
		<name>Woonsan Ko</name>
	</author>
	<content type="html">Hi David,
&lt;br&gt;&lt;br&gt;Thanks for the pointer. The img tag doesn't have to have src attribute because it is used as a template source.
&lt;br&gt;I will remove the attribute.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Woonsan
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: David Sean Taylor &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674258&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;d.taylor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: Jetspeed Developers List &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674258&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sent: Mon, December 7, 2009 7:33:21 AM
&lt;br&gt;&amp;gt; Subject: Re: Progress...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Woonsan,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Not sure what was intended here in toolbox.jsp:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; the img src is causing an extra pipeline hit
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674258&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674258&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674258&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674258&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Progress...-tp26436458p26674258.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26673131</id>
	<title>Re: Progress...</title>
	<published>2009-12-06T22:33:21Z</published>
	<updated>2009-12-06T22:33:21Z</updated>
	<author>
		<name>David Sean Taylor-3</name>
	</author>
	<content type="html">Woonsan,
&lt;br&gt;&lt;br&gt;Not sure what was intended here in toolbox.jsp:
&lt;br&gt;&lt;br&gt;&amp;lt;div id=&amp;quot;&amp;lt;portlet:namespace/&amp;gt;portletItemTemplate&amp;quot; style=&amp;quot;display: none&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;table style=&amp;quot;border-collapse: collapse; width: 100%; margin-top: &amp;nbsp;
&lt;br&gt;0px; margin-bottom: 0px; float: left;&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;20%&amp;quot; class=&amp;quot;portlet-section-body&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;img src='' /&amp;gt;
&lt;br&gt;&lt;br&gt;the img src is causing an extra pipeline hit
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26673131&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26673131&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Progress...-tp26436458p26673131.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26665837</id>
	<title>svn commit: r887690 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ jetspeed-api/src/main/java/org/apache/jetspeed/om/page/</title>
	<published>2009-12-06T07:15:50Z</published>
	<updated>2009-12-06T07:15:50Z</updated>
	<author>
		<name>Ate Douma-2</name>
	</author>
	<content type="html">Author: ate
&lt;br&gt;Date: Sun Dec &amp;nbsp;6 15:15:47 2009
&lt;br&gt;New Revision: 887690
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887690&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887690&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Adding lookup of ContentFragment by underlying PSML Fragment id to support decorators actively pulling in specific fragments at a specific place within the markup
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java?rev=887690&amp;r1=887689&amp;r2=887690&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java?rev=887690&amp;r1=887689&amp;r2=887690&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentFragmentImpl.java Sun Dec &amp;nbsp;6 15:15:47 2009
&lt;br&gt;@@ -745,6 +745,31 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * Get content fragment by underlying PSML Fragment id.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @param id PSML fragment id
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @return content fragment
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentFragmentImpl getFragmentByFragmentId(String id)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fragment != null &amp;&amp; fragment.getId().equals(id))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return this;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator fragmentIter = getFragments().iterator();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (fragmentIter.hasNext())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragmentImpl childFragment = (ContentFragmentImpl)fragmentIter.next();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragmentImpl fragment = childFragment.getFragmentByFragmentId(id);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fragment != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return fragment;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Get content fragment nesting level.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param fragmentId fragment id to find
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java?rev=887690&amp;r1=887689&amp;r2=887690&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java?rev=887690&amp;r1=887689&amp;r2=887690&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/om/page/impl/ContentPageImpl.java Sun Dec &amp;nbsp;6 15:15:47 2009
&lt;br&gt;@@ -154,6 +154,18 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @see org.apache.jetspeed.om.page.ContentPage#getFragmentByFragmentId(java.lang.String)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ContentFragment getFragmentByFragmentId(String id)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (rootContentFragment != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return rootContentFragment.getFragmentByFragmentId(id);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see org.apache.jetspeed.om.page.ContentPage#getFragmentsByName(java.lang.String)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public List getFragmentsByName(String name)
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java?rev=887690&amp;r1=887689&amp;r2=887690&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java?rev=887690&amp;r1=887689&amp;r2=887690&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/ContentPage.java Sun Dec &amp;nbsp;6 15:15:47 2009
&lt;br&gt;@@ -159,6 +159,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment getFragmentById(String id);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * Returns a ContentFragment represented by the underlying PSML Fragment fragment id argument.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @param id unique id of the ContentFragment we want to retrieve.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;ContentFragment getFragmentByFragmentId(String id);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns a list of ContentFragment fragments represented by the name argument.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param name name of the ContentFragments we want to retrieve.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return list of ContentFragment
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26665837&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26665837&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887690---in--portals-jetspeed-2-portal-trunk%3A-components-jetspeed-page-layout-src-main-java-org-apache-jetspeed-om-page-impl--jetspeed-api-src-main-java-org-apache-jetspeed-om-page--tp26665837p26665837.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26663107</id>
	<title>RE: wicket portlet</title>
	<published>2009-12-06T00:44:46Z</published>
	<updated>2009-12-06T00:44:46Z</updated>
	<author>
		<name>Vlachogiannis Evangelos</name>
	</author>
	<content type="html">Thnx a lot! That seems to work now as a portlet, but in my particular application I get the following exception. In my markup I ref all ids. Out of the portal I test that and works fine. Any ideas please?
&lt;br&gt;&lt;br&gt;Unexpected RuntimeException
&lt;br&gt;&lt;br&gt;WicketMessage: The component(s) below failed to render. A common problem is that you have added a component in code but forgot to reference it in the markup (thus the component will never be rendered).
&lt;br&gt;&lt;br&gt;1. [MarkupContainer [Component id = tree]]
&lt;br&gt;2. [MarkupContainer [Component id = i]]
&lt;br&gt;3. [MarkupContainer [Component id = 0]]
&lt;br&gt;4. [MarkupContainer [Component id = junctionLink]]
&lt;br&gt;5. [MarkupContainer [Component id = nodeComponent]]
&lt;br&gt;6. [MarkupContainer [Component id = iconLink]]
&lt;br&gt;7. [Component id = icon]
&lt;br&gt;8. [MarkupContainer [Component id = contentLink]]
&lt;br&gt;9. [Component id = content]
&lt;br&gt;&lt;br&gt;Root cause:
&lt;br&gt;&lt;br&gt;org.apache.wicket.WicketRuntimeException: The component(s) below failed to render. A common problem is that you have added a component in code but forgot to reference it in the markup (thus the component will never be rendered).
&lt;br&gt;&lt;br&gt;1. [MarkupContainer [Component id = tree]]
&lt;br&gt;2. [MarkupContainer [Component id = i]]
&lt;br&gt;3. [MarkupContainer [Component id = 0]]
&lt;br&gt;4. [MarkupContainer [Component id = junctionLink]]
&lt;br&gt;5. [MarkupContainer [Component id = nodeComponent]]
&lt;br&gt;6. [MarkupContainer [Component id = iconLink]]
&lt;br&gt;7. [Component id = icon]
&lt;br&gt;8. [MarkupContainer [Component id = contentLink]]
&lt;br&gt;9. [Component id = content]
&lt;br&gt;&lt;br&gt;at org.apache.wicket.Page.checkRendering(Page.java:1162)
&lt;br&gt;at org.apache.wicket.Page.renderPage(Page.java:922)
&lt;br&gt;at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:262)
&lt;br&gt;at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
&lt;br&gt;at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
&lt;br&gt;at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
&lt;br&gt;at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
&lt;br&gt;at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
&lt;br&gt;at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:468)
&lt;br&gt;at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:301)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
&lt;br&gt;at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
&lt;br&gt;at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
&lt;br&gt;at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174)
&lt;br&gt;at org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:222)
&lt;br&gt;at org.apache.wicket.protocol.http.portlet.WicketPortlet.processMimeResponseRequest(WicketPortlet.java:655)
&lt;br&gt;at org.apache.wicket.protocol.http.portlet.WicketPortlet.processRequest(WicketPortlet.java:608)
&lt;br&gt;at org.apache.wicket.protocol.http.portlet.WicketPortlet.doView(WicketPortlet.java:469)
&lt;br&gt;at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:348)
&lt;br&gt;at javax.portlet.GenericPortlet.render(GenericPortlet.java:253)
&lt;br&gt;at org.apache.jetspeed.portlet.PortletObjectProxy.proxyRender(PortletObjectProxy.java:244)
&lt;br&gt;at org.apache.jetspeed.portlet.PortletObjectProxy.invoke(PortletObjectProxy.java:159)
&lt;br&gt;at $Proxy19.render(Unknown Source)
&lt;br&gt;at org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortletInstance.java:110)
&lt;br&gt;at org.apache.jetspeed.container.services.JetspeedFilterChain.doFilter(JetspeedFilterChain.java:142)
&lt;br&gt;at org.apache.jetspeed.container.services.JetspeedFilterChain.processFilter(JetspeedFilterChain.java:92)
&lt;br&gt;at org.apache.jetspeed.container.services.JetspeedFilterManager.processFilter(JetspeedFilterManager.java:112)
&lt;br&gt;at org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:272)
&lt;br&gt;at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
&lt;br&gt;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
&lt;br&gt;at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
&lt;br&gt;at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
&lt;br&gt;at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:165)
&lt;br&gt;at org.apache.jetspeed.container.invoker.JetspeedPortletInvokerService.render(JetspeedPortletInvokerService.java:127)
&lt;br&gt;at org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157)
&lt;br&gt;at org.apache.jetspeed.container.JetspeedPortletContainerWrapper.doRender(JetspeedPortletContainerWrapper.java:69)
&lt;br&gt;at org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobImpl.java:183)
&lt;br&gt;at org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:160)
&lt;br&gt;at org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:138)
&lt;br&gt;at org.apache.jetspeed.aggregator.impl.BaseAggregatorImpl.renderMaximizedWindow(BaseAggregatorImpl.java:101)
&lt;br&gt;at org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.java:73)
&lt;br&gt;at org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:46)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.aggregator.HeaderAggregatorValve.invoke(HeaderAggregatorValve.java:53)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.java:137)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.resource.ResourceValveImpl.invoke(ResourceValveImpl.java:84)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:139)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:88)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.container.PageHistoryValve.invoke(PageHistoryValve.java:108)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.profiler.impl.RefreshUserHomepageValveImpl.invoke(RefreshUserHomepageValveImpl.java:110)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:251)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:158)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:151)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:170)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:138)
&lt;br&gt;at java.security.AccessController.doPrivileged(Native Method)
&lt;br&gt;at javax.security.auth.Subject.doAsPrivileged(Subject.java:454)
&lt;br&gt;at org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:179)
&lt;br&gt;at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:132)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:67)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:127)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
&lt;br&gt;at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:146)
&lt;br&gt;at org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:225)
&lt;br&gt;at org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:300)
&lt;br&gt;at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
&lt;br&gt;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;at org.apache.jetspeed.engine.servlet.XXSUrlAttackFilter.doFilter(XXSUrlAttackFilter.java:52)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;at gr.uportal.filter.CASPortalFilter.doFilter(CASPortalFilter.java:154)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
&lt;br&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
&lt;br&gt;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
&lt;br&gt;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
&lt;br&gt;at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
&lt;br&gt;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
&lt;br&gt;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
&lt;br&gt;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
&lt;br&gt;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
&lt;br&gt;at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
&lt;br&gt;at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
&lt;br&gt;at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
&lt;br&gt;at java.lang.Thread.run(Thread.java:595)
&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: Woonsan Ko [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26663107&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;woon_san@...&lt;/a&gt;] 
&lt;br&gt;Sent: Friday, December 04, 2009 11:27 AM
&lt;br&gt;To: Jetspeed Developers List
&lt;br&gt;Subject: Re: wicket portlet
&lt;br&gt;&lt;br&gt;Hi Vlachogiannis,
&lt;br&gt;&lt;br&gt;There's a simple guideline here:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://cwiki.apache.org/WICKET/portal-howto.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cwiki.apache.org/WICKET/portal-howto.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Woonsan
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: Vlachogiannis Evangelos &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26663107&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;evlach@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: Jetspeed Developers List &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26663107&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sent: Fri, December 4, 2009 9:14:06 AM
&lt;br&gt;&amp;gt; Subject: wicket portlet
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hi list,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is there a howto page for developing a wicket portlet for jetspeed? Some hints?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks a lot,
&lt;br&gt;&amp;gt; Vangelis
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26663107&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26663107&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26663107&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26663107&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/wicket-portlet-tp26639087p26663107.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26650731</id>
	<title>svn commit: r887431 - /portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java</title>
	<published>2009-12-04T15:04:52Z</published>
	<updated>2009-12-04T15:04:52Z</updated>
	<author>
		<name>taylor-8</name>
	</author>
	<content type="html">Author: taylor
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 23:04:51 2009
&lt;br&gt;New Revision: 887431
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887431&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887431&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Adding portlets bug fix
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java?rev=887431&amp;r1=887430&amp;r2=887431&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java?rev=887431&amp;r1=887430&amp;r2=887431&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java Fri Dec &amp;nbsp;4 23:04:51 2009
&lt;br&gt;@@ -553,37 +553,58 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; 
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected ContentFragment findFirstUnlockedFragment(ContentFragment fragment)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fragment.isLocked())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ContentFragment&amp;gt; fragments = (List&amp;lt;ContentFragment&amp;gt;)fragment.getFragments();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContentFragment f : fragments)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (f.getType().equals(Fragment.LAYOUT))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment = findFirstUnlockedFragment(f);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (fragment != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return fragment;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return fragment;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// BOZO: this only works with flat collections of 1,2,3,4 column layouts. Not meant to work with nested layouts
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: move code to an AJAX API
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected void addPortletToLeastUsedColumn(ContentPage page, String portletName)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment layoutFragment = page.getRootFragment();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String layoutType = layoutFragment.getName();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ContentFragment&amp;gt; fragments = (List&amp;lt;ContentFragment&amp;gt;)layoutFragment.getFragments();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int columnCounts[] = new int[getLayoutSize(layoutType)];
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContentFragment fragment : fragments)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ContentFragment layoutFragment = findFirstUnlockedFragment(page.getRootFragment());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (layoutFragment != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int column = fragment.getLayoutColumn();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int row = fragment.getLayoutRow();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (column == -1)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;column = min(columnCounts);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (row == -1)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;row = columnCounts[column]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (column &amp;gt; fragments.size() -1)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String layoutType = layoutFragment.getName();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ContentFragment&amp;gt; fragments = (List&amp;lt;ContentFragment&amp;gt;)layoutFragment.getFragments();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int columnCounts[] = new int[getLayoutSize(layoutType)];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContentFragment fragment : fragments)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.updateRowColumn(-1, 0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;column = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int column = fragment.getLayoutColumn();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int row = fragment.getLayoutRow();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (column == -1)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;column = min(columnCounts);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (row == -1)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;row = columnCounts[column]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (column &amp;gt; fragments.size() -1)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.updateRowColumn(-1, 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;column = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;columnCounts[column]++;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;columnCounts[column]++;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int placedColumn = 0;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int ix = 1; ix &amp;lt; columnCounts.length; ix++)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (columnCounts[ix] &amp;lt; columnCounts[placedColumn])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;placedColumn = ix;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int placedColumn = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int ix = 1; ix &amp;lt; columnCounts.length; ix++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (columnCounts[ix] &amp;lt; columnCounts[placedColumn])
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;placedColumn = ix;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layoutFragment.addPortlet(ContentFragment.PORTLET, portletName, columnCounts[placedColumn], placedColumn);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;adding portlet at row = &amp;quot; + columnCounts[placedColumn] + &amp;quot;, col = &amp;quot; + placedColumn);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layoutFragment.addPortlet(ContentFragment.PORTLET, portletName, columnCounts[placedColumn], placedColumn);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static int min(int[] numbers)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26650731&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26650731&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887431----portals-jetspeed-2-applications-j2-admin-trunk-src-main-java-org-apache-jetspeed-portlets-toolbox-JetspeedToolbox.java-tp26650731p26650731.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26646666</id>
	<title>svn commit: r887303 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/ components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/util/ jetspeed-portal-resources/src/main/r...</title>
	<published>2009-12-04T10:07:48Z</published>
	<updated>2009-12-04T10:07:48Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 18:07:47 2009
&lt;br&gt;New Revision: 887303
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887303&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887303&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Adding access control for portlet definition query
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/util/PaginationUtils.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=887303&amp;r1=887302&amp;r2=887303&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=887303&amp;r1=887302&amp;r2=887303&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java Fri Dec &amp;nbsp;4 18:07:47 2009
&lt;br&gt;@@ -18,6 +18,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.util.ArrayList;
&lt;br&gt;&amp;nbsp;import java.util.Collection;
&lt;br&gt;+import java.util.Collections;
&lt;br&gt;&amp;nbsp;import java.util.List;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.servlet.ServletConfig;
&lt;br&gt;@@ -33,12 +34,14 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import org.apache.commons.lang.StringUtils;
&lt;br&gt;&amp;nbsp;import org.apache.commons.lang.math.NumberUtils;
&lt;br&gt;+import org.apache.jetspeed.JetspeedActions;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.components.portletregistry.PortletRegistry;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.PortletApplication;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.PortletDefinition;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.search.ParsedObject;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.search.SearchEngine;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.search.SearchResults;
&lt;br&gt;+import org.apache.jetspeed.security.SecurityAccessController;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.services.beans.PortletApplicationBean;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.services.beans.PortletApplicationBeanCollection;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.services.beans.PortletDefinitionBean;
&lt;br&gt;@@ -66,12 +69,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@Context
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ServletContext servletContext;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private SecurityAccessController securityAccessController;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private PortletRegistry portletRegistry;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private SearchEngine searchEngine;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public PortletRegistryService(PortletRegistry portletRegistry, SearchEngine searchEngine)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public PortletRegistryService(SecurityAccessController securityAccessController, PortletRegistry portletRegistry, SearchEngine searchEngine)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.securityAccessController = securityAccessController;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portletRegistry = portletRegistry;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.searchEngine = searchEngine;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -194,9 +200,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;AND &amp;quot; + queryParam;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SearchResults searchResults = searchEngine.search(queryText);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ParsedObject&amp;gt; searchResultList = searchResults.getResults();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(searchResultList.size());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ArrayList&amp;lt;PortletDefinition&amp;gt; searchedPortletDefinitions = new ArrayList&amp;lt;PortletDefinition&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ParsedObject parsedObject : (List&amp;lt;ParsedObject&amp;gt;) PaginationUtils.subList(searchResultList, beginIndex, maxResults))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ParsedObject parsedObject : searchResultList)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String uniqueName = SearchEngineUtils.getPortletUniqueName(parsedObject);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -207,17 +213,25 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletDefinition pd = portletRegistry.getPortletDefinitionByUniqueName(uniqueName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pd != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pd != null &amp;&amp; securityAccessController.checkPortletAccess(pd, JetspeedActions.MASK_VIEW))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeanList.add(new PortletDefinitionBean(pd));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;searchedPortletDefinitions.add(pd);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; filteredPortletDefinitions = filterPortletDefinitionsBySecurityAccess(searchedPortletDefinitions, JetspeedActions.MASK_VIEW);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(filteredPortletDefinitions.size());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (Collection&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subCollection(filteredPortletDefinitions, beginIndex, maxResults))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeanList.add(new PortletDefinitionBean(pd));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (StringUtils.isBlank(applicationName) &amp;&amp; StringUtils.isBlank(definitionName))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = portletRegistry.getAllPortletDefinitions();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = filterPortletDefinitionsBySecurityAccess(portletRegistry.getAllPortletDefinitions(), JetspeedActions.MASK_VIEW);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(pds.size());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (Collection&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subCollection(pds, beginIndex, maxResults))
&lt;br&gt;@@ -233,22 +247,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (StringUtils.isBlank(definitionName))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pa != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = filterPortletDefinitionsBySecurityAccess(pa.getPortlets(), JetspeedActions.MASK_VIEW);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(pds.size());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (List&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subCollection(pds, beginIndex, maxResults))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = pa.getPortlets();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(pds.size());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (List&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subList(pa.getPortlets(), beginIndex, maxResults))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeanList.add(new PortletDefinitionBean(pd));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeanList.add(new PortletDefinitionBean(pd));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletDefinition pd = pa.getPortlet(definitionName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pd != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pd != null &amp;&amp; securityAccessController.checkPortletAccess(pd, JetspeedActions.MASK_VIEW))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeanList.add(new PortletDefinitionBean(pd));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(1);
&lt;br&gt;@@ -263,4 +274,29 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return pdBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Collection&amp;lt;PortletDefinition&amp;gt; filterPortletDefinitionsBySecurityAccess(Collection&amp;lt;PortletDefinition&amp;gt; collection, int mask)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (securityAccessController == null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return collection;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (collection == null || collection.isEmpty())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Collections.emptyList();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ArrayList&amp;lt;PortletDefinition&amp;gt; filteredCollection = new ArrayList&amp;lt;PortletDefinition&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : collection)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (securityAccessController.checkPortletAccess(pd, mask))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filteredCollection.add(pd);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return filteredCollection;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/util/PaginationUtils.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/util/PaginationUtils.java?rev=887303&amp;r1=887302&amp;r2=887303&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/util/PaginationUtils.java?rev=887303&amp;r1=887302&amp;r2=887303&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/util/PaginationUtils.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/util/PaginationUtils.java Fri Dec &amp;nbsp;4 18:07:47 2009
&lt;br&gt;@@ -59,35 +59,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static Collection&amp;lt;? extends Object&amp;gt; subCollection(final Collection&amp;lt;? extends Object&amp;gt; collection, int beginIndex, int maxResults)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (beginIndex &amp;lt; 0 || (beginIndex == 0 &amp;&amp; maxResults &amp;lt; 0))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (collection instanceof List)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return collection;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (beginIndex &amp;gt;= collection.size())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Collections.emptyList();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return subList((List&amp;lt;? extends Object&amp;gt;) collection, beginIndex, maxResults);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;Object&amp;gt; list = null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (collection instanceof List)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;list = (List&amp;lt;Object&amp;gt;) collection;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;list = new ArrayList&amp;lt;Object&amp;gt;(collection);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (maxResults &amp;lt; 0)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return list.subList(beginIndex, list.size());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return list.subList(beginIndex, Math.min(list.size(), beginIndex + maxResults));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return subList(new ArrayList&amp;lt;Object&amp;gt;(collection), beginIndex, maxResults);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=887303&amp;r1=887302&amp;r2=887303&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=887303&amp;r1=887302&amp;r2=887303&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml Fri Dec &amp;nbsp;4 18:07:47 2009
&lt;br&gt;@@ -108,6 +108,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;!-- Portlet Registry JAX-RS Service --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;bean id=&amp;quot;jaxrsPortletRegistryService&amp;quot; class=&amp;quot;org.apache.jetspeed.services.rest.PortletRegistryService&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.security.SecurityAccessController&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.components.portletregistry.PortletRegistry&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;constructor-arg ref=&amp;quot;org.apache.jetspeed.search.SearchEngine&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26646666&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26646666&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887303---in--portals-jetspeed-2-portal-trunk%3A-components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-rest--components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-rest-util--jetspeed-portal-resources-src-main-r...-tp26646666p26646666.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26645757</id>
	<title>svn commit: r887270 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/ jetspeed-portal-resources/src/main/resou...</title>
	<published>2009-12-04T09:06:36Z</published>
	<updated>2009-12-04T09:06:36Z</updated>
	<author>
		<name>woonsan</name>
	</author>
	<content type="html">Author: woonsan
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 17:06:33 2009
&lt;br&gt;New Revision: 887270
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887270&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887270&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;JS2-1087: Adding pagination attribute in the returned jax-rs service results.
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java &amp;nbsp; (with props)
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java &amp;nbsp; (contents, props changed)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - copied, changed from r886744, portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeans.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java &amp;nbsp; (contents, props changed)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - copied, changed from r886744, portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeans.java
&lt;br&gt;Removed:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeans.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeans.java
&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;&lt;br&gt;Added: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java?rev=887270&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java?rev=887270&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java (added)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java Fri Dec &amp;nbsp;4 17:06:33 2009
&lt;br&gt;@@ -0,0 +1,91 @@
&lt;br&gt;+/*
&lt;br&gt;+ * Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+ * contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+ * this work for additional information regarding copyright ownership.
&lt;br&gt;+ * The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+ * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+ * the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ * 
&lt;br&gt;+ * &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+ * 
&lt;br&gt;+ * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+ * See the License for the specific language governing permissions and
&lt;br&gt;+ * limitations under the License.
&lt;br&gt;+ */
&lt;br&gt;+package org.apache.jetspeed.services.beans;
&lt;br&gt;+
&lt;br&gt;+import java.io.Serializable;
&lt;br&gt;+import java.util.Collection;
&lt;br&gt;+
&lt;br&gt;+import javax.xml.bind.annotation.XmlAttribute;
&lt;br&gt;+import javax.xml.bind.annotation.XmlElement;
&lt;br&gt;+import javax.xml.bind.annotation.XmlElements;
&lt;br&gt;+import javax.xml.bind.annotation.XmlRootElement;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * BeansCollection
&lt;br&gt;+ * 
&lt;br&gt;+ * @version $Id$
&lt;br&gt;+ */
&lt;br&gt;+@XmlRootElement(name=&amp;quot;collection&amp;quot;)
&lt;br&gt;+public class BeanCollection&amp;lt;T&amp;gt; implements Serializable
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Collection&amp;lt;T&amp;gt; collection;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private int totalSize = -1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private int beginIndex = -1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public BeanCollection()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected Collection&amp;lt;T&amp;gt; getCollection()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return collection;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected void setCollection(Collection&amp;lt;T&amp;gt; collection)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.collection = collection;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlAttribute(name=&amp;quot;size&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public int getSize()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (collection != null ? collection.size() : 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setSize()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlAttribute(name=&amp;quot;totalSize&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public int getTotalSize()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return totalSize;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setTotalSize(int totalSize)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.totalSize = totalSize;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlAttribute(name=&amp;quot;beginIndex&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public int getBeginIndex()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return beginIndex;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setBeginIndex(int beginIndex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.beginIndex = beginIndex;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:keywords = Id
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/BeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:mime-type = text/plain
&lt;br&gt;&lt;br&gt;Copied: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java (from r886744, portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeans.java)
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java?p2=portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java&amp;p1=portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeans.java&amp;r1=886744&amp;r2=887270&amp;rev=887270&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java?p2=portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java&amp;p1=portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeans.java&amp;r1=886744&amp;r2=887270&amp;rev=887270&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeans.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java Fri Dec &amp;nbsp;4 17:06:33 2009
&lt;br&gt;@@ -16,7 +16,6 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;package org.apache.jetspeed.services.beans;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-import java.io.Serializable;
&lt;br&gt;&amp;nbsp;import java.util.Collection;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlElement;
&lt;br&gt;@@ -29,25 +28,24 @@
&lt;br&gt;&amp;nbsp; * @version $Id$
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;@XmlRootElement(name=&amp;quot;applications&amp;quot;)
&lt;br&gt;-public class PortletApplicationBeans implements Serializable
&lt;br&gt;+public class PortletApplicationBeanCollection extends BeanCollection&amp;lt;PortletApplicationBean&amp;gt;
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Collection&amp;lt;PortletApplicationBean&amp;gt; portletApplicationBeans;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public PortletApplicationBeans()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public PortletApplicationBeanCollection()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@XmlElements(@XmlElement(name=&amp;quot;application&amp;quot;))
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public Collection&amp;lt;PortletApplicationBean&amp;gt; getPortletApplicationBeans()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Collection&amp;lt;PortletApplicationBean&amp;gt; getCollection()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return portletApplicationBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return super.getCollection();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public void setPortletApplicationBeans(Collection&amp;lt;PortletApplicationBean&amp;gt; portletApplicationBeans)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setPortletApplicationBeans(Collection&amp;lt;PortletApplicationBean&amp;gt; collection)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portletApplicationBeans = portletApplicationBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.setCollection(collection);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:keywords = Id
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:mime-type = text/plain
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java?rev=887270&amp;r1=887269&amp;r2=887270&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java?rev=887270&amp;r1=887269&amp;r2=887270&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java Fri Dec &amp;nbsp;4 17:06:33 2009
&lt;br&gt;@@ -28,6 +28,7 @@
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.ContainerRuntimeOption;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.Description;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.DisplayName;
&lt;br&gt;+import org.apache.jetspeed.om.portlet.InitParam;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.Language;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.PortletDefinition;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.om.portlet.Supports;
&lt;br&gt;@@ -52,6 +53,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Collection&amp;lt;LanguageBean&amp;gt; languageBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private GenericMetadataBean metadataBean;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Collection&amp;lt;ContainerRuntimeOptionBean&amp;gt; containerRuntimeOptionBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Collection&amp;lt;InitParamBean&amp;gt; initParamBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public PortletDefinitionBean()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -101,6 +103,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;containerRuntimeOptionBeanList.add(new ContainerRuntimeOptionBean(containerRuntimeOption));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;containerRuntimeOptionBeans = containerRuntimeOptionBeanList;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ArrayList&amp;lt;InitParamBean&amp;gt; initParamBeanList = new ArrayList&amp;lt;InitParamBean&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (InitParam initParam : portletDefinition.getInitParams())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initParamBeanList.add(new InitParamBean(initParam));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initParamBeans = initParamBeanList;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public String getApplicationName()
&lt;br&gt;@@ -215,4 +224,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.containerRuntimeOptionBeans = containerRuntimeOptionBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElementWrapper(name=&amp;quot;initparams&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@XmlElements(@XmlElement(name=&amp;quot;initparam&amp;quot;))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Collection&amp;lt;InitParamBean&amp;gt; getInitParamBeans()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return initParamBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setInitParamBeans(Collection&amp;lt;InitParamBean&amp;gt; initParamBeans)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.initParamBeans = initParamBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Copied: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java (from r886744, portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeans.java)
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java?p2=portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java&amp;p1=portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeans.java&amp;r1=886744&amp;r2=887270&amp;rev=887270&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java?p2=portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java&amp;p1=portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeans.java&amp;r1=886744&amp;r2=887270&amp;rev=887270&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeans.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java Fri Dec &amp;nbsp;4 17:06:33 2009
&lt;br&gt;@@ -16,7 +16,6 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;package org.apache.jetspeed.services.beans;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-import java.io.Serializable;
&lt;br&gt;&amp;nbsp;import java.util.Collection;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.xml.bind.annotation.XmlElement;
&lt;br&gt;@@ -29,26 +28,25 @@
&lt;br&gt;&amp;nbsp; * @version $Id$
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;@XmlRootElement(name=&amp;quot;definitions&amp;quot;)
&lt;br&gt;-public class PortletDefinitionBeans implements Serializable
&lt;br&gt;+public class PortletDefinitionBeanCollection extends BeanCollection&amp;lt;PortletDefinitionBean&amp;gt;
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Collection&amp;lt;PortletDefinitionBean&amp;gt; portletDefinitionBeans;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public PortletDefinitionBeans()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public PortletDefinitionBeanCollection()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@XmlElements(@XmlElement(name=&amp;quot;definition&amp;quot;))
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public Collection&amp;lt;PortletDefinitionBean&amp;gt; getPortletDefinitionBean()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Collection&amp;lt;PortletDefinitionBean&amp;gt; getCollection()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return portletDefinitionBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return super.getCollection();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public void setPortletApplicationBeans(Collection&amp;lt;PortletDefinitionBean&amp;gt; portletDefinitionBeans)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setPortletApplicationBeans(Collection&amp;lt;PortletDefinitionBean&amp;gt; collection)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.portletDefinitionBeans = portletDefinitionBeans;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.setCollection(collection);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:keywords = Id
&lt;br&gt;&lt;br&gt;Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBeanCollection.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:mime-type = text/plain
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=887270&amp;r1=887269&amp;r2=887270&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=887270&amp;r1=887269&amp;r2=887270&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java Fri Dec &amp;nbsp;4 17:06:33 2009
&lt;br&gt;@@ -40,9 +40,9 @@
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.search.SearchEngine;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.search.SearchResults;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.services.beans.PortletApplicationBean;
&lt;br&gt;-import org.apache.jetspeed.services.beans.PortletApplicationBeans;
&lt;br&gt;+import org.apache.jetspeed.services.beans.PortletApplicationBeanCollection;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.services.beans.PortletDefinitionBean;
&lt;br&gt;-import org.apache.jetspeed.services.beans.PortletDefinitionBeans;
&lt;br&gt;+import org.apache.jetspeed.services.beans.PortletDefinitionBeanCollection;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.services.rest.util.PaginationUtils;
&lt;br&gt;&amp;nbsp;import org.apache.jetspeed.services.rest.util.SearchEngineUtils;
&lt;br&gt;&amp;nbsp;import org.slf4j.Logger;
&lt;br&gt;@@ -78,7 +78,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@GET
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@Path(&amp;quot;/application/{path:.*}&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public PortletApplicationBeans getPortletApplication(@Context HttpServletRequest servletRequest,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public PortletApplicationBeanCollection getPortletApplication(@Context HttpServletRequest servletRequest,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Context UriInfo uriInfo,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @PathParam(&amp;quot;path&amp;quot;) List&amp;lt;PathSegment&amp;gt; pathSegments,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @QueryParam(&amp;quot;query&amp;quot;) String queryParam, 
&lt;br&gt;@@ -95,7 +95,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int beginIndex = NumberUtils.toInt(beginIndexParam, -1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int maxResults = NumberUtils.toInt(maxResultsParam, -1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletApplicationBeans paBeans = new PortletApplicationBeans();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletApplicationBeanCollection paBeans = new PortletApplicationBeanCollection();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeans.setBeginIndex(beginIndex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeans.setTotalSize(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;PortletApplicationBean&amp;gt; paBeanList = new ArrayList&amp;lt;PortletApplicationBean&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!StringUtils.isBlank(queryParam))
&lt;br&gt;@@ -103,6 +105,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String queryText = ParsedObject.FIELDNAME_TYPE + &amp;quot;:\&amp;quot;&amp;quot; + ParsedObject.OBJECT_TYPE_PORTLET_APPLICATION + &amp;quot;\&amp;quot; AND &amp;quot; + queryParam;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SearchResults searchResults = searchEngine.search(queryText);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ParsedObject&amp;gt; searchResultList = searchResults.getResults();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeans.setTotalSize(searchResultList.size());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ParsedObject parsedObject : (List&amp;lt;ParsedObject&amp;gt;) PaginationUtils.subList(searchResultList, beginIndex, maxResults))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -125,7 +128,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (StringUtils.isBlank(applicationName))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletApplication pa : (Collection&amp;lt;PortletApplication&amp;gt;) PaginationUtils.subCollection(portletRegistry.getPortletApplications(), beginIndex, maxResults))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletApplication&amp;gt; pas = portletRegistry.getPortletApplications();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeans.setTotalSize(pas.size());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletApplication pa : (Collection&amp;lt;PortletApplication&amp;gt;) PaginationUtils.subCollection(pas, beginIndex, maxResults))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeanList.add(new PortletApplicationBean(pa));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -136,18 +142,20 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pa != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeans.setTotalSize(1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeanList.add(new PortletApplicationBean(pa));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paBeans.setPortletApplicationBeans(paBeanList);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return paBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@GET
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@Path(&amp;quot;/definition/{path:.*}&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public PortletDefinitionBeans getPortletDefinition(@Context HttpServletRequest servletRequest,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public PortletDefinitionBeanCollection getPortletDefinition(@Context HttpServletRequest servletRequest,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Context UriInfo uriInfo,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @PathParam(&amp;quot;path&amp;quot;) List&amp;lt;PathSegment&amp;gt; pathSegments, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @QueryParam(&amp;quot;query&amp;quot;) String queryParam, 
&lt;br&gt;@@ -173,7 +181,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int beginIndex = NumberUtils.toInt(beginIndexParam, -1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int maxResults = NumberUtils.toInt(maxResultsParam, -1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletDefinitionBeans pdBeans = new PortletDefinitionBeans();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PortletDefinitionBeanCollection pdBeans = new PortletDefinitionBeanCollection();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setBeginIndex(beginIndex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;PortletDefinitionBean&amp;gt; pdBeanList = new ArrayList&amp;lt;PortletDefinitionBean&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!StringUtils.isBlank(queryParam))
&lt;br&gt;@@ -184,6 +194,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;AND &amp;quot; + queryParam;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SearchResults searchResults = searchEngine.search(queryText);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;ParsedObject&amp;gt; searchResultList = searchResults.getResults();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(searchResultList.size());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ParsedObject parsedObject : (List&amp;lt;ParsedObject&amp;gt;) PaginationUtils.subList(searchResultList, beginIndex, maxResults))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -206,7 +217,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (StringUtils.isBlank(applicationName) &amp;&amp; StringUtils.isBlank(definitionName))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (Collection&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subCollection(portletRegistry.getAllPortletDefinitions(), beginIndex, maxResults))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = portletRegistry.getAllPortletDefinitions();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(pds.size());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (Collection&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subCollection(pds, beginIndex, maxResults))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeanList.add(new PortletDefinitionBean(pd));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -221,6 +235,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pa != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collection&amp;lt;PortletDefinition&amp;gt; pds = pa.getPortlets();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(pds.size());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (PortletDefinition pd : (List&amp;lt;PortletDefinition&amp;gt;) PaginationUtils.subList(pa.getPortlets(), beginIndex, maxResults))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeanList.add(new PortletDefinitionBean(pd));
&lt;br&gt;@@ -234,6 +251,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pd != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeanList.add(new PortletDefinitionBean(pd));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setTotalSize(1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -241,6 +259,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pdBeans.setPortletApplicationBeans(pdBeanList);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return pdBeans;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=887270&amp;r1=887269&amp;r2=887270&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml?rev=887270&amp;r1=887269&amp;r2=887270&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml (original)
&lt;br&gt;+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-restful-services.xml Fri Dec &amp;nbsp;4 17:06:33 2009
&lt;br&gt;@@ -15,8 +15,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;See the License for the specific language governing permissions and
&lt;br&gt;&amp;nbsp; &amp;nbsp;limitations under the License.
&lt;br&gt;&amp;nbsp;--&amp;gt;
&lt;br&gt;-&amp;lt;beans xmlns=&amp;quot;&lt;a href=&quot;http://www.springframework.org/schema/beans&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springframework.org/schema/beans&lt;/a&gt;&amp;quot; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot;
&lt;br&gt;- &amp;nbsp;xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://www.springframework.org/schema/beans&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springframework.org/schema/beans&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;beans xmlns=&amp;quot;&lt;a href=&quot;http://www.springframework.org/schema/beans&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springframework.org/schema/beans&lt;/a&gt;&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://www.springframework.org/schema/beans&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springframework.org/schema/beans&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;!-- To enable log4j logging instead of the default java logging of cxf. --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;bean class=&amp;quot;org.springframework.beans.factory.config.MethodInvokingFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;@@ -68,12 +69,38 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;bean id=&amp;quot;jaxrsJsonProvider&amp;quot; class=&amp;quot;org.apache.cxf.jaxrs.provider.JSONProvider&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;serializeAsArray&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;arrayKeys&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;list&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!--
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;displayName&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;description&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;initparam&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;language&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;field&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;portletMode&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;windowState&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;definition&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;application&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/list&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;!-- JAX-RS Service Singleton Resource Beans &amp;nbsp;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;bean id=&amp;quot;org.apache.jetspeed.services.rest.singletons&amp;quot; class=&amp;quot;org.springframework.beans.factory.config.SetFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;meta key=&amp;quot;j2:cat&amp;quot; value=&amp;quot;default&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;sourceSet&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;set&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- JAX-RS Providers --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jaxrsJsonProvider&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Resource providers --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ref bean=&amp;quot;jaxrsPortletRegistryService&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/set&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26645757&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26645757&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887270---in--portals-jetspeed-2-portal-trunk%3A-components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-beans--components-jetspeed-portal-src-main-java-org-apache-jetspeed-services-rest--jetspeed-portal-resources-src-main-resou...-tp26645757p26645757.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26643768</id>
	<title>svn commit: r887219 - in /portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login: login-xhtmlbasic.jsp login.jsp portal-login.jsp</title>
	<published>2009-12-04T07:01:20Z</published>
	<updated>2009-12-04T07:01:20Z</updated>
	<author>
		<name>Ate Douma-2</name>
	</author>
	<content type="html">Author: ate
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 15:01:19 2009
&lt;br&gt;New Revision: 887219
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887219&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887219&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Also deriving &amp;quot;login&amp;quot; destination url dynamically for the LoginPortlet to stay within the currently used pipeline, e.g. /portal, /ui, etc.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp?rev=887219&amp;r1=887218&amp;r2=887219&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp?rev=887219&amp;r1=887218&amp;r2=887219&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp Fri Dec &amp;nbsp;4 15:01:19 2009
&lt;br&gt;@@ -47,7 +47,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:otherwise&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/c:choose&amp;gt; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;form method=&amp;quot;post&amp;quot; action='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;/login/proxy&amp;quot;/&amp;gt;'&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;form method=&amp;quot;post&amp;quot; action='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;/login/proxy?${loginDestination}=${requestContext.portalURL.basePath}&amp;quot;/&amp;gt;'&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fmt:message key=&amp;quot;login.label.Username&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;c_rt:set var=&amp;quot;userName&amp;quot; value=&amp;quot;&amp;lt;%=((RequestContext)request.getAttribute(RequestContext.REQUEST_PORTALENV)).getSessionAttribute(LoginConstants.USERNAME)%&amp;gt;&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp?rev=887219&amp;r1=887218&amp;r2=887219&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp?rev=887219&amp;r1=887218&amp;r2=887219&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp Fri Dec &amp;nbsp;4 15:01:19 2009
&lt;br&gt;@@ -29,12 +29,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;portalContextPath&amp;quot; value=&amp;quot;/&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;encoder&amp;quot; value=&amp;quot;${requestContext.request.parameterMap.encoder[0]}&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;/login/proxy&amp;quot;/&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;/login/proxy?${loginDestination}=${requestContext.portalURL.basePath}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.portalURL.basePath}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;${requestContext.portalURL.basePath}/my-account.psml&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;destContext&amp;quot; value=&amp;quot;/&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:if test=&amp;quot;${not empty encoder &amp;&amp; encoder == 'desktop'}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;${destLogin}?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;/login/proxy?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;/desktop/my-account.psml?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destContext&amp;quot; value=&amp;quot;${portalContextPath}&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp?rev=887219&amp;r1=887218&amp;r2=887219&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp?rev=887219&amp;r1=887218&amp;r2=887219&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp Fri Dec &amp;nbsp;4 15:01:19 2009
&lt;br&gt;@@ -30,12 +30,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;portalContextPath&amp;quot; value=&amp;quot;/&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;encoder&amp;quot; value=&amp;quot;${requestContext.request.parameterMap.encoder[0]}&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;/login/proxy&amp;quot;/&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;/login/proxy?${loginDestination}=${requestContext.portalURL.basePath}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.portalURL.basePath}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;${requestContext.portalURL.basePath}/my-account.psml&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;destContext&amp;quot; value=&amp;quot;/&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:if test=&amp;quot;${not empty encoder &amp;&amp; encoder == 'desktop'}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;${destLogin}?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;/login/proxy?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;/desktop/my-account.psml?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destContext&amp;quot; value=&amp;quot;${portalContextPath}&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26643768&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26643768&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887219---in--portals-jetspeed-2-applications-j2-admin-trunk-src-main-webapp-WEB-INF-security-login%3A-login-xhtmlbasic.jsp-login.jsp-portal-login.jsp-tp26643768p26643768.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26643568</id>
	<title>svn commit: r887214 - in /portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login: login-xhtmlbasic.jsp login.jsp portal-login.jsp</title>
	<published>2009-12-04T06:46:47Z</published>
	<updated>2009-12-04T06:46:47Z</updated>
	<author>
		<name>Ate Douma-2</name>
	</author>
	<content type="html">Author: ate
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 14:46:46 2009
&lt;br&gt;New Revision: 887214
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887214&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887214&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Deriving &amp;quot;change password&amp;quot; link and destination url for logout dynamically for the LoginPortlet to stay within the currently used pipeline, e.g. /portal, /ui, etc.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp?rev=887214&amp;r1=887213&amp;r2=887214&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp?rev=887214&amp;r1=887213&amp;r2=887214&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login-xhtmlbasic.jsp Fri Dec &amp;nbsp;4 14:46:46 2009
&lt;br&gt;@@ -28,9 +28,9 @@
&lt;br&gt;&amp;nbsp;&amp;lt;c:choose&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:when test=&amp;quot;${pageContext.request.userPrincipal != null}&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fmt:message key=&amp;quot;login.label.Welcome&amp;quot;&amp;gt;&amp;lt;fmt:param&amp;gt;&amp;lt;c:out value=&amp;quot;${pageContext.request.userPrincipal.name}&amp;quot;/&amp;gt;&amp;lt;/fmt:param&amp;gt;&amp;lt;/fmt:message&amp;gt;&amp;lt;br/&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;/login/logout&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.Logout&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.portalURL.basePath}&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.Logout&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;br/&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;/portal/my-account.psml&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.ChangePassword&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;/&amp;quot; value=&amp;quot;${requestContext.portalURL.basePath}/my-account.psml&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.ChangePassword&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/c:when&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:otherwise&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;%-- backdoor access to the portal session to get the login error count --%&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp?rev=887214&amp;r1=887213&amp;r2=887214&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp?rev=887214&amp;r1=887213&amp;r2=887214&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/login.jsp Fri Dec &amp;nbsp;4 14:46:46 2009
&lt;br&gt;@@ -30,12 +30,14 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;encoder&amp;quot; value=&amp;quot;${requestContext.request.parameterMap.encoder[0]}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;/login/proxy&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;/portal/my-account.psml&amp;quot;/&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.portalURL.basePath}&amp;quot;/&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;${requestContext.portalURL.basePath}/my-account.psml&amp;quot;/&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;destContext&amp;quot; value=&amp;quot;/&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:if test=&amp;quot;${not empty encoder &amp;&amp; encoder == 'desktop'}&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;${destLogin}?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;${destLogout}?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;/desktop/my-account.psml?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;c:set var=&amp;quot;destContext&amp;quot; value=&amp;quot;${portalContextPath}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;div class=&amp;quot;portlet-section-text&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:choose&amp;gt;
&lt;br&gt;@@ -43,7 +45,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fmt:message key=&amp;quot;login.label.Welcome&amp;quot;&amp;gt;&amp;lt;fmt:param&amp;gt;&amp;lt;c:out value=&amp;quot;${pageContext.request.userPrincipal.name}&amp;quot;/&amp;gt;&amp;lt;/fmt:param&amp;gt;&amp;lt;/fmt:message&amp;gt;&amp;lt;br&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;${destLogout}&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.Logout&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;br&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;${destAccount}&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.ChangePassword&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${destContext}&amp;quot; value=&amp;quot;${destAccount}&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.ChangePassword&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/c:when&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:otherwise&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;%-- backdoor access to the portal session to get the login error count --%&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp?rev=887214&amp;r1=887213&amp;r2=887214&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp?rev=887214&amp;r1=887213&amp;r2=887214&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp (original)
&lt;br&gt;+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/login/portal-login.jsp Fri Dec &amp;nbsp;4 14:46:46 2009
&lt;br&gt;@@ -31,12 +31,14 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;encoder&amp;quot; value=&amp;quot;${requestContext.request.parameterMap.encoder[0]}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;/login/proxy&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;/portal/my-account.psml&amp;quot;/&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.portalURL.basePath}&amp;quot;/&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;${requestContext.portalURL.basePath}/my-account.psml&amp;quot;/&amp;gt;
&lt;br&gt;+&amp;lt;c:set var=&amp;quot;destContext&amp;quot; value=&amp;quot;/&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;c:if test=&amp;quot;${not empty encoder &amp;&amp; encoder == 'desktop'}&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogin&amp;quot; value=&amp;quot;${destLogin}?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;${destLogout}?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;c:set var=&amp;quot;destLogout&amp;quot; value=&amp;quot;/login/logout?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:set var=&amp;quot;destAccount&amp;quot; value=&amp;quot;/desktop/my-account.psml?${loginDestination}=${requestContext.request.contextPath}/desktop&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;c:set var=&amp;quot;destContext&amp;quot; value=&amp;quot;${portalContextPath}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/c:if&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;c_rt:set var=&amp;quot;contentType&amp;quot; value=&amp;quot;&amp;lt;%=renderRequest.getResponseContentType()%&amp;gt;&amp;quot;/&amp;gt;
&lt;br&gt;@@ -80,7 +82,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fmt:message key=&amp;quot;login.label.Welcome&amp;quot;&amp;gt;&amp;lt;fmt:param&amp;gt;&amp;lt;c:out value=&amp;quot;${pageContext.request.userPrincipal.name}&amp;quot;/&amp;gt;&amp;lt;/fmt:param&amp;gt;&amp;lt;/fmt:message&amp;gt;&amp;lt;br&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;${destLogout}&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.Logout&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;br&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${portalContextPath}&amp;quot; value=&amp;quot;${destAccount}&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.ChangePassword&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;a href='&amp;lt;c:url context=&amp;quot;${destContext}&amp;quot; value=&amp;quot;${destAccount}&amp;quot;/&amp;gt;'&amp;gt;&amp;lt;fmt:message key=&amp;quot;login.label.ChangePassword&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/c:when&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;c:otherwise&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;%-- backdoor access to the portal session to get the login error count --%&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26643568&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26643568&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jetspeed-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Jetspeed---Dev-f199.html&quot; embed=&quot;fixTarget[199]&quot; target=&quot;_top&quot; &gt;Jetspeed - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887214---in--portals-jetspeed-2-applications-j2-admin-trunk-src-main-webapp-WEB-INF-security-login%3A-login-xhtmlbasic.jsp-login.jsp-portal-login.jsp-tp26643568p26643568.html" />
</entry>

</feed>
