I have tried to set end state of dialog B without setting viewId. On
shale internet site there is this sentence:

"If no view identifier was configured (meaning that the parent dialog
will be responsible for rendering the response to the current request),
simply return the logical outcome that caused this EndState to be
selected"

This does not resolve the problem because the application continue to
state to test_dialogo_b/pagina_c.jsp (last view of dialog B). If I call
the dialog B not in subdialog, I expect that at the end of dialog B
shale will call the outcome "avanti" (last transition outcome) but does
not happens! Analyzing the code of
org.apache.shale.dialog.faces.DialogNavigationHandler this is the point
called in end state transition:
            dcontext.advance(context, outcome);
            if (log.isDebugEnabled()) {
                log.debug("Advancing dialog '"
                          + dcontext.getName() + "' for FacesContext '"
                          + context + "' with navigation to viewId '"
                          + context.getViewRoot().getViewId() + "'");
            }

dcontext.advance does not call any view (I did not configure) and does
not call any outcome.... may be, in case of viewId not setted, should
call:
                original.handleNavigation(context, fromAction, outcome);
?
???

Mario



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 
Sent: 5 giugno 2007 14.43
To: user@shale.apache.org
Subject: Problem with subdialogs

I have some problem with subdialogs using shale1.1.0-snapshot (22/05). 

The first problem is:

 

I have a dialog B with following this configuration:

  <dialog name="Test dialogo B" start="Pagina A">

                        

    <view name="Pagina A" viewId="/test_dialogo_b/pagina_a.jsp">

      <transition outcome="avanti" target="Pagina B"/>

      <transition outcome="indietro" target="Exit"/>

    </view>

    

    <view name="Pagina B" viewId="/test_dialogo_b/pagina_b.jsp">

      <transition outcome="avanti" target="Pagina C"/>

      <transition outcome="indietro" target="Pagina A"/>

    </view>

 

    <view name="Pagina C" viewId="/test_dialogo_b/pagina_c.jsp">

      <transition outcome="avanti" target="Exit"/>

      <transition outcome="indietro" target="Pagina B"/>

    </view>

 

    <end name="Exit" viewId="/home/home.jsp"/>

                        

  </dialog>

When I run this dialog not how subdialog I need this dialog end showing
"/home/home.jsp". 

I also need to call this dialog like subdialog of the following dialog
C:

  <dialog name="Test dialogo C" start="Pagina A">

                        

    <view name="Pagina A" viewId="/test_dialogo_a/pagina_a.jsp">

      <transition outcome="avanti" target="Invoca dialogo B"/>

      <transition outcome="indietro" target="Exit"/>

    </view>

    

    <view name="Pagina B" viewId="/test_dialogo_a/pagina_b.jsp">

      <transition outcome="avanti" target="Pagina C"/>

      <transition outcome="indietro" target="Pagina A"/>

    </view>

 

    <view name="Pagina C" viewId="/test_dialogo_a/pagina_c.jsp">

      <transition outcome="avanti" target="Exit"/>

      <transition outcome="indietro" target="Pagina B"/>

    </view>

 

    <subdialog name="Invoca dialogo B" dialogName="Test dialogo B">

      <transition     outcome="avanti"

                       target="Pagina B"/>

      <transition     outcome="indietro"

                       target="Pagina A"/>

    </subdialog>

 

    <end name="Exit" viewId="/home/home.jsp"/>

                        

  </dialog>

 

The problem is that when the subdialog B ends, shale does not show
/test_dialogo_a/pagina_b.jsp but show "/home/home.jsp" .

 

When I use old shale 1.0.3 does work correctly.

 

The second problem is that I'm using the "data" property of
DialogContext to store some information but when start subdialog B, the
getData of DialogContext return an HashMap (not my class).

 

Please help me.....

 

Mario 



This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information.  If you have received it in 
error, please notify the sender immediately and delete the original.  Any other 
use of the email by you is prohibited.

Reply via email to