weaver 2004/07/28 06:23:10
Modified: portal/src/java/org/apache/jetspeed/aggregator/impl
ContentDispatcherImpl.java PortletRendererImpl.java
jetspeed-api/src/java/org/apache/jetspeed/aggregator
PortletRenderer.java ContentDispatcher.java
Added: jetspeed-api/src/java/org/apache/jetspeed/aggregator
FailedToRenderFragmentException.java
Log:
Use checked exceptions to indicate a failure in rendering instead of consuming and
logging.
Revision Changes Path
1.6 +6 -3
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/aggregator/impl/ContentDispatcherImpl.java
Index: ContentDispatcherImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/aggregator/impl/ContentDispatcherImpl.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ContentDispatcherImpl.java 12 May 2004 18:46:53 -0000 1.5
+++ ContentDispatcherImpl.java 28 Jul 2004 13:23:09 -0000 1.6
@@ -29,6 +29,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.jetspeed.aggregator.ContentDispatcher;
import org.apache.jetspeed.aggregator.ContentDispatcherCtrl;
+import org.apache.jetspeed.aggregator.FailedToRenderFragmentException;
import org.apache.jetspeed.aggregator.PortletRenderer;
import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.request.RequestContext;
@@ -67,8 +68,9 @@
* of the request fragment.
* If the fragment rendered content is not yet available, the method will
* hold until it's completely rendered.
+ * @throws FailedToRenderFragmentException if the Fragment to include could not
be rendered.
*/
- public void include(Fragment fragment, HttpServletRequest req,
HttpServletResponse rsp)
+ public void include(Fragment fragment, HttpServletRequest req,
HttpServletResponse rsp) throws FailedToRenderFragmentException
{
ObjectID oid = JetspeedObjectID.createFromString(fragment.getId());
@@ -168,8 +170,9 @@
* of the request fragment.
* If the fragment rendered content is not yet available, the method will
* hold until it's completely rendered.
+ * @throws FailedToRenderFragmentException if the Fragment to include could not
be rendered.
*/
- public void include(Fragment fragment, javax.portlet.RenderRequest req,
javax.portlet.RenderResponse rsp)
+ public void include(Fragment fragment, javax.portlet.RenderRequest req,
javax.portlet.RenderResponse rsp) throws FailedToRenderFragmentException
{
ObjectID oid = JetspeedObjectID.createFromString(fragment.getId());
1.17 +25 -11
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java
Index: PortletRendererImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletRendererImpl.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- PortletRendererImpl.java 17 Mar 2004 22:19:53 -0000 1.16
+++ PortletRendererImpl.java 28 Jul 2004 13:23:09 -0000 1.17
@@ -22,8 +22,10 @@
import org.apache.commons.logging.LogFactory;
import org.apache.jetspeed.aggregator.ContentDispatcher;
import org.apache.jetspeed.aggregator.ContentDispatcherCtrl;
+import org.apache.jetspeed.aggregator.FailedToRenderFragmentException;
import org.apache.jetspeed.aggregator.PortletRenderer;
import org.apache.jetspeed.aggregator.UnknownPortletDefinitionException;
+import org.apache.jetspeed.container.window.FailedToRetrievePortletWindow;
import org.apache.jetspeed.container.window.PortletWindowAccessor;
import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.request.RequestContext;
@@ -73,8 +75,9 @@
/**
Render the specified Page fragment.
Result is returned in the PortletResponse.
+ * @throws FailedToRenderFragmentException
*/
- public void renderNow(Fragment fragment, RequestContext request)
+ public void renderNow(Fragment fragment, RequestContext request) throws
FailedToRenderFragmentException
{
//
// create the portlet window and render the portlet
@@ -94,9 +97,9 @@
// should we decorate here instead of rendering Portlet ?
container.renderPortlet(portletWindow, servletRequest, servletResponse);
}
- catch (Throwable t)
+ catch (Exception e)
{
- log.error("Failed to service portlet, portlet exception: " +
t.toString(), t);
+ throw new FailedToRenderFragmentException("Unable to render fragment
because: "+e.toString(), e);
}
finally
{
@@ -112,8 +115,9 @@
/**
Render the specified Page fragment.
Result is returned in the PortletResponse.
+ * @throws FailedToRenderFragmentException
*/
- public void renderNow(Fragment fragment, HttpServletRequest request,
HttpServletResponse response)
+ public void renderNow(Fragment fragment, HttpServletRequest request,
HttpServletResponse response) throws FailedToRenderFragmentException
{
//
// create the portlet window and render the portlet
@@ -123,21 +127,31 @@
PortletWindow portletWindow = getPortletWindow(fragment);
container.renderPortlet(portletWindow, request, response);
}
- catch (Throwable t)
+ catch (Exception e)
{
- log.error("Failed to service portlet, portlet exception: " +
t.toString(), t);
+ throw new FailedToRenderFragmentException("Unable to render fragment
because: "+e.toString(), e);
}
}
/** Render the specified Page fragment.
The method returns before rendering is complete, rendered content can be
accessed through the ContentDispatcher
+ * @throws UnknownPortletDefinitionException
+ * @throws FailedToRetrievePortletWindow
*/
- public void render(Fragment fragment, RequestContext request) throws
UnknownPortletDefinitionException
+ public void render(Fragment fragment, RequestContext request) throws
FailedToRenderFragmentException
{
RenderingJob rJob = new RenderingJob();
- PortletWindow portletWindow = getPortletWindow(fragment);
+ PortletWindow portletWindow;
+ try
+ {
+ portletWindow = getPortletWindow(fragment);
+ }
+ catch (FailedToRetrievePortletWindow e)
+ {
+ throw new FailedToRenderFragmentException("Unable to render fragment
because: "+e.toString(), e);
+ }
ContentDispatcherCtrl dispatcher = getDispatcherCtrl(request,true);
HttpServletRequest servletRequest =
request.getRequestForWindow(portletWindow);
@@ -173,14 +187,14 @@
return (ContentDispatcherCtrl)request.getContentDispatcher();
}
- protected PortletWindow getPortletWindow(Fragment fragment) throws
UnknownPortletDefinitionException
+ protected PortletWindow getPortletWindow(Fragment fragment) throws
FailedToRetrievePortletWindow
{
ObjectID oid = JetspeedObjectID.createFromString(fragment.getId());
PortletWindow portletWindow = windowAccessor.getPortletWindow(fragment);
if (portletWindow == null)
{
- throw new UnknownPortletDefinitionException("Portlet Window creation
failed for fragment: " + fragment.getId() + ", " + fragment.getName());
+ throw new FailedToRetrievePortletWindow("Portlet Window creation failed
for fragment: " + fragment.getId() + ", " + fragment.getName());
}
PortletEntity portletEntity = portletWindow.getPortletEntity();
1.2 +8 -6
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/aggregator/PortletRenderer.java
Index: PortletRenderer.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/aggregator/PortletRenderer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PortletRenderer.java 28 May 2004 18:51:55 -0000 1.1
+++ PortletRenderer.java 28 Jul 2004 13:23:10 -0000 1.2
@@ -17,6 +17,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.request.RequestContext;
@@ -34,24 +35,25 @@
/**
Render the specified Page fragment.
Result is returned in the PortletResponse.
+ * @throws FailedToRenderFragmentException
*/
- public void renderNow(Fragment fragment, RequestContext request);
+ public void renderNow(Fragment fragment, RequestContext request) throws
FailedToRenderFragmentException;
/**
Render the specified Page fragment.
Result is returned in the PortletResponse.
+ * @throws FailedToRenderFragmentException
*/
- public void renderNow(Fragment fragment, HttpServletRequest request,
HttpServletResponse response);
+ public void renderNow(Fragment fragment, HttpServletRequest request,
HttpServletResponse response) throws FailedToRenderFragmentException;
/**
*
* Render the specified Page fragment.
* The method returns before rendering is complete, rendered content can be
* accessed through the ContentDispatcher
- * @throws UnknownPortletDefintionException is the PortletDefinition
represented by this
- * fragment does not exist .
+ * @throws FailedToRenderFragmentException if the Fragment could not be
rendered.
*/
- public void render(Fragment fragment, RequestContext request) throws
UnknownPortletDefinitionException;
+ public void render(Fragment fragment, RequestContext request) throws
FailedToRenderFragmentException;
/**
* Retrieve the ContentDispatcher for the specified request
1.2 +5 -3
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/aggregator/ContentDispatcher.java
Index: ContentDispatcher.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/aggregator/ContentDispatcher.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ContentDispatcher.java 28 May 2004 18:51:55 -0000 1.1
+++ ContentDispatcher.java 28 Jul 2004 13:23:10 -0000 1.2
@@ -34,16 +34,18 @@
* of the request fragment.
* If the fragment rendered content is not yet available, the method will
* hold until it's completely rendered.
+ * @throws FailedToRenderFragmentException if the Fragment to include could not
be rendered.
*/
- public void include(Fragment fragment, HttpServletRequest req,
HttpServletResponse rsp);
+ public void include(Fragment fragment, HttpServletRequest req,
HttpServletResponse rsp) throws FailedToRenderFragmentException;
/**
* Include in the provided PortletResponse output stream the rendered content
* of the request fragment.
* If the fragment rendered content is not yet available, the method will
* hold until it's completely rendered.
+ * @throws FailedToRenderFragmentException if the Fragment to include could not
be rendered.
*/
- public void include(Fragment fragment, javax.portlet.RenderRequest req,
javax.portlet.RenderResponse rsp);
+ public void include(Fragment fragment, javax.portlet.RenderRequest req,
javax.portlet.RenderResponse rsp) throws FailedToRenderFragmentException;
/**
* Sequentially wait on content generation for the given fragment.
1.1
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/aggregator/FailedToRenderFragmentException.java
Index: FailedToRenderFragmentException.java
===================================================================
/*
* Created on Jul 27, 2004
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
package org.apache.jetspeed.aggregator;
import org.apache.jetspeed.exception.JetspeedException;
/**
* <p>
* FailedToRenderFragmentException
* </p>
* <p>
*
* </p>
* @author <a href="mailto:[EMAIL PROTECTED]">Scott T. Weaver</a>
* @version $Id: FailedToRenderFragmentException.java,v 1.1 2004/07/28 13:23:10
weaver Exp $
*
*/
public class FailedToRenderFragmentException extends JetspeedException
{
/**
*
*/
public FailedToRenderFragmentException()
{
super();
}
/**
* @param message
*/
public FailedToRenderFragmentException( String message )
{
super(message);
}
/**
* @param nested
*/
public FailedToRenderFragmentException( Throwable nested )
{
super(nested);
}
/**
* @param msg
* @param nested
*/
public FailedToRenderFragmentException( String msg, Throwable nested )
{
super(msg, nested);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]