org.jboss.portal.core.cms.ui
Class CMSPortlet

java.lang.Object
  extended by javax.portlet.GenericPortlet
      extended by org.jboss.portal.core.cms.ui.CMSPortlet
All Implemented Interfaces:
Portlet

public class CMSPortlet
extends GenericPortlet

Displays content from the CMS.

Version:
$Revision: 6007 $

TODO: use portlet preferences for default homepage, and allow for preference modification in doEdit()

Author:
Roy Russo, Julien Viet

Nested Class Summary
protected static class CMSPortlet.GlobalURLFactory
          Implementation that routes thru the CMSObjectCommandMapper.
protected static class CMSPortlet.LocalURLFactory
          Implementation that uses a PortletURL object.
protected static class CMSPortlet.URLFactory
          Creates CMS urls which is used for image src calls from the html.
 
Field Summary
protected  CMS CMSService
          .
static java.lang.String RENDER_PARAMETER_PATH
          The render parameter name of the path of the file the portlet will show.
 
Constructor Summary
CMSPortlet()
           
 
Method Summary
protected  java.lang.String cleanupContent(java.lang.String content)
           
 void destroy()
          Called by the portlet container to indicate to a portlet that the portlet is being taken out of service.
protected  void doDispatch(RenderRequest req, RenderResponse resp)
          The default implementation of this method routes the render request to a set of helper methods depending on the current portlet mode the portlet is currently in.
 void doEdit(RenderRequest req, RenderResponse resp)
          Helper method to serve up the edit mode.
protected  void doEditContent(RenderRequest req, RenderResponse resp)
           
 void doHelp(RenderRequest req, RenderResponse resp)
          Helper method to serve up the help mode.
protected  void doView(RenderRequest req, RenderResponse resp)
          Helper method to serve up the mandatory view mode.
 void init()
          A convenience method which can be overridden so that there's no need to call super.init(config).
 void init(PortletConfig config)
          Called by the portlet container to indicate to a portlet that the portlet is being placed into service.
 void processAction(ActionRequest request, ActionResponse response)
          Called by the portlet container to allow the portlet to process an action request.
 
Methods inherited from class javax.portlet.GenericPortlet
getInitParameter, getInitParameterNames, getPortletConfig, getPortletContext, getPortletName, getResourceBundle, getTitle, render
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RENDER_PARAMETER_PATH

public static final java.lang.String RENDER_PARAMETER_PATH
The render parameter name of the path of the file the portlet will show.

See Also:
Constant Field Values

CMSService

protected CMS CMSService
.

Constructor Detail

CMSPortlet

public CMSPortlet()
Method Detail

init

public void init(PortletConfig config)
          throws PortletException
Description copied from class: GenericPortlet
Called by the portlet container to indicate to a portlet that the portlet is being placed into service.

The default implementation just stores the PortletConfig object.

The portlet container calls the init method exactly once after instantiating the portlet. The init method must complete successfully before the portlet can receive any requests.

The portlet container cannot place the portlet into service if the init method does one of the following:

  1. it throws a PortletException
  2. it does not return within a time period defined by the Web server

Specified by:
init in interface Portlet
Overrides:
init in class GenericPortlet
Parameters:
config - a PortletConfig object containing the portlet configuration and initialization parameters
Throws:
PortletException - if an exception has occurred that interferes with the portlet normal operation.
UnavailableException - if the portlet cannot perform the initialization at this time.

destroy

public void destroy()
Description copied from class: GenericPortlet
Called by the portlet container to indicate to a portlet that the portlet is being taken out of service.

The default implementation does nothing.

Specified by:
destroy in interface Portlet
Overrides:
destroy in class GenericPortlet

init

public void init()
          throws PortletException
Description copied from class: GenericPortlet
A convenience method which can be overridden so that there's no need to call super.init(config).

Instead of overriding GenericPortlet.init(PortletConfig), simply override this method and it will be called by GenericPortlet.init(PortletConfig config). The PortletConfig object can still be retrieved via GenericPortlet.getPortletConfig().

