weaver      2004/07/28 06:30:45

  Modified:    portal/src/java/org/apache/jetspeed/velocity
                        JetspeedPowerTool.java
  Log:
  added an addtional getTitle() method which will override the portlet title with the 
fragment title.
  
  Revision  Changes    Path
  1.19      +54 -5     
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/velocity/JetspeedPowerTool.java
  
  Index: JetspeedPowerTool.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/velocity/JetspeedPowerTool.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- JetspeedPowerTool.java    14 Jul 2004 16:12:52 -0000      1.18
  +++ JetspeedPowerTool.java    28 Jul 2004 13:30:44 -0000      1.19
  @@ -41,12 +41,14 @@
   import org.apache.commons.logging.LogFactory;
   import org.apache.jetspeed.Jetspeed;
   import org.apache.jetspeed.aggregator.ContentDispatcher;
  +import org.apache.jetspeed.aggregator.FailedToRenderFragmentException;
   import org.apache.jetspeed.capabilities.CapabilityMap;
   import org.apache.jetspeed.components.ComponentManager;
   import org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent;
   import 
org.apache.jetspeed.components.portletentity.PortletEntityNotGeneratedException;
   import org.apache.jetspeed.components.portletentity.PortletEntityNotStoredException;
   import org.apache.jetspeed.container.session.NavigationalState;
  +import org.apache.jetspeed.container.window.FailedToRetrievePortletWindow;
   import org.apache.jetspeed.container.window.PortletWindowAccessor;
   import org.apache.jetspeed.locator.LocatorDescriptor;
   import org.apache.jetspeed.locator.TemplateDescriptor;
  @@ -284,12 +286,21 @@
        * Gets the portlet mode for a current portlet window (fragment)
        * 
        * @return The portlet mode of the current window
  +     * @throws Exception
        */
  -    public PortletMode getPortletMode()
  +    public PortletMode getPortletMode() throws Exception
       {
           RequestContext context = Jetspeed.getCurrentRequestContext();
           NavigationalState nav = context.getNavigationalState();
  -        return nav.getMode(windowAccess.getPortletWindow(getCurrentFragment()));    
    
  +        try
  +        {
  +            return nav.getMode(windowAccess.getPortletWindow(getCurrentFragment()));
  +        }
  +        catch (FailedToRetrievePortletWindow e)
  +        {
  +            handleError(e, e.toString(), getCurrentFragment());
  +            return null;
  +        }        
       }
       
       /**
  @@ -499,7 +510,14 @@
   
           // We need to flush so that content gets render in the correct place
           flush();
  -        getContentDispatcher().include(f, renderRequest, renderResponse);
  +        try
  +        {
  +            getContentDispatcher().include(f, renderRequest, renderResponse);
  +        }
  +        catch (FailedToRenderFragmentException e)
  +        {
  +            handleError(e, e.getMessage(), f);
  +        }
           
           Set exceptions = (Set) 
renderRequest.getAttribute(FRAGMENT_PROCESSING_ERROR_PREFIX+f.getId());
        if(exceptions != null)
  @@ -760,7 +778,7 @@
        * @param e
        * @param msg
        */
  -    protected void handleError( Exception e, String msg, Fragment fragment ) throws 
Exception
  +    protected void handleError( Exception e, String msg, Fragment fragment ) 
       {
           log.error(msg, e);
           
  @@ -860,6 +878,37 @@
           return action;
           
       }
  +    /**
  +     * 
  +     * <p>
  +     * getTitle
  +     * </p>
  +     * Returns the appropriate for the title based on locale prferences
  +     * 
  +     * @param entity
  +     * @return
  +     */
  +    public String getTitle(PortletEntity entity, Fragment f)
  +    {
  +        String title=null;
  +        
  +        if(f != null)
  +        {
  +            title = f.getTitle();
  +        }
  +        
  +        if(entity != null && title == null)
  +        {
  +            title = 
Jetspeed.getCurrentRequestContext().getPreferedLanguage(entity.getPortletDefinition()).getTitle();
  +        }
  +        else if(title == null)
  +        {
  +            title = "Portlet Unavailable";
  +        }
  +        
  +        return title;
  +    }
  +    
       /**
        * 
        * <p>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to