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]