Overrides:
init in class GenericPortlet
Throws:
PortletException - if an exception has occurred that interferes with the portlet normal operation.
UnavailableException - if the portlet is unavailable to perform init

processAction

public void processAction(ActionRequest request,
                          ActionResponse response)
                   throws PortletException,
                          PortletSecurityException,
                          java.io.IOException
Description copied from class: GenericPortlet
Called by the portlet container to allow the portlet to process an action request. This method is called if the client request was originated by a URL created (by the portlet) with the RenderResponse.createActionURL() method.

The default implementation throws an exception.

Specified by:
processAction in interface Portlet
Overrides:
processAction in class GenericPortlet
Parameters:
request - the action request
response - the action response
Throws:
PortletException - if the portlet cannot fulfilling the request
UnavailableException - if the portlet is unavailable to process the action at this time
PortletSecurityException - if the portlet cannot fullfill this request because of security reasons
java.io.IOException - if the streaming causes an I/O problem

doView

protected void doView(RenderRequest req,
                      RenderResponse resp)
               throws PortletException,
                      PortletSecurityException,
                      java.io.IOException
Description copied from class: GenericPortlet
Helper method to serve up the mandatory view mode.

The default implementation throws an exception.

Overrides:
doView in class GenericPortlet
Parameters:
req - the portlet request
resp - the render response
Throws:
PortletException - if the portlet cannot fulfilling the request
UnavailableException - if the portlet is unavailable to perform render at this time
PortletSecurityException - if the portlet cannot fullfill this request because of security reasons
java.io.IOException - if the streaming causes an I/O problem

doHelp

public void doHelp(RenderRequest req,
                   RenderResponse resp)
            throws java.io.IOException,
                   PortletException
Description copied from class: GenericPortlet
Helper method to serve up the help mode.

The default implementation throws an exception.

Overrides:
doHelp in class GenericPortlet
Parameters:
req - the portlet request
resp - the render response
Throws:
java.io.IOException - if the streaming causes an I/O problem
PortletException - if the portlet cannot fulfilling the request
UnavailableException - if the portlet is unavailable to perform render at this time
PortletSecurityException - if the portlet cannot fullfill this request because of security reasons

doDispatch

protected void doDispatch(RenderRequest req,
                          RenderResponse resp)
                   throws PortletException,
                          PortletSecurityException,
                          java.io.IOException
Description copied from class: GenericPortlet
The default implementation of this method routes the render request to a set of helper methods depending on the current portlet mode the portlet is currently in. These methods are:

If the window state of this portlet is minimized, this method does not invoke any of the portlet mode rendering methods.

For handling custom portlet modes the portlet should override this method.

Overrides:
doDispatch in class GenericPortlet
Parameters:
req - the render request
resp - the render response
Throws:
PortletException - if the portlet cannot fulfilling the request
UnavailableException - if the portlet is unavailable to perform render at this time
PortletSecurityException - if the portlet cannot fullfill this request because of security reasons
java.io.IOException - if the streaming causes an I/O problem
See Also:
GenericPortlet.doView(RenderRequest,RenderResponse), GenericPortlet.doEdit(RenderRequest,RenderResponse), GenericPortlet.doHelp(RenderRequest,RenderResponse)

doEditContent

protected void doEditContent(RenderRequest req,
                             RenderResponse resp)
                      throws java.io.IOException,
                             PortletException
Throws:
java.io.IOException
PortletException

doEdit

public void doEdit(RenderRequest req,
                   RenderResponse resp)
            throws java.io.IOException,
                   PortletException
Description copied from class: GenericPortlet
Helper method to serve up the edit mode.

The default implementation throws an exception.

Overrides:
doEdit in class GenericPortlet
Parameters:
req - the portlet request
resp - the render response
Throws:
java.io.IOException - if the streaming causes an I/O problem
PortletException - if the portlet cannot fulfilling the request
UnavailableException - if the portlet is unavailable to perform render at this time
PortletSecurityException - if the portlet cannot fullfill this request because of security reasons

cleanupContent

protected java.lang.String cleanupContent(java.lang.String content)