portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tay...@apache.org
Subject svn commit: r921222 - in /portals/jetspeed-2: applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/ portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/ portal/trunk/components/jetspeed-portal/...
Date Wed, 10 Mar 2010 03:54:20 GMT
Author: taylor
Date: Wed Mar 10 03:54:19 2010
New Revision: 921222

URL: http://svn.apache.org/viewvc?rev=921222&view=rev
Log:
https://issues.apache.org/jira/browse/JS2-1121
Configure profiler valve or page valve based on spring configuration. Added a delegating PageProfilerValve
to invoke either page or profiler valve
Configured page or profiler valve invocation in PortletActionSecurityPathBehavior based on
delegating PageProfilingValve to support seldom used "create new pages on edit" feature

Added:
    portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/pipeline/valve/impl/PageProfilerValveImpl.java
  (with props)
Modified:
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/PageNavigator.java
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpaceNavigator.java
    portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/PortletActionSecurityPathBehavior.java
    portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/ajax-layout.xml
    portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/PageNavigator.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/PageNavigator.java?rev=921222&r1=921221&r2=921222&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/PageNavigator.java
(original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/PageNavigator.java
Wed Mar 10 03:54:19 2010
@@ -179,7 +179,7 @@ public class PageNavigator extends Gener
                 try
                 {
                     String pageName = addPage.replace(' ', '_');
-                    String path = spacePath + "/" + pageName + ".psml";
+                    String path = SpaceNavigator.concatenatePaths(spacePath, pageName + Page.DOCUMENT_TYPE);
                     Page source = pageManager.getPage(templatePage);
                     Page newPage = pageManager.copyPage(source, path);
                     newPage.setTitle(addPage);
@@ -232,7 +232,7 @@ public class PageNavigator extends Gener
         try
         {
             String spacePath = StringUtils.trim(space.getPath());
-            boolean isRootSpace = StringUtils.isBlank(spacePath) || "/".equals(spacePath);
+            boolean isRootSpace = StringUtils.isBlank(spacePath) || Folder.PATH_SEPARATOR.equals(spacePath);
             
             RequestContext rc = (RequestContext) request.getAttribute(RequestContext.REQUEST_PORTALENV);
             PortalSiteRequestContext psrc = (PortalSiteRequestContext) rc.getAttribute("org.apache.jetspeed.portalsite.PortalSiteRequestContext");

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpaceNavigator.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpaceNavigator.java?rev=921222&r1=921221&r2=921222&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpaceNavigator.java
(original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpaceNavigator.java
Wed Mar 10 03:54:19 2010
@@ -276,8 +276,8 @@ public class SpaceNavigator extends Gene
     	return new SpaceChangeContext(space, spaces);
     }
     
-    protected static boolean pathsEqual(String p1, String p2)
-    {
+    public static boolean pathsEqual(String p1, String p2)
+    { 
     	String s1 = new String (p1);
     	String s2 = new String (p2);
     	if (s1 == null || s2 == null)
@@ -285,16 +285,65 @@ public class SpaceNavigator extends Gene
     	int start = s1.indexOf(Folder.PATH_SEPARATOR);
     	int end = s1.lastIndexOf(Folder.PATH_SEPARATOR);
     	if (end > start)
-    		s1 = s1.substring(start, end);
+    	{
+     		if (s1.lastIndexOf(".") > end)
+     			s1 = s1.substring(start, end);     		
+        	if (!s1.endsWith(Folder.PATH_SEPARATOR))
+        		s1 = s1 + Folder.PATH_SEPARATOR;    		
+    	}
+    	else
+       		s1 = Folder.PATH_SEPARATOR;    		
     	start = s2.indexOf(Folder.PATH_SEPARATOR);
      	end = s2.lastIndexOf(Folder.PATH_SEPARATOR);
      	if (end > start)
-     		s2 = s2.substring(start, end);    	
-    	if (!s1.endsWith(Folder.PATH_SEPARATOR))
-    		s1 = s1 + Folder.PATH_SEPARATOR;
-    	if (!s2.endsWith(Folder.PATH_SEPARATOR))
-    		s2 = s2 + Folder.PATH_SEPARATOR;
+     	{
+     		if (s2.lastIndexOf(".") > end)
+     			s2 = s2.substring(start, end);
+        	if (!s2.endsWith(Folder.PATH_SEPARATOR))
+        		s2 = s2 + Folder.PATH_SEPARATOR;     		
+     	}
+     	else
+       		s2 = Folder.PATH_SEPARATOR;
     	return s1.equals(s2);
     }
     
+    public static String concatenatePaths(String base, String path)
+    {
+        String result = "";
+        if (base == null)
+        {
+            if (path == null)
+            {
+                return result;
+            }
+            return path;
+        }
+        else
+        {
+            if (path == null)
+            {
+                return base;
+            }
+        }
+        if (base.endsWith(Folder.PATH_SEPARATOR)) 
+        {
+            if (path.startsWith(Folder.PATH_SEPARATOR))
+            {
+                result = base.concat(path.substring(1));
+                return result;
+            }
+        
+        }
+        else
+        {
+            if (!path.startsWith(Folder.PATH_SEPARATOR)) 
+            {
+                result = base.concat(Folder.PATH_SEPARATOR).concat(path);
+                return result;
+            }
+        }
+        return base.concat(path);
+    }
+
+    
 }
\ No newline at end of file

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/PortletActionSecurityPathBehavior.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/PortletActionSecurityPathBehavior.java?rev=921222&r1=921221&r2=921222&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/PortletActionSecurityPathBehavior.java
(original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/PortletActionSecurityPathBehavior.java
Wed Mar 10 03:54:19 2010
@@ -22,6 +22,7 @@ import org.apache.jetspeed.om.folder.Fol
 import org.apache.jetspeed.om.page.ContentPage;
 import org.apache.jetspeed.page.PageManager;
 import org.apache.jetspeed.pipeline.valve.PageProfilerValve;
+import org.apache.jetspeed.pipeline.valve.Valve;
 import org.apache.jetspeed.request.RequestContext;
 
 import org.slf4j.Logger;
@@ -37,17 +38,17 @@ public class PortletActionSecurityPathBe
 {
     protected Logger log = LoggerFactory.getLogger(PortletActionSecurityPathBehavior.class);
   
     protected PageManager pageManager;
-    protected PageProfilerValve profilerValve;
+    protected Valve pageLocatingValve;
     private boolean enableCreateUserPagesFromRolesOnEdit;
     
-    public PortletActionSecurityPathBehavior(PageManager pageManager, PageProfilerValve profilerValve)
+    public PortletActionSecurityPathBehavior(PageManager pageManager, Valve pageLocatingValve)
     {
-    	this( pageManager, profilerValve, Boolean.FALSE ) ;
+    	this( pageManager, pageLocatingValve, Boolean.FALSE ) ;
     }
-    public PortletActionSecurityPathBehavior(PageManager pageManager, PageProfilerValve profilerValve,
Boolean enableCreateUserPagesFromRolesOnEdit )
+    public PortletActionSecurityPathBehavior(PageManager pageManager, Valve pageLocatingValve,
Boolean enableCreateUserPagesFromRolesOnEdit )
     {
         this.pageManager = pageManager;
-        this.profilerValve = profilerValve;
+        this.pageLocatingValve = pageLocatingValve;
         this.enableCreateUserPagesFromRolesOnEdit = ( enableCreateUserPagesFromRolesOnEdit
== null ? false : enableCreateUserPagesFromRolesOnEdit.booleanValue() );
     }
 
@@ -100,7 +101,7 @@ public class PortletActionSecurityPathBe
         		String pageName = contentPage.getName();        		
                 pageManager.createUserHomePagesFromRoles(context.getSubject());
                 // update request context with new profiler valve invocation
-                profilerValve.invoke(context, null);
+                pageLocatingValve.invoke(context, null);
             }
         }
         catch (Exception e)

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/pipeline/valve/impl/PageProfilerValveImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/pipeline/valve/impl/PageProfilerValveImpl.java?rev=921222&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/pipeline/valve/impl/PageProfilerValveImpl.java
(added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/pipeline/valve/impl/PageProfilerValveImpl.java
Wed Mar 10 03:54:19 2010
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.pipeline.valve.impl;
+
+import org.apache.jetspeed.administration.PortalConfigurationConstants;
+import org.apache.jetspeed.pipeline.PipelineException;
+import org.apache.jetspeed.pipeline.valve.AbstractValve;
+import org.apache.jetspeed.pipeline.valve.PageProfilerValve;
+import org.apache.jetspeed.pipeline.valve.ValveContext;
+import org.apache.jetspeed.request.RequestContext;
+
+/**
+ * Determines whether to invoke the Page or Profiler valve dependent 
+ * on URL requested pipeline. 
+ * 
+ * @author <a href="mailto:taylor@apache.org">David Sean Taylor </a>
+ * @version $Id:$
+ */
+
+public class PageProfilerValveImpl extends AbstractValve implements PageProfilerValve
+{
+	private PageProfilerValve profilerValve;
+	private PageProfilerValve pageValve;
+	private boolean useProfiler = false;
+	
+    public PageProfilerValveImpl(PageProfilerValve profilerValve, PageProfilerValve pageValve,
String customizationMethod)
+    {
+    	this.profilerValve = profilerValve;
+    	this.pageValve = pageValve;
+    	this.useProfiler = (customizationMethod.equals(PortalConfigurationConstants.JETUI_CUSTOMIZATION_SERVER));
+    }
+    
+    public String toString()
+    {
+        return "PageProfilerValve";
+    }
+
+	@Override
+	public void invoke(RequestContext request, ValveContext context)
+			throws PipelineException 
+	{
+		if (useProfiler)
+			profilerValve.invoke(request, context);
+		else
+			pageValve.invoke(request, context);
+	}
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/pipeline/valve/impl/PageProfilerValveImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/pipeline/valve/impl/PageProfilerValveImpl.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/ajax-layout.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/ajax-layout.xml?rev=921222&r1=921221&r2=921222&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/ajax-layout.xml
(original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/ajax-layout.xml
Wed Mar 10 03:54:19 2010
@@ -42,7 +42,7 @@
       <ref bean="org.apache.jetspeed.page.PageManager" />
     </constructor-arg>
     <constructor-arg index='1'>
-      <ref bean="profilerValve" />
+      <ref bean="pageProfilerValve" />
     </constructor-arg>
     <constructor-arg index='2'>
       <ref bean="EnableCreateUserPagesFromRolesOnEdit" />

Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml?rev=921222&r1=921221&r2=921222&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
(original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
Wed Mar 10 03:54:19 2010
@@ -137,6 +137,17 @@
       <value>true</value>
     </constructor-arg>
   </bean>
+                                       
+  <bean id="pageProfilerValve" class="org.apache.jetspeed.pipeline.valve.impl.PageProfilerValveImpl"
>
+    <meta key="j2:cat" value="default" />
+    <constructor-arg index="0">
+      <ref bean="profilerValve" />
+    </constructor-arg>
+    <constructor-arg index="1">
+      <ref bean="pageValve" />
+    </constructor-arg>
+    <constructor-arg><value>${jetui.customization.method}</value></constructor-arg>
       
+  </bean>
 
   <bean id="pageValve" class="org.apache.jetspeed.pipeline.valve.impl.PageValveImpl" init-method="initialize">
     <meta key="j2:cat" value="default" />
@@ -602,7 +613,7 @@
         <ref bean="localizationValve" />
         <ref bean="passwordCredentialValve" />
         <ref bean="loginValidationValve" />
-        <ref bean="profilerValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <!--
           JS2-806  
@@ -636,7 +647,7 @@
         <ref bean="localizationValve" />
         <ref bean="passwordCredentialValve" />
         <ref bean="loginValidationValve" />
-        <ref bean="profilerValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <ref bean="containerValve" />
         <ref bean="actionValve" />
@@ -673,7 +684,7 @@
         <ref bean="localizationValve" />
         <ref bean="capabilityValve" />
         <ref bean="portalURLValve" />
-        <ref bean="profilerValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <ref bean="containerValve" />
         <ref bean="actionValve" />
@@ -682,49 +693,6 @@
     </constructor-arg>
   </bean>
 
-  <bean id="desktop-action-pipeline" class="org.apache.jetspeed.pipeline.JetspeedPipeline"
init-method="initialize">
-    <meta key="j2:cat" value="default" />
-    <constructor-arg>
-      <value>DesktopActionPipeline</value>
-    </constructor-arg>
-    <constructor-arg>
-      <list>
-        <ref bean="securityValve" />
-        <ref bean="localizationValve" />
-        <ref bean="capabilityValve" />
-        <ref bean="portalURLValve" />
-        <ref bean="profilerValve" />
-        <ref bean="refreshUserHomepageValve" />
-        <ref bean="containerValve" />
-        <ref bean="desktopActionValve" />
-        <ref bean="cleanUpValve" />
-      </list>
-    </constructor-arg>
-  </bean>
-
-  <bean id="desktop-render-pipeline" class="org.apache.jetspeed.pipeline.JetspeedPipeline"
init-method="initialize">
-    <meta key="j2:cat" value="default" />
-    <!-- same as /portlet pipeline except for the addition of the desktopEncoderRedirectValve
-->
-    <constructor-arg>
-      <value>DesktopRenderPipeline</value>
-    </constructor-arg>
-    <constructor-arg>
-      <list>
-        <ref bean="desktopEncoderRedirectValve" />
-        <ref bean="portalURLValve" />
-        <ref bean="capabilityValve" />
-        <ref bean="securityValve" />
-        <ref bean="localizationValve" />
-        <ref bean="profilerValve" />
-        <ref bean="refreshUserHomepageValve" />
-        <ref bean="containerValve" />
-        <ref bean="resourceValve" />
-        <ref bean="portletValveTitleInHeader" />
-        <ref bean="cleanUpValve" />
-      </list>
-    </constructor-arg>
-  </bean>
-
   <bean id="portlet-pipeline" class="org.apache.jetspeed.pipeline.JetspeedPipeline" init-method="initialize">
     <meta key="j2:cat" value="default" />
     <constructor-arg>
@@ -736,7 +704,7 @@
         <ref bean="capabilityValve" />
         <ref bean="securityValve" />
         <ref bean="localizationValve" />
-        <ref bean="profilerValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <ref bean="containerValve" />
         <ref bean="portletValveTitleInHeader" />
@@ -757,7 +725,7 @@
         <ref bean="securityValve" />
         <ref bean="localizationValve" />
         <ref bean="passwordCredentialValve" />
-        <ref bean="profilerValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <ref bean="containerValve" />
         <!--  this is the standard Jetspeed API entry point -->
@@ -778,7 +746,7 @@
         <ref bean="portalURLValve" />
         <ref bean="securityValve" />
         <ref bean="localizationValve" />
-        <ref bean="profilerValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <ref bean="containerValve" />
         <ref bean="AJAXValve" />
@@ -798,7 +766,7 @@
         <ref bean="pathInfoParamEnabledPortalURLValve" />
         <ref bean="securityValve" />
         <ref bean="localizationValve" />
-        <ref bean="profilerValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <ref bean="containerValve" />
         <ref bean="DecorationValve" />
@@ -817,7 +785,7 @@
         <ref bean="portalURLValve" />
         <ref bean="securityValve" />
         <ref bean="localizationValve" />
-        <ref bean="profilerValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <ref bean="containerValve" />
         <ref bean="fileServerValve" />
@@ -827,46 +795,6 @@
     </constructor-arg>
   </bean>
 
-  <bean id="desktop-pipeline" class="org.apache.jetspeed.pipeline.JetspeedPipeline" init-method="initialize">
-    <meta key="j2:cat" value="default" />
-    <constructor-arg>
-      <value>DesktopPipeline</value>
-    </constructor-arg>
-    <constructor-arg>
-      <list>
-        <ref bean="capabilityValve" />
-        <ref bean="portalURLValve" />
-        <ref bean="securityValve" />
-        <ref bean="localizationValve" />
-        <ref bean="profilerValve" />
-        <ref bean="refreshUserHomepageValve" />
-        <ref bean="headerAggregatorValveDesktop" />
-        <ref bean="desktopValve" />
-        <ref bean="cleanUpValve" />
-      </list>
-    </constructor-arg>
-  </bean>
-
-  <bean id="dtconfigure-pipeline" class="org.apache.jetspeed.pipeline.JetspeedPipeline"
init-method="initialize">
-    <meta key="j2:cat" value="default" />
-    <constructor-arg>
-      <value>DesktopConfigurePipeline</value>
-    </constructor-arg>
-    <constructor-arg>
-      <list>
-        <ref bean="capabilityValve" />
-        <ref bean="portalURLValve" />
-        <ref bean="securityValve" />
-        <ref bean="localizationValve" />
-        <ref bean="profilerValve" />
-        <ref bean="refreshUserHomepageValve" />
-        <ref bean="headerAggregatorValveDesktop" />
-        <ref bean="desktopValve" />
-        <ref bean="cleanUpValve" />
-      </list>
-    </constructor-arg>
-  </bean>
-
   <bean id="healthcheck-pipeline" class="org.apache.jetspeed.pipeline.JetspeedPipeline"
init-method="initialize">
     <meta key="j2:cat" value="default" />
     <constructor-arg>
@@ -904,26 +832,9 @@
         <entry key='/services'>
           <value>restful-services-pipeline</value>
         </entry>
-        <entry key='/desktop'>
-          <value>desktop-pipeline</value>
-        </entry><!-- for jetspeed desktop, the keys /desktop, /action and /render
cannot be changed -->
-        <!-- without also editing src/webapp/javascript/jetspeed/common.js and these beans:
-->
-        <!--    the JetspeedDesktop bean expects argument for /desktop (3rd arg in constructor)
-->
-        <!--    the DesktopPluto bean expects arguments for /desktop, /action and /render
-->
-        <!--    the DesktopPortalURL bean expects arguments for /render and /action -->
-        <!--    the desktopEncoderRedirectValve bean expects arguments for /desktop and
/render -->
-        <entry key='/action'>
-          <value>desktop-action-pipeline</value>
-        </entry>
-        <entry key='/render'>
-          <value>desktop-render-pipeline</value>
-        </entry>
         <entry key='/configure'>
           <value>configure-pipeline</value>
         </entry>
-        <entry key='/dtconfigure'>
-          <value>dtconfigure-pipeline</value>
-        </entry>
         <entry key='/healthcheck'>
           <value>healthcheck-pipeline</value>
         </entry>
@@ -951,7 +862,7 @@
         <ref bean="localizationValve" />
         <ref bean="passwordCredentialValve" />
         <ref bean="loginValidationValve" />
-        <ref bean="pageValve" />
+        <ref bean="pageProfilerValve" />
         <ref bean="refreshUserHomepageValve" />
         <!--
           JS2-806  



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Mime
View raw message