Hi,
 
My question relates to breaking out of a pipeline after the generate stage has completed. Specifically, the generate stage performs some processing as XSP, and based on the success/failure of this processing, the pipeline is allowed to continue, or 'breaks-out' using a redirect. When I configure my sitemap to do this, an exception is thrown, and looking at the stacktrace, it appears that this is not legal.
 
Has someone configured something similar, or alternatively, what is the recommended approach? In reference to suggestions, I would really like to be able to perform my processing (database updating) using XSP, as this needs to be flexible in a multi-customer environment and currently uses logicsheets to achieve this. Also, if the processing fails, the XSP returns valid XML to re-populate the original form.
 
Many thanks,
Adrian
 
====== Begin: sitemap fragment =====================
 
   <map:match pattern="update_*.html">
     <map:act type="locale"/>
     <map:act type="check-login">
      <map:act type="get-update-mode">
        <map:aggregate element="page" prefix="zdam" ns="zenark.com/zdam">
          <map:part src=""/>
          <map:part src=""/>
          <map:part src=""/>
          <map:part src=""/>
        </map:aggregate>
        <map:act type="check-update-succeed">
          <map:redirect-to uri="{redirect-uri}"/>    <!-- ### Exception is thrown in processing this redirect ### -->
        </map:act>
        <map:transform type="i18n"/>
        <map:transform src=""/>
        <map:serialize/>
      </map:act>
    </map:act>
    <map:generate src=""/>
    <map:serialize type="html"/>
   </map:match>
 
====== End: sitemap fragment =====================
 
