apache > cocoon
 

Notifying Generator

Notifying Generator

The notifying generator creates XML content describing an error condition. When an error occurs in a pipeline with a defined an error handler, the sitemap manager activates the error generator, feeding it the cause of the error.

  • Name : <notifier>
  • Class: org.apache.cocoon.sitemap.NotifyingGenerator
  • Cacheable: No.
  • Mode: Sitemap internal

DTD

XML generated by notifying generator uses the namespace http://apache.org/cocoon/error/2.0 and the error prefix.

Usually the error condition is described by a throwable object. The information of this throwable object is used by the error generator to produce the xml content. The various elements of the xml content include the following.

  • The element notify is the root element, having attributes type and sender. The attribute type has fixed value error. The attribute sender describes the sender of the error notification object. In the current implementation, it has fixed value org.apache.cocoon.sitemap.ErrorNotifier.
  • The element title stores the title of the eror notification. In the current implementation, it has fixed value Cocoon error.
  • The source element stores the class name of the throwable object of the error notification.
  • The message element stores the getMessage() result of the throwable object of the error notification, and may be empty.
  • The description element stores the toString() result of the throwable object of the error notification.
  • Optional extra elements stores nested exceptions of the throwable object of the error notification.
<!ELEMENT notify (title, source, message, description, extra*)>
<!ATTLIST notiy 
  type CDATA #REQUIRED
  sender CDATA #REQUIRED
>
<!ELEMENT title #PCDATA>
<!ELEMENT source #PCDATA>
<!ELEMENT message #PCDATA>
<!ELEMENT description #PCDATA>
<!ELEMENT extra #PCDATA>
<!ATTLIST extra description #CDATA>
<!ELEMENT statusinfo (group|value)*>

Example

The following example outputs the xml content of an error generator:

<?xml version="1.0"
 encoding="UTF-8"?>
 
<error:notify
 error:type="error" 
 error:sender="org.apache.cocoon.sitemap.ErrorNotifier"
 xmlns:error="http://apache.org/cocoon/error/2.0">
 
 <error:title>Cocoon error</error:title>
 <error:source>java.lang.NullPointerException</error:source>
 <error:message></error:message>
 <error:description></error:description>
 <error:extra description=""></error:extra>
</error:notify>