Hi,

if anyone could help with following problem I would be thankful.

I agregate 5 pipelines. 4 of them are almost simple static HTML the 5th one
handles whole logic which is handled by action-set. All of the pipelines work
separately. Aggregation also works but *only when none* of the action which
redirects to different URI is called due to user request.
All of the processing is done in the single subsitemap mounted at
/cocoon/magellan

To make it more clear I describe what excatly I try to achive. My page
provides simple user administration (Create, Remove, Update - user).

the action set that handles that looks like this

   <map:action-set name="users_maintenance">
      <map:act type="create-user" action="create_user">            
      </map:act>
      <map:act type="remove-user" action="remove_user">
      </map:act>
      <map:act type="update-user" action="update_user">
      </map:act>
      <map:act type="select-user">
      </map:act>
    </map:action-set>

(I have cut out actions cfg. params - they are not needed in this
discussion)

this action set is used in the following part of the  pipeline
(again config params are cut out)

      <map:match pattern="internal/admin/users">
        <map:act set="users_maintenance"/>
        <map:generate type="file" src="admin/users_edit.xml"/>
        <map:transform type="cif-trans"/>
        <map:transform type="i18n">
        </map:transform>
        <map:transform type="xslt" src="admin/users_edit.xsl">
        </map:transform>
        <map:transform type="i18n">
        </map:transform>
        <map:serialize type="xml"/>
      </map:match>

the aggregation is defined as follows:

    <map:pipeline>
      <map:match pattern="*/*">
        <map:aggregate element="teweb_agg_doc">
          <map:part src="cocoon:/internal/header/{1}"
                          element="teweb_l_header"/>
          <map:part src="cocoon:/internal/auth" 
                          element="teweb_r_header"/>
          <map:part src="cocoon:/internal/navi_bar" 
                          element="teweb_navi_bar"/>
          <map:part src="cocoon:/internal/context_menu" 
                          element="teweb_context_menu"/>
          <map:part src="cocoon:/internal/{1}/{2}" 
                          element="teweb_main"/>
        </map:aggregate>
        <map:transform type="xslt" src="common/front_page.xsl"/>
        <map:serialize type="html"/>
      </map:match>
    </map:pipeline>

you can assume here for simplicity sake that {1} equals "admin" and {2}
equals "users".
And now the problem. Let say I browse user "terminator" so my URI looks like
this 

   magellan/admin/users?user_login=terminator

Now I decide to remove "terminator". The "remove-user" action is matched and
user is removed.
But at the end of action I want to redirect request to 

   /admin/users

(I do not want to browse none-existing user no more). I use redirector to do
this:

   rediarector.redirect(false, request.getRequestURI());

Redirection causes IllegalStateException :

21:26:24,347 ERROR [Engine] StandardWrapperValve[Cocoon2]: Servlet.service()
for servlet Cocoon2 thr
ew exception
java.lang.IllegalStateException
        at
org.apache.catalina.connector.ResponseFacade.reset(ResponseFacade.java:252)
        at
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1037)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
ava:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
   
Well at least I think that redirection is a problem here - the core.log does
not even shows any exception. The one above comes from JBoss console.
Normally I can see exception in core.log but this one somehow does not appear. 
Please remeber that the "administration pipeline" *works when  processed
separately*
(if I change serialization to HTML and access magellan/internal/admin/users
- all the action works properly)

I have modified a little bit CocoonServlet and added few System outs ( to
see internal exception message). The internal message says:

21:26:24,307 INFO  [STDOUT] No pipeline matched request:
cocoon/magellan/admin/groups

I do not get it how it happens. I can browse URI
/cocoon/magellan/admin/users - everything is displayed correctly.
Only when I try to remove user (or execute similar action) whole thing
blows up. I have also tried to call globalRedirect method - the exception is
quie different then. It says  that XML stream was closed.
If more details are needed I will provide them on demand.

Any help is welcome. 

greetings, Adam.

-- 
+++ GMX - Mail, Messaging & more  http://www.gmx.net +++
Bitte lächeln! Fotogalerie online mit GMX ohne eigene Homepage!


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to