====== Begin: logfile extract ========================
 
 
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultPool: Retrieving a org.apache.cocoon.components.pipeline.CachingEventPipeline from the pool
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultPool: Retrieving a org.apache.cocoon.components.pipeline.CachingStreamPipeline from the pool
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/sitemap_xmap: Matched wildcardmatcher_wildcard_N400296 pattern:update_*.html
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/LocaleAction: org.apache.cocoon.acting.LocaleAction: obtained locale information, locale = en_IE
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/LocaleAction: org.apache.cocoon.acting.LocaleAction: language = en, country = IE, variant =
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/LocaleAction: org.apache.cocoon.acting.LocaleAction: checking for local overrides, language-attribute = lang, country-attribute = country, variant-attribute = variant, locale-attribute = locale, store-in-request = false, store-in-session = false, create-session = false, store-in-cookie = false
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/LocaleAction: org.apache.cocoon.acting.LocaleAction: returning map for XPath substitutions
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultComponentFactory: ComponentFactory creating new instance of com.zenark.zdam.cocoon.action.CheckLoginAction.
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/sitemap_xmap: Action check-login
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultComponentFactory: ComponentFactory creating new instance of com.zenark.zdam.cocoon.action.GetUpdateMode.
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultComponentFactory: no logger attribute available, using standard logger
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/sitemap_xmap: Action get-update-mode
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/sitemap_xmap: Component generator:!content-aggregator!(emptyParam)
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultPool: Retrieving a org.apache.cocoon.sitemap.ContentAggregator from the pool
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/ContentAggregator: ContentAggregator: root element='page' ns='zenark.com/zdam' prefix='zdam'
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/ContentAggregator: ContentAggregator: part uri='cocoon:/banner.xml' element='' ns='' stripRootElement='' prefix=''
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/ContentAggregator: ContentAggregator: part uri='cocoon:/sidebar.xml' element='' ns='' stripRootElement='' prefix=''
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/AbstractSitemap: Substitute evaluated value for 1 as asset
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/AbstractSitemap: Substitute evaluated value for update-mode as NEW
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/ContentAggregator: ContentAggregator: part uri='cocoon:/asset.form?mode=NEW' element='' ns='' stripRootElement='' prefix=''
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/AbstractSitemap: Substitute evaluated value for 1 as asset
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/AbstractSitemap: Substitute evaluated value for update-mode as NEW
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/ContentAggregator: ContentAggregator: part uri='cocoon:/asset.update?mode=NEW' element='' ns='' stripRootElement='' prefix=''
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultComponentFactory: ComponentFactory creating new instance of com.zenark.zdam.cocoon.action.CheckCommitSucceeded.
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultComponentFactory: no logger attribute available, using standard logger
DEBUG   (2001-10-25) 09:32.55:829   [cocoon  ] (/zdam/update_asset.html) Thread-13/CheckCommitSucceeded: Update Status: 'null'
DEBUG   (2001-10-25) 09:32.55:839   [cocoon  ] (/zdam/update_asset.html) Thread-13/sitemap_xmap: Action check-commit-succeed
DEBUG   (2001-10-25) 09:32.55:839   [cocoon  ] (/zdam/update_asset.html) Thread-13/sitemap_xmap: Sitemap: session='false', redirecting to '{redirect-uri}'
DEBUG   (2001-10-25) 09:32.55:839   [cocoon  ] (/zdam/update_asset.html) Thread-13/AbstractSitemap: Substitute evaluated value for redirect-uri as asset_categories.html
DEBUG   (2001-10-25) 09:32.55:939   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultComponentFactory: ComponentFactory decommissioning instance of com.zenark.zdam.cocoon.action.CheckCommitSucceeded.
DEBUG   (2001-10-25) 09:32.55:949   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultComponentFactory: ComponentFactory decommissioning instance of com.zenark.zdam.cocoon.action.GetUpdateMode.
DEBUG   (2001-10-25) 09:32.55:949   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultComponentFactory: ComponentFactory decommissioning instance of com.zenark.zdam.cocoon.action.CheckLoginAction.
DEBUG   (2001-10-25) 09:32.55:949   [cocoon  ] (/zdam/update_asset.html) Thread-13/CachingEventPipeline: Recycling of CachingEventPipeline
WARN    (2001-10-25) 09:32.55:949   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultPool: Pool interrupted while waiting for lock.
java.lang.NullPointerException
 at org.apache.cocoon.sitemap.ContentAggregator.recycle(Unknown Source)
 at org.apache.avalon.excalibur.pool.DefaultPool.put(Unknown Source)
 at org.apache.avalon.excalibur.component.PoolableComponentHandler.put(Unknown Source)
 at org.apache.avalon.excalibur.component.ExcaliburComponentSelector.release(Unknown Source)
 at org.apache.cocoon.sitemap.SitemapComponentSelector.release(Unknown Source)
 at org.apache.cocoon.components.pipeline.AbstractEventPipeline.recycle(Unknown Source)
 at org.apache.cocoon.components.pipeline.CachingEventPipeline.recycle(Unknown Source)
 at org.apache.avalon.excalibur.pool.DefaultPool.put(Unknown Source)
 at org.apache.avalon.excalibur.component.PoolableComponentHandler.put(Unknown Source)
 at org.apache.avalon.excalibur.component.ExcaliburComponentManager.release(Unknown Source)
 at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1249)
 at org.apache.cocoon.sitemap.Handler.process(Unknown Source)
 at org.apache.cocoon.sitemap.Manager.invoke(Unknown Source)
 at org.apache.cocoon.Cocoon.process(Unknown Source)
 at org.apache.cocoon.servlet.CocoonServlet.service(Unknown Source)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
 at org.apache.tomcat.core.Handler.service(Handler.java:286)
 at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
 at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
 at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
 at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
 at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
 at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
 at java.lang.Thread.run(Thread.java:484)
DEBUG   (2001-10-25) 09:32.55:949   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultPool: Returning a org.apache.cocoon.components.pipeline.CachingEventPipeline to the pool
DEBUG   (2001-10-25) 09:32.55:949   [cocoon  ] (/zdam/update_asset.html) Thread-13/CachingStreamPipeline: Recycling of CachingStreamPipeline
DEBUG   (2001-10-25) 09:32.55:949   [cocoon  ] (/zdam/update_asset.html) Thread-13/DefaultPool: Returning a org.apache.cocoon.components.pipeline.CachingStreamPipeline to the pool
DEBUG   (2001-10-25) 09:37.55:961   [cocoon  ] (/zdam/asset_categories.html) Thread-14/Cocoon: DEBUGGING INFORMATION:
====== End: logfile extract ========================

Reply via email to