portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wea...@apache.org
Subject svn commit: r230831 - in /portals/jetspeed-2/trunk: layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ layout-portlets/src/test/org/apache/jetspeed/portlets/layout/ layout-portlets/src/webapp/WEB-INF/ portal-webapp/src/webapp/WEB-INF/assembl...
Date Mon, 08 Aug 2005 18:09:00 GMT
Author: weaver
Date: Mon Aug  8 11:08:53 2005
New Revision: 230831

URL: http://svn.apache.org/viewcvs?rev=230831&view=rev
Log:
- Fixed issue with down arrow not appearing.
- Added documentation to the exception classes.
- Add getLastRowInColumn method to ColumnLayout.java
- Added tests for getLastRowInColumn to test cases.

Modified:
    portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
    portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/EmptyLayoutLocationException.java
    portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/FragmentNotInLayoutException.java
    portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/InvalidLayoutLocationException.java
    portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutException.java
    portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
    portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java
    portals/jetspeed-2/trunk/layout-portlets/src/test/org/apache/jetspeed/portlets/layout/TestColumnLayout.java
    portals/jetspeed-2/trunk/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/assembly/jetspeed-services.xml
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/templates/layout/html/columns/layout.vm

Modified: portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
(original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
Mon Aug  8 11:08:53 2005
@@ -251,6 +251,19 @@
     }
     
     /**
+     * 
+     * Returns the index of the last row in the specified column.
+     * 
+     * @param columnNumber column form whom we ant to identify the
+     * last row.
+     * @return the index of the last row in the specified column.
+     */
+    public int getLastRowNumber(int columnNumber)
+    {
+        return nextRowNumber[columnNumber] - 1;
+    }
+    
+    /**
      * Returns an immutable Collection of all the Fragments contained within
      * this ColumnLayout in no sepcific order.
      * @return Immutable Collection of Fragments.

Modified: portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/EmptyLayoutLocationException.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/EmptyLayoutLocationException.java?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/EmptyLayoutLocationException.java
(original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/EmptyLayoutLocationException.java
Mon Aug  8 11:08:53 2005
@@ -16,6 +16,13 @@
 package org.apache.jetspeed.portlets.layout;
 
 
+/**
+ * This exception indicates that an attempt to access a layout
+ * coordinate that does not contain a Fragment.
+ * 
+ * @author <href a="mailto:weaver@apache.org">Scott T. Weaver</a>
+ * @see org.apache.jetspeed.portlets.layout.ColumnLayout
+ */
 public class EmptyLayoutLocationException extends LayoutException
 {
     public EmptyLayoutLocationException(int column, int row)

Modified: portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/FragmentNotInLayoutException.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/FragmentNotInLayoutException.java?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/FragmentNotInLayoutException.java
(original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/FragmentNotInLayoutException.java
Mon Aug  8 11:08:53 2005
@@ -17,6 +17,13 @@
 
 import org.apache.jetspeed.om.page.Fragment;
 
+/**
+ * This exception indicates that an attmept was made get the coordinates
+ * within a layout for a fragement that is not within that layout.
+ * 
+ * @author <href a="mailto:weaver@apache.org">Scott T. Weaver</a>
+ * @see org.apache.jetspeed.portlets.layout.ColumnLayout
+ */
 public class FragmentNotInLayoutException extends LayoutException
 {
     public FragmentNotInLayoutException(Fragment fragment)

Modified: portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/InvalidLayoutLocationException.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/InvalidLayoutLocationException.java?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/InvalidLayoutLocationException.java
(original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/InvalidLayoutLocationException.java
Mon Aug  8 11:08:53 2005
@@ -16,6 +16,13 @@
 package org.apache.jetspeed.portlets.layout;
 
 
+/**
+ * Indicates an attempt to access a local within a layout that is outside
+ * of the bounds of that layout.
+ * 
+ * @author <href a="mailto:weaver@apache.org">Scott T. Weaver</a>
+ *
+ */
 public class InvalidLayoutLocationException extends LayoutException
 {
     public InvalidLayoutLocationException(LayoutCoordinate coordinate)

Modified: portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutException.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutException.java?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutException.java
(original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutException.java
Mon Aug  8 11:08:53 2005
@@ -15,9 +15,16 @@
  */
 package org.apache.jetspeed.portlets.layout;
 
+
 import org.apache.jetspeed.exception.JetspeedException;
 import org.apache.jetspeed.i18n.KeyedMessage;
 
+/**
+ * Base exception for all layout exceptions.
+ * 
+ * @author <href a="mailto:weaver@apache.org">Scott T. Weaver</a>
+ *
+ */
 public class LayoutException extends JetspeedException
 {
 

Modified: portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
(original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
Mon Aug  8 11:08:53 2005
@@ -16,6 +16,7 @@
 package org.apache.jetspeed.portlets.layout;
 
 import java.io.IOException;
+import java.util.Locale;
 import java.util.StringTokenizer;
 
 import javax.portlet.ActionRequest;
@@ -26,12 +27,20 @@
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
 
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.jetspeed.CommonPortletServices;
 import org.apache.jetspeed.PortalReservedParameters;
+import org.apache.jetspeed.capabilities.CapabilityMap;
+import org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent;
 import org.apache.jetspeed.components.portletregistry.PortletRegistry;
 import org.apache.jetspeed.idgenerator.IdGenerator;
+import org.apache.jetspeed.locator.LocatorDescriptor;
+import org.apache.jetspeed.locator.TemplateDescriptor;
+import org.apache.jetspeed.locator.TemplateLocator;
 import org.apache.jetspeed.locator.TemplateLocatorException;
 import org.apache.jetspeed.om.page.Fragment;
 import org.apache.jetspeed.om.page.Page;
@@ -45,6 +54,21 @@
  */
 public class LayoutPortlet extends org.apache.portals.bridges.common.GenericServletPortlet
 {
+    public static final String GENERIC_TEMPLATE_TYPE = "generic";
+
+    public static final String FRAGMENT_PROCESSING_ERROR_PREFIX = "fragment.processing.error.";
+
+    public static final String FRAGMENT_ATTR = "fragment";
+
+    public static final String LAYOUT_ATTR = "layout";
+
+    public static final String HIDDEN = "hidden";
+
+    public static final String LAYOUT_TEMPLATE_TYPE = "layout";
+
+    public static final String DECORATOR_TYPE = "decorator";
+    
+    
     /** Commons logging */
     protected final static Log log = LogFactory.getLog(LayoutPortlet.class);
     
@@ -52,6 +76,9 @@
     protected PageManager pageManager;
     protected IdGenerator generator;
     protected JetspeedPowerToolFactory jptFactory;
+    protected TemplateLocator templateLocator;
+    protected PortletEntityAccessComponent entityAccess;
+    protected TemplateLocator decorationLocator;
     
     public void init( PortletConfig config ) throws PortletException
     {
@@ -78,6 +105,9 @@
             throw new PortletException("Failed to find the JPT Factory on portlet initialization");
         }        
         
+        templateLocator = (TemplateLocator) getPortletContext().getAttribute("TemplateLocator");
+        decorationLocator = (TemplateLocator) getPortletContext().getAttribute("DecorationLocator");
+        
     }
 
     public void doHelp( RenderRequest request, RenderResponse response ) throws PortletException,
IOException
@@ -119,12 +149,11 @@
         }
         super.doView(request, response);
 
-     //   request.removeAttribute(PortalReservedParameters.PAGE_ATTRIBUTE);
-     //   request.removeAttribute("fragment");
-     //   request.removeAttribute("layout");
-     //   request.removeAttribute("dispatcher");
     }
-
+    
+    /**
+     * 
+     */
     public void doView( RenderRequest request, RenderResponse response ) throws PortletException,
IOException
     {
         response.setContentType("text/html");
@@ -310,7 +339,13 @@
         
         return tool;
     }
-
+    
+    /**
+     * 
+     * @param request
+     * @param maximized
+     * @return
+     */
     protected Fragment getFragment( RenderRequest request, boolean maximized )
     {
         String attribute = (maximized)
@@ -318,12 +353,22 @@
                 : PortalReservedParameters.FRAGMENT_ATTRIBUTE;
         return (Fragment) request.getAttribute(attribute);       
     }
-
+   
+    /**
+     * 
+     * @param request
+     * @return
+     */
     protected Fragment getMaximizedLayout( RenderRequest request )
     {
         return (Fragment) request.getAttribute(PortalReservedParameters.MAXIMIZED_LAYOUT_ATTRIBUTE);
     }
-
+    
+    /**
+     * 
+     * @param request
+     * @return
+     */
     protected RequestContext getRequestContext( RenderRequest request )
     {
         RequestContext requestContext = (RequestContext) request
@@ -354,5 +399,142 @@
     public void doEdit( RenderRequest request, RenderResponse response ) throws PortletException,
IOException
     {
         doView(request, response);
+    }
+    
+    /**
+     * 
+     * @param request
+     * @return
+     * @throws TemplateLocatorException
+     */
+    protected LocatorDescriptor getTemplateLocatorDescriptor(RenderRequest request) throws
TemplateLocatorException
+    {
+        RequestContext requestContext = getRequestContext(request);
+        CapabilityMap capabilityMap = requestContext.getCapabilityMap();
+        Locale locale = requestContext.getLocale();
+
+        LocatorDescriptor templateLocatorDescriptor = templateLocator.createLocatorDescriptor(null);
+        templateLocatorDescriptor.setMediaType(capabilityMap.getPreferredMediaType().getName());
+        templateLocatorDescriptor.setCountry(locale.getCountry());
+        templateLocatorDescriptor.setLanguage(locale.getLanguage());
+        return templateLocatorDescriptor;     
+    }
+    
+    
+    /**
+     * 
+     * @param request
+     * @return
+     * @throws TemplateLocatorException
+     */
+    protected LocatorDescriptor getDecoratorLocatorDescriptor(RenderRequest request) throws
TemplateLocatorException
+    {
+        RequestContext requestContext = getRequestContext(request);
+        CapabilityMap capabilityMap = requestContext.getCapabilityMap();
+        Locale locale = requestContext.getLocale();
+  
+        LocatorDescriptor decorationLocatorDescriptor = decorationLocator.createLocatorDescriptor(null);
+        decorationLocatorDescriptor.setMediaType(capabilityMap.getPreferredMediaType().getName());
+        decorationLocatorDescriptor.setCountry(locale.getCountry());
+        decorationLocatorDescriptor.setLanguage(locale.getLanguage());
+        
+        return decorationLocatorDescriptor;
+    }
+    
+    /**
+     * 
+     * @param request
+     * @param fragment
+     * @param page
+     * @return
+     * @throws TemplateLocatorException
+     * @throws ConfigurationException
+     */
+    public String decorateAndInclude(RenderRequest request, Fragment fragment, Page page)
throws TemplateLocatorException, ConfigurationException
+    {   
+        String fragmentType = fragment.getType();
+        String decorator = fragment.getDecorator();
+        LocatorDescriptor decorationLocatorDescriptor = getDecoratorLocatorDescriptor(request);
+        if (decorator == null)
+        {
+            decorator = page.getDefaultDecorator(fragmentType);
+        }
+
+        // get fragment properties for fragmentType or generic
+        TemplateDescriptor propsTemp = getTemplate(decorator + "/" + DECORATOR_TYPE + ".properties",
fragmentType,
+                decorationLocator, decorationLocatorDescriptor);
+        if (propsTemp == null)
+        {
+            fragmentType = GENERIC_TEMPLATE_TYPE;
+            propsTemp = getTemplate(decorator + "/" + DECORATOR_TYPE + ".properties", fragmentType,
decorationLocator,
+                    decorationLocatorDescriptor);
+        }
+
+        // get decorator template
+        Configuration decoConf = new PropertiesConfiguration(propsTemp.getAbsolutePath());
+        String ext = decoConf.getString("template.extension");
+        String decoratorPath = decorator + "/" + DECORATOR_TYPE + ext;
+        TemplateDescriptor template = null;
+        try
+        {
+            template = getDecoration(request, decoratorPath, fragmentType);
+        }
+        catch (TemplateLocatorException e)
+        {
+            String parent = decoConf.getString("extends");
+            if (parent != null)
+            {
+                template = getDecoration(request, parent + "/" + DECORATOR_TYPE + ext, fragmentType);
+            }
+        }
+
+        return  template.getAppRelativePath();
+    }
+    
+    /**
+     * 
+     * @param request
+     * @param path
+     * @param templateType
+     * @return
+     * @throws TemplateLocatorException
+     */
+    protected TemplateDescriptor getDecoration( RenderRequest request, String path, String
templateType ) throws TemplateLocatorException
+    {        
+        return getTemplate(path, templateType, decorationLocator, getDecoratorLocatorDescriptor(request));
+    }
+    
+    /**
+     * 
+     * @param path
+     * @param templateType
+     * @param locator
+     * @param descriptor
+     * @return
+     * @throws TemplateLocatorException
+     */
+    protected TemplateDescriptor getTemplate( String path, String templateType, TemplateLocator
locator,
+            LocatorDescriptor descriptor ) throws TemplateLocatorException
+    {
+        
+        if (templateType == null)
+        {
+            templateType = GENERIC_TEMPLATE_TYPE;
+        }
+        try
+        {
+
+            descriptor.setName(path);
+            descriptor.setType(templateType);
+
+            TemplateDescriptor template = locator.locateTemplate(descriptor);
+            return template;
+        }
+        catch (TemplateLocatorException e)
+        {
+            log.error("Unable to locate template: " + path, e);
+            System.out.println("Unable to locate template: " + path);
+            throw e;
+        }
     }
 }

Modified: portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java
(original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java
Mon Aug  8 11:08:53 2005
@@ -16,10 +16,7 @@
 package org.apache.jetspeed.portlets.layout;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.StringTokenizer;

Modified: portals/jetspeed-2/trunk/layout-portlets/src/test/org/apache/jetspeed/portlets/layout/TestColumnLayout.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/test/org/apache/jetspeed/portlets/layout/TestColumnLayout.java?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/test/org/apache/jetspeed/portlets/layout/TestColumnLayout.java
(original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/test/org/apache/jetspeed/portlets/layout/TestColumnLayout.java
Mon Aug  8 11:08:53 2005
@@ -81,7 +81,8 @@
         
         assertEquals(3, layout.getColumns().size());
         
-        
+        assertEquals(2, layout.getLastRowNumber(0));
+        assertEquals(2, layout.getLastRowNumber(1));       
     }
 
     public void testSameRowSameColumn() throws Exception

Modified: portals/jetspeed-2/trunk/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml (original)
+++ portals/jetspeed-2/trunk/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml Mon Aug
 8 11:08:53 2005
@@ -28,6 +28,8 @@
 	    <js:service name='IdGenerator'/>
 		<js:service name='PortletRegistryComponent'/>
 		<js:service name='PageManager'/>
+		<js:service name='TemplateLocator'/>
+		<js:service name='DecorationLocator'/>
 		<js:service name='Powertools'/>        
 	</js:services>
 	

Modified: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/assembly/jetspeed-services.xml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/assembly/jetspeed-services.xml?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/assembly/jetspeed-services.xml
(original)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/assembly/jetspeed-services.xml
Mon Aug  8 11:08:53 2005
@@ -71,6 +71,12 @@
           <entry key="HeaderResource">
             <ref bean="org.apache.jetspeed.headerresource.HeaderResourceFactory"/>
           </entry>
+		  <entry key="TemplateLocator">
+            <ref bean="TemplateLocator"/>
+          </entry>
+		  <entry key="DecorationLocator">
+            <ref bean="DecorationLocator"/>
+          </entry>		  
   	   	</map>
   	   </constructor-arg>
   </bean>

Modified: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/templates/layout/html/columns/layout.vm
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/templates/layout/html/columns/layout.vm?rev=230831&r1=230830&r2=230831&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/templates/layout/html/columns/layout.vm
(original)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/templates/layout/html/columns/layout.vm
Mon Aug  8 11:08:53 2005
@@ -14,7 +14,6 @@
 limitations under the License.
 *#
 
-#set($table = $jetspeed.columns)
 #set($sizes = $jetspeed.columnSizes)
 
 #set($myPage = $jetspeed.page)
@@ -104,11 +103,11 @@
        <table width="100%" class="portal-layout-column">
        #foreach($f in $column)       
         <tr>
-         <td width="100%">		
-			#set($coords = $columnLayout.getCoordinate($f))
-			#set($col = $coords.x)
+         <td width="100%">			
+			#set($coords = $columnLayout.getCoordinate($f))	  
+	        #set($col = $coords.x)
+	        #set($lastRow = $columnLayout.getLastRowNumber($col))
 			#set($row = $coords.y)
-
             #if($editing)<div id="_$f.id">        
             <div style="position:relative; top:10px; left:0; width:100%; height:100%;">
               <div id="_$f.id_toolBox"  >
@@ -159,8 +158,7 @@
                  </tr>
 				 <tr>
 					<td></td>
-					<td align="center" onMouseover="this.style.backgroundColor='red'" onMouseout="this.style.backgroundColor=''">
-					  #set($lastRow = $renderRequest.getAttribute("lastRowForColumn").get($col))
+					<td align="center" onMouseover="this.style.backgroundColor='red'" onMouseout="this.style.backgroundColor=''">
				  
 					  #if($row < $lastRow)						
 					    #set($downUrl = $renderResponse.createRenderURL())	
 			            $!downUrl.setParameter("move","2")



---------------------------------------------------------------------
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